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

Материал из Wiren Board
Строка 2: Строка 2:
<translate>
<translate>
<!--T:1-->
<!--T:1-->
{{DISPLAYTITLE:Карта регистров датчика WB-MSW v.3}}
{{DISPLAYTITLE:Карта регистров датчика WB-MSW v.3}}== Описание ==
== Регистры устройства ==
{{Wbincludes:Header Registers Universal|fw=true}}
{{Wbincludes:Header Registers Universal|fw=true}}
|-
|-
Строка 391: Строка 390:


Регистры, связанные с ИК-управлением, описаны в статье [[WB-MSx_Consumer_IR_Manual]].
Регистры, связанные с ИК-управлением, описаны в статье [[WB-MSx_Consumer_IR_Manual]].
{{Wbincludes:Common_Modbus_Registers}}
{{Wbincludes:Common_Modbus_Registers}}


</translate>
</translate>

Версия 12:31, 1 апреля 2022

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

Описание

Условные обозначения
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 0
2 0x0002 Coil RW bool Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080 0 3.2.2000
3 0x0003 Coil RW bool Включение датчика CO2 (1-вкл, 0-выкл) 0 4.1.2000
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
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 Больше не поддерживается!
Для датчиков 2018-2019 годов выпуска с сенсором CM1106. Принудительная калибровка датчика CO2 на заданное значение концентрации. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором
ppm
400 - 1500
3.12, нет в 4.x.y
89 0x0059 Holding RW u16 Больше не поддерживается!
Для датчиков 2018-2019 годов выпуска с сенсором CM1106. Длительность цикла для алгоритма самокалибровки датчика CO2 (ABC)
Error: 0xFF 3.12, нет в 4.x.y
91 0x005B Holding RW u16 Время усреднения шума x0.1, мс
20
92 0x005C Holding RW s16 HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП x16 4.9.2000
93 0x005D Holding RW s16 HOLD_REG_SPL_OFFSET - поправка к значению уровня шума x0.1, дБ 4.9.2000
95 0x005F Holding RW u16 Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2 0 или 1
96 0x0060 Holding RW u16 Диапазон измерения концентрации CO2 2000, 5000, 10000 3.5.2000
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

Серым цветом отмечены служебные регистры. Служебные регистры предназначены для использования производителем. Их наличие, назначение, формат и содержимое могут измениться в новых ревизиях устройств или версиях прошивки.

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


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