Проблема с подменой данных на SlaveID в универсальном Modbus драйвере (RTU)

Столкнулся со странной проблемой при опросе оборудования на нескольких точках учета. Конфигурация следующая:

  • К одному порту (преобразователь интерфейсов RS-485) подключено два Modbus устройства.

  • Опрос ведется через универсальный Modbus драйвер (ModbusRTU).

Суть проблемы:
В некоторых сеансах связи (случайным образом, закономерность не выявлена) при опросе устройств в ответе приходит не реальный параметр с датчика, а значение, равное его Slave ID.

Судя по всему такие данные прислал прибор учета. Вы можете прислать журнал опроса, при котором возникла описываемая ситуация и дамп обмена к нему, чтобы мы проверили упомянутую версию.

Куда можно отправить логи?

Вы можете прикрепить во вложение комментария либо разместить на любом файловом хостинге, указав в комментарии ссылку на скачивание.

Вот логи

logs.zip (70,1 КБ)

Мы проанализировали присланные журналы и дампы. Предположения подтвердились. На запросы всех трех приборов отвечает только первый из них с сетевым адресом 31. Выясните по какой причине данный прибор реагирует на чужие запросы и устраните причины его такого поведения.