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

Материал из Wiren Board
Строка 3: Строка 3:
<!--T:1-->
<!--T:1-->
{{DISPLAYTITLE:Карта регистров датчика WB-MSW v.3}}
{{DISPLAYTITLE:Карта регистров датчика WB-MSW v.3}}
{|border="1" class="wikitable" style="text-align:center"
{{Wbincludes:Header Registers Universal|fw=true}}
!Регистр/ адрес
!Тип
!Чтение/ запись
!style="width: 10%"|Значение по умолчанию или при ошибке
!Формат
!Назначение
!С версии прошивки
 
|-
|-
| 0 || coil || RW || 0 || - || style="text-align:left;" | Включение пищалки (buzzer) || rowspan="2" | 4.0.0
| 0
| 0x0000
| Coil
| RW
| bool
| Включение пищалки (buzzer)
| '''0'''
| rowspan="2" | 4.0.0
|-
|-
| 1 || coil || RW || 0 || - || style="text-align:left;"  | Принудительная калибровка датчика CO2 на атмосферную концентрацию CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm
| 1
| 0x0001
| Coil
| RW
| bool
| Принудительная калибровка датчика CO2 на атмосферную концентрацию CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm
| '''0'''
|-
|-
| 2 || coil || RW || 0 || - || style="text-align:left;" | Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080 || 3.2.0
| 2
| 0x0002
| Coil
| RW
| bool
| Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080
| '''0'''
| 3.2.2000
|-
|-
| 3 || coil || RW || 1 || - || style="text-align:left;" | Включение датчика CO2 (1-вкл, 0-выкл) || 4.1.0
| 3
| 0x0003
| Coil
| RW
| bool
| Включение датчика CO2 (1-вкл, 0-выкл)
| '''0'''
| 4.1.2000
|-
|-
| 10 || coil || RW || 0 || - || style="text-align:left;" | Включение красного светодиода || rowspan="5" | 4.0.0
| 10
| 0x000A
| Coil
| RW
| bool
| Включение красного светодиода
| '''0'''
| rowspan="5" | 4.0.0
|-
|-
| 11 || coil || RW || 0 || - || style="text-align:left;" | Включение зеленого светодиода
| 11
| 0x000B
| Coil
| RW
| bool
| Включение зеленого светодиода
| '''0'''
|-
|-
| 0 || input || R || 0x7FFF ||°C × 10 (signed)|| style="text-align:left;" |Температура
| 0
| 0x0000
| Input
| RO
| s16
| Температура
| x0.1, °C<br />Error: 0x7FFF
|-
|-
|1 || input || R || 0xFFFF ||<blockquote>%RH × 10 (signed)</blockquote>|| style="text-align:left;" |Относительная влажность
| 1
| 0x0001
| Input
| RO
| s16
| Относительная влажность
| x0.1, %RH<br />Error: 0xFFFF
|-
|-
|3 || input || R ||<nowiki>-</nowiki> ||дБ × 100 || style="text-align:left;" |Уровень шума, умноженный на 100
| 3
| 0x0003
| Input
| RO
| s16
| Уровень шума, умноженный на 100
| x0.01, дБ
|-
|-
|4 || input || R || 0x7FFF || °C × 100 (signed) || style="text-align:left;" |Температура  || 4.2
| 4
| 0x0004
| Input
| RO
| s16
| Температура
| x0.01, °C<br />Error: 0x7FFF
| 4.2
|-
|-
|5 || input || R || <nowiki>-</nowiki> || %RH × 100 (signed) || style="text-align:left;" | Относительная влажность || 4.2
| 5
| 0x0005
| Input
| RO
| s16
| Относительная влажность
| x0.01, %RH<br />Error: 0xFFFF
| 4.2
|-
|-
|8 || input || R || 0xFFFF || PPM || style="text-align:left;" | Концентрация CO2 || rowspan="3" | 4.0.0
| 8
| 0x0008
| Input
| RO
| u16
| Концентрация CO2
| ppm, <br />Error: 0xFFFF
| rowspan="3" | 4.0.0
|-
|-
|9-10 || input || R || 0xFFFF || лк || style="text-align:left;" | Освещенность, умноженная на 100 (9 - старший разряд, 10 — младший разряд значения освещенности)
| 9 - 10
| 0x0009 - 0x000A
| Input
| RO
| u32
| Освещенность (9 - старший разряд, 10 — младший разряд значения освещенности)
| x0.01, лк<br />Error: 0xFFFFFFFF
|-
|-
|11 || input || R || 0xFFFF || ppb || style="text-align:left;" | Качество воздуха
| 11
|- style="background: #C0C0C0;"  
| 0x000B
|86 || input || R || 0 || 0 или 1 || style="text-align:left;" | Текущий канал работы датчика уровня шума: 0 - канал низкоуровневых шумов, 1 - канал высокоуровневых шумов. || 4.15.0
| Input
|- style="background: #C0C0C0;"  
| RO
|87 || input || R || 0 || x 16 || style="text-align:left;" | HOLD_REG_SPL_HIGHGAIN_RAW_INT || 4.15.0
| u16
|- style="background: #C0C0C0;"  
| Качество воздуха
|88 || holding || RW || 0 || ppm (400-1500) || style="text-align:left;" | '''Больше не поддерживается! Для датчиков 2018-2019 годов выпуска с сенсором CM1106.'''
| ppb<br />Error: 0xFFFF
Принудительная калибровка датчика CO2 на заданное значение концентрации. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором.
|- style="background-color:#c0c0c0;"
| 3.12,
| 86
'''нет в 4.x.y'''
| 0x0056
|- style="background: #C0C0C0;"  
| Input
|89 || holding || RW || 0xFF || дней || style="text-align:left;" | '''Больше не поддерживается! Для датчиков 2018-2019 годов выпуска с сенсором CM1106.'''
| RO
Длительность цикла для алгоритма самокалибровки датчика CO2 (ABC).
| u16
|| 3.12
| Текущий канал работы датчика уровня шума: 0 - канал низкоуровневых шумов, 1 - канал высокоуровневых шумов.
'''нет в 4.x.y'''
| 0 или 1
 
| 4.15.0
|- style="background-color:#c0c0c0;"
| 87
| 0x0057
| Input
| RO
| u16
| HOLD_REG_SPL_HIGHGAIN_RAW_INT
| x0.0625
| 4.15.0
|- style="background-color:#c0c0c0;"
| 88
| 0x0058
| Holding
| RW
| u16
| '''Больше не поддерживается!'''<br />Для датчиков 2018-2019 годов выпуска с сенсором CM1106. Принудительная калибровка датчика CO2 на заданное значение концентрации. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором
| ppm<br />400 - 1500
| 3.12, нет в 4.x.y
|- style="background-color:#c0c0c0;"
| 89
| 0x0059
| Holding
| RW
| u16
| '''Больше не поддерживается!'''<br />Для датчиков 2018-2019 годов выпуска с сенсором CM1106. Длительность цикла для алгоритма самокалибровки датчика CO2 (ABC)
| Error: 0xFF
| 3.12, нет в 4.x.y
|-
|-
|91 || holding || RW || 20 (200 ms) ||× 10 ms || style="text-align:left;" | Время усреднения шума
| 91
|- style="background: #C0C0C0;"  
| 0x005B
|92 || holding || RW || 0 || x0.0625 || style="text-align:left;" | HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП || 4.9.0
| Holding
|- style="background: #C0C0C0;"  
| RW
|93 || holding || RW || 0 || x 10 dB || style="text-align:left;" | HOLD_REG_SPL_OFFSET - поправка к значению уровня шума || 4.9.0
| u16
| Время усреднения шума
| x0.1, мс<br />'''20'''
|
|- style="background-color:#c0c0c0;"
| 92
| 0x005C
| Holding
| RW
| s16
| HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП
| x16
| 4.9.2000
|- style="background-color:#c0c0c0;"
| 93
| 0x005D
| Holding
| RW
| s16
| HOLD_REG_SPL_OFFSET - поправка к значению уровня шума
| x0.1, дБ
| 4.9.2000
|-
|-
|95 || holding || RW || 1 || 1 or 0 || style="text-align:left;" | Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2
| 95
|- style="background: #C0C0C0;"  
| 0x005F
|96 || holding || RW || 2000 / 5000 || ppm || style="text-align:left;" | Диапазон измерения концентрации CO2. Допустимые значения: 2000, 5000, 10000 || 3.5.0
| Holding
| RW
| u16
| Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2
| 0 или 1
|
|- style="background-color:#c0c0c0;"
| 96
| 0x0060
| Holding
| RW
| u16
| Диапазон измерения концентрации CO2
| 2000, '''5000''', 10000
| 3.5.2000
|-
|-
|97 || holding || RW || 0 || 0 — 10 c || style="text-align:left;" | Период между вспышками сигнальных светодиодов || 3.13.0
| 97
| 0x0061
| Holding
| RW
| u16
| Период между вспышками сигнальных светодиодов
| c<br />0 - 10
| 3.13.0
|-
|-
|98 || holding || RW || 0 || 0 — 50 мс || style="text-align:left;" |Длительность вспышки светодиодов || 3.13.0
| 98
|- style="background: #C0C0C0;"  
| 0x0062
|100 || input || R || 0 || x 16 || style="text-align:left;" | HOLD_REG_SPL_RAW_INT || rowspan="5" | 4.0.0
| Holding
|- style="background: #C0C0C0;"  
| RW
|101 || input || R || 0 || - || style="text-align:left;" | Количество успешных считываний датчика температуры и влажности
| u16
|- style="background: #C0C0C0;"  
| Длительность вспышки светодиодов
|102 || input || R || 0 || - || style="text-align:left;" | Количество ошибок считывания датчика температуры и влажности
| мc<br />0 - 50
|- style="background: #C0C0C0;"  
| 3.13.0
|106 || input || R || 0 || - || style="text-align:left;" | Значение baseline датчика VOC
|- style="background-color:#c0c0c0;"
|- style="background: #C0C0C0;"  
| 100
|107 || input || R || 0xFFFF || - || style="text-align:left;" | Сырые значения датчика VOC
| 0x0064
|- style="background: #C0C0C0;"  
| Input
|108 || input || R || 0xFFFF || - || style="text-align:left;" | Версия датчика VOC || 4.2
| RO
| u16
| HOLD_REG_SPL_RAW_INT
| x0.0625
| rowspan="5" | 4.0.0
|- style="background-color:#c0c0c0;"
| 101
| 0x0065
| Input
| RO
| u16
| Количество успешных считываний датчика температуры и влажности
|
|- style="background-color:#c0c0c0;"
| 102
| 0x0066
| Input
| RO
| u16
| Количество ошибок считывания датчика температуры и влажности
|
|- style="background-color:#c0c0c0;"
| 106
| 0x006A
| Input
| RO
| u16
| Значение baseline датчика VOC
|
|- style="background-color:#c0c0c0;"
| 107
| 0x006B
| Input
| RO
| u16
| Сырые значения датчика VOC
| Error: 0xFFFF
|- style="background-color:#c0c0c0;"
| 108
| 0x006C
| Input
| RO
| u16
| Версия датчика VOC
| Error: 0xFFFF
| 4.2
|-
|-
|113 || holding || RW || 8 || мс || style="text-align:left;" | Задержка перед отправкой ответного пакета по RS-485 || 4.15.0
| 113
| 0x0071
| Holding
| RW
| u16
| Задержка перед отправкой ответного пакета по RS-485
| мс<br />'''8'''
| 4.15.0
|-
|-
|122 || input || R || 0 || мВ || style="text-align:left;" | Минимальное значение входного напряжения с момента включения датчика || 4.16.0
| 122
| 0x007A
| Input
| RO
| u16
| Минимальное значение входного напряжения с момента включения датчика
| мВ
| 4.16.0
|-
|-
|123 || input || R || 0 || мВ || style="text-align:left;" | Напряжение на микроконтроллере || 4.16.0
| 123
| 0x007B
| Input
| RO
| u16
| Напряжение на микроконтроллере
| мВ
| 4.16.0
|-
|-
|124 || input || R || 0 || °C × 10 || style="text-align:left;" | Внутренняя температура микроконтроллера || 4.16.0
| 124
| 0x007C
| Input
| RO
| s16
| Внутренняя температура микроконтроллера
| x0.1, °C
| 4.16.0
|-
|-
|245 || holding || RW || 0 || °C × 100 (signed) || style="text-align:left;" | Температурная компенсация самонагрева для датчика температуры и влажности (значение вычитается из измереной температуры). Допустимые значения компенсации от -10 °C до +10 °C. || 4.2
| 245
| 0x00F5
| Holding
| RW
| s16
| Температурная компенсация самонагрева для датчика температуры и влажности (значение вычитается из измереной температуры). Допустимые значения компенсации от -10 °C до +10 °C.
| x0.01, °C
| 4.2
|-
|-
|280 || input || R || 0 || - || style="text-align:left;" | Максимальное значение датчика движения за установленное время окна (Max motion) || rowspan="4" | 4.0.0
| 280
|- style="background: #C0C0C0;"  
| 0x0118
|281 || input || R || 0 || - || style="text-align:left;" | Сырое значение с АЦП датчика движения
| Input
| RO
| u16
| Максимальное значение датчика движения за установленное время окна (Max motion)
| Error: 0xFFFF
| rowspan="4" | 4.0.0
|- style="background-color:#c0c0c0;"
| 281
| 0x0119
| Input
| RO
| u16
| Сырое значение с АЦП датчика движения
|
|-
|-
|282 || holding || RW || 10 || с || style="text-align:left;" | Ширина временного окна для вычисления максимального усредненного значения датчика движения (от 1 до 60 секунд)
| 282
| 0x011A
| Holding
| RW
| u16
| Ширина временного окна для вычисления максимального усредненного значения датчика движения
| с<br />1 - 60 ('''10''')
|-
|-
|283 || input || R || 0 || - || style="text-align:left;" |Текущее усредненное значение движения в условных единицах (Current motion)
| 283
|- style="background: #C0C0C0;"  
| 0x011B
|284 || input || R || 0x7FFF || °C × 100 (signed) || style="text-align:left;" |Сырое значение температуры (без учета температурной компенсации) || rowspan="2" | 4.16.16
| Input
|- style="background: #C0C0C0;"  
| RO
|285 || input || R || 0xFFFF || %RH × 100 (unsigned) || style="text-align:left;" |Сырое значение относительной влажности (без учета температурной компенсации)
| u16
|- style="background: #C0C0C0;"  
| Текущее усредненное значение движения в условных единицах (Current motion)
|286-287 || input || R || 0xFFFF || лк x 100 || style="text-align:left;" | Сырое значение освещенности, умноженное на 100 (9 - старший разряд, 10 — младший разряд значения освещенности) || 4.17.0
| Error: 0xFFFF
|- style="background: #C0C0C0;"  
|- style="background-color:#c0c0c0;"
| 284
| 0x011C
| Input
| RO
| s16
| Сырое значение температуры (без учета температурной компенсации)
| x0.01, °C<br />Error: 0x7FFF
| rowspan="2" | 4.16.16
|- style="background-color:#c0c0c0;"
| 285
| 0x011D
| Input
| RO
| s16
| Сырое значение относительной влажности (без учета температурной компенсации)
| x0.01, %RH<br />Error: 0x7FFF
|- style="background-color:#c0c0c0;"
| 286-287
| 0x011E - 0x011F
| Input
| RO
| s16
| Сырое значение освещенности (9 - старший разряд, 10 — младший разряд значения освещенности)
| x0.01, лк<br />Error: 0xFFFF
| 4.17.0
|- style="background-color:#c0c0c0;"
| 288
| 0x0120
| Holding
| RW
| s16
| Калибровочное значение датчика освещенности, корректировка происходит по следующей формуле: illuminance = illuminance * (1 + calib_coeff/2^7))
| val -128..127
| 4.17.3
|}


|288 || holding || RW || 0 || s16 (val -128..127) || style="text-align:left;" | Калибровочное значение датчика освещенности, корректировка происходит по следующей формуле: illuminance = illuminance * (1 + calib_coeff/2^7)) || 4.17.3
|}
Серым цветом отмечены служебные регистры. Служебные регистры предназначены для использования производителем. Их наличие, назначение, формат и содержимое могут измениться в новых ревизиях устройств или версиях прошивки.
Серым цветом отмечены служебные регистры. Служебные регистры предназначены для использования производителем. Их наличие, назначение, формат и содержимое могут измениться в новых ревизиях устройств или версиях прошивки.



Версия 15:28, 25 марта 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 формате