Карта Modbus-регистров RGBW-диммеров
Регистры устройства
Прошивка 3.0
Версия 3.0 пока в разработке, подробнее читайте на форуме.
Регистры включения/выключения каналов:
Wbincludes:Header Registers
| 0
| 0x00
| Состояние канала 1 в режиме его независимой работы
| rowspan="11" | coil
| rowspan="11" | RW
| rowspan="11" | bool
| rowspan="11" | -
| rowspan="11" | -
| rowspan="11" | 0, 1
| rowspan="11" | 0
| rowspan="11" | 0
| rowspan="11" |
|-
| 1
| 0x01
| Состояние канала 2 в режиме его независимой работы
|-
| 2
| 0x02
| Состояние канала 3 в режиме его независимой работы
|-
| 3
| 0x03
| Состояние канала 4 в режиме его независимой работы или в режиме RGB+W
|-
| 4
| 0x04
| Состояние каналов 1 и 2 в режиме их параллельного соединения
|-
| 5
| 0x05
| Состояние каналов 3 и 4 в режиме их параллельного соединения
|-
| 6
| 0x06
| Состояние каналов 1, 2, 3, 4 в режиме их параллельного соединения
|-
| 7
| 0x07
| Состояние каналов 1 и 2 в режиме работы с CCT лентой
|-
| 8
| 0x08
| Состояние каналов 3 и 4 в режиме работы с CCT лентой
|-
| 9
| 0x09
| Состояние каналов 1, 2, 3 в режиме работы с RGB лентой
|-
| 10
| 0x0A
| Непрерывная смена цвета RGB ленты
|}
Регистры управления каналами:
Wbincludes:Header Registers
| 2000
| 0x07D0
| Яркость канала 1 в режиме его независимой работы
| rowspan="18" | holding
| rowspan="18" | RW
| rowspan="18" | u16
| rowspan="18" | 1
| rowspan="11" | %
| rowspan="11" | 0 - 100
| rowspan="11" | 50
| rowspan="18" | 0xFFFF
| rowspan="18" |
|-
| 2001
| 0x07D1
| Яркость канала 2 в режиме его независимой работы
|-
| 2002
| 0x07D2
| Яркость канала 3 в режиме его независимой работы
|-
| 2003
| 0x07D3
| Яркость канала 4 в режиме его независимой работы или в режиме RGB+W
|-
| 2004
| 0x07D4
| Яркость каналов 1 и 2 в режиме их параллельного соединения
|-
| 2005
| 0x07D5
| Яркость каналов 3 и 4 в режиме их параллельного соединения
|-
| 2006
| 0x07D6
| Яркость каналов 1, 2, 3, 4 в режиме их параллельного соединения
|-
| 2007
| 0x07D7
| Цветовая температура CCT ленты, подключенной к каналам 1 и 2
0% - максимально теплый цвет
100 % - максимально холодный цвет
|-
| 2008
| 0x07D8
| Яркость CCT ленты, подключенной к каналам 1 и 2
|-
| 2009
| 0x07D9
| Цветовая температура CCT ленты, подключенной к каналам 3 и 4
0% - максимально теплый цвет
100 % - максимально холодный цвет
|-
| 2010
| 0x07DA
| Яркость CCT ленты, подключенной к каналам 3 и 4
|-
| 2011
| 0x07DB
| Компонент R цвета RGB ленты в RGB палитре
| rowspan="3" | -
| rowspan="3" | 0 - 255
| rowspan="3" | 127
|-
| 2012
| 0x07DC
| Компонент G цвета RGB ленты в RGB палитре
|-
| 2013
| 0x07DD
| Компонент B цвета RGB ленты в RGB палитре
|-
| 2014
| 0x07DE
| Компонент H цвета RGB ленты в HSV палитре
| °
| 0 - 360
| 0
|-
| 2015
| 0x07DF
| Компонент S цвета RGB ленты в HSV палитре
| rowspan="2" | %
| rowspan="2" | 0 - 100
| 0
|-
| 2016
| 0x07E0
| Компонент V цвета RGB ленты в HSV палитре
| 50
|-
| 2017
| 0x07E1
| Скорость непрерывного изменения цвета RGB ленты, период увеличения Hue на 1
| мс
| 3 - 10000
| 30
|}
Прошивка 1.0
Текущая серийная версия прошивки.
Регистр / адрес | тип | чтение/запись | значение по умолчанию | формат | назначение | Примечание |
---|---|---|---|---|---|---|
0 | holding | RW | - | 0-255 | Уровень канала G, логарифмическая кривая | |
1 | holding | RW | - | 0-255 | Уровень канала R, логарифмическая кривая | |
2 | holding | RW | - | 0-255 | Уровень канала B, логарифмическая кривая | |
3 | holding | RW | - | 0-255 | Уровень канала W, логарифмическая кривая | WB-MRGBW-D |
5 | holding | RW | 0 | 0: стандартный режим, 1: отключить управление | режим работы кнопок | |
6 | input | R | 1 - нажата, 0 - отпущена | состояние кнопки 1 | ||
7 | input | R | 1 - нажата, 0 - отпущена | состояние кнопки 2 | ||
8 | input | R | 1 - нажата, 0 - отпущена | состояние кнопки 3 (WB-MRGBW-D) | ||
9 | holding | RW | 0 | freq = 24 кГц / (value + 1) (0 - 239) | частота ШИМ * | |
13 | holding | RW | 100 | x 10ms (2 - 500) | Время плавного изменения яркости во время включения и выключения | |
32 | input | R | 0 | 0 - 65535 и дальше снова 0 | количество нажатий кнопки 1 | с версии 1.1.1 |
33 | input | R | 0 | 0 - 65535 и дальше снова 0 | количество нажатий кнопки 2 | с версии 1.1.1 |
34 | input | R | 0 | 0 - 65535 и дальше снова 0 | количество нажатий кнопки 3 | с версии 1.1.1 |
* Для регистра 9 приведена формула расчёта частоты. Значение регистра считается так: value=24кГц/freq−1, где freq — нужная частота. По умолчанию в регистр записано 0 — это 24 кГц: 24/24−1=0 В регистр пишется только целое число, возможные значения: 0 - 24 кГц 1 - 12 кГц 2 - 8 кГц 3 - 6 кГц 4 - 5.4 кГц 5 - 4 кГц
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||
104-105 | 0x0068 - 0x0069 | Input | RO | u32 | Время работы с момента загрузки | секунды |
121 | 0x0079 | Input | RO | u16 | Текущее напряжение питания | мВ |
110 | 0x006E | Holding | RW | u16 | Скорость порта RS-485. Настройка параметров подключения по RS-485 |
x100, Боды 12 — 1200 бит/с, 24 — 2400 бит/с, 48 — 4800 бит/с, 96 — 9600 бит/с, 192 — 19 200 бит/с, 384 — 38 400 бит/с, 576 — 57 600 бит/с, 1152 — 115 200 Кбит/с |
111 | 0x006F | Holding | RW | u16 | Настройка бита чётности порта RS-485 | 0 — нет бита чётности (none), 1 — нечётный, 2 — чётный |
112 | 0x0070 | Holding | RW | u16 | Количество стоп-битов порта RS-485 | 1, 2 |
113 | 0x0071 | Holding | RW | u16 | Время перед отправкой ответа на modbus запрос | 0 - 254 мс |
114 | 0x0072 | Holding | RW | u16 | Режим непрерывного чтения регистров с зазором | 0 - отключен 1 - включен 2 - включение сохраняется после перезагрузки |
128 | 0x0080 | Holding | RW | u16 | Modbus-адрес устройства (подробнее) | |
120 | 0x0078 | Holding | RW | u16 | Перезагрузка устройства без сохранения состояния | любое, отличное от 0 перезагружает устройство |
129 | 0x0081 | Holding | RW | u16 | Перевод в режим обновления прошивки на 2 минуты | любое, отличное от 0 переводит устройство в режим обновления прошивки |
130 | 0x0082 | Holding | RW | u8 | Отключение индикатора состояния | 0 - активен, 1 - отключен |
123 | 0x007B | Input | RO | u16 | Напряжение на микроконтроллере | мВ |
124 | 0x007C | Input | RO | u16 | Внутренняя температура микроконтроллера | x0.1, °C |
200-205 | 0x00C8 - 0x00CD | Input | RO | string | Модель устройства | |
206-219 | 0x00CE - 0x00DB | Input | RO | string | Расширение модели устройства. Для новых устройств WB-LED и WB-MAI6 поле поддерживается изначально, для остальных - в прошивках с "быстрым Modbus". Для чтения модели устройства нужно читать диапазон из 20 регистров (200 - 219). Если устройство возвращает ошибку Illegal Data Address - читать 6 регистров (200 - 205). | |
220-248 | 0x00DC - 0x00F8 | Input | RO | string | Хэш коммита и название ветки откуда собрана прошивка (2 символа в регистре) | |
250-265 | 0x00FA - 0x0109 | Input | RO | string | Версия прошивки | |
266-269 | 0x010A - 0x010D | Input | RO | u64 | Расширение серийного номера | |
270-271 | 0x010E - 0x010F | Input | RO | u32 | Серийный номер | |
290-301 | 0x0122 - 0x012D | Holding | RO | string | Сигнатура прошивки | |
330-336 | 0x014A - 0x0150 | Holding | RO | string | Версия загрузчика |
Версия прошивки в устройствах с «Быстрым Modbus»
В устройствах, поддерживающих Быстрый Modbus, используется другой формат обозначения версии прошивки.
- Диапазон регистров «Модель устройства» расширен до 20 регистров.
- Версия формируется согласно semver и имеет формат
MAJOR.MINOR.PATCH
с опциональным суффиксом(-rc|+wb)SUFFIX
:- суффикс
-rc
означает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком; - суффикс
+wb
добавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком.
- суффикс
- Цифры версии доступны по отдельности в формате u16 (для суффикса - s16), регистры 320-323.
- Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки:
- число рассчитывается по формуле
if (SUFFIX >= 0) { SUFFIX = SUFFIX + 128; } else { SUFFIX = -1 - SUFFIX; } VERSION = (MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + SUFFIX;
- число доступно для чтения в little-endian и big-endian форматах;
- число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную.
- Таким образом обеспечивается корректное сравнение версий:
1.2.3-rc1 < 1.2.3-rc10 < 1.2.3 < 1.2.3+wb1 < 1.2.3+wb10.
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||
200-219 | 0x00C8 - 0x00DB | Input | RO | string | Модель устройства | |
320 | 0x0140 | Input | RO | u16 | Версия прошивки в числовом формате | MAJOR |
321 | 0x0141 | MINOR | ||||
322 | 0x0142 | PATCH | ||||
323 | 0x0143 | s16 | SUFFIX | |||
324-325 | 0x0144 - 0x0145 | Input | RO | u32 | Версия прошивки в числовом формате | |
326-327 | 0x0146 - 0x0147 | Input | RO | u32 | Версия прошивки в Big Endian формате |