WB-MRWM2 Modbus Management: различия между версиями

Материал из Wiren Board
(не показано 12 промежуточных версий 5 участников)
Строка 9: Строка 9:
| rowspan="2" | u16   
| rowspan="2" | u16   
| Канал 1
| Канал 1
| rowspan="2" | Напряжение (RMS)
| rowspan="2" | Cреднеквадратичное значение напряжения на фазе
| rowspan="2" | x0.01, В<br />Error: 0  
| rowspan="2" | x0.01, В<br />Error: 0  
| rowspan="2" |  
| rowspan="2" |  
Строка 23: Строка 23:
| rowspan="2" | u16   
| rowspan="2" | u16   
| Канал 1
| Канал 1
| rowspan="2" | Активная мощность
| rowspan="2" | Прямая активная мощность для фазы
| rowspan="2" | x0.1, Вт<br />Error: 0  
| rowspan="2" | x0.1, Вт<br />Error: 0  
| rowspan="2" |  
| rowspan="2" |  
Строка 37: Строка 37:
| rowspan="2" | u32   
| rowspan="2" | u32   
| Канал 1
| Канал 1
| rowspan="2" | Активная энергия
| rowspan="2" | Прямая активная энергия для фазы
| rowspan="2" | x0.001, кВт·ч<br />Error: 0  
| rowspan="2" | x0.1, Вт<br />Error: 0  
| rowspan="2" |  
| rowspan="2" |  
|-
|-
Строка 45: Строка 45:
| Канал 2
| Канал 2
|-
|-
| 80
| 0x0050
| rowspan="2" | Discrete Input
| rowspan="2" | RO
| rowspan="2" | bool 
| Канал 1
| rowspan="2" | Статус контроля напряжения
| rowspan="2" | 0 - выход за допустимые пределы<br />'''1 - норма'''
| rowspan="2" | 1.21.0
|-
| 81
| 0x0051
| Канал 2
|-
| 88
| 0x0058
| rowspan="2" | Discrete Input
| rowspan="2" | RO
| rowspan="2" | bool 
| Канал 1
| rowspan="2" | Статус блокировки
| rowspan="2" | '''0 - разблокирован'''<br />1 - блокирован
| rowspan="2" | 1.21.0
|-
| 89
| 0x0059
| Канал 2
|-
| 96
| 0x0060
| rowspan="2" | Discrete Input
| rowspan="2" | RO
| rowspan="2" | bool 
| Канал 1
| rowspan="2" | Фактическое состояние реле
| rowspan="2" | '''0 - разомкнуто'''<br />1 - замкнуто
| rowspan="2" | 1.21.0
|-
| 97
| 0x0061
| Канал 2
|-
|- class="cell-gray"
| 340
| 340
| 0x0154
| 0x0154
Строка 94: Строка 51:
| rowspan="2" | s16   
| rowspan="2" | s16   
| Канал 1
| Канал 1
| rowspan="2" | Калибровочное значение напряжения
| style="background: #C0C0C0;" rowspan="2" | Калибровочное значение напряжения
| rowspan="2" | -32768 - 32767 ('''0''')
| rowspan="2" | -32768 - 32767 ('''0''')
| rowspan="2" |  
| rowspan="2" |  
|- class="cell-gray"
|-
| 341
| 341
| 0x0155
| 0x0155
| Канал 2
| Канал 2
|- class="cell-gray"
|-
| 348
| 348
| 0x015C
| 0x015C
Строка 108: Строка 65:
| rowspan="2" | s16   
| rowspan="2" | s16   
| Канал 1
| Канал 1
| rowspan="2" | Калибровочное значение мощности
| style="background: #C0C0C0;" rowspan="2" | Калибровочное значение мощности
| rowspan="2" | -32768 - 32767 ('''0''')
| rowspan="2" | -32768 - 32767 ('''0''')
| rowspan="2" |  
| rowspan="2" |  
|- class="cell-gray"
|-
| 349
| 349
| 0x015D
| 0x015D
| Канал 2
| Канал 2
|- class="cell-gray"
|-
| 360 - 361
| 360 - 361
| 0x0168 - 0x0169
| 0x0168 - 0x0169
Строка 122: Строка 79:
| rowspan="2" | u32   
| rowspan="2" | u32   
| Канал 1
| Канал 1
| rowspan="2" | Частота с канала мощности микросхемы
| style="background: #C0C0C0;" rowspan="2" | Частота с канала мощности микросхемы
| rowspan="2" | x1.52588*10<sup>-05</sup>, Гц<br /> '''0'''
| rowspan="2" | x1.52588*10<sup>-05</sup>, Гц<br /> '''0'''
| rowspan="2" |  
| rowspan="2" |  
|- class="cell-gray"
|-
| 364 - 365
| 364 - 365
| 0x016C - 0x016D
| 0x016C - 0x016D
| Канал 2
| Канал 2
|- class="cell-gray"
|-
| 362 - 363
| 362 - 363
| 0x016A - 0x016B
| 0x016A - 0x016B
Строка 136: Строка 93:
| rowspan="2" | u32   
| rowspan="2" | u32   
| Канал 1
| Канал 1
| rowspan="2" | Частота с канала напряжения микросхемы
| style="background: #C0C0C0;" rowspan="2" | Частота с канала напряжения микросхемы
| rowspan="2" | x1.52588*10<sup>-05</sup>, Гц<br /> '''0'''
| rowspan="2" | x1.52588*10<sup>-05</sup>, Гц<br /> '''0'''
| rowspan="2" |  
| rowspan="2" |  
|- class="cell-gray"
|-
| 366 - 367
| 366 - 367
| 0x016E - 0x016F
| 0x016E - 0x016F
| Канал 2
| Канал 2
|-class="cell-gray"
|-
| 368 - 369
| 368 - 369
| 0x0170 - 0x0171
| 0x0170 - 0x0171
Строка 150: Строка 107:
| rowspan="2" | u32   
| rowspan="2" | u32   
| Канал 1
| Канал 1
| rowspan="2" | Частота сигнала с детектора нуля
| style="background: #C0C0C0;" rowspan="2" | Частота сигнала с детектора нуля
| rowspan="2" | x1.52588*10<sup>-05</sup>, Гц<br /> '''0'''
| rowspan="2" | x1.52588*10<sup>-05</sup>, Гц<br /> '''0'''
| rowspan="2" | 1.17.4  
| rowspan="2" | 1.17.4  
|- class="cell-gray"
|-
| 370 - 371
| 370 - 371
| 0x0172 - 0x0173
| 0x0172 - 0x0173
| Канал 2
|-
| 1696
| 0x06A0
| rowspan="2" | Holding
| rowspan="2" | RW
| rowspan="2" | bool 
| Канал 1
| rowspan="2" | Блокировка по напряжению
| rowspan="2" | '''0 - не активна'''<br />1 - активна
| rowspan="2" | 1.21.0
|-
| 1697
| 0x06A1
| Канал 2
|-
| 1704
| 0x06A8
| rowspan="2" | Holding
| rowspan="2" | RW
| rowspan="2" | u16 
| Канал 1
| rowspan="2" | Нижний допустимый предел (В/100)
| rowspan="2" | 12000...22000 '''(20700)'''
| rowspan="2" | 1.21.0
|-
| 1705
| 0x06A9
| Канал 2
|-
| 1712
| 0x06B0
| rowspan="2" | Holding
| rowspan="2" | RW
| rowspan="2" | u16 
| Канал 1
| rowspan="2" | Верхний допустимый предел (В/100)
| rowspan="2" | 23000...27700 '''(25300)'''
| rowspan="2" | 1.21.0
|-
| 1713
| 0x06B1
| Канал 2
|-
| 1720
| 0x06B8
| rowspan="2" | Holding
| rowspan="2" | RW
| rowspan="2" | u16 
| Канал 1
| rowspan="2" | Допустимая длительность провала (с/10)
| rowspan="2" | 5...100 '''(50)'''
| rowspan="2" | 1.21.0
|-
| 1721
| 0x06B9
| Канал 2
|-
| 1728
| 0x06C0
| rowspan="2" | Holding
| rowspan="2" | RW
| rowspan="2" | u16 
| Канал 1
| rowspan="2" | Задержка включения (с/10)
| rowspan="2" | 0...9990 '''(0)'''
| rowspan="2" | 1.21.0
|-
| 1729
| 0x06C1
| Канал 2
|-
| 1736
| 0x06C8
| rowspan="2" | Holding
| rowspan="2" | RW
| rowspan="2" | u16 
| Канал 1
| rowspan="2" | Задержка повторного включения (с/10)
| rowspan="2" | 0...9990 '''(0)'''
| rowspan="2" | 1.21.0
|-
| 1737
| 0x06C9
| Канал 2
|-
| 1744
| 0x06D0
| rowspan="2" | Input
| rowspan="2" | RO
| rowspan="2" | u16 
| Канал 1
| rowspan="2" | Таймер задержки включения
| rowspan="2" | x0.1, c<br />Error: 0
| rowspan="2" | 1.21.0
|-
| 1745
| 0x06D1
| Канал 2
|-
| 1752
| 0x06D8
| rowspan="2" | Input
| rowspan="2" | RO
| rowspan="2" | u16 
| Канал 1
| rowspan="2" | Таймер задержки повторного включения
| rowspan="2" | x0.1, c<br />Error: 0
| rowspan="2" | 1.21.0
|-
| 1753
| 0x06D9
| Канал 2
| Канал 2
|-
|-
|}
|}
Серым цветом отмечены служебные регистры. Служебные регистры предназначены для использования производителем. Их наличие, назначение, формат и содержимое могут измениться в новых ревизиях устройств или версиях прошивки.
== Общие регистры модулей реле ==
{{Wbincludes:Relay Modbus Registers}}
{{Wbincludes:Relay Modbus Registers}}
{{Wbincludes:Header Registers Universal|note=true|no_description=true|header=Параметры подключения, версия прошивки и другие служебные регистры}}
 
