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

Нет описания правки
м (A.Degtyarev переименовал страницу Карта регистрой WB-MSW v.3 в Карта регистров WB-MSW v.3: Опечатка в наименовании)
Строка 4: Строка 4:
<!--T:1-->
<!--T:1-->
{{DISPLAYTITLE:Управление датчиками Wirenboard по протоколу Modbus}}
{{DISPLAYTITLE:Управление датчиками Wirenboard по протоколу Modbus}}
== Карта регистров датчиков WB-MS и WB-MSW == <!--T:2-->
=== Карта регистров хранения (Holding Registers)=== <!--T:6-->


<!--T:7-->
<!--T:7-->
Строка 19: Строка 15:
|С версии прошивки
|С версии прошивки
|-
|-
| 0 || input || R || 0x7FFF ||°C × 10 (signed)||Температура с встроенного датчика
| 0 || coil || RW || 0 || - || Включение пищалки (buzzer)
|-
|-
|1 || input || R || 0xFFFF ||<blockquote>%RH × 10 (signed)</blockquote>||Относительная влажность с встроенного датчика
| 1 || coil || RW || 0 || - || Принудительная калибровка встроенного датчика CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm
|-
|-
|3 || input || R ||<nowiki>-</nowiki> ||дБ × 100 ||Уровень шума, умноженный на 100
| 2 || coil || RW || 0 || - || Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080 || 3.2.0
|-
|-
|4
| 3 || coil || RW || 1 || - || Включение датчика CO2 (1-вкл, 0-выкл) || 4.1.0
|input
|R
|0x7FFF
|°C × 100 (signed)
|Температура с встроенного датчика
| +
| +
| -
| -
| +
|4.2
|-
|-
|5
| 10 || coil || RW || 0 || - || Включение зеленого светодиода
|input
|R
|<nowiki>-</nowiki>
|%RH × 100 (signed)
|Относительная влажность с встроенного датчика
| +
| +
| -
| -
| +
|4.2
|-
|-
|6
| 11 || coil || RW || 0 || - || Включение красного светодиода
|input
|R
|0x7FFF
|°C × 16 (signed)
|Температура с внешнего датчика
| D
| +
| -
| -
|<nowiki>-</nowiki>
|
|-
|-
|7
| 0 || input || R || 0x7FFF ||°C × 10 (signed)||Температура с встроенного датчика
|input
|R
|0x7FFF
|°C × 16 (signed)
|Температура с внешнего датчика
| D
| +
| -
| -
|<nowiki>-</nowiki>
|
|-
|-
|8
|1 || input || R || 0xFFFF ||<blockquote>%RH × 10 (signed)</blockquote>||Относительная влажность с встроенного датчика
|input
| R
|0xFFFF
|PPM
|Концентрация CO2
| -
| -
|С
|C
|
|-
|-
|9-10
|3 || input || R ||<nowiki>-</nowiki> ||дБ × 100 ||Уровень шума, умноженный на 100
|input
| R
|
|лк
|'''Освещенность, умноженная на 100''' (9 - старший разряд, 10 — младший разряд значения освещенности)
| -
| -
| +
|L
|
|-
|-
|11
|4 || input || R || 0x7FFF || °C × 100 (signed) ||Температура с встроенного датчика || 4.2
|input
| R
|0xFFFF
|ppb
|Качество воздуха
| -
| VOC
| -
| -
| +
|
|-
|-
|86
|5 || input || R || <nowiki>-</nowiki> || %RH × 100 (signed) || Относительная влажность с встроенного датчика || 4.2
|input
|R
|0
|0 или 1
|'''Служебный регистр''', отсутствует в большинстве устройств.
Текущий канал работы датчика уровня шума: 0 - канал низкоуровневых шумов, 1 - канал высокоуровневых шумов
|colspan="5"|msw v.3.4
|4.15.0
|-
|-
|87
|8 || input || R || 0xFFFF || PPM || Концентрация CO2
|input
|R
|0
|
|Служебный регистр HOLD_REG_SPL_HIGHGAIN_RAW_INT
|colspan="5"|msw v.3.4
|4.15.0
|-
|-
|88
|9-10 || input || R || 0xFFFF || лк || '''Освещенность, умноженная на 100''' (9 - старший разряд, 10 — младший разряд значения освещенности)
|holding
|RW
|0
|ppm (400-1500)
|'''Служебный регистр''', отсутствует в большинстве устройств.
Ручная калибровка датчика CO2. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором.
| -
| -
| -
|C
|C
|3.12
|-
|-
|89
|11 || input || R || 0xFFFF || ppb || Качество воздуха
|holding
|RW
|0xFF
|дней
|'''Служебный регистр''', отсутствует в большинстве устройств.
Длительность цикла для алгоритма самокалибровки датчика CO (ABC)
| -
| -
| -
|C
|C
|3.12
|-
|-
|90||holding||RW||20 (200 ms)||× 10 ms||Время усреднения освещённости
|86 || input || R || 0 || 0 или 1 || '''Служебный регистр''', присутствует начиная с модели 4.9. Текущий канал работы датчика уровня шума: 0 - канал низкоуровневых шумов, 1 - канал высокоуровневых шумов || 4.15.0
|<blockquote>L, B</blockquote>
| -
| -
| -
|<nowiki>-</nowiki>
|
|-
|-
 
