|
|
(не показаны 73 промежуточные версии 11 участников) |
Строка 1: |
Строка 1: |
| <languages/> | | <languages/> |
| <translate> | | <translate> |
|
| |
| <!--T:1--> | | <!--T:1--> |
| {{DISPLAYTITLE:Управление датчиками Wirenboard по протоколу Modbus}} | | {{DISPLAYTITLE:Карта регистров датчика WB-MSW v.3}} |
| | | == Описание == |
| == Карта регистров датчиков WB-MS и WB-MSW == <!--T:2-->
| |
| | |
| === Карта регистров хранения (Holding Registers)=== <!--T:6-->
| |
| | |
| <!--T:7-->
| |
| {| border="1" class="wikitable" style="text-align:center"
| |
| |Регистр/ адрес
| |
| |Тип
| |
| |Чтение/ запись
| |
| |Значение по умолчанию или при ошибке
| |
| |Формат
| |
| |Назначение
| |
| |С версии прошивки
| |
| |-
| |
| | 0 || input || R || 0x7FFF ||°C × 10 (signed)||Температура с встроенного датчика
| |
| |-
| |
| |1 || input || R || 0xFFFF ||<blockquote>%RH × 10 (signed)</blockquote>||Относительная влажность с встроенного датчика
| |
| |-
| |
| |3 || input || R ||<nowiki>-</nowiki> ||дБ × 100 ||Уровень шума, умноженный на 100
| |
| |-
| |
| |4
| |
| |input
| |
| |R
| |
| |0x7FFF
| |
| |°C × 100 (signed)
| |
| |Температура с встроенного датчика
| |
| | +
| |
| | +
| |
| | -
| |
| | -
| |
| | +
| |
| |4.2
| |
| |-
| |
| |5
| |
| |input
| |
| |R
| |
| |<nowiki>-</nowiki>
| |
| |%RH × 100 (signed)
| |
| |Относительная влажность с встроенного датчика
| |
| | +
| |
| | +
| |
| | -
| |
| | -
| |
| | +
| |
| |4.2
| |
| |-
| |
| |6
| |
| |input
| |
| |R
| |
| |0x7FFF
| |
| |°C × 16 (signed)
| |
| |Температура с внешнего датчика
| |
| | D
| |
| | +
| |
| | -
| |
| | -
| |
| |<nowiki>-</nowiki>
| |
| |
| |
| |-
| |
| |7
| |
| |input
| |
| |R
| |
| |0x7FFF
| |
| |°C × 16 (signed)
| |
| |Температура с внешнего датчика
| |
| | D
| |
| | +
| |
| | -
| |
| | -
| |
| |<nowiki>-</nowiki>
| |
| |
| |
| |-
| |
| |8
| |
| |input
| |
| | R
| |
| |0xFFFF
| |
| |PPM
| |
| |Концентрация CO2
| |
| | -
| |
| | -
| |
| |С
| |
| |C
| |
| |
| |
| |-
| |
| |9-10
| |
| |input
| |
| | R
| |
| |
| |
| |лк
| |
| |'''Освещенность, умноженная на 100''' (9 - старший разряд, 10 — младший разряд значения освещенности)
| |
| | -
| |
| | -
| |
| | +
| |
| |L
| |
| |
| |
| |-
| |
| |11
| |
| |input
| |
| | R
| |
| |0xFFFF
| |
| |ppb
| |
| |Качество воздуха
| |
| | -
| |
| | VOC
| |
| | -
| |
| | -
| |
| | +
| |
| |
| |
| |-
| |
| |86
| |
| |input
| |
| |R
| |
| |0
| |
| |0 или 1
| |
| |'''Служебный регистр''', отсутствует в большинстве устройств.
| |
| Текущий канал работы датчика уровня шума: 0 - канал низкоуровневых шумов, 1 - канал высокоуровневых шумов
| |
| |colspan="5"|msw v.3.4
| |
| |4.15.0
| |
| |-
| |
| |87
| |
| |input
| |
| |R
| |
| |0
| |
| |
| |
| |Служебный регистр HOLD_REG_SPL_HIGHGAIN_RAW_INT
| |
| |colspan="5"|msw v.3.4
| |
| |4.15.0
| |
| |-
| |
| |88
| |
| |holding
| |
| |RW
| |
| |0
| |
| |ppm (400-1500)
| |
| |'''Служебный регистр''', отсутствует в большинстве устройств.
| |
| Ручная калибровка датчика CO2. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором.
| |
| | -
| |
| | -
| |
| | -
| |
| |C
| |
| |C
| |
| |3.12
| |
| |-
| |
| |89
| |
| |holding
| |
| |RW
| |
| |0xFF
| |
| |дней
| |
| |'''Служебный регистр''', отсутствует в большинстве устройств.
| |
| Длительность цикла для алгоритма самокалибровки датчика CO (ABC)
| |
| | -
| |
| | -
| |
| | -
| |
| |C
| |
| |C
| |
| |3.12
| |
| |-
| |
| |90||holding||RW||20 (200 ms)||× 10 ms||Время усреднения освещённости
| |
| |<blockquote>L, B</blockquote>
| |
| | -
| |
| | -
| |
| | -
| |
| |<nowiki>-</nowiki>
| |
| |
| |
| |-
| |
| | |
| <!--T:28-->
| |
| |91||holding||RW||20 (200 ms)||× 10 ms
| |
| ||Время усреднения шума
| |
| |S
| |
| | -
| |
| | +
| |
| |S
| |
| |S
| |
| |-
| |
| | |
| <!--T:29-->
| |
| |92
| |
| ||holding
| |
| ||RW||0||x0.0625||Служебный регистр HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП
| |
| |<nowiki>-</nowiki>
| |
| |<nowiki>-</nowiki>
| |
| |S
| |
| |S
| |
| |S
| |
| |4.9.0
| |
| |-
| |
| | |
| <!--T:30-->
| |
| |93
| |
| ||holding
| |
| ||RW||0||x0.1dB||Служебный регистр HOLD_REG_SPL_OFFSET - поправка к значению уровня шума
| |
| |<nowiki>-</nowiki>
| |
| |<nowiki>-</nowiki>
| |
| |S
| |
| |S
| |
| |S
| |
| |4.9.0
| |
| |-
| |
| | |
| | |
| | |
| | |
| <!--T:31-->
| |
| |-
| |
| |95
| |
| |holding
| |
| |RW
| |
| |1
| |
| |1 or 0
| |
| |Режим автокалибровки датчика CO2 (ABC) на атмосферный уровень CO2
| |
| | -
| |
| | -
| |
| | -
| |
| |С
| |
| |C
| |
| |
| |
| |-
| |
| |96||holding||R||2000 / 5000||ppm
| |
| ||(доступно с версии прошивки 3.5.0) Диапазон измерения концентрации CO2. Допустимые значения: 2000, 5000, 10000.
| |
| | -
| |
| | -
| |
| | -
| |
| |C
| |
| |C
| |
| |3.5.0
| |
| |-
| |
| | |
| <!--T:8-->
| |
| |97||holding||RW||0||0 — 10 c
| |
| ||Период между вспышками сигнальных светодиодов
| |
| | -
| |
| | -
| |
| | -
| |
| | -
| |
| | +
| |
| |3.13.0
| |
| |-
| |
| | |
| | |
| <!--T:9-->
| |
| |98||holding||RW||0||0 — 50 мс
| |
| ||Длительность вспышки светодиодов
| |
| | -
| |
| | -
| |
| | -
| |
| | -
| |
| | +
| |
| |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
| |
| |-
| |
| | |
| | |
| | |
| <!--T:32-->
| |
| |100
| |
| ||input
| |
| ||R||||||Служебный регистр HOLD_REG_SPL_RAW_INT
| |
| |<nowiki>-</nowiki>
| |
| |<nowiki>-</nowiki>
| |
| |S
| |
| |S
| |
| |S
| |
| |
| |
| |-
| |
| | |
| | |
| <!--T:11-->
| |
| |101
| |
| ||input
| |
| ||R||||||Служебный регистр HOLD_REG_TH_READS
| |
| |colspan="5"|все
| |
| |
| |
| |-
| |
| | |
| <!--T:12-->
| |
| |102
| |
| ||input
| |
| ||R||||||Служебный регистр HOLD_REG_TH_ERRORS
| |
| |colspan="5"|все
| |
| |
| |
| |-
| |
| | |
| | |
| <!--T:33-->
| |
| |103
| |
| ||holding
| |
| ||RW||||||Служебный регистр HOLD_REG_ILLUMINANCE_MODE
| |
| |<nowiki>+</nowiki>
| |
| |<nowiki>+</nowiki>
| |
| |<nowiki>+</nowiki>
| |
| |<nowiki>-</nowiki>
| |
| |<nowiki>-</nowiki>
| |
| |
| |
| |-
| |
| | |
| | |
| <!--T:13-->
| |
| |104-105
| |
| ||input
| |
| ||R||||32-bit unsigned int||Время работы устройства (uptime counter) в секундах
| |
| |colspan="5"|все
| |
| |
| |
| |-
| |
| | |
| <!--T:14-->
| |
| |106||input||R|| ||
| |
| || Служебный регистр INPUT_REG_SGPC3_BASELINE
| |
| | -
| |
| | -
| |
| | -
| |
| | -
| |
| | +
| |
| |
| |
| |-
| |
| | |
| <!--T:15-->
| |
| |107||input||R|| ||
| |
| || Служебный регистр INPUT_REG_SGPC3_RAW_SIGNAL
| |
| | -
| |
| | -
| |
| | -
| |
| | -
| |
| | +
| |
| |
| |
| |-
| |
| |108
| |
| |input
| |
| |R
| |
| |0xFFFF
| |
| |
| |
| |Служебный регистр SGPC3 VERSION
| |
| | -
| |
| | -
| |
| | -
| |
| | -
| |
| | +
| |
| |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
| |
| |colspan="5"|все
| |
| |-
| |
| | 113 || holding || RW || 8 || мс || Задержка перед отправкой ответного пакета по RS-485
| |
| |colspan="5"|все
| |
| |4.15.0
| |
| |-
| |
| | 120 (0x78) || holding || RW || 0 || отличное от 0 || запись в регистр вызывает перезагрузку модуля без сохранения состояния
| |
| |colspan="5"|все
| |
| |
| |
| |-
| |
| | 121 (0x79) || input || R || - || mV || текущее напряжение питания модуля
| |
| |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]]. |
| | | {{Wbincludes:Header Registers Universal|fw=true}} |
| <!--T:19-->
| | {{Wbincludes:WB-MSW Main Registers}} |
| {| border="1" class="wikitable" style="text-align:center"
| | {{Wbincludes:WB-MSW Registers for MH-Z19B}} |
| !Начальный адрес || Количество || Назначение || В модификациях
| | {{Wbincludes:WB-MSW Registers for CM1106}} |
| !С версии прошивки
| | {{Wbincludes: Availability Register Temperature Humidity}} |
| |-
| | {{Wbincludes: Availability Register Illumination Digital}} |
| | 0 || 1 || style="text-align:left" |Включение пищалки (buzzer) || WB-MSW v.3, WB-MSW2
| | {{Wbincludes: Availability Register VOC}} |
| |
| | {{Wbincludes: Availability Register CO2}} |
| |-
| | {{Wbincludes: Availability Register Motion}} |
| | 1 || 1 || style="text-align:left" | Принудительная калибровка встроенного датчика CO2. Включать после 20 минут работы при уровне CO2, равном 400 ppm || WB-MSW v.3, WB-MSW2
| | {{Wbincludes: Availability Register Noise}} |
| |
| | {{Wbincludes: Availability Register IR}} |
| |-
| |
| | 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
| |
| |
| |
| |-
| |
| |} | | |} |
| | | {{Wbincludes:Header Registers Universal|note=true|no_description=true|header=Параметры подключения, версия прошивки и другие служебные регистры}} |
| ===Сигнатура устройства === <!--T:20--> | | {{Wbincludes: Registers Connection Settings}} |
| | | {{Wbincludes: Registers FW Version For Supported Device With Bootloader}} |
| <!--T:21-->
| | {{Wbincludes: Registers Service Main}} |
| По адресу 200 хранится сигнатура модуля длиной 6 байт. Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus:
| | {{Wbincludes: Register bootloader start}} |
| | | {{Wbincludes: Registers Timeout}} |
| <!--T:22-->
| | {{Wbincludes: Registers Сontinuous Reading Mode For Device With Bootloader}} |
| {| class="wikitable" | | {{Wbincludes: Registers Vin}} |
| ! style="font-weight: bold;" | Модуль
| | {{Wbincludes: Registers Temperature MCU}} |
| ! style="font-weight: bold;" | Сигнатура
| |
| |-
| |
| | WB-MS
| |
| | WBMS,'0x00','0x00'
| |
| |-
| |
| | WB-MSW
| |
| | WBMSW,'0x00'
| |
| |-
| |
| | WB-MSW2
| |
| | WBMSW2
| |
| |-
| |
| | WB-MSW v.3
| |
| | WBMSW3
| |
| |} | | |} |
|
| |
| <!--T:23-->
| |
| Для получения сигнатуры устройства нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Пустые места в тексте сигнатуры забиваются значением 0x00.
| |
| Начиная с регистра 220 записана дата сборки прошивки, в формате "число'''x00'''время'''x00'''" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр.
| |
|
| |
|
| |
|
| </translate> | | </translate> |