S7 通信按組態(tài)方式可分為單邊通信和雙邊通信,單邊通信通常應用于以下情況:
通信伙伴無法組態(tài) S7 連接
通信伙伴不允許停機
不希望在通訊伙伴側增加通信組態(tài)和程序

前面硬件配置不詳述,配置完成后,點擊快捷菜單中的Configure Network按鈕進入Netpro視圖。
在Netpro視圖的CPU上點右鍵選擇Insert New Connection添加新連接。

添加新連接
通訊伙伴選擇非指定(Unspecified),通訊類型選擇S7 connection。

選擇通信伙伴和通信類型
點擊OK后在彈出的屬性窗口中勾選單端組態(tài)(Establish an active connection),并填寫通信伙伴的IP地址,注意Local ID編號,本例保持默認值1。點擊詳細按鈕。

S7連接屬性
在地址詳細信息對話框中填寫通信伙伴CPU的機架號和槽號,如通信伙伴是S7-300/400 CPU則槽號為2,如通信伙伴是S7-1200/1500 CPU則槽號為1。點擊OK。

S7地址詳細
選中CPU,先編譯再下載

編譯下載
下載完成后,可點擊“激活連接狀態(tài)”按鈕,查看連接狀態(tài),如下圖所示,則表示組態(tài)的連接已經成功建立。

連接已建立
如果出現(xiàn)如下圖所示的情況,則說明連接沒有建立,請檢查網線的連接、IP地址等。

連接未建立
編寫PLC程序,調用通訊塊
組態(tài)連接建立成功后,需要調用通訊功能塊PUT和GET進行數(shù)據交換。S7-300用于通訊連接的功能塊位于標準庫中,如下圖所示:

PUT GET指令位置
調用PUT指令,本例中本地S7-300 CPU將DB10.DBB0開始的10個字節(jié)寫入通信伙伴CPU 的DB11.DBB0開始的10個字節(jié)中。

PUT指令
參數(shù)說明REQ上升沿觸發(fā),一次上升沿發(fā)送一次數(shù)據ID連接ID(參看圖8)ADDR_1指向伙伴CPU接收地址區(qū)域SD_1指向本地CPU發(fā)送地址區(qū)域DONE發(fā)送完成(上升沿)ERROR有故障發(fā)生(上升沿)STATUS故障代碼
PUT管腳說明
調用GET指令,本例中將通信伙伴CPU的DB20.DBB0開始的10個字節(jié)讀入到本地S7-300 CPU的DB21.DBB0開始的10個字節(jié)中。

GET指令
參數(shù)說明REQ上升沿觸發(fā),一次上升沿讀取一次數(shù)據ID連接ID(參看圖8ADDR_1指向伙伴CPU發(fā)送地址區(qū)域RD_1指向本地CPU接收地址區(qū)域DONE接收完成(上升沿)ERROR有故障發(fā)生(上升沿)STATUS故障代碼
GET管腳說明
S7-300 CPU做S7通訊的客戶端時,伙伴CPU無需組態(tài)編程,準備好相應的數(shù)據區(qū)即可,如本例中的DB10和DB20。如果伙伴方是S7-1200(固件版本V4.0以上)或是S7-1500 CPU,需要在CPU屬性的連接機制中勾選'允許來自遠程對象的PUT/GET通信訪問',如下圖所示:
