远程站(ET200SP)的组态
为了换的更快,每套模具都安装了对应的ET200SP作为远程站。由于模具点数不用,所以远程站IO组态也不相同,主要还是穷,能省一点是一点,全都配成最大量也就没这些事了。在软件中组态上所有的不同的IO站。
软件中有四种组态,但是实际中只有两个模具能放到设备上,如何确定哪个站存在,就用到了DeviceStates指令。
DeviceStates: 读取 IO 系统的模块状态信息
DeviceStates指令的参数说明如下图,我们使用的是DP通讯,所以截图里也都是DP通讯的。
我的DeviceStates指令使用过程中,比较需要注意的是MODE参数。由于我是结合D_ACT_DP(启用禁用IO)使用的,最开始我用模式2(诊断远程站是否故障来判断是否存在)。但是D_ACT_DP指令禁用掉某个站之后,会自动认为这个站不存在故障,所以诊断是否存在就不起作用了。后来改成了模式4(从站是否存在),就适合我的情况了。也是在调试过程中发现的。
对于DP通讯来说,远程站的DP地址是多少,那么这个STATE数组参数就选择多少
确定好是哪个模块在线之后,就可以根据需要各种赋值了。(这块是不是有更好的办法我还不太懂,我觉得软件里组态的远程IO通道都是唯一的,还是得赋值给变量去做运算)。
确定好哪个远程站在线以后,程序已经可以用了,但是不在线的远程站会使CPU报故障,红灯闪烁,这时用D_ACT_DP指令解决这个问题。
MODE是1,代表启用,是2,代表禁用。使用IO诊断DeviceStates指令判断是给1还是2。