QModbusRtuSerialMaster重置输出队列

问题描述 投票:0回答:1

是否有一种方法可以重置QModbusRtuSerialMaster实例的输出队列。

[我认为另一端已经充满了无法处理的重试,导致QModbusRtuSerialMaster重试,使问题更加严重。

如果一段时间后没有对特定消息的答复,则可能的解决方案是重置输出队列,除去待处理的请求。

我浏览了源代码和文档,但看不到任何明显的方法。

我想简单地关闭并重新打开它不会立即刷新队列,而是等待队列清除。

qt modbus qtserialport qtserial qtserialbus
1个回答
0
投票

我认为您不能。尽管可能有一些解决方法:例如关闭连接,或者由于请求队列是在内部处理的,所以可以减少timeoutnumber of retries

此外,我认为如果您的从属不能处理请求,则应该更改业务逻辑以减少请求或创建自己的队列并以不同的时间发送它们。

© www.soinside.com 2019 - 2024. All rights reserved.