|87 || input || R || 0 || - || Служебный регистр HOLD_REG_SPL_HIGHGAIN_RAW_INT || 4.15.0
<!--T:28-->
|91||holding||RW||20 (200 ms)||× 10 ms
||Время усреднения шума
|S
| -
| +
|S
|S
|-
|-
 
|88 || holding || RW || 0 || ppm (400-1500) || '''Служебный регистр''', отсутствует в большинстве устройств. Ручная калибровка датчика CO2. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором ||3.12
<!--T:29-->
|92
||holding
||RW||0||x0.0625||Служебный регистр HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|S
|S
|S
|4.9.0
|-
|-
 
|89 || holding || RW || 0xFF || дней || '''Служебный регистр''', отсутствует в большинстве устройств. Длительность цикла для алгоритма самокалибровки датчика CO (ABC) || 3.12
<!--T:30-->
|93
||holding
||RW||0||x0.1dB||Служебный регистр HOLD_REG_SPL_OFFSET - поправка к значению уровня шума
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|S
|S
|S
|4.9.0
|-
|-
 
|91 || holding || RW || 20 (200 ms) ||× 10 ms || Время усреднения шума
 
 
 
<!--T:31-->
|-
|-
|95
|92 || holding || RW || 0 || x0.0625 || Служебный регистр HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП || 4.9.0
|holding
|RW
|1
|1 or 0
|Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2
| -
| -
| -
|С
|C
|
|-
|-
|96||holding||R||2000 / 5000||ppm
|93 || holding || RW || 0 || x0.1dB || Служебный регистр HOLD_REG_SPL_OFFSET - поправка к значению уровня шума || 4.9.0
||(доступно с версии прошивки 3.5.0) Диапазон измерения концентрации CO2. Допустимые значения: 2000, 5000, 10000.
| -
| -
| -
|C
|C
|3.5.0
|-
|-
 
|95 || holding || RW || 1 || 1 or 0 || Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2
<!--T:8-->
|97||holding||RW||0||0 — 10 c
||Период между вспышками сигнальных светодиодов
| -
| -
| -
| -
| +
|3.13.0
|-
|-
 
|96 || holding || R || 2000 / 5000 || ppm || Диапазон измерения концентрации CO2. Допустимые значения: 2000, 5000, 10000 || 3.5.0
 
<!--T:9-->
|98||holding||RW||0||0 — 50 мс
||Длительность вспышки светодиодов
| -
| -
| -
| -
| +
|3.13.0
|-
|-
 
|97 || holding || RW || 0 || 0 10 c || Период между вспышками сигнальных светодиодов || 3.13.0
 
 
 
 
<!--T:10-->
|99||holding||RW||16|| 1 = 0.0625C
||(доступно с версии прошивки 3.10.0) Фильтр подозрительных значений для датчиков 1-Wire (85.000C, 127.937C). Значения отбрасываются, если предыдущее отличается от подозрительного больше, чем на значение регистра*0.0625C. Запишите 0, чтобы отключить фильтр.
| D
| +
| -
| -
| -
|3.10.0
|-
|-
 
|98 || holding || RW || 0 || 0 — 50 мс ||Длительность вспышки светодиодов || 3.13.0
 
 
<!--T:32-->
|100
||input
||R||||||Служебный регистр HOLD_REG_SPL_RAW_INT
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|S
|S
|S
|
|-
|-
 
