Опрос по Modbus TCP

Не могу прочитать данные по Modbus TCP с модуля WB-MIO-E v.2.
К этому преобразователю (WB-MIO-E v.2) подключены по порядку WBIO-DI-WD-14 (3шт.) и WBIO-DO-R10A-8 (3шт.)
Нужно как то настраивать связь модулей и преобразователя? Или WB-MIO-E v.2 сам связь установит с модулями?
Настроил по инструкции, а ModbusTool Не видит данные (по таймауту уходит).

Настраивал через WEB. Опрашивал через Modbus TCP. К 485 порту ничего не подключено!

Здравствуйте!

Вы используете контроллер Wirenboard? Настраивали через веб-интерфейс шлюза или контроллера?
Да, в модуль WB-MIO-E v2 нужно записать настройки. Карта регистров модуля есть в документации: Карта регистров модулей WB-MIO и WB-MIO-E — Wiren Board

Веб-интерфейс шлюза открывается? Покажите скриншот страницы TTL1. Должно быть так:
image

Какую программу используете для чтения по Modbus? Покажите скриншоты ее настроек.

На данный момент показать настройки скрином не могу я отключился от объекта. Контроллеры у нас промышленный schneider electric (для них нужен классический Modbus TCP). Пока я тестил c Win10 программкой Modbus Poll.
Настраивал IP с Edge браузера Win10.
В разделе TTL1 Parametr я настройки не менял (там все тоже самое как на скриншоте Вашем, только скорость 115200 стояла)
В разделе Sosket B я ничего не менял.
В разделе Sosket А Я выставил Modbus TCP сервер. Порт задал 502 и тогда Modbus Poll увидел сервер (но ни один регистр не читается).
В Modbus Poll настройки следующие: протокол выбран Modbus TCP/IP. IP задал тот который задал через WEB в разделе “Local IP Config”. Порт 502, Таймаут и задержка по умолчанию 1000 и 20мс соответственно. Соединение идет.
Slave ID взял с самого устройства на передней крышке было написано 137. и пробовал общедоступные регистры ни один не работает - ошибки по таймауту. Опрашивал как несколько регистров так и по одному разными функциями.

Предлагаю для начала попробовать опросить регистры, связанные с самим шлюзом WB-MIO-E v2. Например, время его работы с момента загрузки. По карте регистров видим:

В этом случае настойки должны быть такими. Шлюз:


Modbus Poll:
image

Результат чтения:

Спасибо. Заработало

Скажите, пожалуйста.
А какие регистры самих модулей ? их нужно настраивать?

К примеру, у меня 1 и 2 модуль WBIO-DI-WD-14. Но я не нахожу настроек 14 входного модуля (везде или 8 или 16)

И что в “Карта регистров конфигурации боковых модулей” означает IODIR и т.д. в описании? Нужно это настраивать для модулей?

Например, для первого бокового модуля ввода WBIO-DI-WD-14, нужно записать в шлюз такую конфигурацию:

IODIR: setup register <modbus_io-tcp:13:1:holding: 11000> <-- 0xffff (0xffff)
IPOL: setup register <modbus_io-tcp:13:1:holding: 11001> <-- 0x0000 (0x0)    
GPINTEN: setup register <modbus_io-tcp:13:1:holding: 11002> <-- 0xffff (0xffff)
DEFVAL: setup register <modbus_io-tcp:13:1:holding: 11003> <-- 0x0000 (0x0)
INTCON: setup register <modbus_io-tcp:13:1:holding: 11004> <-- 0x0000 (0x0)  
IOCON: setup register <modbus_io-tcp:13:1:holding: 11005> <-- 0x4444 (0x4444)
CONFIG-FLAG: setup register <modbus_io-tcp:13:1:holding: 10999> <-- 1 (0x1)

После этого в регистрах 1000 - 1014 (coil) будут доступны для чтения статусы входов модуля WBIO-DI-WD-14:

