WB-MSWv 3 registers: различия между версиями
Matveevrj (обсуждение | вклад) |
|||
(не показано 48 промежуточных версий 7 участников) | |||
Строка 3: | Строка 3: | ||
<!--T:1--> | <!--T:1--> | ||
{{DISPLAYTITLE:Карта регистров датчика WB-MSW v.3}} | {{DISPLAYTITLE:Карта регистров датчика WB-MSW v.3}} | ||
== | {|border="1" class="wikitable" style="text-align:center" | ||
!Регистр/ адрес | |||
!Тип | |||
!Чтение/ запись | |||
!style="width: 10%"|Значение по умолчанию или при ошибке | |||
!Формат | |||
!Назначение | |||
!С версии прошивки | |||
|- | |||
| 0 || coil || RW || 0 || - || style="text-align:left;" | Включение пищалки (buzzer) || rowspan="2" | 4.0.0 | |||
|- | |||
| 1 || coil || RW || 0 || - || style="text-align:left;" | Принудительная калибровка датчика CO2 на атмосферную концентрацию CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm | |||
|- | |||
| 2 || coil || RW || 0 || - || style="text-align:left;" | Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080 || 3.2.0 | |||
|- | |||
| 3 || coil || RW || 1 || - || style="text-align:left;" | Включение датчика CO2 (1-вкл, 0-выкл) || 4.1.0 | |||
|- | |||
| 10 || coil || RW || 0 || - || style="text-align:left;" | Включение красного светодиода || rowspan="5" | 4.0.0 | |||
|- | |||
| 11 || coil || RW || 0 || - || style="text-align:left;" | Включение зеленого светодиода | |||
|- | |||
| 0 || input || R || 0x7FFF ||°C × 10 (signed)|| style="text-align:left;" |Температура | |||
|- | |||
|1 || input || R || 0xFFFF ||<blockquote>%RH × 10 (signed)</blockquote>|| style="text-align:left;" |Относительная влажность | |||
|- | |||
|3 || input || R ||<nowiki>-</nowiki> ||дБ × 100 || style="text-align:left;" |Уровень шума, умноженный на 100 | |||
|- | |||
|4 || input || R || 0x7FFF || °C × 100 (signed) || style="text-align:left;" |Температура || 4.2 | |||
|- | |||
|5 || input || R || <nowiki>-</nowiki> || %RH × 100 (signed) || style="text-align:left;" | Относительная влажность || 4.2 | |||
|- | |||
|8 || input || R || 0xFFFF || PPM || style="text-align:left;" | Концентрация CO2 || rowspan="3" | 4.0.0 | |||
|- | |||
|9-10 || input || R || 0xFFFF || лк || style="text-align:left;" | Освещенность, умноженная на 100 (9 - старший разряд, 10 — младший разряд значения освещенности) | |||
|- | |||
|11 || input || R || 0xFFFF || ppb || style="text-align:left;" | Качество воздуха | |||
|- style="background: #C0C0C0;" | |||
|86 || input || R || 0 || 0 или 1 || style="text-align:left;" | Текущий канал работы датчика уровня шума: 0 - канал низкоуровневых шумов, 1 - канал высокоуровневых шумов. || 4.15.0 | |||
|- style="background: #C0C0C0;" | |||
|87 || input || R || 0 || x 16 || style="text-align:left;" | HOLD_REG_SPL_HIGHGAIN_RAW_INT || 4.15.0 | |||
|- style="background: #C0C0C0;" | |||
|88 || holding || RW || 0 || ppm (400-1500) || style="text-align:left;" | '''Больше не поддерживается! Для датчиков 2018-2019 годов выпуска с сенсором CM1106.''' | |||
Принудительная калибровка датчика CO2 на заданное значение концентрации. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором. | |||
| 3.12, | |||
'''нет в 4.x.y''' | |||
|- style="background: #C0C0C0;" | |||
|89 || holding || RW || 0xFF || дней || style="text-align:left;" | '''Больше не поддерживается! Для датчиков 2018-2019 годов выпуска с сенсором CM1106.''' | |||
Длительность цикла для алгоритма самокалибровки датчика CO2 (ABC). | |||
|| 3.12 | |||
'''нет в 4.x.y''' | |||
|- | |||
|91 || holding || RW || 20 (200 ms) ||× 10 ms || style="text-align:left;" | Время усреднения шума | |||
|- style="background: #C0C0C0;" | |||
|92 || holding || RW || 0 || x0.0625 || style="text-align:left;" | HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП || 4.9.0 | |||
|- style="background: #C0C0C0;" | |||
|93 || holding || RW || 0 || x 10 dB || style="text-align:left;" | HOLD_REG_SPL_OFFSET - поправка к значению уровня шума || 4.9.0 | |||
|- | |||
|95 || holding || RW || 1 || 1 or 0 || style="text-align:left;" | Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2 | |||
|- style="background: #C0C0C0;" | |||
|96 || holding || RW || 2000 / 5000 || ppm || style="text-align:left;" | Диапазон измерения концентрации CO2. Допустимые значения: 2000, 5000, 10000 || 3.5.0 | |||
|- | |||
|97 || holding || RW || 0 || 0 — 10 c || style="text-align:left;" | Период между вспышками сигнальных светодиодов || 3.13.0 | |||
|- | |||
|98 || holding || RW || 0 || 0 — 50 мс || style="text-align:left;" |Длительность вспышки светодиодов || 3.13.0 | |||
|- style="background: #C0C0C0;" | |||
|100 || input || R || 0 || x 16 || style="text-align:left;" | HOLD_REG_SPL_RAW_INT || rowspan="5" | 4.0.0 | |||
|- style="background: #C0C0C0;" | |||
|101 || input || R || 0 || - || style="text-align:left;" | Количество успешных считываний датчика температуры и влажности | |||
|- style="background: #C0C0C0;" | |||
|102 || input || R || 0 || - || style="text-align:left;" | Количество ошибок считывания датчика температуры и влажности | |||
|- style="background: #C0C0C0;" | |||
|106 || input || R || 0 || - || style="text-align:left;" | Значение baseline датчика VOC | |||
|- style="background: #C0C0C0;" | |||
|107 || input || R || 0xFFFF || - || style="text-align:left;" | Сырые значения датчика VOC | |||
|- style="background: #C0C0C0;" | |||
|108 || input || R || 0xFFFF || - || style="text-align:left;" | Версия датчика VOC || 4.2 | |||
|- | |||
|113 || holding || RW || 8 || мс || style="text-align:left;" | Задержка перед отправкой ответного пакета по RS-485 || 4.15.0 | |||
|- | |||
|122 || input || R || 0 || мВ || style="text-align:left;" | Минимальное значение входного напряжения с момента включения датчика || 4.16.0 | |||
|- | |||
|123 || input || R || 0 || мВ || style="text-align:left;" | Напряжение на микроконтроллере || 4.16.0 | |||
|- | |||
|124 || input || R || 0 || °C × 10 || style="text-align:left;" | Внутренняя температура микроконтроллера || 4.16.0 | |||
|- | |||
|245 || holding || RW || 0 || °C × 100 (signed) || style="text-align:left;" | Температурная компенсация самонагрева для датчика температуры и влажности (значение вычитается из измереной температуры). Допустимые значения компенсации от -10 °C до +10 °C. || 4.2 | |||
|- | |||
|280 || input || R || 0 || - || style="text-align:left;" | Максимальное значение датчика движения за установленное время окна (Max motion) || rowspan="4" | 4.0.0 | |||
|- style="background: #C0C0C0;" | |||
|281 || input || R || 0 || - || style="text-align:left;" | Сырое значение с АЦП датчика движения | |||
|- | |||
|282 || holding || RW || 10 || с || style="text-align:left;" | Ширина временного окна для вычисления максимального усредненного значения датчика движения (от 1 до 60 секунд) | |||
|- | |||
|283 || input || R || 0 || - || style="text-align:left;" |Текущее усредненное значение движения в условных единицах (Current motion) | |||
|- style="background: #C0C0C0;" | |||
|284 || input || R || 0x7FFF || °C × 100 (signed) || style="text-align:left;" |Сырое значение температуры (без учета температурной компенсации) || rowspan="2" | 4.16.16 | |||
|- style="background: #C0C0C0;" | |||
|285 || input || R || 0xFFFF || %RH × 100 (unsigned) || style="text-align:left;" |Сырое значение относительной влажности (без учета температурной компенсации) | |||
|- style="background: #C0C0C0;" | |||
|286-287 || input || R || 0xFFFF || лк x 100 || style="text-align:left;" | Сырое значение освещенности, умноженное на 100 (9 - старший разряд, 10 — младший разряд значения освещенности) || 4.17.0 | |||
|- style="background: #C0C0C0;" | |||
|288 || holding || RW || 0 || s16 (val -128..127) || style="text-align:left;" | Калибровочное значение освещенности || 4.17.3 | |||
|} | |||
Серым цветом отмечены служебные регистры. Служебные регистры предназначены для использования производителем. Их наличие, назначение, формат и содержимое могут измениться в новых ревизиях устройств или версиях прошивки. | |||
Регистры, связанные с ИК-управлением, описаны в статье [[WB-MSx_Consumer_IR_Manual]]. | Регистры, связанные с ИК-управлением, описаны в статье [[WB-MSx_Consumer_IR_Manual]]. | ||
{{Wbincludes:Common_Modbus_Registers}} | |||
{{Wbincludes: | |||
</translate> | </translate> |
Версия 11:37, 18 января 2022
Регистр/ адрес | Тип | Чтение/ запись | Значение по умолчанию или при ошибке | Формат | Назначение | С версии прошивки |
---|---|---|---|---|---|---|
0 | coil | RW | 0 | - | Включение пищалки (buzzer) | 4.0.0 |
1 | coil | RW | 0 | - | Принудительная калибровка датчика CO2 на атмосферную концентрацию CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm | |
2 | coil | RW | 0 | - | Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080 | 3.2.0 |
3 | coil | RW | 1 | - | Включение датчика CO2 (1-вкл, 0-выкл) | 4.1.0 |
10 | coil | RW | 0 | - | Включение красного светодиода | 4.0.0 |
11 | coil | RW | 0 | - | Включение зеленого светодиода | |
0 | input | R | 0x7FFF | °C × 10 (signed) | Температура | |
1 | input | R | 0xFFFF |
|
Относительная влажность | |
3 | input | R | - | дБ × 100 | Уровень шума, умноженный на 100 | |
4 | input | R | 0x7FFF | °C × 100 (signed) | Температура | 4.2 |
5 | input | R | - | %RH × 100 (signed) | Относительная влажность | 4.2 |
8 | input | R | 0xFFFF | PPM | Концентрация CO2 | 4.0.0 |
9-10 | input | R | 0xFFFF | лк | Освещенность, умноженная на 100 (9 - старший разряд, 10 — младший разряд значения освещенности) | |
11 | input | R | 0xFFFF | ppb | Качество воздуха | |
86 | input | R | 0 | 0 или 1 | Текущий канал работы датчика уровня шума: 0 - канал низкоуровневых шумов, 1 - канал высокоуровневых шумов. | 4.15.0 |
87 | input | R | 0 | x 16 | HOLD_REG_SPL_HIGHGAIN_RAW_INT | 4.15.0 |
88 | holding | RW | 0 | ppm (400-1500) | Больше не поддерживается! Для датчиков 2018-2019 годов выпуска с сенсором CM1106.
Принудительная калибровка датчика CO2 на заданное значение концентрации. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором. |
3.12,
нет в 4.x.y |
89 | holding | RW | 0xFF | дней | Больше не поддерживается! Для датчиков 2018-2019 годов выпуска с сенсором CM1106.
Длительность цикла для алгоритма самокалибровки датчика CO2 (ABC). |
3.12
нет в 4.x.y |
91 | holding | RW | 20 (200 ms) | × 10 ms | Время усреднения шума | |
92 | holding | RW | 0 | x0.0625 | HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП | 4.9.0 |
93 | holding | RW | 0 | x 10 dB | HOLD_REG_SPL_OFFSET - поправка к значению уровня шума | 4.9.0 |
95 | holding | RW | 1 | 1 or 0 | Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2 | |
96 | holding | RW | 2000 / 5000 | ppm | Диапазон измерения концентрации CO2. Допустимые значения: 2000, 5000, 10000 | 3.5.0 |
97 | holding | RW | 0 | 0 — 10 c | Период между вспышками сигнальных светодиодов | 3.13.0 |
98 | holding | RW | 0 | 0 — 50 мс | Длительность вспышки светодиодов | 3.13.0 |
100 | input | R | 0 | x 16 | HOLD_REG_SPL_RAW_INT | 4.0.0 |
101 | input | R | 0 | - | Количество успешных считываний датчика температуры и влажности | |
102 | input | R | 0 | - | Количество ошибок считывания датчика температуры и влажности | |
106 | input | R | 0 | - | Значение baseline датчика VOC | |
107 | input | R | 0xFFFF | - | Сырые значения датчика VOC | |
108 | input | R | 0xFFFF | - | Версия датчика VOC | 4.2 |
113 | holding | RW | 8 | мс | Задержка перед отправкой ответного пакета по RS-485 | 4.15.0 |
122 | input | R | 0 | мВ | Минимальное значение входного напряжения с момента включения датчика | 4.16.0 |
123 | input | R | 0 | мВ | Напряжение на микроконтроллере | 4.16.0 |
124 | input | R | 0 | °C × 10 | Внутренняя температура микроконтроллера | 4.16.0 |
245 | holding | RW | 0 | °C × 100 (signed) | Температурная компенсация самонагрева для датчика температуры и влажности (значение вычитается из измереной температуры). Допустимые значения компенсации от -10 °C до +10 °C. | 4.2 |
280 | input | R | 0 | - | Максимальное значение датчика движения за установленное время окна (Max motion) | 4.0.0 |
281 | input | R | 0 | - | Сырое значение с АЦП датчика движения | |
282 | holding | RW | 10 | с | Ширина временного окна для вычисления максимального усредненного значения датчика движения (от 1 до 60 секунд) | |
283 | input | R | 0 | - | Текущее усредненное значение движения в условных единицах (Current motion) | |
284 | input | R | 0x7FFF | °C × 100 (signed) | Сырое значение температуры (без учета температурной компенсации) | 4.16.16 |
285 | input | R | 0xFFFF | %RH × 100 (unsigned) | Сырое значение относительной влажности (без учета температурной компенсации) | |
286-287 | input | R | 0xFFFF | лк x 100 | Сырое значение освещенности, умноженное на 100 (9 - старший разряд, 10 — младший разряд значения освещенности) | 4.17.0 |
288 | holding | RW | 0 | s16 (val -128..127) | Калибровочное значение освещенности | 4.17.3 |
Серым цветом отмечены служебные регистры. Служебные регистры предназначены для использования производителем. Их наличие, назначение, формат и содержимое могут измениться в новых ревизиях устройств или версиях прошивки.
Регистры, связанные с ИК-управлением, описаны в статье WB-MSx_Consumer_IR_Manual.
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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 формате |