找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
我做心跳就是主站一直对对一个BOOL量写1,我这边同时也读取这个BOOL量的状态,如果对方没没有将这个BOOL复位,就认为通讯出现异常。对方就是每个接收到我发送的数据后就立马复位这个BOOL。如果在发送接收超过3次就是认为通讯出现问题。直接报通讯故障。当然modbus TCP通讯异常自己通讯指令也有反馈故障,你直接读取这个地址状态也是一样。
这是我一般做法,仁者见仁,智者见智,每个人都有自己的做法,只要实现就可以。
modbus TCP是轮训,你要处理好什么时候发送接收一次,不要直接这个心跳加入到轮训里面,不然你轮训完成一轮后再去启动第二轮发送接收,这样就太慢了。还不如直接读取指令的错误状态来判断。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!