Common Modbus Registers: различия между версиями

Материал из Wiren Board
м
м (Содержимое страницы заменено на «<noinclude>=== Регистры, общие для всех устройств Wiren Board c Modbus RTU ===</noinclude> {{Wbinclude...»)
Метка: замена
Строка 1: Строка 1:
<noinclude>=== Регистры, общие для всех устройств Wiren Board c Modbus RTU ===</noinclude>
<noinclude>=== Регистры, общие для всех устройств Wiren Board c Modbus RTU ===</noinclude>
{|  border="1" class="wikitable text-center"
{{Wbincludes:Common Modbus Registers}}
!colspan="2"| Адрес ||rowspan="2"| Тип ||rowspan="2"| Доступ ||rowspan="2"| Формат ||rowspan="2"| <span class="tooltip" data-tooltip="Коэффициент, на который нужно умножить считанное значение, чтобы получить величину в единицах измерения">Множитель ❔</span> ||rowspan="2"| Параметр в<br>веб&#8209;интерфейсе||rowspan="2"| Назначение ||rowspan="2"| Единицы<br>измерения ||colspan="3"| Значения
|-
! в Hex || в DEC ||Возможные||По умолчанию||При ошибке
|-
| 0x68 - 0x69 || 104­-105 || input || R || u32 || 1 ||class="text-left"| Uptime ||class="text-left"| Время работы с момента загрузки || Секунды ||  ||  || 
|-
| 0x6E || 110 || holding || RW || u16 || 100 ||class="text-left"|  ||class="text-left"| Скорость порта RS-485<br>[[UART Communication Settings | Настройка параметров обмена данными по RS-485 для modbus-устройств Wiren Board]] || Боды ||class="text-left nowrap" | 12 — 1200 бит/с,<br>24 — 2400 бит/с,<br>48 — 4800 бит/с, <br>96 — 9600 бит/с, <br>192 — 19 200 бит/с, <br>384 — 38 400 бит/с, <br>576 — 57 600 бит/с,<br>1152 — 115 200 Кбит/с || 96 || 96
|-
| 0x6F || 111 || holding || RW || u16 ||  ||class="text-left"|  ||class="text-left"| Настройка бита чётности порта RS-485 ||  || class="text-left nowrap" | 0 — нет бита чётности (none),<br>1 — нечётный (odd),<br>2 — чётный (even) || 0 || 0
|-
| 0x70 || 112 || holding || RW || u16 ||  ||class="text-left"|  ||class="text-left"| Количество стоп-битов порта RS-485 ||  || class="text-left"| 1, 2 || 2 || 2
|-
| 0x78 || 120 || holding || RW || u16 ||  ||class="text-left"|  ||class="text-left"| Запись в регистр перезагружает устройство без сохранения состояния ||  || class="text-left"| любое, отличное от 0 ||  || 
|-
| 0x79 || 121 || input || R || u16 || 1 ||class="text-left"|  ||class="text-left"| {{#if:{{{MAP|}}}|Напряжение питания после стабилизатора 5V>|Текущее напряжение питания}} || мВ ||  ||  || 
|-
| 0x80 || 128 || holding || RW || u16 ||  ||class="text-left"|  ||class="text-left"| [[Wiren Board Device Modbus Address | Modbus-адрес устройства]] ||  ||  || class="text-left"| На наклейке<br>на корпусе<br>устройства || 
|-
| 0x81 || 129 || holding || RW || u16 ||  ||class="text-left"|  ||class="text-left"| Запись в регистр переводит в режим обновления прошивки на 2 минуты ||  || class="text-left"| любое, отличное от 0 || 0 ||  0
|-
| 0xC8 - 0xCD || 200-205 || input || R || null-terminated string ||  ||class="text-left"|  ||class="text-left"| Модель устройства ||  ||  ||  || 
|-
| 0xDC - 0xF1 || 220-241 || input || R || null-terminated string ||  ||class="text-left"|  ||class="text-left"| Время и дата сборки прошивки ||  ||  ||  || 
|-
| 0xDC - 0xF8 || 220-248 || input || R || null-terminated string ||  ||class="text-left"|  ||class="text-left"| Хэш коммита и название ветки откуда собрана прошивка (2 символа в регистре) ||  ||  ||  || 
|-
| 0xFA - 0x0109 || 250-265 || input || R || null-terminated string ||  ||class="text-left"|  ||class="text-left"| Версия прошивки ||  ||  ||  || 
|-
| 0x010A - 0x010D || 266-269 || input || R || u64 ||  ||class="text-left"|  ||class="text-left"| Расширение уникального идентификатора ||  ||  ||  || 
|-
| 0x010E - 0x010F || 270-271 || input || R || u32 ||  ||class="text-left"| Serial ||class="text-left"| Уникальный идентификатор (S/N){{#if:{{{MAP|}}}|<nowiki>**</nowiki>|}} ||  ||  ||  || 
|-
| 0x0122 - 0x012D || 290-301 || input || R || null-terminated string ||  ||class="text-left"|  ||class="text-left"| Сигнатура прошивки ||  ||  ||  || 
|-
| 0x014A - 0x0150 || 330-336 || input || R || null-terminated string ||  ||class="text-left"|  ||class="text-left"| Версия загрузчика ||  ||  ||  || 
|-
|}

Версия 10:42, 4 сентября 2021

Регистры, общие для всех устройств Wiren Board c Modbus RTU

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