当前位置: 主页 > PLC控制

S7-200 modebus通讯

我使用CPU226,6块智能仪表进行通讯,接线正确(按照MODBUSmASteRTeST.mwp进行程序设计,可以正常通讯)。现在的问题是下一个块是通过上一个块的完成标志位来激活的,那就存在一个问题,加入我这个块的通讯没有完成,然后就无法激活下一步,整个的通讯就瘫痪了,然后做了修正,用计数器去控制,记一次数执行一个块,仍然存在一个问题,就是我无法确定我这一步的通讯是否完成了。通讯该怎样做才合理呢?怎样加一个延时程序当某一步通讯异常时进行延时处理,然后跳到下一个?现在有点迷糊了,求大哥们指点指点,小弟拜谢了!!

最佳答案

这个S200的modbus库,初始化程序的时候,那个延时时间就是让你设定通讯失败的容忍时间,按正常通讯的话,一般智能仪表大概也就30ms就可以完成了,那么你设置成50ms,假设其中一块表通讯不上,系统会自动重复3次,即3×50ms=150ms,150ms时间到达后,那个DONE位同样也会置为1的;

提问者对于答案的评价:
谢谢

  • 关注微信

猜你喜欢

微信公众号