WB-MRGBW-D Modbus Registers v.3: различия между версиями
Matveevrj (обсуждение | вклад) |
|||
(не показано 13 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Карта регистров WB-MRGBW-D для прошивки 3.x}} | |||
{{DISPLAYTITLE: | == Описание == | ||
{{Modbus Registers Version FW | {{Modbus Registers Version FW | ||
| | | fw_this= 3.x | ||
| | | fw_other= 1.0 | ||
| | | fw_other_page= WB_Dimmers_Modbus_Registers_Map_v.1 | ||
}} | }} Экспериментальная версия 2.0, не пошла в серию: [[WB-MRGBW-D Modbus Registers v.2| Таблица регистров]]. | ||
Про обновление прошивки читайте на [[WB-MRGBW-D Modbus LED Dimmer | странице устройства]] в разделе «Обновление прошивки и сброс настроек». | Про обновление прошивки читайте на [[WB-MRGBW-D Modbus LED Dimmer | странице устройства]] в разделе «Обновление прошивки и сброс настроек». | ||
{{Wbincludes:LED Dimmer Modbus Registers}} | |||
{{Wbincludes: | ==Общие регистры== | ||
{{Wbincludes:Header Registers Universal|note=true|no_description=true|header=Параметры подключения, версия прошивки и другие служебные регистры}} | |||
{{Wbincludes: Registers Connection Settings}} | |||
{{Wbincludes: Registers FW Version For Supported Device With Bootloader}} | |||
{{Wbincludes: Registers Service Main}} | |||
{{Wbincludes: Registers Timeout For Device With Bootloader}} | |||
{{Wbincludes: Registers Сontinuous Reading Mode For Device With Bootloader}} | |||
{{Wbincludes: Registers Vin}} | |||
{{Wbincludes: Registers Temperature MCU}} | |||
{{Wbincludes:Header Registers Universal| | |||
| | |||
} | |||
} | |||
{{Wbincludes: | |||
|} | |} | ||
Текущая версия на 16:18, 24 мая 2023
Описание
Обратите внимание на версию прошивки устройства — таблицы регистров в разных версиях отличаются. На этой странице описаны регистры прошивки 3.x, описание регистров прошивки 1.0. Экспериментальная версия 2.0, не пошла в серию: Таблица регистров.
Про обновление прошивки читайте на странице устройства в разделе «Обновление прошивки и сброс настроек».
RO / RW | Read only / Read/Write |
Выделено жирным | Значение регистра по умолчанию |
xN | Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.
Не указан — считать равным 1 |
⚡ | Регистр поддерживает отправку данных с помощью событий Быстрого Modbus. |
FW | Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда. |
Error: | Значение при ошибке |
Серый цвет ячейки | Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки |
Адрес | Параметры регистра no_description | Канал | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||||
Состояние входов и счётчики нажатий | ||||||||
0 | 0x0000 | Discrete Input ⚡ | RO | bool | Вход 1 | Состояние |
0 - разомкнут, |
|
1 | 0x0001 | Вход 2 | ||||||
2 | 0x0002 | Вход 3 | ||||||
3 | 0x0003 | Вход 4 | ||||||
32 | 0x0020 | Input ⚡ | RO | u16 | Вход 1 | Счётчик замыканий | 0 − 65535 по кругу |
|
33 | 0x0021 | Вход 2 | ||||||
34 | 0x0022 | Вход 3 | ||||||
35 | 0x0023 | Вход 4 | ||||||
464 | 0x01D0 | Input ⚡ | RO | u16 | Вход 1 | Счётчик короткого нажатия | 0 − 65535 по кругу |
|
465 | 0x01D1 | Вход 2 | ||||||
466 | 0x01D2 | Вход 3 | ||||||
467 | 0x01D3 | Вход 4 | ||||||
480 | 0x01E0 | Input ⚡ | RO | u16 | Вход 1 | Счётчик долгого нажатия | 0 − 65535 по кругу |
|
481 | 0x01E1 | Вход 2 | ||||||
482 | 0x01E2 | Вход 3 | ||||||
483 | 0x01E3 | Вход 4 | ||||||
496 | 0x01F0 | Input ⚡ | RO | u16 | Вход 1 | Счётчик двойного нажатия | 0 − 65535 по кругу |
|
497 | 0x01F1 | Вход 2 | ||||||
498 | 0x01F2 | Вход 3 | ||||||
499 | 0x01F3 | Вход 4 | ||||||
512 | 0x0200 | Input ⚡ | RO | u16 | Вход 1 | Счётчик короткого, а затем долгого нажатия | 0 − 65535 по кругу |
|
513 | 0x0201 | Вход 2 | ||||||
514 | 0x0202 | Вход 3 | ||||||
515 | 0x0203 | Вход 4 | ||||||
Состояние выходов | ||||||||
0 | 0x0000 | Coil ⚡ | RW | bool | Канал 1 | Состояние при независимой работе |
0 - выключен, |
|
1 | 0x0001 | Канал 2 | ||||||
2 | 0x0002 | Канал 3 | ||||||
3 | 0x0003 | Coil ⚡ | RW | bool | Канал 4 | Состояние при независимой работе или в режиме RGB+W |
0 - выключен, |
|
4 | 0x0004 | Coil ⚡ | RW | bool | Каналы 1 и 2 | Состояние при параллельной работе |
0 - выключен, |
|
5 | 0x0005 | Каналы 3 и 4 | ||||||
6 | 0x0006 | Каналы 1, 2, 3, 4 | ||||||
7 | 0x0007 | Coil ⚡ | RW | bool | Каналы 1 и 2 | Состояние каналов при работе с CCT лентой |
0 - выключен, |
|
8 | 0x0008 | Каналы 3 и 4 | ||||||
9 | 0x0009 | Coil ⚡ | RW | bool | Каналы 1, 2, 3 | Состояние каналов при работе с RGB лентой |
0 - выключен, |
|
10 | 0x000A | Coil ⚡ | RW | bool | Каналы 1, 2, 3, 4 | Непрерывная смена цвета RGB ленты |
0 - выключен, |
|
Управление каналами | ||||||||
2000 | 0x07D0 | Holding ⚡ | RW | u16 | Канал 1 | Яркость при независимой работе | % 0 - 100 (50) Error: 0xFFFF |
|
2001 | 0x07D1 | Канал 2 | ||||||
2002 | 0x07D2 | Канал 3 | ||||||
2003 | 0x07D3 | Holding ⚡ | RW | u16 | Канал 4 | Яркость при независимой работе | % 0 - 100 (50) Error: 0xFFFF |
|
2004 | 0x07D4 | Holding ⚡ | RW | u16 | Каналы 1 и 2 | Яркость при параллельной работе | % 0 - 100 (50) Error: 0xFFFF |
|
2005 | 0x07D5 | Каналы 3 и 4 | ||||||
2006 | 0x07D6 | Каналы 1, 2, 3, 4 | ||||||
2007 | 0x07D7 | Holding ⚡ | RW | u16 | Каналы 1 и 2 | Цветовая температура CCT ленты | % 0 - 100 (50) * 0 - тёплый цвет * 100 - холодный цвет Error: 0xFFFF |
|
2008 | 0x07D8 | Holding ⚡ | RW | u16 | Каналы 1 и 2 | Яркость CCT ленты | % 0 - 100 (50) Error: 0xFFFF |
|
2009 | 0x07D9 | Holding ⚡ | RW | u16 | Каналы 3 и 4 | Цветовая температура CCT ленты | % 0 - 100 (50) * 0 - тёплый цвет * 100 - холодный цвет Error: 0xFFFF |
|
2010 | 0x07DA | Holding ⚡ | RW | u16 | Каналы 3 и 4 | Яркость CCT ленты | % 0 - 100 (50) Error: 0xFFFF |
|
2011 | 0x07DB | Holding ⚡ | RW | u16 | Компонент R | в цвете RGB ленты, RGB палитра | 0 - 255 (127) Error: 0xFFFF |
|
2012 | 0x07DC | Компонент G | ||||||
2013 | 0x07DD | Компонент B | ||||||
2014 | 0x07DE | Holding ⚡ | RW | u16 | Компонент H | в цвете RGB ленты, HSV палитра | ° 0 - 360 Error: 0xFFFF |
|
2015 | 0x07DF | Компонент S | % 0 - 100 Error: 0xFFFF | |||||
2016 | 0x07E0 | Компонент V | % 0 - 100 (50) Error: 0xFFFF | |||||
2017 | 0x07E1 | Holding ⚡ | RW | u16 | Скорость непрерывного изменения цвета RGB ленты, период увеличения Hue на 1 градус | мс 3 - 10000 (30) Error: 0xFFFF |
||
Настройка выходов и прямое управление ШИМ выходов | ||||||||
70 | 0x0046 | Holding | RW | u16 | Канал 1 | Минимальный ШИМ | 1 – 2048 (6) | |
71 | 0x0047 | Канал 2 | ||||||
72 | 0x0048 | Канал 3 | ||||||
73 | 0x0049 | Канал 4 | ||||||
80 | 0x0050 | Holding | RW | u16 | Канал 1 | Максимальный ШИМ | 1 – 2048 | |
81 | 0x0051 | Канал 2 | ||||||
82 | 0x0052 | Канал 3 | ||||||
83 | 0x0053 | Канал 4 | ||||||
90 | 0x005A | Holding | RW | u16 | Канал 1 | Прямое управление | 0 – 2048 | |
91 | 0x005B | Канал 2 | ||||||
92 | 0x005C | Канал 3 | ||||||
93 | 0x005D | Канал 4 | ||||||
Обработка типов нажатий | ||||||||
1100 | 0x044C | Holding | RW | u16 | Вход 1 | Время длинного нажатия
Если нажатие длится больше указанного времени - считаем его длинным |
мс 500 – 5000 (1000) |
|
1101 | 0x044D | Вход 2 | ||||||
1102 | 0x044E | Вход 3 | ||||||
1103 | 0x044F | Вход 4 | ||||||
1120 | 0x0460 | Holding | RW | u16 | Вход 1 | Скорость изменения параметра при удержании кнопки
Чем меньше значение, тем быстрее изменяется параметр |
мс/ед 5 – 500 (20) |
|
1121 | 0x0461 | Вход 2 | ||||||
1122 | 0x0462 | Вход 3 | ||||||
1123 | 0x0463 | Вход 4 | ||||||
1140 | 0x0474 | Holding | RW | u16 | Вход 1 | Время ожидания второго нажатия
Если за указанное время второго нажатия не было - считаем нажатие одиночным. 0 - отключит все нажатия кроме короткого и длинного |
мс 0 – 2000 (300) |
|
1141 | 0x0475 | Вход 2 | ||||||
1142 | 0x0476 | Вход 3 | ||||||
1143 | 0x0477 | Вход 4 | ||||||
1160 | 0x0488 | Holding | RW | u16 | Вход 1 | Время подавления дребезга
Должно быть в 5-10 раз меньше, чем время ожидания второго нажатия. Если двойные нажатия отключены - любое значение |
мс 5 – 200 (50) |
|
1161 | 0x0489 | Вход 2 | ||||||
1162 | 0x048A | Вход 3 | ||||||
1163 | 0x048B | Вход 4 | ||||||
Время изменения яркости, цветовой температуры и насыщенности цвета | ||||||||
3000 | 0x0BB8 | Holding | RW | u16 | Канал 1 | Время увеличения яркости при независимой работе | мс 0 – 30000 (100) |
|
3001 | 0x0BB9 | Канал 2 | ||||||
3002 | 0x0BBA | Канал 3 | ||||||
3003 | 0x0BBB | Канал 4 | ||||||
3004 | 0x0BBС | Holding | RW | u16 | Каналы 1 и 2 | Время увеличения яркости при параллельной работе | мс 0 – 30000 (100) |
|
3005 | 0x0BBD | Каналы 3 и 4 | ||||||
3006 | 0x0BBE | Каналы 1, 2, 3, 4 | ||||||
3007 | 0x0BBF | Holding | RW | u16 | Каналы 1 и 2 | Время увеличения цветовой температуры CCT ленты | мс 0 – 30000 (100) |
|
3008 | 0x0BC0 | Holding | RW | u16 | Каналы 1 и 2 | Время увеличения яркости CCT ленты | мс 0 – 30000 (100) |
|
3009 | 0x0BC1 | Holding | RW | u16 | Каналы 3 и 4 | Время увеличения цветовой температуры CCT ленты | мс 0 – 30000 (100) |
|
3010 | 0x0BC2 | Holding | RW | u16 | Каналы 3 и 4 | Время увеличения яркости CCT ленты | мс 0 – 30000 (100) |
|
3011 | 0x0BC3 | Holding | RW | u16 | HSV-H | Время увеличения цвета RGB ленты | мс 0 – 30000 (100) |
|
3012 | 0x0BC4 | Holding | RW | u16 | HSV-S | Время увеличения насыщенности цвета RGB ленты | мс 0 – 30000 (100) |
|
3013 | 0x0BC5 | Holding | RW | u16 | HSV-V | Время увеличения яркости RGB ленты | мс 0 – 30000 (100) |
|
3100 | 0x0C1C | Holding | RW | u16 | Канал 1 | Время уменьшения яркости при независимой работе | мс 0 – 30000 (100) |
|
3101 | 0x0C1D | Канал 2 | ||||||
3102 | 0x0C1E | Канал 3 | ||||||
3103 | 0x0C1F | Канал 4 | ||||||
3104 | 0x0C20 | Holding | RW | u16 | Каналы 1 и 2 | Время уменьшения яркости при параллельной работе | мс 0 – 30000 (100) |
|
3105 | 0x0C21 | Каналы 3 и 4 | ||||||
3106 | 0x0C22 | Каналы 1, 2, 3, 4 | ||||||
3107 | 0x0C23 | Holding | RW | u16 | Каналы 1 и 2 | Время уменьшения цветовой температуры CCT ленты | мс 0 – 30000 (100) |
|
3108 | 0x0C24 | Holding | RW | u16 | Каналы 1 и 2 | Время уменьшения яркости CCT ленты | мс 0 – 30000 (100) |
|
3109 | 0x0C25 | Holding | RW | u16 | Каналы 3 и 4 | Время уменьшения цветовой температуры CCT ленты | мс 0 – 30000 (100) |
|
3110 | 0x0C26 | Holding | RW | u16 | Каналы 3 и 4 | Время уменьшения яркости CCT ленты | мс 0 – 30000 (100) |
|
3111 | 0x0C27 | Holding | RW | u16 | HSV-H | Время уменьшения цвета RGB ленты | мс 0 – 30000 (100) |
|
3112 | 0x0C28 | Holding | RW | u16 | HSV-S | Время уменьшения насыщенности цвета RGB ленты | мс 0 – 30000 (100) |
|
3113 | 0x0C29 | Holding | RW | u16 | HSV-V | Время уменьшения яркости RGB ленты | мс 0 – 30000 (100) |
|
Общие для всех режимов настройки | ||||||||
9 | 0x0009 | Holding | RW | u16 | Настройка частоты ШИМ выходов | 1 – 240 (8) F = 24 кГц / значение |
||
4000 | 0x0FA0 | Holding | RW | u16 | Настройка режима работы диммера | Код режима можно взять в таблице режимов работы 256 |
||
Данные для диагностики | ||||||||
119 | 0x0077 | Input | RO | u16 | Минимальное напряжение МК с момента включения | мВ | ≥ 3.4.4 | |
400 | 0x190 | Input | RO | s16 | Температура платы диммера. Используется для оценки перегрева и снижения максимальной мощности при перегреве. | -55 .. +150 °C | WB-LED | |
401 | 0x0191 | Input | RO | u16 | Разрешенная мощность диммера в процентах от максимальной. Если температура платы диммера ниже 70 °C, диммер работает на 100 % своей мощности. При повышении температуры выше 70 °C ограничивается максимальный ШИМ выходов и при достижении температуры 80 °C выходы полностью отключаются. | 0 .. 100 % | WB-LED | |
402 | 0x0192 | Input | RO | u16 | Состояние аппаратной защиты по току и КЗ. После сработки защиты выходы отключаются на 3 с и затем по очереди плавно включаются. | 1 - защита сработала | WB-LED |
Адрес | Параметры регистра no_description | Канал | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||||
1000 | 0x03E8 | Holding | RW | u16 | Вход 1 | Действие при коротком нажатии | Смотрите формулу расчёта ниже 0 |
|
1001 | 0x03E9 | Вход 2 | ||||||
1002 | 0x03EA | Вход 3 | ||||||
1003 | 0x03EB | Вход 4 | ||||||
1020 | 0x03FC | Holding | RW | u16 | Вход 1 | Действие при долгом нажатии | Смотрите формулу расчёта ниже 0 |
|
1021 | 0x03FD | Вход 2 | ||||||
1022 | 0x03FE | Вход 3 | ||||||
1023 | 0x03FF | Вход 4 | ||||||
1040 | 0x0410 | Holding | RW | u16 | Вход 1 | Действие при двойном нажатии | Смотрите формулу расчёта ниже 0 |
|
1041 | 0x0411 | Вход 2 | ||||||
1042 | 0x0412 | Вход 3 | ||||||
1043 | 0x0413 | Вход 4 | ||||||
1060 | 0x0424 | Holding | RW | u16 | Вход 1 | Действие при коротком, а затем долгом нажатии | Смотрите формулу расчёта ниже 0 |
|
1061 | 0x0425 | Вход 2 | ||||||
1062 | 0x0426 | Вход 3 | ||||||
1063 | 0x0427 | Вход 4 |
Настройка действий для нажатий
Для настройки действий для типа нажатия нужно в соответствующий регистр записать число, составленное по следующему правилу:
0000 0000 0000 0000
Старшие 4 бита - тип действия:
- 0 - нет действия
- 0b0001 - установить coil регистр в 0
- 0b0010 - установить coil регистр в 1
- 0b0011 - переключить coil регистр 0 <-> 1
- 0b0100 - установить все coil регистры в 0 (выключить все каналы). Доступно начиная с прошивки 3.3.0
- 0b1001 - увеличить значение в holding регистре (увеличивается на 1 за каждое событие от кнопки)
- 0b1010 - уменьшить значение в holding регистре (уменьшается на 1 за каждое событие от кнопки)
- 0b1011 - уменьшить/увеличить значение в holding регистре. Направление меняется при каждом новом нажатии.
0000 0000 0000 0000
Младшие 12 бит - номер регистра без базового адреса. То есть для coil регистров адреса начинаются с нуля, и номер регистра совпадает с его адресом. Для регистров данных - адреса начинаются с 2000 - это базовый адрес. Из адреса holding регистра нужно вычесть 2000 и это значение (от 0 до 17) поместить в младшие 12 бит. Для действия "выключить все каналы" в младшие 12 бит нужно записать нули.
Value = (action << 12) | reg_number
Кнопки меняют значения modbus-регистров. Могут быть изменены значения только coil регистров включения (coil 0-10) и holding регистров данных (2000-2017).
Общие регистры
Адрес | Параметры регистра | Описание | Значения | Примечание | |||
---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | |||
Параметры подключения | |||||||
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 — нечётный (odd), 2 — чётный (even) |
|
112 | 0x0070 | Holding | RW | u16 | Количество стоп-битов порта RS-485 | 1, 2 | |
128 | 0x0080 | Holding | RW | u16 | Modbus-адрес устройства (подробнее) | ||
Модель устройства и версия прошивки | |||||||
200-205 | 0x00C8 - 0x00CD | Input | RO | string | Модель устройства | ||
206-219 | 0x00CE - 0x00DB | Input | RO | string | Расширение модели устройства. | Для чтения модели устройства нужно читать диапазон из 20 регистров (200 - 219) | Только в версиях прошивок, где есть Быстрый Modbus |
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 | Сигнатура прошивки | ||
320 | 0x0140 | Input | RO | u16 | Версия прошивки в числовом формате (подробнее) | MAJOR | Только в версиях прошивок, где есть Быстрый Modbus |
321 | 0x0141 | MINOR | |||||
322 | 0x0142 | PATCH | |||||
323 | 0x0143 | s16 | SUFFIX | ||||
324-325 | 0x0144 - 0x0145 | Input | RO | u32 | Версия прошивки в числовом формате | Только в версиях прошивок, где есть Быстрый Modbus | |
326-327 | 0x0146 - 0x0147 | Input | RO | u32 | Версия прошивки в Big Endian формате | Только в версиях прошивок, где есть Быстрый Modbus | |
Прочее | |||||||
104-105 | 0x0068 - 0x0069 | Input | RO | u32 | Время работы с момента загрузки | секунды | |
120 | 0x0078 | Holding | RW | u16 | Перезагрузка устройства без сохранения состояния | любое, отличное от 0 перезагружает устройство | |
123 | 0x007B | Input | RO | u16 | Напряжение на микроконтроллере | мВ | |
129 | 0x0081 | Holding | RW | u16 | Перевод в режим обновления прошивки на 2 минуты | любое, отличное от 0 переводит устройство в режим обновления прошивки | |
330-336 | 0x014A - 0x0150 | Holding | RO | string | Версия загрузчика | ||
113 | 0x0071 | Holding | RW | u16 | Время перед отправкой ответа на modbus запрос | 0 - 254 мс | Только в версиях прошивок, где есть Быстрый Modbus |
114 | 0x0072 | Holding | RW | u16 | Режим непрерывного чтения регистров с зазором | 0 - отключен 1 - включен 2 - включение сохраняется после перезагрузки |
Только в версиях прошивок, где есть Быстрый Modbus |
121 | 0x0079 | Input | RO | u16 | Текущее напряжение питания | мВ | |
122 | 0x007A | Input | RO | u16 | Минимальное зарегистрированное напряжение питания с момента загрузки | мВ | |
123 | 0x007B | Input | RO | u16 | Напряжение питания микроконтроллера | мВ | |
124 | 0x007C | Input | RO | u16 | Внутренняя температура микроконтроллера | x0.1, °C |