利用SMART ST60和ST20通讯,写了PUT指令,需要判断通讯是否成功。
为了不自己写判断指令,查找帮助,看到了PUT指令通讯参数表Table 中的第一个字为控制状态字,帮助中说通过它可以判断通讯是否成功。
实际中,发现该判断字中的位X.5位无法起作用,在未连设备时仍不报错。
西门子工程师表示要利用SM0.5脉冲来检测,实际仍不成功。不知是软件版本还是其他问题,我用的软件V2.1版。
希望有大神能指点一下,最好给一段代码,谢谢了。
我的邮箱:930503506@qq.com
最佳答案
可以读取一个恒为0的位,然后用sm0.5的上升沿对该位置位,然后通过一个延时判断,在延时时间内该位没有复位,则给出通讯超时的报警。
提问者对于答案的评价:
该控制字需快速读出来,因为通讯一旦失败,系统会再次请求通讯连接,并更新状态字,错误就读不出来了,中间延时跳变大概需要三十秒左右
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc145809.html