回复:关于MODBUS轮询多台从站的问题 和对主站完成位与错误代码该怎么理解

luffy-D

西门子1847工业学习平台

  • 帖子

    99
  • 精华

    0
  • 被关注

    7

论坛等级:侠客

注册时间:2014-04-01

白金 白金 如何晋级?

发布于 2015-09-24 03:38:26

6楼

经过我反复用两个PLC做实验证明,modbus与多从站正常轮询通信时, 如果有从站掉电或出现故障,那么其标志完成位会经过主站初始化时设定的Parity时间(如1000MS)才能置位,继续下个MBUS_MSG指令,而错误代码err显示3,关闭之后 Done 与err均为0。

我在程序里面先加个无效的从站MBUS_MSG指令,就是无意义的站号,从而模拟多从站掉电的假象,实际没有该地址,结果发现通讯延迟了 大约1-2S,我又连续加了 5个 这样的MBUS_MSG指令,大约延迟5-8S Parity=1000

就像某大侠说的那样,modbus或者自由口轮询多从站时,如果只剩下一个从站,而不采取措施,则通讯速率会变成最慢的

之前一直不明白,为什么从站掉电后,主站发送请求后而无应答,按我理解应该超时过后通信就该停止,现在我有点想通了 应该是MBUS_CTRL指令设定了超时时间,时间一到如果从站还是没有应答,就强行结束主站请求,同时完成标志位Done和输出err错位代码,继续下条指令,但是这样大大增加系统负担和通信时间。官方给的样例很经典 虽然不能解决出现故障时通信速率问题,但基本保障能通信。

至于怎么改善通信质量和效率,自由口讨论帖里很多大侠已给出各种方案,对于初学者的我还是有很大难度

讨论的问题和标题不符,变成了通讯效率问题~

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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