西門(mén)子S7-300/400與S7-200SMART之間的以太網(wǎng)S7通信
發(fā)布日期:
2023-07-21

S7-300/400通過(guò)以太網(wǎng)接口與S7-200 SMART PLC 之間的S7通訊經(jīng)過(guò)測試是可以成功的,但是需要S7-300/400側編程調用PUT/GET指令,見(jiàn)表1所示。

西門(mén)子S7-300/400與S7-200SMART之間的以太網(wǎng)S7通信

表1

S7通信介紹

S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡(luò )的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。S7-300/400通過(guò)以太網(wǎng)接口與S7-200 SMART PLC 之間的S7通訊經(jīng)過(guò)測試是可以成功的,但是需要S7-300/400側編程調用PUT/GET指令,見(jiàn)表1所示。

表 1 PUT和GET :S7-300/400根據使用通信接口(集成的PN口或CP343-1/CP443-1)不同,調用的功能塊來(lái)源也不同。通信接口為S7-300 集成PN接口時(shí),需要使用Standard Library中PUT/GET指令。

通信接口為S7-300 CP通信模塊時(shí),需要使用SIMATIC_NET_CP 庫中PUT/GET指令。

S7-400 CPU不區分通信接口,需要使用System Function Blocks 中的SFB14/SFB15指令塊。

硬件及網(wǎng)絡(luò )組態(tài)

本文以采用1個(gè)315-2PN/DP,1個(gè)S7-200 SMART PLC為例,介紹它們之間的S7通信。在STEP7中創(chuàng )建一個(gè)新項目,項目名稱(chēng)為S7-300-SMART。插入1個(gè)S7-300站,在硬件組態(tài)中插入CPU 315-2 PN/DP。

STEP7 項目中插入S7-300站點(diǎn)設置CPU 315-2PN/DP的IP地址:192.168.0.1,硬件組態(tài)完成后,即可下載該組態(tài)。

設置CPU PN IP地址打開(kāi)“NetPro”設置網(wǎng)絡(luò )參數,選中CPU 315-2PN/DP,在連接列表中建立新的連接。

選擇 Unspecified 站點(diǎn),選擇通訊協(xié)議 S7 connection,點(diǎn)擊 Apply。

在彈出的S7 connection屬性對話(huà)框中,勾選 Establish an active connection,設置Partner address:192.168.0.2(S7-200 SMART PLC IP 地址)。

設置S7連接參數點(diǎn)擊 'Address Details' ,再彈出來(lái)的對話(huà)框設置 Partner 的 Slot 為1。點(diǎn)擊 OK即可關(guān)閉該對話(huà)框。

網(wǎng)絡(luò )組態(tài)創(chuàng )建完成后,需要編譯。

保存并編譯連接網(wǎng)絡(luò )組態(tài)編譯無(wú)錯,鼠標先點(diǎn)擊 CPU 315-2PN/DP ,然后點(diǎn)擊下載按鈕下載網(wǎng)絡(luò )組態(tài)。

程序編程

可以通過(guò)SFB/FB 14 'GET',從遠程CPU中讀取數據。

S7-300:在REQ的上升沿處讀取數據。在REQ的每個(gè)上升沿處傳送參數ID、ADDR_1和RD_1。在每個(gè)作業(yè)結束之后,可以分配新數值給ID、ADDR_1和RD_1參數。

S7-400:在控制輸入REQ的上升沿處啟動(dòng)SFB。在此過(guò)程中,將要讀取的區域的相關(guān)指針(ADDR_i)發(fā)送到伙伴CPU。遠程伙伴返回此數據。在 下一個(gè)SFB/FB調用處,已接收的數據被復制到組態(tài)的接收區(RD_i)中。必須要確保通過(guò)參數ADDR_i和RD_i定義的區域在長(cháng)度和數據類(lèi)型方面 要相互匹配。通過(guò)狀態(tài)參數NDR數值為1來(lái)指示此作業(yè)已完成。

只有在前一個(gè)作業(yè)已經(jīng)完成之后,才能重新激活讀作業(yè)。遠程CPU可以處于RUN或STOP工作狀態(tài)。如果 正在讀取數據時(shí)發(fā)生訪(fǎng)問(wèn)故障,或如果數據類(lèi)型檢查過(guò)程中出錯,則出錯和警告信息將通過(guò)ERROR和STATUS輸出表示。

通過(guò)使用SFB/FB 15 'PUT',可以將數據寫(xiě)入到遠程CPU。

S7-300:在REQ的上升沿處發(fā)送數據。在REQ的每個(gè)上升沿處傳送參數ID、ADDR_1和SD_1。在每個(gè)作業(yè)結束之后,可以給ID、ADDR_1和SD_1參數分配新數值。

S7-400:在控制輸入REQ的上升沿處啟動(dòng)SFB。在此過(guò)程中,將指向要寫(xiě)入數據的區域(ADDR_i)的指針和數據(SD_i)發(fā)送到伙伴CPU。遠程伙伴將所需要的數據保存在隨數據一起提供的地址下面,并返回一個(gè)執行確認。必須要確保通過(guò)參數ADDR_i和SD_i定義的區域在編號、長(cháng)度和數據類(lèi) 型方面相互匹配。

如果沒(méi)有產(chǎn)生任何錯誤,則在下一個(gè)SFB/FB調用時(shí),通過(guò)狀態(tài)參數DONE來(lái)指示,其數值為1。只有在最后一個(gè)作業(yè)完成之后,才能再次激活寫(xiě)作業(yè)。遠程 CPU可以處于RUN或STOP模式。如果正在寫(xiě)入數據時(shí)發(fā)生訪(fǎng)問(wèn)故障,或如果執行檢查過(guò)程中出錯,則出錯和警告信息將通過(guò)ERROR和STATUS輸出 表示。打開(kāi)SIMATIC 315 PN-1的OB1,在OB1中依次調用FB14,FB15。

聲明:部分內容來(lái)源于網(wǎng)絡(luò ),如侵權請后臺留言聯(lián)系刪除。