Перейти к содержанию

Wiren-board-modbus-address-change: различия между версиями

Материал из XIOT Wiki
Новая страница: «__NOTOC__ Все устройства Wirenboard поддерживают смену Modbus-адреса записью нового значения в регистр `0x80`. Для этого используется утилита `modbus_client` на контроллере. == ⛔ Остановить Modbus-сервис == Сначала необходимо остановить `wb-mqtt-serial`, чтобы освободить порт: <syntaxhighl...»
 
Нет описания правки
Строка 6: Строка 6:
Сначала необходимо остановить `wb-mqtt-serial`, чтобы освободить порт:
Сначала необходимо остановить `wb-mqtt-serial`, чтобы освободить порт:


<syntaxhighlight lang="bash">
<pre>
service wb-mqtt-serial stop
service wb-mqtt-serial stop
</syntaxhighlight>
</pre>


== ⚙ Смена адреса ==
== ⚙ Смена адреса ==
Пример: текущее устройство на адресе `1`, новый адрес — `10`:
Пример: текущее устройство на адресе `1`, новый адрес — `10`:


<syntaxhighlight lang="bash">
<pre>
modbus_client -m rtu -b 9600 -p none -s 1 /dev/ttyRS485-1 -a 1 -t 0x06 -r 0x80 10
modbus_client -m rtu -b 9600 -p none -s 1 /dev/ttyRS485-1 -a 1 -t 0x06 -r 0x80 10
</syntaxhighlight>
</pre>


== ✅ Проверка ==
== ✅ Проверка ==
Проверка связи по новому адресу:
Проверка связи по новому адресу:


<syntaxhighlight lang="bash">
<pre>
modbus_client -m rtu -b 9600 -p none -s 1 /dev/ttyRS485-1 -a 10 -t 0x03 -r 0x00 -c 1
modbus_client -m rtu -b 9600 -p none -s 1 /dev/ttyRS485-1 -a 10 -t 0x03 -r 0x00 -c 1
</syntaxhighlight>
</pre>


== 🔄 Запуск Modbus-сервиса ==
== 🔄 Запуск Modbus-сервиса ==
<syntaxhighlight lang="bash">
После завершения смены адреса запустите сервис обратно:
 
<pre>
service wb-mqtt-serial start
service wb-mqtt-serial start
</syntaxhighlight>
</pre>


== ⚠ Важно ==
== ⚠ Важно ==
* Регистр `0x80` используется во всех устройствах WB для установки адреса.
* Регистр `0x80` используется во всех устройствах WB для установки адреса.
* Изменение вступает в силу сразу после записи.
* Адрес применяется сразу после записи.
* На шине не должно быть других устройств с тем же адресом.
* На шине должно быть только одно устройство с текущим адресом при смене.

Версия от 05:34, 10 июня 2025


Все устройства Wirenboard поддерживают смену Modbus-адреса записью нового значения в регистр `0x80`. Для этого используется утилита `modbus_client` на контроллере.

⛔ Остановить Modbus-сервис

Сначала необходимо остановить `wb-mqtt-serial`, чтобы освободить порт:

service wb-mqtt-serial stop

⚙ Смена адреса

Пример: текущее устройство на адресе `1`, новый адрес — `10`:

modbus_client -m rtu -b 9600 -p none -s 1 /dev/ttyRS485-1 -a 1 -t 0x06 -r 0x80 10

✅ Проверка

Проверка связи по новому адресу:

modbus_client -m rtu -b 9600 -p none -s 1 /dev/ttyRS485-1 -a 10 -t 0x03 -r 0x00 -c 1

🔄 Запуск Modbus-сервиса

После завершения смены адреса запустите сервис обратно:

service wb-mqtt-serial start

⚠ Важно

  • Регистр `0x80` используется во всех устройствах WB для установки адреса.
  • Адрес применяется сразу после записи.
  • На шине должно быть только одно устройство с текущим адресом при смене.