WB-MDM3 Registers: различия между версиями
Serbosh (обсуждение | вклад) |
Serbosh (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
{{Wbincludes:Header Registers Universal|fw=true|channel=true}} | {{Wbincludes:Header Registers Universal|fw=true|channel=true}} | ||
|- | |- | ||
| 0 || 0x0000 || rowspan="3" | Coil || rowspan="3" | RW || rowspan="3" | bool || Канал 1 || rowspan="3" | Состояние канала реле || rowspan="3" | '''0''' - выключено</br> 1 - включено || rowspan="3" | | | 0 || 0x0000 || rowspan="3" | Coil || rowspan="3" | RW || rowspan="3" | bool || Канал 1 || rowspan="3" | Состояние канала реле || rowspan="3" | '''0''' - выключено, </br> 1 - включено || rowspan="3" | | ||
|- | |- | ||
| 1 || 0x0001 || Канал 2 | | 1 || 0x0001 || Канал 2 | ||
Строка 8: | Строка 8: | ||
| 2 || 0x0002 || Канал 3 | | 2 || 0x0002 || Канал 3 | ||
|- | |- | ||
| 0 || 0x0000 || rowspan="6" | Discrete input || rowspan="6" | RO || rowspan="6" | bool || Вход 1 || rowspan="6" | Состояние входов || rowspan="6" | '''0''' - неактивен</br> 1 - активен || rowspan="6" | | | 0 || 0x0000 || rowspan="6" | Discrete input || rowspan="6" | RO || rowspan="6" | bool || Вход 1 || rowspan="6" | Состояние входов || rowspan="6" | '''0''' - неактивен, </br> 1 - активен || rowspan="6" | | ||
|- | |- | ||
| 1 || 0x0001 || Вход 2 | | 1 || 0x0001 || Вход 2 | ||
Строка 26: | Строка 26: | ||
| 2 || 0x0002 || Канал 3 | | 2 || 0x0002 || Канал 3 | ||
|- | |- | ||
| 16 || 0x0010 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Режим управления внешними входами || rowspan="3" | '''0''' - управление отключено </br>1 - однокнопочный режим </br>2 - двухкнопочный режим || rowspan="3" | | | 16 || 0x0010 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Режим управления внешними входами || rowspan="3" | '''0''' - управление отключено, </br>1 - однокнопочный режим, </br>2 - двухкнопочный режим || rowspan="3" | | ||
|- | |- | ||
| 17 || 0x0011 || Канал 2 | | 17 || 0x0011 || Канал 2 | ||
Строка 44: | Строка 44: | ||
| 37 || 0x0025 || Вход 6 | | 37 || 0x0025 || Вход 6 | ||
|- | |- | ||
| 50 || 0x0032 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Кривая диммирования канала || rowspan="3" | '''0''' - светодиодная или лампа накаливания, логарифмическая кривая яркости </br>1 - линейная кривая яркости для резистивной нагрузки </br>2 - ключевой режим (для версии 2.2.0 и выше) || rowspan="3" | | | 50 || 0x0032 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Кривая диммирования канала || rowspan="3" | '''0''' - светодиодная или лампа накаливания, логарифмическая кривая яркости, </br>1 - линейная кривая яркости для резистивной нагрузки, </br>2 - ключевой режим (для версии 2.2.0 и выше) || rowspan="3" | | ||
|- | |- | ||
| 51 || 0x0033 || Канал 2 | | 51 || 0x0033 || Канал 2 | ||
Строка 50: | Строка 50: | ||
| 52 || 0x0034 || Канал 3 | | 52 || 0x0034 || Канал 3 | ||
|- | |- | ||
| 60 || 0x003C || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Режим диммирования канала || rowspan="3" | '''0''' - по переднему фронту или leading edge </br>1 - заднему фронту или trailing edge || rowspan="3" | | | 60 || 0x003C || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Режим диммирования канала || rowspan="3" | '''0''' - по переднему фронту или leading edge, </br>1 - заднему фронту или trailing edge || rowspan="3" | | ||
|- | |- | ||
| 61 || 0x003D || Канал 2 | | 61 || 0x003D || Канал 2 | ||
Строка 56: | Строка 56: | ||
| 62 || 0x003E || Канал 3 | | 62 || 0x003E || Канал 3 | ||
|- | |- | ||
| 70 || 0x0046 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Нижний порог диммирования || rowspan="3" | микросекунды </br>0 - 9999 ('''1000''') || rowspan="3" | | | 70 || 0x0046 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Нижний порог диммирования || rowspan="3" | микросекунды, </br>0 - 9999 ('''1000''') || rowspan="3" | | ||
|- | |- | ||
| 71 || 0x0047 || Канал 2 | | 71 || 0x0047 || Канал 2 | ||
Строка 62: | Строка 62: | ||
| 72 || 0x0048 || Канал 3 | | 72 || 0x0048 || Канал 3 | ||
|- | |- | ||
| 80 || 0x0050 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Верхний порог диммирования || rowspan="3" | микросекунды </br>0 - 9999 ('''9999''') || rowspan="3" | | | 80 || 0x0050 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Верхний порог диммирования || rowspan="3" | микросекунды, </br>0 - 9999 ('''9999''') || rowspan="3" | | ||
|- | |- | ||
| 81 || 0x0051 || Канал 2 | | 81 || 0x0051 || Канал 2 | ||
Строка 73: | Строка 73: | ||
|- | |- | ||
| 92 || 0x0052 || Канал 3 | | 92 || 0x0052 || Канал 3 | ||
|- | |||
| 97 || 0x0061 || Input || RO || u16 || || Служебный регистр. Наличие переменного напряжения на контактах L-N || '''0''' - 1 || | |||
|- | |||
| 98 || 0x0062 || Input || RO || u16 || || Служебный регистр zero-cross_offset || || | |||
|- | |||
| 99 || 0x0063 || Input || RO || u16 || || Период переменного напряжения на L-N || микросекунды, </br> Последнее значение, когда напряжение было || | |||
|- | |||
| 100 || 0x0064 || Input || RO || u16 || || Состояние аппаратной защиты по току || '''0''' - 1 (1 - защита сработала). </br>Доступно начиная с ревизии v2.6 || с 2.4.0 | |||
|- | |||
| 140 || 0x008C || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Скорость канала при увеличении яркости || rowspan="3" | милисекунды на 1%, </br> 0 - 100 ('''10''') || rowspan="6" | с 2.1.0 | |||
|- | |||
| 141 || 0x008D || Канал 2 | |||
|- | |||
| 142 || 0x008E || Канал 3 | |||
|- | |||
| 150 || 0x0096 || rowspan="3" | Holding || rowspan="3" | RW || rowspan="3" | u16 || Канал 1 || rowspan="3" | Скорость канала при уменьшении яркости || rowspan="3" | милисекунды на 1%, </br> 0 - 100 ('''10''') | |||
|- | |||
| 151 || 0x0097 || Канал 2 | |||
|- | |||
| 152 || 0x0098 || Канал 3 | |||
|- | |- | ||
|} | |} | ||
{{Wbincludes:Common_Modbus_Registers}} | {{Wbincludes:Common_Modbus_Registers}} |
Версия 21:43, 16 марта 2022
RO / RW | Read only / Read/Write |
Выделено жирным | Значение регистра по умолчанию |
xN | Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.
Не указан — считать равным 1 |
⚡ | Регистр поддерживает отправку данных с помощью событий Быстрого Modbus. |
FW | Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда. |
Error: | Значение при ошибке |
Серый цвет ячейки | Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки |
Адрес | Параметры регистра no_description | Канал | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||||
0 | 0x0000 | Coil | RW | bool | Канал 1 | Состояние канала реле | 0 - выключено, 1 - включено |
|
1 | 0x0001 | Канал 2 | ||||||
2 | 0x0002 | Канал 3 | ||||||
0 | 0x0000 | Discrete input | RO | bool | Вход 1 | Состояние входов | 0 - неактивен, 1 - активен |
|
1 | 0x0001 | Вход 2 | ||||||
2 | 0x0002 | Вход 3 | ||||||
3 | 0x0003 | Вход 4 | ||||||
4 | 0x0004 | Вход 5 | ||||||
5 | 0x0005 | Вход 6 | ||||||
0 | 0x0000 | Holding | RW | u16 | Канал 1 | Яркость канала. Запись 0 выключает coil регистр | 0 - 100 (50) | |
1 | 0x0001 | Канал 2 | ||||||
2 | 0x0002 | Канал 3 | ||||||
16 | 0x0010 | Holding | RW | u16 | Канал 1 | Режим управления внешними входами | 0 - управление отключено, 1 - однокнопочный режим, 2 - двухкнопочный режим |
|
17 | 0x0011 | Канал 2 | ||||||
18 | 0x0012 | Канал 3 | ||||||
32 | 0x0020 | Input | RO | u16 | Вход 1 | Счетчики нажатий клавиш | 0 | |
33 | 0x0021 | Вход 2 | ||||||
34 | 0x0022 | Вход 3 | ||||||
35 | 0x0023 | Вход 4 | ||||||
36 | 0x0024 | Вход 5 | ||||||
37 | 0x0025 | Вход 6 | ||||||
50 | 0x0032 | Holding | RW | u16 | Канал 1 | Кривая диммирования канала | 0 - светодиодная или лампа накаливания, логарифмическая кривая яркости, 1 - линейная кривая яркости для резистивной нагрузки, 2 - ключевой режим (для версии 2.2.0 и выше) |
|
51 | 0x0033 | Канал 2 | ||||||
52 | 0x0034 | Канал 3 | ||||||
60 | 0x003C | Holding | RW | u16 | Канал 1 | Режим диммирования канала | 0 - по переднему фронту или leading edge, 1 - заднему фронту или trailing edge |
|
61 | 0x003D | Канал 2 | ||||||
62 | 0x003E | Канал 3 | ||||||
70 | 0x0046 | Holding | RW | u16 | Канал 1 | Нижний порог диммирования | микросекунды, 0 - 9999 (1000) |
|
71 | 0x0047 | Канал 2 | ||||||
72 | 0x0048 | Канал 3 | ||||||
80 | 0x0050 | Holding | RW | u16 | Канал 1 | Верхний порог диммирования | микросекунды, 0 - 9999 (9999) |
|
81 | 0x0051 | Канал 2 | ||||||
82 | 0x0052 | Канал 3 | ||||||
90 | 0x0050 | Holding | RW | u16 | Канал 1 | Служебный регистр. Желаемая скважность управляющего сигнала силовых транзисторов | 0 - 9999 (9999) | |
91 | 0x0051 | Канал 2 | ||||||
92 | 0x0052 | Канал 3 | ||||||
97 | 0x0061 | Input | RO | u16 | Служебный регистр. Наличие переменного напряжения на контактах L-N | 0 - 1 | ||
98 | 0x0062 | Input | RO | u16 | Служебный регистр zero-cross_offset | |||
99 | 0x0063 | Input | RO | u16 | Период переменного напряжения на L-N | микросекунды, Последнее значение, когда напряжение было |
||
100 | 0x0064 | Input | RO | u16 | Состояние аппаратной защиты по току | 0 - 1 (1 - защита сработала). Доступно начиная с ревизии v2.6 |
с 2.4.0 | |
140 | 0x008C | Holding | RW | u16 | Канал 1 | Скорость канала при увеличении яркости | милисекунды на 1%, 0 - 100 (10) |
с 2.1.0 |
141 | 0x008D | Канал 2 | ||||||
142 | 0x008E | Канал 3 | ||||||
150 | 0x0096 | Holding | RW | u16 | Канал 1 | Скорость канала при уменьшении яркости | милисекунды на 1%, 0 - 100 (10) | |
151 | 0x0097 | Канал 2 | ||||||
152 | 0x0098 | Канал 3 |
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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 формате |