7809
правок
м |
Fizikdaos (обсуждение | вклад) |
||
(не показано 18 промежуточных версий 5 участников) | |||
Строка 2: | Строка 2: | ||
<translate> | <translate> | ||
<!--T:1--> | |||
{{DISPLAYTITLE:Управление датчиками Wirenboard по протоколу Modbus}} | {{DISPLAYTITLE:Управление датчиками Wirenboard по протоколу Modbus}} | ||
== | == Карта регистров датчиков WB-MS и WB-MSW == <!--T:2--> | ||
=== Карта регистров хранения (Holding Registers)=== <!--T:6--> | |||
=== Карта регистров хранения (Holding Registers)=== | |||
<!--T:7--> | |||
{| border="1" class="wikitable" style="text-align:center" | {| border="1" class="wikitable" style="text-align:center" | ||
!rowspan="2"|Регистр/ адрес | !rowspan="2"|Регистр/ адрес | ||
Строка 155: | Строка 150: | ||
| R | | R | ||
|0xFFFF | |0xFFFF | ||
| | |ppb | ||
|Качество воздуха | |Качество воздуха | ||
| - | | - | ||
Строка 169: | Строка 164: | ||
|0 | |0 | ||
|ppm (400-1500) | |ppm (400-1500) | ||
|Ручная калибровка датчика CO2. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором | |'''Служебный регистр''', отсутствует в большинстве устройств. | ||
Ручная калибровка датчика CO2. Для калибровки запишите сюда текущее значение концентрации CO2, измеренное другим прибором. | |||
| - | | - | ||
| - | | - | ||
Строка 182: | Строка 178: | ||
|0xFF | |0xFF | ||
|дней | |дней | ||
|Длительность цикла для алгоритма самокалибровки датчика CO (ABC) | |'''Служебный регистр''', отсутствует в большинстве устройств. | ||
Длительность цикла для алгоритма самокалибровки датчика CO (ABC) | |||
| - | | - | ||
| - | | - | ||
Строка 198: | Строка 195: | ||
| | | | ||
|- | |- | ||
<!--T:28--> | |||
|91||holding||RW||20 (200 ms)||× 10 ms | |91||holding||RW||20 (200 ms)||× 10 ms | ||
||Время усреднения шума | ||Время усреднения шума | ||
Строка 205: | Строка 204: | ||
|S | |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 | |95 | ||
Строка 230: | Строка 258: | ||
|- | |- | ||
<!--T:8--> | |||
|97||holding||RW||0 — 10||c | |97||holding||RW||0 — 10||c | ||
||Период между вспышками сигнальных светодиодов | ||Период между вспышками сигнальных светодиодов | ||
Строка 241: | Строка 270: | ||
<!--T:9--> | |||
|98||holding||RW||0 — 50||мс | |98||holding||RW||0 — 50||мс | ||
||Длительность вспышки светодиодов | ||Длительность вспышки светодиодов | ||
Строка 255: | Строка 285: | ||
<!--T:10--> | |||
|99||holding||RW||16|| 1 = 0.0625C | |99||holding||RW||16|| 1 = 0.0625C | ||
||(доступно с версии прошивки 3.10.0) Фильтр подозрительных значений для датчиков 1-Wire (85.000C, 127.937C). Значения отбрасываются, если предыдущее отличается от подозрительного больше, чем на значение регистра*0.0625C. Запишите 0, чтобы отключить фильтр. | ||(доступно с версии прошивки 3.10.0) Фильтр подозрительных значений для датчиков 1-Wire (85.000C, 127.937C). Значения отбрасываются, если предыдущее отличается от подозрительного больше, чем на значение регистра*0.0625C. Запишите 0, чтобы отключить фильтр. | ||
Строка 267: | Строка 298: | ||
<!--T:32--> | |||
|100 | |||
||input | |||
||R||||||Служебный регистр HOLD_REG_SPL_RAW_INT | |||
|<nowiki>-</nowiki> | |||
|<nowiki>-</nowiki> | |||
|S | |||
|S | |||
|S | |||
| | |||
|- | |||
<!--T:11--> | |||
|101 | |101 | ||
||input | ||input | ||
Строка 275: | Строка 319: | ||
|- | |- | ||
<!--T:12--> | |||
|102 | |102 | ||
||input | ||input | ||
Строка 283: | Строка 328: | ||
<!--T:33--> | |||
|103 | |||
||holding | |||
||RW||||||Служебный регистр HOLD_REG_ILLUMINANCE_MODE | |||
|<nowiki>+</nowiki> | |||
|<nowiki>+</nowiki> | |||
|<nowiki>+</nowiki> | |||
|<nowiki>-</nowiki> | |||
|<nowiki>-</nowiki> | |||
| | |||
|- | |||
<!--T:13--> | |||
|104-105 | |104-105 | ||
||input | ||input | ||
Строка 290: | Строка 349: | ||
|- | |- | ||
<!--T:14--> | |||
|106||input||R|| || | |106||input||R|| || | ||
|| Служебный регистр INPUT_REG_SGPC3_BASELINE | || Служебный регистр INPUT_REG_SGPC3_BASELINE | ||
Строка 300: | Строка 360: | ||
|- | |- | ||
<!--T:15--> | |||
|107||input||R|| || | |107||input||R|| || | ||
|| Служебный регистр INPUT_REG_SGPC3_RAW_SIGNAL | || Служебный регистр INPUT_REG_SGPC3_RAW_SIGNAL | ||
Строка 324: | Строка 385: | ||
<!--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]]) | | 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"|все | |colspan="5"|все | ||
Строка 415: | Строка 477: | ||
|- | |- | ||
<!--T:17--> | |||
|} | |} | ||
===Карта регистров флагов (Coils)=== | Входы 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" | {| border="1" class="wikitable" style="text-align:center" | ||
!Начальный адрес || Количество || Назначение || В модификациях | !Начальный адрес || Количество || Назначение || В модификациях | ||
!С версии прошивки | !С версии прошивки | ||
|- | |- | ||
| 0 || 1 || style="text-align:left" |Включение пищалки (buzzer) || | | 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-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 ( | | 2 || 1 || style="text-align:left" | Включение подогрева (heater) в микросхеме сенсора температуры и влажности HDC1080 || WB-MS (2017 г. и новее), WB-MSW v.3, WB-MSW2, | ||
|3.2.0 | |3.2.0 | ||
|- | |- | ||
|3 | |3 | ||
|1 | |1 | ||
|Включение датчика CO2 | | style="text-align:left"|Включение датчика CO2 (1-вкл, 0-выкл) | ||
|WB-MSW v.3 | |WB-MSW v.3 | ||
|4.1.0 | |4.1.0 | ||
Строка 447: | Строка 567: | ||
|} | |} | ||
===Сигнатура устройства === | ===Сигнатура устройства === <!--T:20--> | ||
<!--T:21--> | |||
По адресу 200 хранится сигнатура модуля длиной 6 байт. Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus: | По адресу 200 хранится сигнатура модуля длиной 6 байт. Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus: | ||
<!--T:22--> | |||
{| class="wikitable" | {| class="wikitable" | ||
! style="font-weight: bold;" | Модуль | ! style="font-weight: bold;" | Модуль | ||
Строка 468: | Строка 590: | ||
|} | |} | ||
<!--T:23--> | |||
Для получения сигнатуры устройства нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Пустые места в тексте сигнатуры забиваются значением 0x00. | Для получения сигнатуры устройства нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Пустые места в тексте сигнатуры забиваются значением 0x00. | ||
Начиная с регистра 220 записана дата сборки прошивки, в формате "число'''x00'''время'''x00'''" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр. | Начиная с регистра 220 записана дата сборки прошивки, в формате "число'''x00'''время'''x00'''" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр. | ||
</translate> | </translate> |