0

有没有办法重置 QModbusRtuSerialMaster 实例的输出队列。

我认为另一端已被它无法处理的重试饱和,导致 QModbusRtuSerialMaster 重试使问题变得更糟。

如果在一段时间后没有对特定消息的回复,一个可能的解决方案是重置输出队列,删除挂起的请求。

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

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

4

1 回答 1

0

我不认为你可以。虽然可能有一些解决方法:例如关闭连接,或者由于请求队列是在内部处理的,您可以减少超时重试次数

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

于 2020-01-28T09:09:18.373 回答