Modbus TCP (wb-mqtt-mbgate) настройка

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

приветствую
368 660 499 anydesk

Скопировал клманду из сообщения

в терминал.
Результат:


выполняется, значение регистра типа “input” показывает.

6 значений - тоже.


Вывод - отвечает и работает. Хочется посмотреть на настройки используемого софта. В частности на адрес

Не IP адрес а ModbusУ вас зачем-то указан “3”

В общем после указания корректной размерности а OPC - заработало.

заработала , почти как и ожидалось, только вот


в ОРС значения не соответствует тому что на вводах

как исправить

При запросе тех же с помощью modbus_client - возвращает правильно? Покажите результат запроса.

клиент вроде правильно читает

То есть с 10001 по 10006 - все единицы. Соответственно - проверьте (покажите) типы в OPC.

я проверяю 10001 и 10002 они должны быть противоположны, а они одинаковы


через консоль все правильно работает

Собственно, самый простой способ дебажить такой:

  • делаем аналогичный запрос с помощью modbus_client
odbus_client  --debug -mtcp 10.0.0.70 -a143 -r77 -t0x2 -c3
0x0a Connecting to 0.0.0.0
[00][01][00][00][00][06][8F][02][00][4D][00][03]
Waiting for a confirmation...
<00><01><00><00><00><04><8F><02><01><FF>
SUCCESS: read 3 of elements:
	Data: 0x01 0x01 0x01 

у вас в MasterOPC есть возможность просмотреть лог обмена.
Из него интересует, собственно строчки
отправлено: “[00][01][00][00][00][06][8F][02][00][4D][00][03]”
где 8f - -адрес устройства (143)
02 - команда чтения input
4d - адрес начального input (77)
03 - количество input

и принято “<00><01><00><00><00><04><8F><02><01>”
Проверьте, отличаются ли у вас запрос-ответ пожалуйста при работе из консоли и из OPC.

Два сервера показывают разные результаты

Так, а файлы /etc/wb-mqtt-mbgate.conf на разных контроллерах идентичные?

я использую только один контроллер, остальные 4 на объекте. не могу пока проверить

лектус показывает все по нулям, но показывает что есть связь, на само дел замкнут 1 и 13 вход, в веб интерфейсе WB это видно, на боюсь чтото с лектусом,буду его капать,отключаю провод от WB , и в лектусе ничего не меняется

Аналогично не получается настроить.
Задача, есть два контроллера wb5 и wb6.
К wb5 подключены модули и их надо пробросить на wb6, чтобы он их видел как родные)
Настраиваю wb5 (скриншот):

Регистр, который хочу прочитать:

На контроллере wb6 в cli:

# modbus_client  --debug -mtcp -p1502 10.0.0.5 -a67 -r18569 -t0x3
0x000a Connecting to 0.0.0.0
Connection failed: Connection refused

Через веб настроить устройство тоже не получается. Собственно через веб и начал, но когда не смог ничего настроить, перешел в cli.
Подскажите, куда двигаться?

P.S. Порт не принципиально, пробовал и дефолтный 502, ситуация не меняется.

# systemctl status wb-mqtt-mbgate
● wb-mqtt-mbgate.service - LSB: : Wiren Board MQTT to Modbus TCP gateway
   Loaded: loaded (/etc/init.d/wb-mqtt-mbgate; generated; vendor preset: enabled)
   Active: active (running) since Mon 2022-04-18 20:23:30 UTC; 1min 36s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 7867 ExecStop=/etc/init.d/wb-mqtt-mbgate stop (code=exited, status=0/SUCCESS)
  Process: 7876 ExecStart=/etc/init.d/wb-mqtt-mbgate start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/wb-mqtt-mbgate.service
           └─7920 /usr/bin/wb-mqtt-mbgate -c /etc/wb-mqtt-mbgate.conf

Apr 18 20:23:09 wirenboard-A7KCUZCJ systemd[1]: Starting LSB: : Wiren Board MQTT to Modbus TCP gateway...
Apr 18 20:23:30 wirenboard-A7KCUZCJ systemd[1]: Started LSB: : Wiren Board MQTT to Modbus TCP gateway.

Здравствуйте! Попробуйте считать регистр с компьютера с помощью программы Modbus Poll:
https://wirenboard.com/wiki/Working_with_WB_devices_without_a_controller#Работа_из_ОС_Windows_с_помощью_Modbus_Poll

Также рекомендую обновить ПО контроллера, если не обновлено. Пришлите, пожалуйста, список установленных пакетов (нужен полный вывод команды):

dpkg -l