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 也会全部置位,但是此时通讯连接并没有中断。因此要根据现场实际情况来判断。