Проблема с чтением нескольких регистров по ModBus TCP/IP


#1

Добрый день. Столкнулся со странной проблемой чтения нескольких регистров по ModBus TCP/IP. Если управлять младшим битом то все следующие тоже меняются, причём на управляемом устройстве никаких изменений нет. Если считывать по одному регистру то данные соответсвуют реальному положению вещей. Пример:
Я выставил 1 только в одном регистре 11901


Если идти от большего регистра к меньшему то отображение корректно т.е. если я буду писать 1 в 11903 то 11902 и 11901 не меняют своего значения.
Если считать регистры по одному то информация верная т.е. в данном примере (на картинке) если я считаю один регистр 11902 он покажет 0


#2

Добрый день! Конфиг wb-mqtt-mbgate.conf приложите сюда целиком пожалуйста.


#3

Держите
wb-mqtt-mbgate.conf (14.8 КБ)
Сразу добавлю кастомный конфиг для стороннего modBus устройства
config-ld2-r8d.json (1.7 КБ)


#4

Добрый день! Извините за задержку с ответом. Мне, кажется, удалось воспроизвести вашу проблему, но пока не могу предложить решения. Будем исследовать!


#5

Держите пожалуйста в курсе. Что я ещё заметил по этой проблеме. Если с управляющего устройства выставлять регистры происходит то же самое. С Iridium не получается управлять по ModBus видимо из-за multiple записи в регистры.