Ensystec-modbus-address-change: различия между версиями
Admin (обсуждение | вклад) Уточнена проверка порта Ensystec через веб-интерфейс Wiren Board |
Admin (обсуждение | вклад) Убрано редактирование конфигурации Ensystec через консоль |
||
| Строка 137: | Строка 137: | ||
</pre> | </pre> | ||
== 7. Обновить адрес в | == 7. Обновить адрес в веб-интерфейсе Wiren Board == | ||
После смены адреса в самом устройстве нужно изменить адрес и в конфигурации Wiren Board. | |||
Откройте веб-интерфейс контроллера Wiren Board, перейдите в раздел '''Устройства''', найдите Ensystec в нужной группе RS-485 и откройте его настройки. В поле адреса Modbus укажите <code>11</code>, сохраните изменения и примените конфигурацию. | |||
Если Ensystec | Если Ensystec находится не на <code>RS485-2</code>, убедитесь, что в веб-интерфейсе устройство осталось в правильной группе RS-485. | ||
== 8. Запустить wb-mqtt-serial и проверить подключение == | == 8. Запустить wb-mqtt-serial и проверить подключение == | ||
| Строка 161: | Строка 153: | ||
</pre> | </pre> | ||
Проверьте, что | Проверьте в веб-интерфейсе Wiren Board, что Ensystec отображается без ошибки связи, а его значения обновляются. Если устройство не отвечает, проверьте, что в настройках устройства указан новый адрес <code>11</code>, а не старый адрес <code>247</code>. | ||
< | |||
</ | |||
< | |||
</ | |||
== Быстрый пример для адреса 11 == | == Быстрый пример для адреса 11 == | ||
| Строка 189: | Строка 165: | ||
modbus_client --debug -mrtu -a247 -t0x06 -r0x0F -b9600 -d8 -pnone -s2 /dev/ttyRS485-2 0xFF0B | modbus_client --debug -mrtu -a247 -t0x06 -r0x0F -b9600 -d8 -pnone -s2 /dev/ttyRS485-2 0xFF0B | ||
modbus_client --debug -mrtu -a11 -t0x03 -r0x0F -c1 -b9600 -d8 -pnone -s2 /dev/ttyRS485-2 | modbus_client --debug -mrtu -a11 -t0x03 -r0x0F -c1 -b9600 -d8 -pnone -s2 /dev/ttyRS485-2 | ||
</pre> | |||
После этого откройте веб-интерфейс Wiren Board, выберите устройство Ensystec и измените его Modbus-адрес в настройках на <code>11</code>. Сохраните и примените конфигурацию. | |||
<pre> | |||
systemctl start wb-mqtt-serial | systemctl start wb-mqtt-serial | ||
</pre> | </pre> | ||
Версия от 09:28, 28 мая 2026
Смена Modbus адреса Ensystec через консоль Wiren Board
Эта инструкция описывает смену Modbus-адреса системы защиты от протечек Ensystec Leak Protect через SSH-консоль контроллера Wiren Board.
Способ применяется, когда Ensystec уже подключён к одному из портов RS-485 контроллера и нужно назначить ему уникальный адрес на шине Modbus RTU.
📌 Исходные параметры Ensystec
Для штатного подключения используются параметры:
| Параметр | Значение |
|---|---|
| Интерфейс | RS-485, Modbus RTU |
| Скорость | 9600 бод |
| Формат | 8N2: 8 бит данных, без чётности, 2 стоп-бита |
| Заводской Modbus-адрес | 247 |
| Регистр адреса | holding-регистр 0x0F
|
| Функция записи | 0x06, Write Single Register
|
В регистре 0x0F адрес находится в младшем байте. На практике заводской адрес читается как 0xFFF7, где F7 — это 247. Для адреса 11 записывается значение 0xFF0B, где 0B — это 11.
⚠ Перед началом
- Убедитесь, что на линии RS-485 нет другого устройства с адресом, который вы собираетесь назначить.
- Убедитесь, что обращаетесь к правильному порту: например,
/dev/ttyRS485-1,/dev/ttyRS485-2или/dev/ttyMOD1. - На время ручных команд нужно остановить сервис
wb-mqtt-serial, иначе он будет занимать порт. - В примерах ниже Ensystec подключён к
/dev/ttyRS485-2, текущий адрес —247, новый адрес —11.
1. Подключиться к Wiren Board по SSH
На компьютере откройте терминал и подключитесь к контроллеру:
ssh root@192.168.88.27
Вместо 192.168.88.27 укажите IP-адрес своего контроллера.
2. Проверить, на каком порту добавлен Ensystec
Порт удобнее проверять в веб-интерфейсе Wiren Board, а не через консольный вывод.
Откройте веб-интерфейс контроллера, перейдите в раздел Устройства и найдите устройство Ensystec. Название группы, в которой оно находится, показывает используемый порт. Например, если Ensystec находится в группе RS485-2, то в командах ниже нужно использовать порт /dev/ttyRS485-2.
Соответствие имён:
| В веб-интерфейсе Wiren Board | Порт в командах |
|---|---|
RS485-1 |
/dev/ttyRS485-1
|
RS485-2 |
/dev/ttyRS485-2
|
MOD1 |
/dev/ttyMOD1
|
MOD2 |
/dev/ttyMOD2
|
MOD3 |
/dev/ttyMOD3
|
В примерах ниже используется /dev/ttyRS485-2. Если Ensystec находится на другом порту, замените путь во всех командах.
3. Остановить wb-mqtt-serial
systemctl stop wb-mqtt-serial
После остановки сервис перестаёт опрашивать Modbus-устройства, и порт можно использовать вручную через modbus_client.
4. Проверить текущий адрес 247
Прочитайте регистр адреса 0x0F по заводскому адресу 247:
modbus_client --debug -mrtu -a247 -t0x03 -r0x0F -c1 -b9600 -d8 -pnone -s2 /dev/ttyRS485-2
Ожидаемый результат для заводского адреса:
SUCCESS: read 1 of elements: Data: 0xfff7
Если ответа нет, проверьте порт, A/B линии RS-485, питание Ensystec и текущий адрес устройства.
5. Записать новый адрес 11
Запишите в регистр 0x0F значение 0xFF0B:
modbus_client --debug -mrtu -a247 -t0x06 -r0x0F -b9600 -d8 -pnone -s2 /dev/ttyRS485-2 0xFF0B
Ожидаемый результат:
SUCCESS: written 1 elements!
После этой команды Ensystec должен перестать отвечать на адресе 247 и начать отвечать на адресе 11.
6. Проверить новый адрес
Прочитайте тот же регистр уже по адресу 11:
modbus_client --debug -mrtu -a11 -t0x03 -r0x0F -c1 -b9600 -d8 -pnone -s2 /dev/ttyRS485-2
Ожидаемый результат:
SUCCESS: read 1 of elements: Data: 0xff0b
Дополнительно можно проверить, что старый адрес больше не отвечает:
modbus_client --debug -mrtu -a247 -t0x03 -r0x0F -c1 -o300 -b9600 -d8 -pnone -s2 /dev/ttyRS485-2
Ожидаемый результат для старого адреса:
ERROR Connection timed out: select
7. Обновить адрес в веб-интерфейсе Wiren Board
После смены адреса в самом устройстве нужно изменить адрес и в конфигурации Wiren Board.
Откройте веб-интерфейс контроллера Wiren Board, перейдите в раздел Устройства, найдите Ensystec в нужной группе RS-485 и откройте его настройки. В поле адреса Modbus укажите 11, сохраните изменения и примените конфигурацию.
Если Ensystec находится не на RS485-2, убедитесь, что в веб-интерфейсе устройство осталось в правильной группе RS-485.
8. Запустить wb-mqtt-serial и проверить подключение
Запустите сервис обратно:
systemctl start wb-mqtt-serial
Проверьте в веб-интерфейсе Wiren Board, что Ensystec отображается без ошибки связи, а его значения обновляются. Если устройство не отвечает, проверьте, что в настройках устройства указан новый адрес 11, а не старый адрес 247.
Быстрый пример для адреса 11
Если Ensystec подключён к RS485-2, текущий адрес 247, новый адрес 11, последовательность команд будет такой:
systemctl stop wb-mqtt-serial modbus_client --debug -mrtu -a247 -t0x03 -r0x0F -c1 -b9600 -d8 -pnone -s2 /dev/ttyRS485-2 modbus_client --debug -mrtu -a247 -t0x06 -r0x0F -b9600 -d8 -pnone -s2 /dev/ttyRS485-2 0xFF0B modbus_client --debug -mrtu -a11 -t0x03 -r0x0F -c1 -b9600 -d8 -pnone -s2 /dev/ttyRS485-2
После этого откройте веб-интерфейс Wiren Board, выберите устройство Ensystec и измените его Modbus-адрес в настройках на 11. Сохраните и примените конфигурацию.
systemctl start wb-mqtt-serial