|100 || input || R || 0 || - || Служебный регистр HOLD_REG_SPL_RAW_INT
 
<!--T:11-->
|101
||input
||R||||||Служебный регистр HOLD_REG_TH_READS
|colspan="5"|все
|
|-
|-
 
|101 || input || R || 0 || - || Служебный регистр: количество успешных считываний датчика температуры и влажности
<!--T:12-->
|102
||input
||R||||||Служебный регистр HOLD_REG_TH_ERRORS
|colspan="5"|все
|
|-
|-
 
|102 || input || R || 0 || - || Служебный регистр: количество ошибок считывания датчика температуры и влажности
 
<!--T:33-->
|103
||holding
||RW||||||Служебный регистр HOLD_REG_ILLUMINANCE_MODE
|<nowiki>+</nowiki>
|<nowiki>+</nowiki>
|<nowiki>+</nowiki>
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|
|-
|-
 
|106 || input || R || 0 || - || Служебный регистр: значение baseline датчика CO2
 
<!--T:13-->
|104-105
||input
||R||||32-bit unsigned int||Время работы устройства (uptime counter) в секундах
|colspan="5"|все
|
|-
|-
 
|107 || input || R || 0xFFFF || - || Служебный регистр: сырые значения датчика CO2
<!--T:14-->
|106||input||R|| ||  
|| Служебный регистр INPUT_REG_SGPC3_BASELINE
| -
| -
| -
| -
| +
|
|-
|-
 
|108 || input || R || 0xFFFF || - || Служебный регистр: версия датчика CO2 || 4.2
<!--T:15-->
|107||input||R|| ||  
|| Служебный регистр INPUT_REG_SGPC3_RAW_SIGNAL
| -
| -
| -
| -
| +
|
|-
|-
|108
|113 || holding || RW || 8 || мс || Задержка перед отправкой ответного пакета по RS-485 || 4.15.0
|input
|R
|0xFFFF
|
|Служебный регистр SGPC3 VERSION
| -
| -
| -
| -
| +
|4.2
|-
|-
 
|245 || holding || RW || 0 || °C × 100 (signed) || Температурная компенсация самонагрева для датчика температуры и влажности (значение вычитается из измереной температуры) || 4.2
 
