回复:MODBUS轮询时假如某个站断电请问如何跳过这个站?

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2018-06-07 07:24:33

9楼

对于无关紧要的仪表,我一般用一个字节来存储通讯中断后再次重试周期来避免拖累整个通讯周期。
对于重要的仪表,每个周期我都是不遗不弃的。
一般,我用一个字节存储通讯中断重试次数。当某从站Done时有Err(为了效率不管什么原因的Err同等对待)发生,就直接赋值重试次数10,然后每个通讯周期都判断各从站的重试次数是否 大于0,如果大于0则减1跳过该从站到下一个从站,如果等于0则正常通讯使能。这样就可以在9个通讯周期内不影响其他从站的通讯时间了。相应的可以根据从站的重要程度设置不同的重试周期,妥妥的。
说白了就是你不能像例程那样手拖手的写通讯逻辑了,而是自己搭建通讯处理逻辑来管理哪个从机可以通讯,哪个从机通讯已经中断等待重试。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15235条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。