{{Wbincludes: Registers Connection Settings}}
{{Wbincludes:Common Modbus Registers}}
{{Wbincludes: Registers FW Version For Supported Device With Bootloader}}
{{Wbincludes: Registers Service Main}}
{{Wbincludes: Registers Timeout For Device With Bootloader}}
{{Wbincludes: Registers Сontinuous Reading Mode For Device With Bootloader}}
{{Wbincludes: Registers Vin}}
{{Wbincludes: Registers Temperature MCU}}
|}

Версия 12:37, 1 апреля 2022

Описание

Условные обозначения
RO / RW Read only / Read/Write
Выделено жирным Значение регистра по умолчанию
xN Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.

Не указан — считать равным 1

Регистр поддерживает отправку данных с помощью событий Быстрого Modbus.
FW Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда.
Error: Значение при ошибке
Серый цвет ячейки Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки
Modbus-регистры устройства
Адрес Параметры регистра no_description Канал Описание Значения FW
Dec Hex Тип Доступ Формат
56 0x0038 Input RO u16 Канал 1 Cреднеквадратичное значение напряжения на фазе x0.01, В
Error: 0
57 0x0039 Канал 2
64 0x0040 Input RO u16 Канал 1 Прямая активная мощность для фазы x0.1, Вт
Error: 0
65 0x0041 Канал 2
72 0x0048 Input RO u32 Канал 1 Прямая активная энергия для фазы x0.1, Вт
Error: 0
74 0x004A Канал 2
340 0x0154 Holding RW s16 Канал 1 Калибровочное значение напряжения -32768 - 32767 (0)
341 0x0155 Канал 2
348 0x015C Holding RW s16 Канал 1 Калибровочное значение мощности -32768 - 32767 (0)
349 0x015D Канал 2
360 - 361 0x0168 - 0x0169 Input RO u32 Канал 1 Частота с канала мощности микросхемы x1.52588*10-05, Гц
0
364 - 365 0x016C - 0x016D Канал 2
362 - 363 0x016A - 0x016B Input RO u32 Канал 1 Частота с канала напряжения микросхемы x1.52588*10-05, Гц
0
366 - 367 0x016E - 0x016F Канал 2
368 - 369 0x0170 - 0x0171 Input RO u32 Канал 1 Частота сигнала с детектора нуля x1.52588*10-05, Гц
0
1.17.4
370 - 371 0x0172 - 0x0173 Канал 2

