Пытаюсь завести стороннее Modbus устройство BHT-8000GALW в систему Wirenboard, но столкнулся с некоторыми трудностями. Есть вот такой шаблон для него: BHT-8000GALW.json (2,4 КБ)
Прошу помощи в следующих вопросах:
Как определить адрес устройства?
Я не уверен, как правильно узнать Modbus-адрес устройства. Пробовал сканировать шину через консоль, ничего не показало.
Как проверить, работает ли устройство?
Хотел бы убедиться, что устройство вообще отвечает по Modbus. Какие инструменты или методы можно использовать для проверки связи с устройством?
А в этой модели действительно есть поддержка modBus?
Судя по расшифровке букв в названиях таких моделей за наличие modBus отвечает буква N
У вас
GA - для водяного нагревателя
L - подсветка экрана
W - WiFi
Если п.2 не сработает, сделайте широковещательный (используя -a0) опрос 0 holding регистра
На самом деле, устройства не отвечают на широковещательные команды.
В вашем случае можно также попробовать сканировать устройства на всех параметрах подключения. Например, с помощью скрипта. Только не забудьте изменить опрашиваемый регистр в самом скрипте.
Также, на вашем месте, я бы попробовал поменять A, B местами.
Результат показал, что устройство отвечает c адреса 1 на 0х0000 регистр с настройками порта 19200, s2.
Прошу сделать такой опрос с помощью modbus_client и показать вывод. Если в выводе будет ошибка, то повторите опрос раз 10, например.
А попробуйте с одним стопбитом (-s1) Ну и цикл можно до 100 попыток увеличить пожалуй.
Хотя - такого еще не видел, самые плохие устройства не отвечают (с ошибками) в 50% запросов.
То есть, ничего не меняя запустите снова скрипт. Ответило? Отлично, попробуйте опросить. Не ответило - возможно контакт потерян, как вариант.