QModbusRtuSerialMaster сбрасывает очередь вывода - PullRequest
0 голосов
/ 27 января 2020

Есть ли способ сбросить очередь вывода для экземпляра QModbusRtuSerialMaster.

Я думаю, что другой конец насыщается повторными попытками, которые он не может обработать, из-за чего QModbusRtuSerialMaster повторяет попытку, усугубляя проблему.

Возможное решение - сбросить очередь вывода, удалив ожидающие запросы, если по истечении некоторого времени нет ответа на конкретное сообщение.

Я просмотрел исходный код и документацию и Я не вижу никакого очевидного метода.

Я бы предположил, что простое закрытие и повторное его открытие не приведет к немедленному sh изменению очереди и вместо этого дождется ее очистки.

1 Ответ

0 голосов
/ 28 января 2020

Не думаю, что ты можешь. Хотя могут быть некоторые обходные пути: например, закрытие соединения или, поскольку очередь запросов обрабатывается внутренне, вы можете уменьшить timeout и количество повторных попыток .

* 1006. * Кроме того, я думаю, что если ваш ведомый не может обработать запрос, вам следует изменить бизнес-логи c, чтобы уменьшить запрос или создать собственную очередь и отправлять их с разными временами.
...