Серым цветом отмечены служебные регистры. Служебные регистры предназначены для использования производителем. Их наличие, назначение, формат и содержимое могут измениться в новых ревизиях устройств или версиях прошивки.

Общие регистры модулей реле

Условные обозначения
RO / RW Read only / Read/Write
Выделено жирным Значение регистра по умолчанию
xN Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.

Не указан — считать равным 1

Регистр поддерживает отправку данных с помощью событий Быстрого Modbus.
FW Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда.
Error: Значение при ошибке
Серый цвет ячейки Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки
Общие регистры модулей реле
Адрес Параметры регистра no_description Канал Описание Значения FW
Dec Hex Тип Доступ Формат
0 0x0000 Coil RW bool Канал 1 Команда

Начиная с FW 1.21.0 команда и состояние реле хранятся в разных регистрах, поскольку реле может быть блокировано функцией контроля напряжения
0 - разомкнуть,
1 - замкнуть
1 0x0001 Канал 2
2 0x0002 Канал 3
3 0x0003 Канал 4
4 0x0004 Канал 5
5 0x0005 Канал 6
0 0x0000 Discrete
input
RO bool Вход 1 Состояние входа реле

0 - разомкнут,
1 - замкнут,
Error: 0

1 0x0001 Вход 2
2 0x0002 Вход 3
3 0x0003 Вход 4
4 0x0004 Вход 5
5 0x0005 Вход 6
7 0x0007 Вход 0
4 0x0004 Input RW u16 Статус внешнего (низковольтного) источника питания
(только для реле со встроенным блоком питания)

