Карта регистров WB-MRGBW-D для прошивки 3.x

Материал из Wiren Board
(перенаправлено с «WB Dimmers Modbus Registers Map»)

Это утверждённая версия страницы. Она же — наиболее свежая версия.

Описание

Обратите внимание на версию прошивки устройства — таблицы регистров в разных версиях отличаются. На этой странице описаны регистры прошивки 3.x, описание регистров прошивки 1.0. Экспериментальная версия 2.0, не пошла в серию: Таблица регистров.

Про обновление прошивки читайте на странице устройства в разделе «Обновление прошивки и сброс настроек».

Условные обозначения
RO / RW Read only / Read/Write
Выделено жирным Значение регистра по умолчанию
xN Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.

Не указан — считать равным 1

Регистр поддерживает отправку данных с помощью событий Быстрого Modbus.
FW Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда.
Error: Значение при ошибке
Серый цвет ячейки Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки
Modbus-регистры устройства
Адрес Параметры регистра no_description Канал Описание Значения FW
Dec Hex Тип Доступ Формат
Состояние входов и счётчики нажатий
0 0x0000 Discrete Input RO bool Вход 1 Состояние

0 - разомкнут,
1 - замкнут

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 - включён

1 0x0001 Канал 2
2 0x0002 Канал 3
3 0x0003 Coil RW bool Канал 4 Состояние при независимой работе или в режиме RGB+W

0 - выключен,
1 - включён

4 0x0004 Coil RW bool Каналы 1 и 2 Состояние при параллельной работе

0 - выключен,
1 - включён

5 0x0005 Каналы 3 и 4
6 0x0006 Каналы 1, 2, 3, 4
7 0x0007 Coil RW bool Каналы 1 и 2 Состояние каналов при работе с CCT лентой

0 - выключен,
1 - включён

8 0x0008 Каналы 3 и 4
9 0x0009 Coil RW bool Каналы 1, 2, 3 Состояние каналов при работе с RGB лентой

0 - выключен,
1 - включён

10 0x000A Coil RW bool Каналы 1, 2, 3, 4 Непрерывная смена цвета RGB ленты

0 - выключен,
1 - включён

Управление каналами
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 Минимальный ШИМ 0 – 2048 (6)
71 0x0047 Канал 2
72 0x0048 Канал 3
73 0x0049 Канал 4
80 0x0050 Holding RW u16 Канал 1 Максимальный ШИМ 0 – 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
Данные для диагностики
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 — нечётный,
2 — чётный
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 Текущее напряжение питания мВ
125 0x007D Input RO u16 Текущее напряжение питания (без фильтра) мВ
124 0x007C Input RO u16 Внутренняя температура микроконтроллера x0.1, °C