回复:如何使用Modbus轮询速度提高

心语无量

  • 帖子

    32
  • 精华

    0
  • 被关注

    2

论坛等级:游侠

注册时间:2011-12-07

普通 普通 如何晋级?

发布于 2013-08-14 16:29:06

15楼

quote:以下是引用Zaxife在2013-08-13 23:04:07的发言:
对以modbus通讯,一般情况下主机都是读取数据的。写数据的情况只有需要写的时候才写,否则只是读。如果每周期都读/写操作,程序逻辑写起来会很麻烦的。而且效率非常非常的低。

一般情况下,有写操作就先写操作一次,写完后不管成功与否都重置为读操作。

用完成标识、超时/错误标识、定时器重置通讯标识来触发下一条通讯指令。

每个从机分配多一个存储单元来存储错误恢复通讯次数,当次数为0自动再次发送指令,否则跳过继续判断下一台从机。

做到上面这写,你就可以在多从机环境下最优化通讯了。
比如有16台从机,那么其中有15台同时通讯中断只有一台通讯正常时,基本能保证不会每个周期都循环16台从机浪费时间,使得单独一台都能有很好的通讯操作响应。
我做的多从机环境下,基本上是通讯中断的从机会强加30~60秒后再从试,不让它每个周期都判断,节省通讯周期。


额,我知道用时间写是很慢,用Done试过了,但是就像你说的,万一有一台出现故障,那就会无法正常读取和通信了,所以想问下,你的写入时靠什么去出发的,能说详细点,我刚开始用有很多不明白的地方,麻烦了。
天天开心
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33258条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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