0: нет подключения внешнего источника питания
1: внешний источник питания подключен

1.18.4
5 0x0005 Holding RW u16 Служебный регистр, значение должно быть 0 0
6 0x0006 Holding RW u16 Состояния выходов при подаче питания

0: перевести в безопасное состояние,
1: восстановить последнее состояние,
2: установить состояние выхода согласно состоянию входа (только если настроен режим входа 1: выключатель с фиксацией)

Безопасное состояние выхода настраивается в регистрах 930–935.

До FW 1.18.4 были режимы 0 и 1, режим 0 назывался «не восстанавливать состояние реле», а регистров 930–935 не было.

1.5.3
8 0x0008 Holding RW u16 Таймаут потери связи [c] 1 - 65534
10
Чтобы отключить безопасный режим — настройте поведение каналов в регистрах «Действие выхода при переходе в безопасный режим» и «Управление с входов в безопасном режиме»
9 0x0009 Holding RW u16 Вход 1 Режим работы входа.
В регистре 5 должно стоять значение по умолчанию (0).

0: кнопки без фиксации,
1: переключатель с фиксацией,
2: отключить все выходы,
3: управление отключено, вход измеряет частоту,
4: управлять по mapping-матрице,
5: не используется в реле
6: управлять по mapping-матрице для кнопок
До FW 1.12.0 режимом по умолчанию был 0

10 0x000A Вход 2
11 0x000B Вход 3
12 0x000C Вход 4
13 0x000D Вход 5
14 0x000E Вход 6
16 0x0010 Вход 0 Режим работы цифрового входа 0

2: отключить все выходы,
3: управление отключено, вход измеряет частоту,
4: управлять по mapping-матрице,
6: управлять по mapping-матрице для кнопок

