Имеется один WB-MR14, который отлично работает по modbus. Теперь нужно подключить второй WB-MR14. Правильно я понимаю, что slave_id у них одинаковый и равен 23, в связи с чем у одного надо поменять?
И как проще всего это сделать? Можно ли slave_id менять через веб-интерфейс?
Добрый день,
slave_id у устройств написаны на наклейке на корпусе. Они раздаются последовательно, поэтому шансы получить два устройства с одинаковыми адресами очень низкие. Можете при заказе явно указать, какие адреса вам не нужно отправлять.
Поменять можно командой из консоли, из веб-интерфейса нельзя.
У меня на одном модуле нет наклейки, возможно, я её потерял. slave_id на таком устройстве можно как-то восстановить?
Проще новый прошить.
-
Отключаете от обоих портов RS-485 всё
-
Подключаете ЕДИНСТВЕННОЕ устройство к порту
-
делаете
service wb-mqtt-serial stop
-
делаете
modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a0 -t0x06 -r0x80 42
где /dev/ttyAPP1 - это порт (или такой, или /dev/ttyAPP4, подробнее в документации),
42 - это новый адрес
команда вернёт ошибку, так и должно быть
-
делаете
service wb-mqtt-serial start
-
Добавляете устройство в веб-интерфейсе по новому адресу, проверяете, что всё ок.
Всё отлично сработало, спасибо!
Некоторое время назад добавили ту же информацию в документацию: http://contactless.ru/wiki/index.php/Драйвер_wb-mqtt-serial#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.B8.D1.82.D1.8C_.D0.BD.D0.BE.D0.B2.D1.8B.D0.B9_.D0.B0.D0.B4.D1.80.D0.B5.D1.81_Modbus_.D0.BD.D0.B0_.D1.83.D1.81.D1.82.D1.80.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.BE_RS-485_.D0.BD.D0.B0.D1.88.D0.B5.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B8.D0.B7.D0.B2.D0.BE.D0.B4.D1.81.D1.82.D0.B2.D0.B0