回复:求一个能用的modbus rtu主站轮询程序

已锁定

Zane

版主 西门子1847工业学习平台

  • 帖子

    21447
  • 精华

    403
  • 被关注

    1506

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2020-06-02 23:01:59

17楼

展开查看
以下是引用一串奇怪的数字在2020-06-02 09:27:37的发言 >14楼

如果看过西门子库的原码,你就会知道这个timeout 是干嘛的,  也就会理解为什么有时候明明设置的timeout ,这个超时的错误就是出不来,也就会发生done 和error都出不来时候。
我只是在这个timeout上加了一个双保险而已,咋就没有脑子了,呵呵。
中国这个大环境就是这样,对EMC不重视,虽然硬件上有缺陷,这个时候就只能靠软件弥补。对于大多数用户来说,又便宜又好用,能满足需求就够了。
对应我而言,能解决实际需求的都是好方法,至于取舍让用户去选择。

以下是引用Zane在2020-06-01 23:23:09的发言 >13楼:也是个没脑子的,设...

引用13楼详细内容:

也是个没脑子的,设置超时时间的依据是什么呀?

以下是引用一串奇怪的数字在2020-06-01 14:09:23的发言 >12楼:1.时间+DONE双...

引用12楼详细内容:

1.时间+DONE双保险,时间可以大一些,举个例子假定正常读次需要20ms,我们可以把时间轮询设到50ms.即50ms未收到Done、Error,就指向下一个。
2.另外标准库确实有它的局限性。有些场合也会用自己写的块,毕竟实际读写用的的功能码很少,不用每个都加进去,可以节省一点PLC内存。

现在的源代码你看过吗?


明确告诉你,不判断ERROR与DONE信号,靠所谓的超时来重新触发轮询通信任务,更会雪上加霜,导致你所谓的通信卡顿现象。


另外,RTU接口是在主机还是在分布式IO站上,处理的方式也有不同,好好看看手册。


没用好就没用好,别动不动就说官方的库有问题,你也太小瞧西门子了。



Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15631条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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