Не работает modbus

Точно нет… Выведите лог journalctl -u wb-mqtt-mbgate --since "10 min ago" и проверьте

Ответ прилагаю

Так. То есть сервис ничего не пишет в журнал. Перезапустите сервис и дайте результаты (лог) через несколько 2-4 минуты работы.

Все что получилось. stop start. Новый это с терминала.

новый 2.txt (127 KB)

wb-mqtt-mbgate_20230421T174414.log (274 KB)

Судя по логам

Apr 21 14:44:14 wirenboard-AI35IDA5 wb-mqtt-mbgate[6270]: INFO: [modbus] Modbus listening
Apr 21 14:44:14 wirenboard-AI35IDA5 wb-mqtt-mbgate[6270]: INFO: [mbgate] Start loops

wb-mqtt-mbgate запущен.
Проверить его состояние можно systemctl status wb-mqtt-mbgate
Должен быть active (running)
ну и покажите что выводится при запросу регистров с внешнего устройства, подключенного к порту контроллера.

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

Ответа от контроллера нет.

Скрины прилагаю

Так… Пришла пора, думаю, проверить аппаратную часть. Просто соединив потрты 1 и 2 контроллера. Отключите все от портов и соедините A-A и B-B соответственно. Не забудьте остановить wb-mqtt-serial и опросите wb-mqtt-mbgate с помощью modbus_client.

Результат. Все ли я правильно сделал?

Неправильно - после s2 нужно указать порт, которым опрашиваете порт с mbgate’ом. В вашем случае, как понимаю, должно быть -s2 /dev/ttyRS485-1.

Поправил.

Явно не остановлен wb-mqtt-serial.
Он занимает порт ttyRS485-1.

Попробовал. Результат.

Я правильно понимаю, что вы:

  1. Соединили A с A и B с B
  2. Выставили те же параметры соединения, которые настроены в конфиге mbgate
  3. Выставили те адрес устройства (ID) и регистр, по которым должны быть доступны данные? (вроде да)

Вроде так. Проверьте.

Я извиняюсь. Мои действия?

Наверное ещё стоит проверить, как второй порт сконфигурирован в wb-hardware (“модули расширения и порты”).

Настройка

При такой настройке ничего не меняется. Ответа нет.

Остановите все сервисы использующие порты. Проверьте что порты не заняты.
Затем запустите два экземпляра minicom, с идентичными настройками, по одному на порт. И проверьте - передается ли между ними что-то.