西門子卡件6ES7314-6CH04-0AB0
西門子PLC S7-300/400與S7-200SMART之間的以太網(wǎng)S7通信
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡(luò)的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
經(jīng)過測試發(fā)現(xiàn)S7-300/400通過集成的PN口或CP343-1/CP443-1與S7-200 SMART PLC 之間的S7通信也是可以成功的, 但是需要S7-300/400側(cè)編程調(diào)用PUT/GET指令。
注意:
1.S7-200 SMART CPU 與S7-300/400 CPU 之間的S7通信未經(jīng)西門子**測試,本文檔僅供客戶測試使用,使用該種通信方式所產(chǎn)生的任何危險(xiǎn)需要有客戶自己承擔(dān)!
2.S7-200 SMARTPLC V2.0 版本才開始支持PUT/GET通信,V1.0版本的CPU需要升級固件后方可支持PUT/GET。
3. S7-300/400若采用CP通信時(shí),則需要采用Standard或Advanced類型通信模塊,CP343-1 Lean模塊不支持。
4.本文僅介紹S7-300集成PN口與S7-200 SMART CPU S7通信。
S7通信介紹
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡(luò)的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
S7-300/400通過以太網(wǎng)接口與S7-200 SMART PLC 之間的S7通訊經(jīng)過測試是可以成功的,但是需要S7-300/400側(cè)編程調(diào)用PUT/GET指令,見表1所示。
表 1 PUT和GET :
S7-400 | S7-300 | 描述 | 簡要描述 |
SFB 14 | FB 14 | 讀數(shù)據(jù) | 單邊編程讀訪問。 |
SFB 15 | FB 15 | 寫數(shù)據(jù) | 單邊編程寫訪問。 |
S7-300/400根據(jù)使用通信接口(集成的PN口或CP343-1/CP443-1)不同,調(diào)用的功能塊來源也不同。
通信接口為S7-300 集成PN接口時(shí),需要使用Standard Library中PUT/GET指令,如圖1所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c8674a81c7ab376c25266bbe2d43fc0d17bc9fb466cade55911.jpg)
圖1 S7-300PN接口需采用Standard Library
通信接口為S7-300 CP通信模塊時(shí),需要使用SIMATIC_NET_CP 庫中PUT/GET指令,如圖2所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c86ddd882c239eecdb36792f11ea215f0257b535cfb7acca7eb.jpg)
圖2 S7-300 CP模塊接口需采用SIMATIC_NET_CP庫
S7-400 CPU不區(qū)分通信接口,需要使用System Function Blocks 中的SFB14/SFB15指令塊,如圖3所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c86baeddc9638be16e931791a2687afcdaaa6e57dd78a3f8513.jpg)
圖3 S7-400 需采用SFB程序塊
硬件及網(wǎng)絡(luò)組態(tài)
本文以采用1個(gè)315-2PN/DP,1個(gè)S7-200 SMART PLC為例,介紹它們之間的S7通信。
在STEP7中創(chuàng)建一個(gè)新項(xiàng)目,項(xiàng)目名稱為S7-300-SMART。插入1個(gè)S7-300站,在硬件組態(tài)中插入CPU 315-2 PN/DP。如圖4所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c867e4e100ccf5b735a95c83caf3c79f92e4089185be7bff585.jpg)
圖4 STEP7 項(xiàng)目中插入S7-300站點(diǎn)
設(shè)置CPU 315-2PN/DP的IP地址:192.168.0.1,如圖5所示。硬件組態(tài)完成后,即可下載該組態(tài)。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c86f6711bcf8c4bd93d420846e0da20eee9a121da074f081de1.jpg)
圖5 設(shè)置CPU PN IP地址
打開“NetPro"設(shè)置網(wǎng)絡(luò)參數(shù),選中CPU 315-2PN/DP,在連接列表中建立新的連接。步驟如圖6所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c866268934f78a39a65a508a088501d8adecd61199e5d49dbb1.jpg)
圖6 NetPro組態(tài)視圖中插入新連接
選擇 Unspecified 站點(diǎn),選擇通訊協(xié)議 S7 connection,點(diǎn)擊 Apply,如圖7所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c8654cf6706818b2ffa30bf84c00829276d49f761187516d8d7.jpg)
圖7 組態(tài)新連接
在彈出的S7 connection屬性對話框中,勾選 Establish an active connection,設(shè)置Partner address:192.168.0.2(S7-200 SMART PLC IP 地址),如圖8所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c8664d4ec938c78d454fb6fdb0defaf4c301302c2f35b5782ae.jpg)
圖8 設(shè)置S7連接參數(shù)
點(diǎn)擊 "Address Details" ,再彈出來的對話框設(shè)置 Partner 的 Slot 為1,如圖9所示。點(diǎn)擊 OK即可關(guān)閉該對話框。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c861204e6dba9513663993c7ef2d044cddfb378f388701ba094.jpg)
圖9 設(shè)置“address details"參數(shù)
網(wǎng)絡(luò)組態(tài)創(chuàng)建完成后,需要編譯,如圖10所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c86b4242653f1e01a64be382a696d65176e2c29936f11ca7b09.jpg)
圖10 保存并編譯連接
網(wǎng)絡(luò)組態(tài)編譯無錯(cuò),鼠標(biāo)先點(diǎn)擊 CPU 315-2PN/DP ,然后點(diǎn)擊下載按鈕下載網(wǎng)絡(luò)組態(tài),步驟如圖11所示。
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c868b23a1e165bf63461eb70c67c9fc195db1ee2fe8d2f5ac12.jpg)
圖 11 下載組態(tài)連接
西門子卡件6ES7314-6CH04-0AB0
程序編程
可以通過SFB/FB 14 "GET",從遠(yuǎn)程CPU中讀取數(shù)據(jù)。
S7-300:在REQ的上升沿處讀取數(shù)據(jù)。在REQ的每個(gè)上升沿處傳送參數(shù)ID、ADDR_1和RD_1。在每個(gè)作業(yè)結(jié)束之后,可以分配新數(shù)值給ID、ADDR_1和RD_1參數(shù)。
S7-400:在控制輸入REQ的上升沿處啟動SFB。在此過程中,將要讀取的區(qū)域的相關(guān)指針(ADDR_i)發(fā)送到伙伴CPU。遠(yuǎn)程伙伴返回此數(shù)據(jù)。在 下一個(gè)SFB/FB調(diào)用處,已接收的數(shù)據(jù)被復(fù)制到組態(tài)的接收區(qū)(RD_i)中。必須要確保通過參數(shù)ADDR_i和RD_i定義的區(qū)域在長度和數(shù)據(jù)類型方面 要相互匹配。
通過狀態(tài)參數(shù)NDR數(shù)值為1來指示此作業(yè)已完成。只有在前一個(gè)作業(yè)已經(jīng)完成之后,才能重新激活讀作業(yè)。遠(yuǎn)程CPU可以處于RUN或STOP工作狀態(tài)。如果 正在讀取數(shù)據(jù)時(shí)發(fā)生訪問故障,或如果數(shù)據(jù)類型檢查過程中出錯(cuò),則出錯(cuò)和警告信息將通過ERROR和STATUS輸出表示。
通過使用SFB/FB 15 "PUT",可以將數(shù)據(jù)寫入到遠(yuǎn)程CPU。
S7-300:在REQ的上升沿處發(fā)送數(shù)據(jù)。在REQ的每個(gè)上升沿處傳送參數(shù)ID、ADDR_1和SD_1。在每個(gè)作業(yè)結(jié)束之后,可以給ID、ADDR_1和SD_1參數(shù)分配新數(shù)值。
S7-400:在控制輸入REQ的上升沿處啟動SFB。在此過程中,將指向要寫入數(shù)據(jù)的區(qū)域(ADDR_i)的指針和數(shù)據(jù)(SD_i)發(fā)送到伙伴CPU。 遠(yuǎn)程伙伴將所需要的數(shù)據(jù)保存在隨數(shù)據(jù)一起提供的地址下面,并返回一個(gè)執(zhí)行確認(rèn)。必須要確保通過參數(shù)ADDR_i和SD_i定義的區(qū)域在編號、長度和數(shù)據(jù)類 型方面相互匹配。
如果沒有產(chǎn)生任何錯(cuò)誤,則在下一個(gè)SFB/FB調(diào)用時(shí),通過狀態(tài)參數(shù)DONE來指示,其數(shù)值為1。只有在*后一個(gè)作業(yè)完成之后,才能再次激活寫作業(yè)。遠(yuǎn)程 CPU可以處于RUN或STOP模式。如果正在寫入數(shù)據(jù)時(shí)發(fā)生訪問故障,或如果執(zhí)行檢查過程中出錯(cuò),則出錯(cuò)和警告信息將通過ERROR和STATUS輸出 表示。
打開SIMATIC 315 PN-1的OB1,在OB1中依次調(diào)用FB14,F(xiàn)B15如圖12、圖13所示:
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c8636f672f5d7128d9d5f45db8202c3d982e1cf54abd1a15711.jpg)
圖12 FB14調(diào)用
表2.FB14參數(shù)說明 :
參數(shù) | 描述 | 數(shù)據(jù)類型 | 存儲區(qū) | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿觸發(fā)調(diào)用功能塊 |
ID | INPUT | WORD | M、D、常數(shù) | 地址參數(shù)ID |
NDR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),接收數(shù)據(jù)成功 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 接收到新數(shù)據(jù) |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 故障代碼 |
S7-300: ADDR_1 S7-400: ADDR_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D I、Q、M、D、 T、C | 從S7-200 SMART的數(shù)據(jù)地址中讀取數(shù)據(jù);V區(qū)數(shù)據(jù)對應(yīng)DB1。 |
S7-300: RD_1 S7-400: RD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | S7-300:M、D S7-400 I、Q、 M、D、T、C | 本站接收數(shù)據(jù)地址 |
![](https://img61.chem17.com/cc947453cd6ce8aae6fe001dfb053c867cecefe0dc076eae96b9355e30f164b36c0209cff6e2a39f.jpg)
圖13 FB15調(diào)用
表3.FB15參數(shù)說明 :
參數(shù) | 描述 | 數(shù)據(jù)類型 | 存儲區(qū) | 描述 |
REQ | INPUT | BOOL | I、Q、M、D、L | 上升沿觸發(fā)調(diào)用功能塊 |
ID | INPUT | WORD | M、D、常數(shù) | 地址參數(shù) |
DONE | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),發(fā)送完成 |
ERROR | OUTPUT | BOOL | I、Q、M、D、L | 為1時(shí),有故障發(fā)生 |
STATUS | OUTPUT | WORD | I、Q、M、D、L | 故障代碼 |
S7-300: ADDR_1 S7-400: ADDR_i (1 ≤ i ≤ 4) | IN_OUT | ANY | M、D I、Q、M、D、 T、C | 從S7-200 SMART的數(shù)據(jù)地址中讀取數(shù)據(jù);V區(qū)數(shù)據(jù)對應(yīng)DB1。 |
S7-300: SD_1 S7-400: SD_i (1 ≤ i ≤ 4) | IN_OUT | ANY | S7-300:M、D S7-400 I、Q、 M、D、T、C | 本站發(fā)送數(shù)據(jù)地址 |
注意:
S7-200 SMART PLC 不需要編程。 S7-200 SMART 中的V存儲區(qū)在S7-300/400 PLC 編程中以DB1數(shù)據(jù)塊的形式體現(xiàn)