以前使用S7-1500或S7-1200配置ET200SP远程IO的工况下,在正确配置使用后,如果ET200SP的网络出现异常,则CPU会出现报错,并且CPU会显示红灯,在线诊断提示“io组件异常”等问题。
最近碰到用户提出,如果ET200SP出现掉站后,需要在HMI,上位机等界面出现报警提示。我的第一反应是,这个时候肯定要监控当前PN从站的状态,不能再仅仅只看硬件组态里报警信息了。在查看资料和网上的视频以后,我发现了博图的“DeviceStates”指令支持远程IO的监控。
以下是自己做的测试记录,以作参考。
测试环境:
● TIA Portal V17
● S7-1511T PLC Fw2.9
● ET200SP Fw4.2
程序编写:
在OB1中调用指令

填入对应参数

(1)LADDR填入硬件标识符

(2)MODE填入对应功能:

(3)STATE使用“Array of BOOL”作为数据类型,
对于 PROFINET IO 系统:1024 位,数组建立Array[0..1023] of Bool或:数量<1023
对于 DP 主站系统:128 位,数组建立Array[0..127] of Bool或:数量<127
(4)RET_VAL建立1个Word变量,监控指令当前状态
程序测试:
Mode设置=2
(1)远程IO状态正常


说明远程IO都组态正常
(2)远程IO状态错误、掉线

硬件设置:
远程IO设备号查找、修改
选择ET200SP,右键“属性”,找到对应选项:

使用“DeviceStates”指令实现①PROFINET IO 系统中所有 IO 设备的状态信息② DP 主站系统中所有 DP 从站的状态信息。
所以,以上方法应该也使用DP总线的状态监控,因为没有硬件,无法测试。