QT modbus长时间报Request timeout. (code: 0x5)

QT modbus长时间报Request timeout. (code: 0x5)

我的情况是使用modbusTCP的时候出现的。一开始报少量的 0x5 , 后面就是连续的 0x5 ,然后给我断开连接。
这个错误码的意义是这样的:
ACKNOWLEDGE (0x05): 确认,表示从设备已经接收到请求并正在处理。

所以报这个错就是从机还没处理完,回复不了想要的,就只能回复主机一个错误码。

一开始我想的解决办法是让读取之间的间隔变长,发现没有多大用。最后发现有一个参数配置不对。

解决办法:

在这里插入图片描述
这一个参数设置大一点,我之前是100,后面改成1000,基本没有再报那个错。

这个参数的意义就像,,,顾客(主机)买东西,然后该顾客比较急,只给商家(从机)100ms的时间准备商品,100ms后,商家表示没有,还在做(就相当于0x5),然后顾客就走了,不继续等了,多来几次,商家就不想卖他东西了(断开连接),所以顾客需要给商家1000ms的时间,让商家把商品弄完,1000ms后顾客就能获得商品,而不是0x5。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值