回复:Modbus卡住不走的问题

芳季

西门子1847工业学习平台

  • 帖子

    15824
  • 精华

    104
  • 被关注

    989

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2026-01-05 08:12:24

87楼

展开查看
以下是引用李岩在2026-01-05 00:40:46的发言 >86楼

这意思是50或者30ms就正常了?

以下是引用芳季在2026-01-04 08:21:12的发言 >73楼:它是因为卡住才出现...

引用73楼详细内容:

它是因为卡住才出现超时。不是因为超时设得太长。我如果把超时设定到50毫秒30毫秒,是完全不会发现这个问题的。看着Q0.1 0.2 0.5 0.6一路地流水闪,外观一直都很正常。再者,在故障中针对本故障,没曾发生过任何报警。因为MB本身默认超时后发出下一次询问,共发出三次询问,都不成功就报警伴随ERR。

轮询流程中

Q0.1灯是指示正在执行MSG读变频器一个状态。

Q0.2灯是指示正在执行MSG读变频器多个运行参数。

Q0.3写变频器运行指令。

Q0.4写变频器速度指令。

Q0.5读电度表一个值。

Q0.6读电度表多个值。

Q0.7是预留的一个空白的等待状态。随需要,编程插入。

我使用Q点是为了自己能够观察到通讯正在执行到谁。调试好后,看需要会把Q点改成别的。

现在就是Q0.5灯亮了很久。多久?就是一个超时那么久。超时后重试就成功了。保证成功,灯就灭了。所以没有触发ERR。

以下是引用李岩在2026-01-04 02:13:41的发言 >69楼:如果不是多主站的问...

引用69楼详细内容:

如果不是多主站的问题,那么“卡住”应该是超时时间设置的长了。另外,要把ERROR位也用上。

不是正常了,是不察觉异常。因为正常通讯可能20毫秒完成,现在30毫秒作为超时,那么超时就重试,重试就必成功(我不知道为什么)。所以人是不发现这个步,发生了重试。就不察觉异常。轮训流程也没有中断。读信息也只延迟了30毫秒。一点也不发现是异常。

但是把30毫秒改成3秒。那么就很明确流程呆在那儿3秒。(其实是3020毫秒,一个超时加一个重试的时间)

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9445条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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