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

Материал из Wiren Board
 
(не показана 21 промежуточная версия этого же участника)
Строка 5: Строка 5:
Особенности:
Особенности:
* На странице MAP-ов использовать параметр <code>MAP=true</code> — изменится описание регистра 121 и появится звёздочка в описании регистров 270-271.
* На странице MAP-ов использовать параметр <code>MAP=true</code> — изменится описание регистра 121 и появится звёздочка в описании регистров 270-271.
* На странице WB-LED использовать параметр <code>LED=true</code> — будет добавлено примечание.
* На странице WB-MIO использовать параметр <code>MIO=true</code> — будет добавлено примечание.
* На странице WB-MGE использовать параметр <code>MGE=true</code> — будет добавлено примечание.
* На странице WB-MCM использовать параметр <code>MCM=true</code> — будет добавлено примечание.
* Если на странице, куда вставляете таблицу, нужно в неё добавить ещё строки — используйте параметр <code>addlines=true</code>. Это отменит закрывающий тег таблицы и можно будет добавить новые строки после неё.
* Если на странице, куда вставляете таблицу, нужно в неё добавить ещё строки — используйте параметр <code>addlines=true</code>. Это отменит закрывающий тег таблицы и можно будет добавить новые строки после неё.
</noinclude>{{#if:{{{en|}}}|{{Wbincludes:Header Registers Universal|no_description=true|header=Registers common to all Wiren Board Modbus devices| en=true}} |{{Wbincludes:Header Registers Universal|no_description=true|header=Общие для всех Modbus-устройств Wiren Board регистры}}}}
</noinclude>


 
{{#if:{{{en|}}}|{{Wbincludes:Header Registers Universal|no_description=true|header=Registers common to all Wiren Board Modbus devices| en=true}} |{{Wbincludes:Header Registers Universal|no_description=true|header=Общие для всех Modbus-устройств Wiren Board регистры}}}}
|-
{{Wbincludes:Modbus-status}}
| 104­-105
<!--
| 0x0068 - 0x0069
{{#if:{{{MIO|}}}
| Input
|{{Wbincludes:Modbus-config}}|{{#if:{{{LED|}}}
| RO
  |{{Wbincludes:Modbus-config}}|{{#if:{{{MGE|}}}
| u32
    |{{Wbincludes:Modbus-config}}|{{#if:{{{MCM|}}}
| {{#if:{{{en|}}}|Working time from turn on moment|Время работы с момента загрузки}}
      |{{Wbincludes:Modbus-config}}|{{Wbincludes:Modbus-config-new}}
| {{#if:{{{en|}}}|seconds|секунды}}
      }}
|-
     }}
| 110
   }}
| 0x006E
}}
| Holding
-->
| RW
{{#if:{{{MAI|}}}
| u16
|{{Wbincludes:Modbus-config-new}}
| {{#if:{{{en|}}}|Baud rate of RS-485.|Скорость порта RS-485.}}<br>[[UART_Communication_Settings | {{#if:{{{en|}}}|Setting connection parameters RS-485|Настройка параметров подключения по RS-485}}]]
|{{Wbincludes:Modbus-config}}
| x100, {{#if:{{{en|}}}|Bauds|Боды}}<br />12 — 1200 {{#if:{{{en|}}}|bps|бит/с}},<br />24 — 2400 {{#if:{{{en|}}}|bps|бит/с}},<br />48 — 4800 {{#if:{{{en|}}}|bps|бит/с}}, <br />'''96 — 9600 {{#if:{{{en|}}}|bps|бит/с}}''', <br />192 — 19 200 {{#if:{{{en|}}}|bps|бит/с}}, <br />384 — 38 400 {{#if:{{{en|}}}|bps|бит/с}}, <br />576 — 57 600 {{#if:{{{en|}}}|bps|бит/с}},<br />1152 — 115 200 {{#if:{{{en|}}}|kbps|Кбит/с}}
}}
|-  
{{Wbincludes:Modbus-controll}}
| 111
{{#if:{{{MIO|}}}
| 0x006F
|
| Holding
|{{#if:{{{MAI|}}}
| RW
  |
| u16
  |{{Wbincludes:Modbus-red-123}}
| {{#if:{{{en|}}}|Parity bit configurating of RS-485|Настройка бита чётности порта RS-485}}
  }}
| '''0 — {{#if:{{{en|}}}|no parity bit|нет бита чётности}} (none)''',<br />1 — {{#if:{{{en|}}}|odd|нечётный}},<br />2 — {{#if:{{{en|}}}|even|чётный}}
}}
|-
{{#if:{{{MIO|}}}||{{Wbincludes:Modbus-red-124}}}}
| 112
{{#if:{{{MAP|}}}
| 0x0070
  |{{Wbincludes:Modbus-main|MAP=true}}
| Holding
  |{{Wbincludes:Modbus-main}}
| RW
}}
| u16
|}
| {{#if:{{{en|}}}|Number of stop bits|Количество стоп-битов порта RS-485}}
{{#if:{{{MAP|}}}
| 1, '''2'''
|(<nowiki>*</nowiki>) В счётчиках особый расчёт серийного номера устройства. Первый байт (старший в регистре 270) всегда '''FE'''. То есть считав из устройства, например, '''0xfe5f 0x3877''' заменяем "fe" на "00" и получаем серийный номер 0x5f3877 = 6240375₁₀
|-
|}}
| 113
| 0x0071
{{#if:{{{LED|}}}
| Holding
|
| RW
|{{Wbincludes:Modbus-hw-version}}
| u16
}}
| {{#if:{{{en|}}}|Response delay time|Время перед отправкой ответа на modbus запрос}}
| '''0''' - 254 мс
|-
| 114
| 0x0072
| Holding
| RW
| u16
| {{#if:{{{en|}}}|Continious read mode|Режим непрерывного чтения регистров с зазором}}
| '''0 - отключен''' <br /> 1 - включен
|-
| 120
| 0x0078
| Holding
| RW
| u16
| {{#if:{{{en|}}}|Reboot device without writing|Перезагрузка устройства без сохранения состояния}}
| {{#if:{{{en|}}}|anything, other than 0 reboots the device|любое, отличное от 0 перезагружает устройство}}
|-  
| 121
| 0x0079
| Input
| RO
| u16
| {{#if:{{{MAP|}}}
  |{{#if:{{{en|}}}
    |Voltage after stabilizer 5V
    |Напряжение после стабилизатора 5V}}
  |{{#if:{{{MAI6|}}}
  |{{#if:{{{en|}}}
    |Voltage after stabilizer 5V
     |Напряжение после стабилизатора 5V}}
   |{{#if:{{{en|}}}
    |Current supply voltage
    |Текущее напряжение питания}}
  }} }}
| {{#if:{{{en|}}}|mV|мВ}}
|-
| 122
| 0x007A
| Input
| RO
| u16
| {{#if:{{{en|}}}|Minimum input voltage since power on (except WB-MIO and WB-MAI)|Минимальное значение входного напряжения с момента включения (кроме WB-MIO и WB-MAI)}}
| {{#if:{{{en|}}}|mV|мВ}}
|-
| 123
| 0x007B
| Input
| RO
| u16
| {{#if:{{{en|}}}|Microcontroller voltage (except WB-MIO and WB-MAI)|Напряжение на микроконтроллере (кроме WB-MIO и WB-MAI)}}
| {{#if:{{{en|}}}|mV|мВ}}
|-
| 124
| 0x007C
| Input
| RO
| u16
| {{#if:{{{en|}}}|Internal microcontroller temperature (except WB-MIO and WB-MAI)|Внутренняя температура микроконтроллера (кроме WB-MIO и WB-MAI)}}
| x0.1, °C
|-
| 128
| 0x0080
| Holding
| RW
| u16
| {{#if:{{{en|}}}|Modbus address of the device ([[Wiren_Board_Device_Modbus_Address |more]])|Modbus-адрес устройства ([[Wiren_Board_Device_Modbus_Address |подробнее]])}}
|
|-
| 129
| 0x0081
| Holding
| RW
| u16
| {{#if:{{{en|}}}|Translation in firmware update mode for 2 minutes|Перевод в режим обновления прошивки на 2 минуты}}
| '''0 - {{#if:{{{en|}}}|off|выключен}}''', <br /> >0 - {{#if:{{{en|}}}|on|включен}}
|-  
| 200-205
| 0x00C8 - 0x00CD
| Input
| RO
| string
| {{#if:{{{en|}}}|Device model|Модель устройства}}
|
|-
| 220-241
| 0x00DC - 0x00F1
| Input
| RO
| string
| {{#if:{{{en|}}}|Firmware build time and date (only for very old firmware)|Время и дата сборки прошивки (только для очень старых прошивок)}}
|
|-
| 220-248
| 0x00DC - 0x00F8
| Input
| RO
| string
| {{#if:{{{en|}}}|The commit hash and the name of the branch where the firmware was built from (2 characters in the register)|Хэш коммита и название ветки откуда собрана прошивка (2 символа в регистре)}}
|
|-
| 250-265
| 0x00FA - 0x0109
| Input
| RO
| string
| {{#if:{{{en|}}}|Firmware version|Версия прошивки}}
|  
|-
| 266-269
| 0x010A - 0x010D
| Input
| RO
| u64
| {{#if:{{{en|}}}|Serial Number Extension|Расширение серийного номера}}
|
|-
| 270-271
| 0x010E - 0x010F
| Input
| RO
| u32
| {{#if:{{{en|}}}|Serial number|Серийный номер}} {{#if:{{{MAP|}}}|<nowiki>*</nowiki>|}}
|
|-
| 290-301
| 0x0122 - 0x012D
| Holding
| RO
| string
| {{#if:{{{en|}}}|Firmware signature|Сигнатура прошивки}}
|
|-
| 330-336
| 0x014A - 0x0150
| Holding
| RO
| string
| {{#if:{{{en|}}}|Bootloader version|Версия загрузчика}}
|
|-
{{#if:{{{addlines|}}}||{{!}}} }}

Текущая версия на 22:41, 12 декабря 2022

Описание

Шаблон вставляет таблицу общих для всех Modbus-устройств Wiren Board регистров.

Особенности:

  • На странице MAP-ов использовать параметр MAP=true — изменится описание регистра 121 и появится звёздочка в описании регистров 270-271.
  • На странице WB-LED использовать параметр LED=true — будет добавлено примечание.
  • На странице WB-MIO использовать параметр MIO=true — будет добавлено примечание.
  • На странице WB-MGE использовать параметр MGE=true — будет добавлено примечание.
  • На странице WB-MCM использовать параметр MCM=true — будет добавлено примечание.
  • Если на странице, куда вставляете таблицу, нужно в неё добавить ещё строки — используйте параметр addlines=true. Это отменит закрывающий тег таблицы и можно будет добавить новые строки после неё.


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