s7-300 以太網模塊在 profinet 網絡中既可以作為控制器也可以作為設備,當 profinet 連接中斷時,可以使用下面的方法來判斷。本文以 cp343-1 作為控制器為例,如圖1,兩個設備分別為et200sp和et200m。

圖01
profinet 通訊中現場設備作為數據的提供者,會向控制器發送數據到 i 區。在發送的 pn 的報文中,按照槽位的順序添加內容,輸入模塊槽位:輸入數據+iops;輸出模塊槽位:iocs。iops 表示 io 數據的提供狀態(數據是好的還是壞的);iocs表示io 數據的消費狀態(q 數據使用狀況)。如圖2,cp 的pn 通訊程序塊 fc11 "pnio_send"和 fc12 "pnio_rciv" 提供了iocs/iops 的輸出管腳,可以用于通訊狀態的評估。

圖02
iocs/iops 的有效長度和通訊的數據長度有關,每個字節的輸入/輸出,對應一位iocs/iops 輸出。如圖3,et200sp 站點,輸入地址0-7 8個字節,對應 iops 8位,即mb202;輸出地址0,一個字節,對應iocs 一位,即m200.0。

圖03
如圖4,et200m 站點,輸入地址8 ,1個字節,對應 iops 1位,順序后延即m203.0;輸出地址1,一個字節,對應iocs 一位,順序后延即m200.1。

圖04
如圖5-6,如果現場設備只是發生故障,通訊沒有中斷,例如 et200sp ai模塊被拔出,只有相應的 iops 位置位,即mb202。

圖05

圖06
如果此時現場設備和控制器的連接中斷,則現場設備相應的所有 iops/iocs 都會置位,如圖7。此時,et200m iops/iocs 位全部置位,et200m 此時可能掉站。

圖07
注意!某些極端情況,例如 et200sp 所有的io 模塊都被拔出,iops/iocs 也會全部置位,但是此時通訊連接并沒有中斷。因此要根據現場實際情況來判斷。










