Карта регистров датчика WB-MS v.2

Версия от 11:26, 4 сентября 2021; A.Degtyarev (обсуждение | вклад) (Common Modbus Registers → Wbincludes:Common Modbus Registers)


Регистр/ адрес Тип Чтение/ запись Значение по умолчанию или при ошибке Формат Назначение С версии прошивки
2 coil RW 0 0 или 1 Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080 3.2.0
0 discrete R - 0 или 1 Текущее состояние входа №1: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0. 3.10.0
1 discrete R - 0 или 1 Текущее состояние входа №2: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0.
0 input R 0x7FFF °C × 10 (signed) Температура
1 input R 0xFFFF

%RH × 10 (signed)

Относительная влажность
2 input R 0 лк Освещённость
4 input R 0x7FFF °C × 100 (signed) Температура 4.2
5 input R - %RH × 100 (signed) Относительная влажность 4.2
6 input R 0x7FFF °C × 16 (signed) Температура с первого внешнего датчика 1wire 3.10.0
7 input R 0x7FFF °C × 16 (signed) Температура со второго внешнего датчика 1wire
11 input R 0xFFFF ppb Качество воздуха
90 holding RW 20 (200 ms) × 10 ms Время усреднения освещённости
99 holding RW 16 1 = 0.0625C Фильтр подозрительных значений для датчиков 1-Wire (85.000C, 127.937C). Значения отбрасываются, если предыдущее отличается от подозрительного больше, чем на значение регистра*0.0625C. Запишите 0, чтобы отключить фильтр
101 input R 0 - Количество успешных считываний датчика температуры и влажности
102 input R 0 - Количество ошибок считывания датчика температуры и влажности
103 holding RW HOLD_REG_ILLUMINANCE_MODE
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) Температурная компенсация самонагрева для датчика температуры и влажности, которая вычитается из измеренной температуры. Регистр можно использовать для поправки температуры, например, при монтаже близко к потолку. 4.16.16
275 holding RW 0 0 или 1 Режим входа №1: 0 - 1-wire, 1 - дискретный вход 4.0.0
276 holding RW 0 0 или 1 Режим входа №2: 0 - 1-wire, 1 - дискретный вход 4.0.0
277 input R 0 16-bit unsigned int Счетчик срабатываний для входа №1 4.0.0
278 input R 0 16-bit unsigned int Счетчик срабатываний для входа №2 4.0.0
284 input R 0x7FFF °C × 100 (signed) Сырое значение температуры (без учета температурной компенсации) 4.16.16
285 input R 0xFFFF %RH × 100 (unsigned) Сырое значение относительной влажности (без учета температурной компенсации)

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


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