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

已锁定

刘工TIA

  • 帖子

    222
  • 精华

    5
  • 被关注

    28

论坛等级:侠圣

注册时间:2015-05-17

黄金 黄金 如何晋级?

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

6222

11

2018-06-06 08:53:47

最近我写了个S7-1200PLC与二十来个温控表MODBUS通讯的程序,但是遇到一个问题,假如在通讯过程中,某个从站断电,就无法继续轮询下一个站而卡在这里。

   我的程序是这样子做的,首先发送第一个站的温度实际值读取命令,得到一个温度实际值,这个命令的完成位,也就是此次MODBUS-MASTER命令的DONE位为1的时候再触发第二个站的读取命令,如果所有的站在线,这没有问题。但是如果某个站不在线,那么当次的MODBUS-MASTER命令的DONE位就无法为1,从而就触发不了下一步轮询命令。

  我的做法是监视每一次的DONE位,如果超时比如一秒钟,就判断为此站掉线,就跳到下一个轮询,但是这严重影响了整个通讯速率。

 原来所有的从站在线的话,控制某个站启动,几乎肉眼看不到时间差,你发送启动信号,这个站就启动了,但是加了上述的判断条件后,假如我让某个站断电,然后我控制另外的站启动,这个时候它启动反应就特别久了,好几秒甚至十几秒才有反应。因为每次轮询到断电的站,程序上就得等一个时间才跳到下一站往下轮询。

 请问下,怎么处理这种问题呢?

MODBUS轮询时假如某个站断电请问如何跳过这个站? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有13055条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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