WB-MSWv 3 registers: различия между версиями

Материал из Wiren Board
Строка 20: Строка 20:
| RW
| RW
| bool
| bool
| Принудительная калибровка датчика CO2 на атмосферную концентрацию CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm
| Принудительная калибровка датчика CO2 на атмосферную концентрацию CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm (только для Winsen)
| '''0'''
| '''0'''
|-
|-
Строка 166: Строка 166:
| RW
| RW
| u16
| u16
| Для датчиков с сенсором Cubic Sensors. Принудительная калибровка датчика CO2 на заданное значение концентрации. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором
| Принудительная калибровка датчика CO2 на заданное значение концентрации. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором (только для Cubic Sensors).
| ppm<br />400 - 1500
| ppm<br />400 - 1500
| 3.12, нет в версиях прошивки до 4.19.0
| 3.12, нет в версиях прошивки до 4.19.0
Строка 175: Строка 175:
| RW
| RW
| u16
| u16
| Для датчиков с сенсором Cubic Sensors. Длительность цикла для алгоритма самокалибровки датчика CO2 (ABC)
| Длительность цикла для алгоритма самокалибровки датчика CO2 (ABC) (только для Cubic Sensors).
| Error: 0xFFFF
| Error: 0xFFFF
| 3.12, нет в версиях прошивки до 4.19.0
| 3.12, нет в версиях прошивки до 4.19.0

Версия 13:03, 12 июля 2022

Другие языки:

Описание

Регистры, связанные с ИК-управлением, описаны в статье WB-MSx_Consumer_IR_Manual.

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

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