А для WBIO-DO-R10A-8 который 3 модуль по счету установлен тогда что записывать?

Кажется понял. WBIO-DO-R10A-8 который 3 модуль нужно записать:
11500 - записать 0x00
11501 - записать 0x00
11502 - записать 0x00
11503 - записать 0x00
11504 - записать 0x00
11505 - записать 0x4444
11499 - записываем отличное от 0 значение для сохранения настроек?

Для модуля WBIO-DO-R10A-8, который подключен четвертым боковым модулем нужно записать такие регистры:

IODIR: setup register <modbus_io-tcp:13:4:holding: 14500> <-- 0x0000 (0x0)
IPOL: setup register <modbus_io-tcp:13:4:holding: 14501> <-- 0x0000 (0x0)    
GPINTEN: setup register <modbus_io-tcp:13:4:holding: 14502> <-- 0xffff (0xffff)
DEFVAL: setup register <modbus_io-tcp:13:4:holding: 14503> <-- 0x0000 (0x0)  
INTCON: setup register <modbus_io-tcp:13:4:holding: 14504> <-- 0x0000 (0x0)  
IOCON: setup register <modbus_io-tcp:13:4:holding: 14505> <-- 0x4444 (0x4444)
FLAG: setup register <modbus_io-tcp:13:4:holding: 14499> <-- 1 (0x1)

Для модуля WBIO-DO-R10A-8, который подключен пятым боковым модулем нужно записать такие регистры:

IODIR: setup register <modbus_io-tcp:13:4:holding: 11500> <-- 0x0000 (0x0)
IPOL: setup register <modbus_io-tcp:13:4:holding: 11501> <-- 0x0000 (0x0)    
GPINTEN: setup register <modbus_io-tcp:13:4:holding: 11502> <-- 0xffff (0xffff)
DEFVAL: setup register <modbus_io-tcp:13:4:holding: 11503> <-- 0x0000 (0x0)  
INTCON: setup register <modbus_io-tcp:13:4:holding: 11504> <-- 0x0000 (0x0)  
IOCON: setup register <modbus_io-tcp:13:4:holding: 11505> <-- 0x4444 (0x4444)
FLAG: setup register <modbus_io-tcp:13:4:holding: 11499> <-- 1 (0x1)

Для модуля WBIO-DO-R10A-8, который подключен шестым боковым модулем нужно записать такие регистры:

IODIR: setup register <modbus_io-tcp:13:4:holding: 12500> <-- 0x0000 (0x0)
IPOL: setup register <modbus_io-tcp:13:4:holding: 12501> <-- 0x0000 (0x0)    
GPINTEN: setup register <modbus_io-tcp:13:4:holding: 12502> <-- 0xffff (0xffff)
DEFVAL: setup register <modbus_io-tcp:13:4:holding: 12503> <-- 0x0000 (0x0)  
INTCON: setup register <modbus_io-tcp:13:4:holding: 12504> <-- 0x0000 (0x0)  
IOCON: setup register <modbus_io-tcp:13:4:holding: 12505> <-- 0x4444 (0x4444)
FLAG: setup register <modbus_io-tcp:13:4:holding: 12499> <-- 1 (0x1)

image

Почему он не порядку назначает адреса модулям (по факту они подключены по порядку)?

Тут немного своеобразная логика. Так как модулей входов три, то нумерация выходов будет не с 1, а с 4, потом 1 и 2. Если бы входной модуль был только один, то нумерация модулей выходов была бы 2, 3, 4.

Понятно, а если у меня есть еще одна удаленная корзина и в ней первые 2 Di(14) и после 3 DO(8).
То какая последовательность?

В таком случае будет так:
image
первый (по порядку, считая от шлюза) модуль входов будет иметь номер 1 в шлюзе, второй модуль входов будет иметь номер 2;
третий (по порядку, считая от шлюза) модуль выходов будет иметь номер 3, четвертый по порядку модуль выходов будет иметь номер 4, пятый по порядку модуль выходов будет иметь номер 1.