<!--T:16-->
| 110 || holding || RW || 96 || baud rate / 100 || скорость порта RS-485, '''делённая на 100'''. Допустимые скорости: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 <br>([[UART_Communication_Settings|Настройка параметров обмена данными по RS-485 для modbus-устройств Wiren Board]])
|colspan="5"|все
| rowspan="3" |>3.1.0
|-
| 111 || holding || RW || 0 || || настройка бита чётности порта RS-485. Допустимые значения: 0 - нет бита чётности (none), 1 - нечётный (odd), 2 - чётный (even)
|colspan="5"|все
|-
|-
| 112 || holding || RW || 2 || || количество стоп-битов порта RS-485. Допустимые значения: 1, 2
|280 || input || R || 0 || - || Максимальное значение датчика движения за установленное время окна (Max motion)
|colspan="5"|все
|-
|-
| 113 || holding || RW || 8 || мс || Задержка перед отправкой ответного пакета по RS-485
|281 || input || R || 0 || - || Служебный регистр: сырое значение с АЦП датчика движения
|colspan="5"|все
|4.15.0
|-
|-
| 120 (0x78) || holding || RW || 0 || отличное от 0 || запись в регистр вызывает перезагрузку модуля без сохранения состояния
|282 || holding || RW || 10 || с || Ширина временного окна для вычисления максимального усредненного значения датчика движения (от 1 до 60 секунд)
|colspan="5"|все
|
|-
|-
| 121 (0x79) || input || R || - ||  mV || текущее напряжение питания модуля
|283 || input || R || 0 || - ||Текущее усредненное значение движения в условных единицах (Current motion)
|colspan="5"|все
|
|-
| 128 (0x80) || holding || RW || 1 || || Modbus-адрес устройства
|colspan="5"|все
|
|-
| 129 (0x81) || holding || RW || 0 || 0 или 1 || Переход в [[WB-MCU-Flasher|режим загрузчика]]
|colspan="5"|все || 4.5.0
|-
| 200-206 || input || R || см. [[#Сигнатура устройства|Сигнатура устройства]]  ||  || сигнатура
|colspan="5"|все
|
|-
| 220-241 || input || R || ||  __date__ __time__||  дата сборки прошивки
|colspan="5"|все
|
|-
|245
|holding
|RW
|0
|°C × 100 (signed)
|Температурная компенсация самонагрева для датчика температуры и влажности (значение вычитается из измереной температуры)
| +
| -
| -
| -
| +
|4.2
|-
| 250-269 || input || R || ||  строка, null-terminated ||  версия прошивки
|colspan="5"|все
|
|-
| 270-271 || input || R || ||  32-bit unsigned int ||  уникальный идентификатор (S/N)
|colspan="5"|все
|
|-
|280||input||R|| ||
||Максимальное значение датчика движения за установленное время окна (Max motion)
| -
| -
| -
| -
| +
|
|-
|281||input||R|| ||
||Служебный регистр: сырое значение с АЦП датчика движения
| -
| -
| -
| -
| +
|
|-
|282||holding||RW||10||с
||Ширина временного окна для вычисления максимального усредненного значения датчика движения (от 1 до 60 секунд)
| -
| -
| -
| -
| +
|
|-
|283||input||R|| ||
||Текущее усредненное значение движения в условных единицах (Current motion)
| -
| -
| -
| -
| +
|
|-
 
<!--T:17-->
|}
 
Входы 1-W устройства можно сконфигурировать как счётные входы:
 
{| class="wikitable"
!Регистр/ адрес
!Тип
!Чтение/ запись
!Значение по умолчанию
!Формат
!Назначение
!Версии прошивки
|-
|275
|holding
|RW
|0
|0 или 1
|Режим входа №1: 0 - 1-wire, 1 - дискретный вход
| rowspan="6" |>=4.0.0
|-
|276
|holding
|RW
|0
|0 или 1
|Режим входа №2: 0 - 1-wire, 1 - дискретный вход
|-
|277
|input
|R
|
|16-bit unsigned int
|Счетчик срабатываний для входа №1
|-
|278
|input
|R
|
|16-bit unsigned int
|Счетчик срабатываний для входа №2
|-
|0
|discrete
|R
|
|0 или 1
|Текущее состояние входа №1: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0.
|-
|1
|discrete
|R
|
|0 или 1
|Текущее состояние входа №2: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0.
|}
|}


===Карта регистров флагов (Coils)=== <!--T:18-->
Регистры, связанные с ИК-управлением, описаны в статье [[WB-MSx_Consumer_IR_Manual]].
Регистры, связанные с ИК-управлением, описаны в статье [[WB-MSx_Consumer_IR_Manual]].


<!--T:19-->
{|  border="1" class="wikitable" style="text-align:center"
!Начальный адрес || Количество || Назначение || В модификациях
!С версии прошивки
|-
| 0 || 1 || style="text-align:left" |Включение пищалки (buzzer) || WB-MSW v.3, WB-MSW2
|
|-
| 1 || 1 || style="text-align:left" | Принудительная калибровка встроенного датчика CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm || WB-MSW v.3, WB-MSW2
|
|-
| 2 || 1 || style="text-align:left" | Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080 || WB-MS (2017 г. и новее), WB-MSW v.3, WB-MSW2,
|3.2.0
|-
|3
|1
| style="text-align:left"|Включение датчика CO2 (1-вкл, 0-выкл)
|WB-MSW v.3
|4.1.0
|-
| 10 || 1 || style="text-align:left" | Включение зеленого светодиода || WB-MSW v.3
|
|-
| 11 || 1 || style="text-align:left" | Включение красного светодиода || WB-MSW v.3
|
|-
|}
===Сигнатура устройства === <!--T:20-->
<!--T:21-->
По адресу 200 хранится сигнатура модуля длиной 6 байт. Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus:
<!--T:22-->
{| class="wikitable"
! style="font-weight: bold;" | Модуль
! style="font-weight: bold;" | Сигнатура
|-
| WB-MS
| WBMS,'0x00','0x00'
|-
| WB-MSW
| WBMSW,'0x00'
|-
| WB-MSW2
| WBMSW2
|-
| WB-MSW v.3
| WBMSW3
|}


<!--T:23-->
{{:Common_Modbus_Registers}}
Для получения сигнатуры устройства нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Пустые места в тексте сигнатуры забиваются значением 0x00.
Начиная с регистра 220 записана дата сборки прошивки, в формате "число'''x00'''время'''x00'''" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр.




</translate>
</translate>
100

правок