Регистр поддерживает отправку данных с помощью событий Быстрого Modbus.
FW Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда.
Error: Значение при ошибке
Серый цвет ячейки Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки
Modbus-регистры устройства
Адрес Параметры регистра Описание Значения FW
Dec Hex Тип Доступ Формат
0 0x0000 Coil RW bool Включение пищалки (buzzer) 0 4.0.0
1 0x0001 Coil RW bool Принудительная калибровка датчика CO2 на атмосферную концентрацию CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm (только для Winsen) 0
2 0x0002 Coil RW bool Включение подогрева (heater) в микросхеме сенсора температуры и влажности 0 3.2.0
3 0x0003 Coil RW bool Включение датчика CO2 (1-вкл, 0-выкл) 0 4.1.0
10 0x000A Coil RW bool Включение красного светодиода 0 4.0.0
11 0x000B Coil RW bool Включение зеленого светодиода 0
0 0x0000 Input RO s16 Температура x0.1, °C
Error: 0x7FFF
1 0x0001 Input RO s16 Относительная влажность x0.1, %RH
Error: 0xFFFF
3 0x0003 Input RO s16 Уровень шума, умноженный на 100 x0.01, дБ
4 0x0004 Input RO s16 Температура x0.01, °C
Error: 0x7FFF
4.2
5 0x0005 Input RO s16 Относительная влажность x0.01, %RH
Error: 0xFFFF
4.2
8 0x0008 Input RO u16 Концентрация CO2 ppm,
Error: 0xFFFF
4.0.0
9 - 10 0x0009 - 0x000A Input RO u32 Освещенность (9 - старший разряд, 10 — младший разряд значения освещенности) x0.01, лк
Error: 0xFFFFFFFF
11 0x000B Input RO u16 Качество воздуха ppb
Error: 0xFFFF
82 0x0052 Input RO u16 Наличие датчика CO2: 0 - не найден, 1 - установлен. 0 или 1 4.19.0
83 0x0053 Input RO u16 Тип установленного датчика CO2: 0 - Winsen, 1 - Cubic Sensors. 0 или 1 4.19.0
86 0x0056 Input RO u16 Текущий канал работы датчика уровня шума: 0 - канал низкоуровневых шумов, 1 - канал высокоуровневых шумов. 0 или 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 Принудительная калибровка датчика CO2 на заданное значение концентрации. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором (только для Cubic Sensors). ppm
400 - 1500
3.12, нет в версиях прошивки до 4.19.0
89 0x0059 Holding RW u16 Длительность цикла для алгоритма самокалибровки датчика CO2 (ABC) (только для Cubic Sensors). Error: 0xFFFF 3.12, нет в версиях прошивки до 4.19.0
91 0x005B Holding RW u16 Время усреднения шума x10, мс
20
92 0x005C Holding RW s16 HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП x16 4.9.0
93 0x005D Holding RW s16 HOLD_REG_SPL_OFFSET - поправка к значению уровня шума x0.1, дБ 4.9.0
95 0x005F Holding RW u16 Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2 0 или 1
96 0x0060 Holding RW u16 Диапазон измерения концентрации CO2 (только для Winsen) 2000, 5000, 10000 3.5.0
97 0x0061 Holding RW u16 Период между вспышками сигнальных светодиодов c
0 - 10
3.13.0
98 0x0062 Holding RW u16 Длительность вспышки светодиодов мc
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 Количество успешных считываний датчика температуры и влажности
102 0x0066 Input RO u16 Количество ошибок считывания датчика температуры и влажности
106 0x006A Input RO u16 Значение baseline датчика VOC
107 0x006B Input RO u16 Сырые значения датчика VOC Error: 0xFFFF
108 0x006C Input RO u16 Версия датчика VOC Error: 0xFFFF 4.2
113 0x0071 Holding RW u16 Задержка перед отправкой ответного пакета по RS-485 мс
8
4.15.0
122 0x007A Input RO u16 Минимальное значение входного напряжения с момента включения датчика мВ 4.16.0
123 0x007B Input RO u16 Напряжение на микроконтроллере мВ 4.16.0
124 0x007C Input RO s16 Внутренняя температура микроконтроллера x0.1, °C 4.16.0
245 0x00F5 Holding RW s16 Температурная компенсация самонагрева для датчика температуры и влажности (значение вычитается из измереной температуры). Допустимые значения компенсации от -10 °C до +10 °C. x0.01, °C 4.2
280 0x0118 Input RO u16 Максимальное значение датчика движения за установленное время окна (Max motion) Error: 0xFFFF 4.0.0
281 0x0119 Input RO u16 Сырое значение с АЦП датчика движения
282 0x011A Holding RW u16 Ширина временного окна для вычисления максимального усредненного значения датчика движения с
1 - 60 (10)
283 0x011B Input RO u16 Текущее усредненное значение движения в условных единицах (Current motion) Error: 0xFFFF
284 0x011C Input RO s16 Сырое значение температуры (без учета температурной компенсации) x0.01, °C
Error: 0x7FFF
4.16.16
285 0x011D Input RO s16 Сырое значение относительной влажности (без учета температурной компенсации) x0.01, %RH
Error: 0x7FFF
286-287 0x011E - 0x011F Input RO s16 Сырое значение освещенности (9 - старший разряд, 10 — младший разряд значения освещенности) x0.01, лк
Error: 0xFFFF
4.17.0
288 0x0120 Holding RW s16 Калибровочное значение датчика освещенности, корректировка происходит по следующей формуле: illuminance = illuminance * (1 + calib_coeff/2^7)) val -128..127 4.17.3
340 0x0154 Input RO u16 Статус предварительного нагрева датчика CO2: 1 - предварительный нагрев, 0 - предварительный нагрев завершен (только для Cubic Sensors). 0 или 1 4.19.0
341 0x0155 Input RO u16 Статус датчика CO2: 1 - ошибка, 0 - нормальная работа (только для Cubic Sensors).
342 0x0156 Input RO u16 Статус превышения диапазона измерений датчика CO2: 1 - превышение, 0 - нормальная работа (только для Cubic Sensors).
343 0x0157 Input RO u16 Статус выхода значения за нижнюю границу диапазона измерений датчика CO2: 1 - значение меньше, чем диапазон измерения, 0 - нормальная работа (только для Cubic Sensors).
344 0x0158 Input RO u16 Статус калибровки датчика CO2: 1 - не откалиброван, 0 - откалиброван (только для Cubic Sensors).
345 0x0159 Input RO u16 Статус старения датчика CO2: 1 - легкое старение, 0 - нормальная работа (только для Cubic Sensors).
346 0x015A Input RO u16 Статус дрейфа датчика CO2: 1 - дрейф, 0 - нормальная работа (только для Cubic Sensors).
348 - 352 0x015C - 0x0160 Input RO u16 Версия ПО датчика CO2(только для Cubic Sensors). Error: 0xFFFF


Общие для всех 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 формате