WB-MSWv 3 registers/en: различия между версиями
Matveevrj (обсуждение | вклад) (Новая страница: «{{DISPLAYTITLE:WB-MSW v.3 Sensor Register Map}}== Description == Registers related to IR control are described in WB-MSx_Consumer_IR_Manual. {{Wbincludes:Header Registers Universal|fw=true}} |- | 0 | 0x0000 | Coil | RW | bool | Turning on the tweeter (buzzer) | '''0''' | rowspan="2" | 4.0.0 |- | one | 0x0001 | Coil | RW | bool | Forced calibration of the CO2 sensor to atmospheric CO2 concentration. Turn on after 20 minutes of operation at 400ppm CO2 (MH-...») |
(нет различий)
|
Версия 21:07, 22 сентября 2022
Description
Registers related to IR control are described in WB-MSx_Consumer_IR_Manual.
RO / RW | Read only / Read/Write |
Выделено жирным | Значение регистра по умолчанию |
xN | Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.
Не указан — считать равным 1 |
⚡ | Регистр поддерживает отправку данных с помощью событий Быстрого Modbus. |
FW | Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда. |
Error: | Значение при ошибке |
Серый цвет ячейки | Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки |
Адрес | Параметры регистра | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | |||
0 | 0x0000 | Coil | RW | bool | Turning on the tweeter (buzzer) | 0 | 4.0.0 |
one | 0x0001 | Coil | RW | bool | Forced calibration of the CO2 sensor to atmospheric CO2 concentration. Turn on after 20 minutes of operation at 400ppm CO2 (MH-Z19B only) | 0 | |
2 | 0x0002 | Coil | RW | bool | Enabling heating (heater) in the temperature and humidity sensor chip | 0 | 3.2.0 |
3 | 0x0003 | Coil | RW | bool | Enable CO2 sensor (1-on, 0-off) | 0 | 4.1.0 |
ten | 0x000A | Coil | RW | bool | Turning on the red LED | 0 | 4.0.0 |
eleven | 0x000B | Coil | RW | bool | Green LED on | 0 | |
0 | 0x0000 | Input | RO | s16 | Temperature | x0.1, °C Error: 0x7FFF | |
one | 0x0001 | Input | RO | s16 | Relative Humidity | x0.1, %RH Error: 0xFFFF | |
3 | 0x0003 | Input | RO | s16 | Noise level multiplied by 100 | x0.01, dB | |
four | 0x0004 | Input | RO | s16 | Temperature | x0.01, °C Error: 0x7FFF |
4.2 |
5 | 0x0005 | Input | RO | s16 | Relative Humidity | x0.01, %RH Error: 0xFFFF |
4.2 |
eight | 0x0008 | Input | RO | u16 | CO2 concentration | ppm, Error: 0xFFFF |
4.0.0 |
9 - 10 | 0x0009 - 0x000A | Input | RO | u32 | Illumination (9 - most significant digit, 10 - least significant digit of the illumination value) | x0.01, lx Error: 0xFFFFFFFF | |
eleven | 0x000B | Input | RO | u16 | Air quality | ppb Error: 0xFFFF | |
82 | 0x0052 | Input | RO | u16 | Availability of CO2 sensor: 0 - not found, 1 - installed. | 0 or 1 | 4.19.0 |
83 | 0x0053 | Input | RO | u16 | Type of installed CO2 sensor: 0 - MH-Z19B, 1 - CM1106. | 0 or 1 | 4.19.0 |
86 | 0x0056 | Input | RO | u16 | Current channel of the noise level sensor: 0 - low-level noise channel, 1 - high-level noise channel. | 0 or 1 | 4.15.0 |
87 | 0x0057 | Input | RO | u16 | HOLD_REG_SPL_HIGHGAIN_RAW_INT | x0.0625 | 4.15.0 |
88 | 0x0058 | Holding | RW | u16 | Forced calibration of the CO2 sensor to a given concentration value. To calibrate, record here the current CO2 value measured by another instrument (only for CM1106). | ppm 400 - 1500 |
3.12, not available in firmware versions prior to 4.19.0 |
89 | 0x0059 | Holding | RW | u16 | Cycle time for CO2 sensor self-calibration (ABC) algorithm (CM1106 only). | days 1 - 30, Error: 0xFFFF |
3.12, not available in firmware versions prior to 4.19.0 |
91 | 0x005B | Holding | RW | u16 | Noise Averaging Time | x10, ms 20 |
|
92 | 0x005C | Holding | RW | s16 | HOLD_REG_SPL_RAW_OFFSET - ADC value shift | x16 | 4.9.0 |
93 | 0x005D | Holding | RW | s16 | HOLD_REG_SPL_OFFSET - correction to noise level value | x0.1, dB | 4.9.0 |
95 | 0x005F | Holding | RW | u16 | CO2 sensor auto-calibration mode (ABC) for atmospheric CO2 level | 0 or 1 | |
96 | 0x0060 | Holding | RW | u16 | CO2 measurement range (MH-Z19B only) | 2000, 5000, 10000 | 3.5.0 |
97 | 0x0061 | Holding | RW | u16 | Period between flashes of signal LEDs | c 0 - 10 |
3.13.0 |
98 | 0x0062 | Holding | RW | u16 | LED Flash Duration | ms 0 - 50 |
3.13.0 |
100 | 0x0064 | Input | RO | u16 | HOLD_REG_SPL_RAW_INT | x0.0625 | 4.0.0 |
101 | 0x0065 | Input | RO | u16 | Number of successful readings of the temperature and humidity sensor | ||
102 | 0x0066 | Input | RO | u16 | Number of temperature and humidity sensor reading errors | ||
106 | 0x006A | Input | RO | u16 | VOC sensor baseline value | ||
107 | 0x006B | Input | RO | u16 | Raw VOC Sensor Values | Error: 0xFFFF | |
108 | 0x006C | Input | RO | u16 | VOC sensor version | Error: 0xFFFF | 4.2 |
113 | 0x0071 | Holding | RW | u16 | Delay before sending a response packet over RS-485 | ms 8 |
4.15.0 |
245 | 0x00F5 | Holding | RW | s16 | Self-heating temperature compensation for temperature and humidity sensor (value subtracted from measured temperature). Permissible compensation values from -10 °C to +10 °C. | x0.01, °C | 4.2 |
280 | 0x0118 | Input | RO | u16 | The maximum value of the motion sensor for the set window time (Max motion) | Error: 0xFFFF | 4.0.0 |
281 | 0x0119 | Input | RO | u16 | Raw value from motion sensor ADC | ||
282 | 0x011A | Holding | RW | u16 | Width of the time window for calculating the maximum average value of the motion sensor | c 1 - 60 (10) | |
283 | 0x011B | Input | RO | u16 | The current average value of movement in arbitrary units (Current motion) | Error: 0xFFFF | |
284 | 0x011C | Input | RO | s16 | Raw temperature value (excluding temperature compensation) | x0.01, °C Error: 0x7FFF |
4.16.16 |
285 | 0x011D | Input | RO | s16 | Raw value of relative humidity (excluding temperature compensation) | x0.01, %RH Error: 0x7FFF | |
286-287 | 0x011E - 0x011F | Input | RO | s16 | Raw luminance value (9 is the most significant digit, 10 is the least significant digit of the illuminance value) | x0.01, lx Error: 0xFFFF |
4.17.0 |
288 | 0x0120 | Holding | RW | s16 | The calibration value of the light sensor, the adjustment is made according to the following formula: illuminance = illuminance * (1 + calib_coeff/2^7)) | val -128..127 | 4.17.3 |
340 | 0x0154 | Input | RO | u16 | CO2 sensor preheating status: 1 - preheating, 0 - preheating completed (only for CM1106). | 0 or 1 | 4.19.0 |
341 | 0x0155 | Input | RO | u16 | CO2 sensor status: 1 - error, 0 - normal operation (only for CM1106). | ||
342 | 0x0156 | Input | RO | u16 | CO2 sensor overrange status: 1 - overrange, 0 - normal operation (only for CM1106). | ||
343 | 0x0157 | Input | RO | u16 | Status of value out of the lower limit of the measurement range of the CO2 sensor: 1 - the value is less than the measurement range, 0 - normal operation (only for CM1106). | ||
344 | 0x0158 | Input | RO | u16 | CO2 sensor calibration status: 1 - not calibrated, 0 - calibrated (CM1106 only). | ||
345 | 0x0159 | Input | RO | u16 | CO2 sensor aging status: 1 - light aging, 0 - normal operation (only for CM1106). | ||
346 | 0x015A | Input | RO | u16 | CO2 sensor drift status: 1 - drift, 0 - normal operation (only for CM1106). | ||
348 - 352 | 0x015C - 0x0160 | Input | RO | u16 | Software version of the CO2 sensor (only for CM1106). | Error: 0xFFFF | |
359 | 0x0167 | Input | RO | u16 | VOC sensor type | Error: 0xFFFF | 4.20.0 |
360 | 0x0168 | Input | RO | u16 | Equivalent air quality (VOC) CO2 value (only for VOC version 0x22) | Error: 0xFFFF | |
361 | 0x0169 | Input | RO | u16 | CO2 baseline for VOC (only for VOC version 0x22) | Error: 0xFFFF |
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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 формате |