M1W2 Registers: различия между версиями
(не показано 46 промежуточных версий 7 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Карта регистров WB-M1W2 | {{DISPLAYTITLE: Карта регистров WB-M1W2 }} | ||
== | == Регистры устройства == | ||
{{Wbincludes:Header Registers | {{Wbincludes:Header Registers}} | ||
|- | |- | ||
| 0 | | 0 | ||
| 0x0000 | | 0x0000 | ||
| | | Текущее состояние 1 входа. | ||
| Discrete input | |||
| | | RO | ||
| | | u16 | ||
| | | | ||
| | |||
| 0 — разомкнут или выбран режим 1-wire, <br />1 — замкнут на GND | |||
| | |||
| | |||
| rowspan="2" | ≥ 4.0.0 | | rowspan="2" | ≥ 4.0.0 | ||
|- | |- | ||
| 1 | | 1 | ||
| 0x0001 | | 0x0001 | ||
| | | Текущее состояние 2 входа. | ||
| Discrete input | |||
| RO | |||
| u16 | |||
| | |||
| | |||
| 0 — разомкнут или выбран режим 1-wire, <br />1 — замкнут на GND | |||
| | |||
| | |||
|- | |||
| 7 | |||
| 0x0007 | |||
| Температура 1-Wire датчика на 1 входе | |||
| Input register | |||
| RO | |||
| s16 | |||
| 0.0625 | |||
| °C | |||
| | |||
| | |||
| 0x7FFF | |||
| | |||
|- | |||
| 8 | |||
| 0x0008 | |||
| Температура 1-Wire датчика на 2 входе | |||
| Input register | |||
| RO | |||
| s16 | |||
| 0.0625 | |||
| °C | |||
| | |||
| | |||
| 0x7FFF | |||
| | |||
|- | |- | ||
| 16 | | 16 | ||
| 0x0010 | | 0x0010 | ||
| | | Статус опроса 1-Wire датчика на 1 входе | ||
| Discrete input | |||
| | | RO | ||
| | | u16 | ||
| | | | ||
| | |||
| rowspan=" | | 0 — датчик не подключен, <br />1 — датчик подключен и корректно опрашивается | ||
| | |||
| | |||
| rowspan="4" | ≥ 4.6.0 | |||
|- | |- | ||
| 17 | | 17 | ||
| 0x0011 | | 0x0011 | ||
| | | Статус опроса 1-Wire датчика на 2 входе | ||
| | | Discrete input | ||
| RO | |||
| u16 | |||
| | |||
| | |||
| | | 0 — датчик не подключен, <br />1 — датчик подключен и корректно опрашивается | ||
| | | | ||
| | | | ||
| | |||
| | |||
| | |||
|- | |- | ||
| 20 | | 20 | ||
| 0x0014 | | 0x0014 | ||
| | | Последнее валидное значение температуры с датчика на 1 входе | ||
| Input register | |||
| RO | |||
| | | s16 | ||
| | | 0.0625 | ||
| | | °C | ||
| | | | ||
| | |||
| | |||
|- | |- | ||
| 21 | | 21 | ||
| 0x0015 | | 0x0015 | ||
| | | Последнее валидное значение температуры с датчика на 2 входе | ||
|- | | Input register | ||
| RO | |||
| s16 | |||
| 0.0625 | |||
| °C | |||
| | |||
| | |||
| | |||
|- | |||
| 99 | | 99 | ||
| 0x0063 | | 0x0063 | ||
| Holding | | Коэффициент фильтра подозрительных значений для 1-Wire датчиков. <br />Если разница между новым и предыдущим значением больше коэффициента, то новое значение отбрасывается | ||
| Holding register | |||
| RW | | RW | ||
| u16 | | u16 | ||
| | | 0.0625 | ||
| | | °C | ||
| | | 0 — фильтр отключен,<br />число больше нуля — коэффициент фильтра | ||
| 16 | |||
| | |||
| ≥ 3.10.0 | | ≥ 3.10.0 | ||
|- | |- | ||
| | | 113 | ||
| | | 0x0071 | ||
| Holding | | Задержка перед отправкой ответного пакета по RS-485 | ||
| Holding register | |||
| RW | | RW | ||
| u16 | | u16 | ||
| | | | ||
| | | мс | ||
| | | | ||
| ≥ 4. | | 8 | ||
| | |||
| ≥ 4.15.0 | |||
|- | |- | ||
| | | 275 | ||
| | | 0x0113 | ||
| Holding | | Режим 1 входа | ||
| Holding register | |||
| RW | | RW | ||
| u16 | | u16 | ||
| | | | ||
| | | | ||
| 0 — 1-wire, <br />1 — дискретный вход | |||
| 0 | |||
| | |||
| | |||
| rowspan="4" | ≥ 4.0.0 | | rowspan="4" | ≥ 4.0.0 | ||
|- | |- | ||
| 276 | | 276 | ||
| 0x0114 | | 0x0114 | ||
| | | Режим 2 входа | ||
| Holding register | |||
| RW | |||
| u16 | |||
| | |||
| | |||
| 0 — 1-wire, <br />1 — дискретный вход | |||
| 0 | |||
| | |||
|- | |- | ||
| 277 | | 277 | ||
| 0x0115 | | 0x0115 | ||
| | | Счетчик срабатываний для 1 входа | ||
| | | Input register | ||
| | | RO | ||
| | | u16 | ||
| | | | ||
| | |||
| | |||
| | |||
| | |||
|- | |- | ||
| 278 | | 278 | ||
| 0x0116 | | 0x0116 | ||
| | | Счетчик срабатываний для 2 входа | ||
| Input register | |||
| RO | |||
| u16 | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|} | |} | ||
{{Wbincludes:Common Modbus Registers}} |
Версия 11:45, 6 декабря 2021
Регистры устройства
Wbincludes:Header Registers
|-
| 0
| 0x0000
| Текущее состояние 1 входа.
| Discrete input
| RO
| u16
|
|
| 0 — разомкнут или выбран режим 1-wire,
1 — замкнут на GND
|
|
| rowspan="2" | ≥ 4.0.0
|-
| 1
| 0x0001
| Текущее состояние 2 входа.
| Discrete input
| RO
| u16
|
|
| 0 — разомкнут или выбран режим 1-wire,
1 — замкнут на GND
|
|
|-
| 7
| 0x0007
| Температура 1-Wire датчика на 1 входе
| Input register
| RO
| s16
| 0.0625
| °C
|
|
| 0x7FFF
|
|-
| 8
| 0x0008
| Температура 1-Wire датчика на 2 входе
| Input register
| RO
| s16
| 0.0625
| °C
|
|
| 0x7FFF
|
|-
| 16
| 0x0010
| Статус опроса 1-Wire датчика на 1 входе
| Discrete input
| RO
| u16
|
|
| 0 — датчик не подключен,
1 — датчик подключен и корректно опрашивается
|
|
| rowspan="4" | ≥ 4.6.0
|-
| 17
| 0x0011
| Статус опроса 1-Wire датчика на 2 входе
| Discrete input
| RO
| u16
|
|
| 0 — датчик не подключен,
1 — датчик подключен и корректно опрашивается
|
|
|-
| 20
| 0x0014
| Последнее валидное значение температуры с датчика на 1 входе
| Input register
| RO
| s16
| 0.0625
| °C
|
|
|
|-
| 21
| 0x0015
| Последнее валидное значение температуры с датчика на 2 входе
| Input register
| RO
| s16
| 0.0625
| °C
|
|
|
|-
| 99
| 0x0063
| Коэффициент фильтра подозрительных значений для 1-Wire датчиков.
Если разница между новым и предыдущим значением больше коэффициента, то новое значение отбрасывается
| Holding register
| RW
| u16
| 0.0625
| °C
| 0 — фильтр отключен,
число больше нуля — коэффициент фильтра
| 16
|
| ≥ 3.10.0
|-
| 113
| 0x0071
| Задержка перед отправкой ответного пакета по RS-485
| Holding register
| RW
| u16
|
| мс
|
| 8
|
| ≥ 4.15.0
|-
| 275
| 0x0113
| Режим 1 входа
| Holding register
| RW
| u16
|
|
| 0 — 1-wire,
1 — дискретный вход
| 0
|
| rowspan="4" | ≥ 4.0.0
|-
| 276
| 0x0114
| Режим 2 входа
| Holding register
| RW
| u16
|
|
| 0 — 1-wire,
1 — дискретный вход
| 0
|
|-
| 277
| 0x0115
| Счетчик срабатываний для 1 входа
| Input register
| RO
| u16
|
|
|
|
|
|-
| 278
| 0x0116
| Счетчик срабатываний для 2 входа
| Input register
| RO
| u16
|
|
|
|
|
|}
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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.
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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 формате |