Wiren-board-modbus-baud-rate-change: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
__NOTOC__ | __NOTOC__ | ||
Устройства Wirenboard | Устройства Wirenboard (например, WB-MR, WB-MSW, WB-MAO) позволяют изменить скорость работы по Modbus RTU, записав новое значение в регистр `110` (в десятичной системе). Значение указывается в десятках бит/с: например, для 9600 бод — `96`, для 115200 — `1152`. | ||
== ⛔ Остановить Modbus-сервис == | == ⛔ Остановить Modbus-сервис == | ||
Перед | Перед выполнением команды необходимо остановить сервис, использующий RS-485: | ||
<pre> | <pre> | ||
| Строка 11: | Строка 11: | ||
== ⚙ Смена скорости == | == ⚙ Смена скорости == | ||
Пример: текущее устройство на скорости 9600 бод | Пример: текущее устройство работает на скорости 9600 бод, адрес `1`. Требуется изменить скорость на 115200 бод: | ||
<pre> | <pre> | ||
modbus_client -m rtu -b 9600 -p none -s | modbus_client -m rtu -b 9600 -p none -s 2 /dev/ttyRS485-1 -a 1 -t 0x06 -r 110 1152 | ||
</pre> | </pre> | ||
'''Пояснение | '''Пояснение:''' | ||
* `-b 9600` — текущая скорость устройства (её нельзя | * `-b 9600` — текущая скорость устройства (её нельзя указывать произвольно!) | ||
* `- | * `-s 2` — количество стоп-бит (у устройств WB чаще всего 2) | ||
* `-r | * `-r 110` — регистр смены скорости | ||
* ` | * `1152` — новая скорость в десятках бит/с (115200 → 1152) | ||
== 🔢 Таблица | == 🔢 Таблица кодов скорости == | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Код в регистре !! Скорость (бит/с) | ||
|- | |- | ||
| | | 12 || 1200 | ||
|- | |- | ||
| | | 24 || 2400 | ||
|- | |- | ||
| | | 48 || 4800 | ||
|- | |- | ||
| | | 96 || 9600 | ||
|- | |- | ||
| | | 192 || 19200 | ||
|- | |- | ||
| | | 384 || 38400 | ||
|- | |- | ||
| | | 576 || 57600 | ||
|- | |- | ||
| | | 1152 || 115200 | ||
|} | |} | ||
== ✅ Проверка | == ✅ Проверка == | ||
После смены | После смены устройства уже не будет доступно на старой скорости. Проверку нужно выполнять на новой: | ||
<pre> | <pre> | ||
modbus_client -m rtu -b | modbus_client -m rtu -b 115200 -p none -s 2 /dev/ttyRS485-1 -a 1 -t 0x03 -r 0x00 -c 1 | ||
</pre> | </pre> | ||
Если | Если команда возвращает `Data: 0xXXXX` — всё успешно. | ||
== 🔄 Запуск сервиса обратно == | |||
<pre> | <pre> | ||
service wb-mqtt-serial start | service wb-mqtt-serial start | ||
</pre> | </pre> | ||
== | == ⚠️ Важно == | ||
* | * Устройство сразу переключается на новую скорость. | ||
* Убедитесь, что на шине | * Значение `1152` — это не частота, а "115200 делённое на 100". | ||
* После | * Убедитесь, что настройки скорости и стоп-бит совпадают на всех устройствах в шине. | ||
* После изменения скорости необходимо вручную поменять параметры порта в конфигурации контроллера. | |||
== 📚 См. также == | == 📚 См. также == | ||
* [[Смена Modbus адреса у устройств Wiren Board через консоль]] | * [[Смена Modbus адреса у устройств Wiren Board через консоль]] | ||
Версия от 05:47, 10 июня 2025
Устройства Wirenboard (например, WB-MR, WB-MSW, WB-MAO) позволяют изменить скорость работы по Modbus RTU, записав новое значение в регистр `110` (в десятичной системе). Значение указывается в десятках бит/с: например, для 9600 бод — `96`, для 115200 — `1152`.
⛔ Остановить Modbus-сервис
Перед выполнением команды необходимо остановить сервис, использующий RS-485:
service wb-mqtt-serial stop
⚙ Смена скорости
Пример: текущее устройство работает на скорости 9600 бод, адрес `1`. Требуется изменить скорость на 115200 бод:
modbus_client -m rtu -b 9600 -p none -s 2 /dev/ttyRS485-1 -a 1 -t 0x06 -r 110 1152
Пояснение:
- `-b 9600` — текущая скорость устройства (её нельзя указывать произвольно!)
- `-s 2` — количество стоп-бит (у устройств WB чаще всего 2)
- `-r 110` — регистр смены скорости
- `1152` — новая скорость в десятках бит/с (115200 → 1152)
🔢 Таблица кодов скорости
| Код в регистре | Скорость (бит/с) |
|---|---|
| 12 | 1200 |
| 24 | 2400 |
| 48 | 4800 |
| 96 | 9600 |
| 192 | 19200 |
| 384 | 38400 |
| 576 | 57600 |
| 1152 | 115200 |
✅ Проверка
После смены устройства уже не будет доступно на старой скорости. Проверку нужно выполнять на новой:
modbus_client -m rtu -b 115200 -p none -s 2 /dev/ttyRS485-1 -a 1 -t 0x03 -r 0x00 -c 1
Если команда возвращает `Data: 0xXXXX` — всё успешно.
🔄 Запуск сервиса обратно
service wb-mqtt-serial start
⚠️ Важно
- Устройство сразу переключается на новую скорость.
- Значение `1152` — это не частота, а "115200 делённое на 100".
- Убедитесь, что настройки скорости и стоп-бит совпадают на всех устройствах в шине.
- После изменения скорости необходимо вручную поменять параметры порта в конфигурации контроллера.