WB-MIR v2 Registers: различия между версиями

Материал из Wiren Board
м (Закомментировал про встроенный датчик ERRMIR03)
м
Строка 1: Строка 1:
Регистры, относящиеся к ИК подробно описаны в разделе [[WB-MSx_Consumer_IR_Manual|Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR]].
Регистры, относящиеся к ИК подробно описаны в разделе [[WB-MSx_Consumer_IR_Manual|Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR]].
{| class="wikitable"
 
! Регистр/ адрес
{{Wbincludes:Header Registers}}
! Тип
|-
! Чтение/ запись
| 0x0000
! Значение по умолчанию
| 0
! Формат
| discrete
! Назначение
| R
! Версии
| u16
прошивки
|
| Input 1
| Текущее состояние входа 1-W: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0.
|
| 0, 1
|
|
| ≥ 4.0.0
|-
| 0x0007
| 7
| input
| R
| s16
| 0.0625
| External Temperature Sensor
| Температура с внешнего датчика 1-Wire
| °C
|
| 0x7FFF
|
|
|-
| 0x0010
| 16
| discrete
| R
| u16
|
| External Temperature Sensor OK
| Статус опроса датчика 1-Wire входа №1: 0 - датчик не подключен, 1 - датчик подключен и корректно опрашивается
|
| 0, 1
|
|
| ≥ 4.6.0
|-
| 0x0071
| 113
| holding
| RW
| u16
|
| RS-485 Response Delay (ms)
| Задержка перед отправкой ответного пакета по RS-485
| мс
|
| style="text-align:right;" | 8
|
| ≥ 4.15.0
|-
|-
<!-- |6
| 0x0113
|input
| 275
|R
| holding
|0x7FFF
| RW
|°C × 16 (signed)
| u16
|Температура со встроенного датчика
|  
|
| set input 1 to descrete
|- -->
| Режим входа 1-W: 0 - 1-wire, 1 - дискретный вход
|7
|  
|input
| 0, 1
|R
| style="text-align:right; vertical-align:bottom;" | 0
|0x7FFF
|  
|°C × 16 (signed)
| rowspan="2" | ≥ 4.0.0
|Температура с внешнего датчика 1-Wire
|
|-
|-
|20
| 0x0115
|input
| 277
|R
| input
|0
| R
|°C × 16 (signed)
| u16
|Температура с первого внешнего датчика 1-Wire. При ошибке опроса датчик сохраняет предыдущее валидное значение (статус датчика читать из discrete регистра 16).
|  
|начиная с прошивки 4.6.0
| Input 1 Counter
|-
| Счетчик срабатываний для входа 1-W
<!--T:15-->
|  
|104-105 || input || R || || 32-bit unsigned int
|  
|| Время работы устройства (uptime counter) в секундах
|  
|
|  
<!--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]])
| rowspan="3" |>3.1.0
|-
|111
|holding
|RW
|0
|
|настройка бита чётности порта RS-485. Допустимые значения: 0 - нет бита чётности (none), 1 - нечётный (odd), 2 - чётный (even)
|-
|112
|holding
|RW
|2
|
|количество стоп-битов порта RS-485. Допустимые значения: 1, 2
|-
|113
|holding
|RW
|8
|мс
|Задержка перед отправкой ответного пакета по RS-485
|4.15.0
|-
|120 (0x78)
|holding
|RW
|0
|отличное от 0
|запись в регистр вызывает перезагрузку модуля без сохранения состояния
|
|-
|121 (0x79)
|input
|R
| -
|mV
|текущее напряжение питания модуля
|
|-
|128 (0x80)
|holding
|RW
|1
|
|Modbus-адрес устройства
|
|-
| 129 (0x81) || holding || RW || 0 || 0 или 1 || Переход в режим загрузчика || начиная с прошивки 4.5.0
|-
|200-206
|input
|R
|см. [[Sensors Modbus Management|Сигнатура устройства]]
|
|сигнатура
|
|-
|220-241
|input
|R
|
|__date__ __time__
|дата сборки прошивки
|
<!-- |-
|245
|holding
|RW
|216
|°C × 100 (signed)
|Компенсация самонагрева встроенного датчика температуры.
Значение регистра вычитается из температуры, измеренной встроенным датчиком (регистр 6)
| -->
|-
|250-269
|input
|R
|
|строка, null-terminated
|версия прошивки
|
|-
|270-271
|input
|R
|
|32-bit unsigned int
|уникальный идентификатор (S/N)
|
|-
|275
|holding
|RW
|0
|0 или 1
|Режим входа 1-W: 0 - 1-wire, 1 - дискретный вход
| rowspan="3" |>=4.0.0
|-
|277
|input
|R
|
|16-bit unsigned int
|Счетчик срабатываний для входа 1-W
|-
|0
|discrete
|R
|
|0 или 1
|Текущее состояние входа 1-W: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0.
|-
|16
|discrete
|R
|
|0 или 1
|Статус опроса датчика 1-Wire входа №1: 0 - датчик не подключен, 1 - датчик подключен и корректно опрашивается
|начиная с прошивки 4.6.0
|}
|}
{{Wbincludes:Common Modbus Registers}}

Версия 19:35, 30 сентября 2021

Регистры, относящиеся к ИК подробно описаны в разделе Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR.

Wbincludes:Header Registers |- | 0x0000 | 0 | discrete | R | u16 | | Input 1 | Текущее состояние входа 1-W: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0. | | 0, 1 | | | ≥ 4.0.0 |- | 0x0007 | 7 | input | R | s16 | 0.0625 | External Temperature Sensor | Температура с внешнего датчика 1-Wire | °C | | 0x7FFF | | |- | 0x0010 | 16 | discrete | R | u16 | | External Temperature Sensor OK | Статус опроса датчика 1-Wire входа №1: 0 - датчик не подключен, 1 - датчик подключен и корректно опрашивается | | 0, 1 | | | ≥ 4.6.0 |- | 0x0071 | 113 | holding | RW | u16 | | RS-485 Response Delay (ms) | Задержка перед отправкой ответного пакета по RS-485 | мс | | style="text-align:right;" | 8 | | ≥ 4.15.0 |- | 0x0113 | 275 | holding | RW | u16 | | set input 1 to descrete | Режим входа 1-W: 0 - 1-wire, 1 - дискретный вход | | 0, 1 | style="text-align:right; vertical-align:bottom;" | 0 | | rowspan="2" | ≥ 4.0.0 |- | 0x0115 | 277 | input | R | u16 | | Input 1 Counter | Счетчик срабатываний для входа 1-W | | | | |}


Общие для всех 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 формате