我有5台smart主机,一台主站,四台分站,使用GET/PUT指令通信传输数据。因为执行机构在主站,操作界面在分站。如果通信断线,从站的停止指令传输不过来,主站的执行机构就没法及时停止运行,造成各种问题。因为尝试过在分站中用SM0.0一直输出一个点位,然后把这个点位传输到主站中,来互锁执行机构的运行。结果是当分站通信断线后,主站中的互锁带点竟然没有断开,一直保持常闭状态。所以请问各位有没有什么好的方法来检测各分站的通信状态?
问题补充:
你好,请问“迷失中原”心跳灯具体思路怎么做?
最佳答案
靠靠靠向导里面的指令后面跟着的那个标志,标志是每完成一次会改变一次on off状态的。你把上一次的这个标志在这次的通讯也一起发过去,那么对面就知道你是不是连续在工作的了。正常工作是,它不可能连续收到两个相同的翻转位的。就算线路故障也就是收不到。
这是检查高速状态下的通讯异常比较方便的方法,心跳位是检查低速通讯比较好。各有各的优缺点。
翻转位。可以知道当前最后一次成功的通讯结果至今的新鲜程度。当线路不稳定的时候,可能永远得不到结果仍然在白等。
心跳位。太慢了很久也没发现出错。太快了,可能通讯不过来就已经跳了。心跳位是单向的,逆向是不知道你在干什么的。就是说,接收心跳位的可以知道发送的在干什么,但是发送的是不知道接收的收到没有。而翻转位却是双向的。而这个双向作用,是已经在通讯程序里面达成的了。
最好是你把一个翻转位和一个心跳位同时发过去。或者两端同时检测翻转位的上升缘和下降缘的超时。
提问者对于答案的评价:
感谢各位!谢谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc142794.html