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

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

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

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

S7連接屬性
在地址詳細(xì)信息對(duì)話框中填寫通信伙伴CPU的機(jī)架號(hào)和槽號(hào),,如通信伙伴是S7-300/400 CPU則槽號(hào)為2,如通信伙伴是S7-1200/1500 CPU則槽號(hào)為1,。點(diǎn)擊OK,。

S7地址詳細(xì)
選中CPU,先編譯再下載

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

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

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

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

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

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