西門子PLC S7-300 集成PN口作客戶端與S7-300/400/1200/1500的 S7 單邊通信(TIA)S7-300 集成PN口作客戶端與S7-300/400/1200/1500的 S7 單邊通信(TIA)
S7單邊通信,僅需在客戶端側(cè)進(jìn)行組態(tài)編程;服務(wù)器側(cè)CPU無(wú)需組態(tài)編程。
所以在編程組態(tài)和建立連接方面,S7-300PN口做客戶端,只需要在 S7-300CPU 側(cè)建立單邊連接,使用單邊編程方式 PUT,GET 指令進(jìn)行通信。
S7-300集成PN口側(cè)組態(tài)編程
服務(wù)器側(cè):S7-1200/1500CPU注意事項(xiàng)
所完成的通信任務(wù):
S7-300 集成PN口CPU 作為客戶端讀取 對(duì)方S7 CPU中 DB1 的數(shù)據(jù)到 S7-300 的 DB3 中。
S7-300 集成PN口CPU 作為客戶端將本地 DB4 中的數(shù)據(jù)寫(xiě)到 對(duì)方 S7 CPU中 DB2 中。
項(xiàng)目創(chuàng)建環(huán)境:TIA V13 SP1S7-300集成PN口側(cè)組態(tài)編程
新建項(xiàng)目并完成硬件配置(具體步驟請(qǐng)參見(jiàn)文檔:CPU硬件組態(tài)入門)
圖1. 組態(tài)設(shè)置子網(wǎng)
網(wǎng)絡(luò)組態(tài)
打開(kāi) Network View(網(wǎng)絡(luò)視圖) 配置網(wǎng)絡(luò),首先點(diǎn)中左上角的 Connections(網(wǎng)絡(luò)) 圖標(biāo),選擇 S7 Connection(S7連接) ,然后選中300 CPU,右鍵選擇 Add new connection(添加新連接) 如圖所示。
圖2. 添加連接
然后在 Create new connection(連接) 窗口中,選擇 Unspecified ,然后點(diǎn)擊 Add 建立 S7 連接,如圖2.所示。
圖3.建立 S7 連接
S7_Connection_1(S7_連接_1) 為建立的連接,選中連接,在屬性的 General(常規(guī)) 條目中填寫(xiě)對(duì)方設(shè)備的IP地址,如下圖4.所示。
圖4. 定義連接對(duì)方的 IP 地址
圖5. 定義通訊雙方的 TSAP 號(hào)
注意:
通信的對(duì)方設(shè)備為S7-300集成PN口或CP卡 ,TSAP地址:03.02S7-400集成PN口或CP卡 ,TSAP地址:03.XX; XX為400CPU設(shè)計(jì)插槽號(hào)S7-1200集成PN口 ,TSAP地址:03.00,或03.01S7-1500集成PN口或CP卡,TSAP地址:03.01
圖6. 連接 ID 號(hào)
注意:此處的ID號(hào),將在編程的PUt,GET塊中填寫(xiě)(16進(jìn)制)
配置完網(wǎng)絡(luò)連接,編譯保存并下載。
圖7. 通訊連接狀態(tài)
指令塊編程
在 OB1 中,從 Instruction(指令) Communication(通信) S7 Communication(S7通信) 下,調(diào)用Get、Put通信指令,創(chuàng)建接收和發(fā)送數(shù)據(jù)塊 DB3 和 DB4,定義成 101 個(gè)字節(jié)的數(shù)組,程序調(diào)用如下圖8.所示。
圖8. 程序調(diào)用功能
功能塊管腳說(shuō)明:CALL GET DB1//調(diào)用 GET,使用背景DB塊:DB1;REQ M10.0+P沿//上升沿觸發(fā)或使用系統(tǒng)時(shí)鐘 ;IDW#16#0001//連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的連接號(hào),如圖5.所示;NDRM30.0//為1時(shí),接收到新數(shù)據(jù);ERRORM30.1//為1時(shí),有故障發(fā)生;STATUSMW32//狀態(tài)代碼;ADDR_1P#DB1.DBX0.0 BYTE 10//從通信伙伴數(shù)據(jù)區(qū)讀取數(shù)據(jù)的地址;RD_1P#DB3.DBX0.0 BYTE 10//本地接收數(shù)據(jù)地址;
CALL PUT DB2//調(diào)用 PUT,使用背景DB塊:DB2;REQM10.0+P沿//上升沿觸發(fā)或使用系統(tǒng)時(shí)鐘 ;IDW#16#0001//連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的連接號(hào),如圖5.所示;DONEM30.2// 為1時(shí),發(fā)送完成;ERRORM30.3// 為1時(shí),有故障發(fā)生;STATUSMW34// 狀態(tài)代碼;ADDR_1P#DB2.DBX0.0 BYTE 10// 發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址;SD_1P#DB4.DBX0.0 BYTE 10// 本地發(fā)送數(shù)據(jù)區(qū)。
監(jiān)控結(jié)果
通過(guò)在 S7-300 側(cè)編程進(jìn)行 S7 通訊,實(shí)現(xiàn)兩個(gè) CPU 之間數(shù)據(jù)交換,以S7-1200為例,結(jié)果如下圖。
圖9. 監(jiān)控結(jié)果服務(wù)器側(cè):S7-1200/1500CPU注意事項(xiàng)
當(dāng)通信的對(duì)方CPU為S7-1200或S7-1500時(shí),有如下步驟必須設(shè)置。
1. S7-1200,S7-1500用于通信存放數(shù)據(jù)的DB塊,必須設(shè)置為 非優(yōu)化 (即默認(rèn)的勾選取消掉)如圖10所示:
圖10. S7-1x00的數(shù)據(jù)塊非優(yōu)化設(shè)置
2. S7-1200CPU固件V4.0以上和S7-1500CPU,在CPU屬性--- 保護(hù)--- 連接機(jī)制中,
勾選 允許從遠(yuǎn)程伙伴... ,如圖11所示,