1.9.0
19 0x0013 Holding RW u16 Выбор причины перехода в безопасный режим.
Только для WB-MR6C v.3
0: Потеря связи или пропадание низковольтного питания
1: Пропадание низковольтного питания
2: Потеря связи
1.18.4
20 0x0014 Holding RW u16 Вход 1 Время подавления дребезга [мс] 0 - 2000 (50)
0 - 250 (50) до FW 1.19.0
0 - 100 (50) до FW 1.17.8
1.13.0
21 0x0015 Вход 2
22 0x0016 Вход 3
23 0x0017 Вход 4
24 0x0018 Вход 5
25 0x0019 Вход 6
27 0x001B Вход 0
32 0x0020 Input RO u16 Вход 1 Счетчик срабатываний входа 0 − 65535 по кругу
Error: 0
33 0x0021 Вход 2
34 0x0022 Вход 3
35 0x0023 Вход 4
36 0x0024 Вход 5
37 0x0025 Вход 6
39 0x0027 Вход 0
40 0x0028 Input RO u32 Вход 1 Целая часть значения частоты сигнала x1.52588*10-05, Гц
Error: 0
1.15.0
42 0x002A Вход 2
44 0x002C Вход 3
46 0x002E Вход 4
48 0x0030 Вход 5
50 0x0032 Вход 6
54 0x0036 Вход 0
41 0x0029 Input RO u16 Вход 1 Дробная часть значения частоты сигнала 1 Гц = 65536 (2 ^ 16) Error: 0
43 0x002B Вход 2
45 0x002D Вход 3
47 0x002F Вход 4
49 0x0031 Вход 5
51 0x0033 Вход 6
55 0x0037 Вход 0
119 0x0077 Input RO u16 Минимальное напряжение МК с момента включения мВ ≥ 1.21.3
464 0x01D0 Input RO u16 Вход 1 Счётчик коротких нажатий 0 − 65535 по кругу 1.17.0
465 0x01D1 Вход 2
466 0x01D2 Вход 3
467 0x01D3 Вход 4
468 0x01D4 Вход 5
469 0x01D5 Вход 6
471 0x01D7 Вход 0
480 0x01E0 Input RO u16 Вход 1 Счётчик длинных нажатий 0 − 65535 по кругу
481 0x01E1 Вход 2
482 0x01E2 Вход 3
483 0x01E3 Вход 4
484 0x01E4 Вход 5
485 0x01E5 Вход 6
487 0x01E7 Вход 0
496 0x01F0 Input RO u16 Вход 1 Счётчик двойных нажатий 0 − 65535 по кругу
497 0x01F1 Вход 2
498 0x01F2 Вход 3
499 0x01F3 Вход 4
500 0x01F4 Вход 5
501 0x01F5 Вход 6
503 0x01F7 Вход 0
512 0x0200 Input RO u16 Вход 1 Счётчик короткого, а затем длинного нажатий 0 − 65535 по кругу
513 0x0201 Вход 2
514 0x0202 Вход 3
515 0x0203 Вход 4
516 0x0204 Вход 5
517 0x0205 Вход 6
519 0x0207 Вход 0
384 - 447 0x0180 - 0x01BF Holding RW u16 Регистры mapping-матрицы 0 1.9.0
544 - 607 0x0220 - 0x025F Holding RW u16 Регистры mapping-матрицы для коротких нажатий 0 1.17.0
608 - 671 0x0260 - 0x029F Holding RW u16 Регистры mapping-матрицы для длинных нажатий 0
672 - 735 0x02A0 - 0x02DF Holding RW u16 Регистры mapping-матрицы для двойных нажатий 0
736 - 799 0x02E0 - 0x031F Holding RW u16 Регистры mapping-матрицы для сначала короткого, потом длинного нажатий 0
800 - 863 0x0320 - 0x035F Holding RW u16 Регистры mapping-матрицы для размыкания кнопки 0 1.19.0
864 - 927 0x0360 - 0x039F Holding RW u16 Регистры mapping-матрицы для замыкания кнопки 0
930 0x03A2 Holding RW u16 Канал 1 Настройка безопасного состояния выхода

0: Выключен (NO контакты разомкнуты)
1: Включен (NO контакты замкнуты)

1.18.4
931 0x03A3 Канал 2
932 0x03A4 Канал 3
933 0x03A5 Канал 4
934 0x03A6 Канал 5
935 0x03A7 Канал 6
938 0x03AA Holding RW u16 Канал 1 Действие выхода при переходе в безопасный режим

0: Ничего не делать
1: Перевести выход в безопасное состояние

1.18.4
939 0x03AB Канал 2
940 0x03AC Канал 3
941 0x03AD Канал 4
942 0x03AE Канал 5
943 0x03AF Канал 6
946 0x03B2 Holding RW u16 Канал 1 Управление с входов в безопасном режиме

0: Не блокировать
1: Блокировать в безопасном режиме
2: Разрешить только в безопасном режиме

1.18.4
947 0x03B3 Канал 2
948 0x03B4 Канал 3
949 0x03B5 Канал 4
950 0x03B6 Канал 5
951 0x03B7 Канал 6
1100 0x044C Holding RW u16 Вход 1 Время длинного нажатия [мс].

Если нажатие длится больше указанного времени - считаем его длинным
500 - 5000 (1000) 1.17.0
1101 0x044D Вход 2
1102 0x044E Вход 3
1103 0x044F Вход 4
1104 0x0450 Вход 5
1105 0x0451 Вход 6
1107 0x0453 Вход 0
1140 0x0474 Holding RW u16 Вход 1 Время ожидания второго нажатия [мс].

Если за указанное время второго нажатия не было - считаем нажатие одиночным. 0 - отключит все нажатия, кроме короткого и длинного
0 - 2000 (300)
1141 0x0475 Вход 2
1142 0x0476 Вход 3
1143 0x0477 Вход 4
1144 0x0478 Вход 5
1145 0x0479 Вход 6
1147 0x047B Вход 0
Общие для всех 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 формате