Wbincludes:LED Dimmer Modbus Registers

Материал из Wiren Board
Версия от 14:44, 5 июля 2022; A.Degtyarev (обсуждение | вклад) (Новая страница: «{{Wbincludes:Header Registers Universal|fw=true|channel=true}} |- ! colspan="9" style="text-align: left;"| Состояние входов и счётчики нажатий |- | class ="text-right" | 0 | 0x0000 | rowspan="4" | Discrete Input | rowspan="4" | RO | rowspan="4" | bool | Вход 1 | rowspan="4" | Состояние | rowspan="4" | 0 - разомкнут,<br /> 1 - замкнут | rowspan="4" | |- | class ="text-right" | 1 | 0x0001 | Вхо...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Условные обозначения
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 0x00010 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 0x0BC3 Holding RW u16 HSV-S Время увеличения насыщенности цвета RGB ленты мс
0 – 30000 (100)
3013 0x0BC3 Holding RW u16 HSV-V Время увеличения яркости RGB ленты мс
0 – 30000 (100)
3100 0x0C1C Holding RW u16 Канал 1 Время уменьшения яркости при независимой работе мс
0 – 30000 (100)
3101 0x0BB9 Канал 2
3102 0x0BBA Канал 3
3103 0x0BBB Канал 4
3104 0x0C20 Holding RW u16 Каналы 1 и 2 Время уменьшения яркости при параллельной работе мс
0 – 30000 (100)
3105 0x0BBD Каналы 3 и 4
3106 0x0BBE Каналы 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 i16 Температура платы диммера. Используется для оценки перегрева и снижения максимальной мощности при перегреве. -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
  • 0b1001 - увеличить значение в holding регистре (уменьшается на 1 за каждое событие от кнопки)
  • 0b1010 - уменьшить значение в holding регистре (увеличивается на 1 за каждое событие от кнопки)
  • 0b1011 - уменьшить/увеличить значение в holding регистре. Направление меняется при каждом новом нажатии.

0000 0000 0000 0000

Младшие 12 бит - номер регистра без базового адреса. То есть для coil регистров адреса начинаются с нуля, и номер регистра совпадает с его адресом. Для регистров данных - адреса начинаются с 2000 - это базовый адрес. Из адреса holding регистра нужно вычесть 2000 и это значение (от 0 до 17) поместить в младшие 12 бит.

Value = (action << 12) | reg_number

Кнопки меняют значения modbus-регистров. Могут быть изменены значения только coil регистров включения (coil 0-10) и holding регистров данных (2000-2017).

Общие регистры

Обратите внимание, что в этом устройстве изменился формат версионирования прошивки, изменения:

  • Диапазон регистров «Модель устройства» расширен до 20 регистров
  • Версия формируется согласно semver и имеет формат MAJOR.MINOR.PATCH с опциональным суффиксом (-rc|+wb)SUFFIX
    Суффикс -rc означает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком
    Суффикс +wb добавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком
  • Цифры версии доступны по отдельности в формате u16 (для суффикса - i16), регистры 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
    


Новые регистры для хранения версии прошивки
Адрес Параметры регистра Описание Значения FW
Dec Hex Тип Доступ Формат
200-219 0x00C8 - 0x00DB Input RO string Модель устройства 3.0.0
320 0x0140 Input RO u16 Версия прошивки в числовом формате MAJOR
321 0x0141 MINOR
322 0x0142 PATCH
323 0x0143 SUFFIX
324-325 0x0144 - 0x0145 Input RO u32 Версия прошивки в числовом формате
326-327 0x0146 - 0x0147 Input RO u32 Версия прошивки в Big Endian формате


Общие для всех Modbus-устройств Wiren Board регистры
Адрес Параметры регистра Описание Значения
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.
    


Регистры для хранения версии прошивки в устройствах с быстрым Modbus
Адрес Параметры регистра Описание Значения
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 формате