MWAC Registers: различия между версиями
Serbosh (обсуждение | вклад) |
|||
Строка 115: | Строка 115: | ||
| 384-429 || || holding || RW || style="text-align:center"| 0 || || Регистры [[#Mapping-матрица для WB-MWAC | mapping-матрицы]] | | 384-429 || || holding || RW || style="text-align:center"| 0 || || Регистры [[#Mapping-матрица для WB-MWAC | mapping-матрицы]] | ||
|- | |- | ||
|} | |||
{{Wbincludes:Header Registers Universal|fw=true|channel=true}} | |||
|- | |||
| 0 | |||
| 0x0000 | |||
| Coil | |||
| bool | |||
| RW | |||
| K1 | |||
| rowspan="2" | Состояние выхода | |||
| rowspan="2" | | |||
* '''0 — выкл., замкнуты контакты C и NC''' | |||
* 1 — вкл., замкнуты контакты C и NO | |||
|- | |||
| 1 | |||
| 0x0001 | |||
| Coil | |||
| bool | |||
| RW | |||
| K2 | |||
|- | |||
| 2 | |||
| 0x0002 | |||
| Coil | |||
| bool | |||
| RW | |||
| Alarm | |||
| Состояние аварии: зуммер и индикатор | |||
| '''0''' | |||
|- | |||
| 0 | |||
| 0x0000 | |||
| Discrete input | |||
| bool | |||
| RO | |||
| S1 | |||
| rowspan="6" | Cостояние входа | |||
| rowspan="6" | | |||
* '''0 — выкл.''' | |||
* 1 — вкл. | |||
|- | |||
| 1 | |||
| 0x0001 | |||
| Discrete input | |||
| bool | |||
| RO | |||
| S2 | |||
|- | |||
| 2 | |||
| 0x0002 | |||
| Discrete input | |||
| bool | |||
| RO | |||
| S3 | |||
|- | |||
| 3 | |||
| 0x0003 | |||
| Discrete input | |||
| bool | |||
| RO | |||
| F1 | |||
|- | |||
| 4 | |||
| 0x0004 | |||
| Discrete input | |||
| bool | |||
| RO | |||
| F2 | |||
|- | |||
| 5 | |||
| 0x0005 | |||
| Discrete input | |||
| bool | |||
| RO | |||
| F3 | |||
|- | |||
| 5 | |||
| 0x0005 | |||
| Holding | |||
| u16 | |||
| RW | |||
| | |||
| Служебный регистр, должно быть значение 0 | |||
| 0 | |||
|- | |||
| 6 | |||
| 0x0006 | |||
| Holding | |||
| u16 | |||
| RW | |||
| | |||
| Режим работы реле при отключении питания | |||
| | |||
* '''0 — не восстанавливать состояние реле''' | |||
* 1 — восстанавливать состояние реле | |||
|- | |||
| 8 | |||
| 0x0008 | |||
| Holding | |||
| u16 | |||
| RW | |||
| | |||
| Таймаут для безопасного режима. 0 — отключен. | |||
| с <br />'''0''' | |||
|- | |||
| 9 | |||
| 0x0009 | |||
| Holding | |||
| u16 | |||
| RW | |||
| S1 | |||
| rowspan="6" | Режим взаимодействия отдельного цифрового входа с соответствующим релейным выходом. В регистре 5 должно стоять значение по умолчанию (0). | |||
| rowspan="6" | | |||
* 0: кнопки без фиксации | |||
* 1: выключатель с фиксацией | |||
* 2: отключать все реле при нажатии | |||
* 3: отключить взаимодействие | |||
* '''4: управлять по [[#Mapping-матрица для WB-MWAC | mapping-матрице]]''' (для регистров 9 - 11) | |||
* '''5: управлять по mapping-матрице, через 20 минут повторно имитировать состояние ввода''' (для регистров 12 - 14) | |||
|- | |||
| 10 | |||
| 0x000A | |||
| Holding | |||
| u16 | |||
| RW | |||
| S2 | |||
|- | |||
| 11 | |||
| 0x000B | |||
| Holding | |||
| u16 | |||
| RW | |||
| S3 | |||
|- | |||
| 12 | |||
| 0x000C | |||
| Holding | |||
| u16 | |||
| RW | |||
| F1 | |||
|- | |||
| 13 | |||
| 0x000D | |||
| Holding | |||
| u16 | |||
| RW | |||
| F2 | |||
|- | |||
| 14 | |||
| 0x000E | |||
| Holding | |||
| u16 | |||
| RW | |||
| F3 | |||
|- | |||
| 20 | |||
| 0x0014 | |||
| Holding | |||
| u16 | |||
| RW | |||
| S1 | |||
| rowspan="6" | Время защиты входа от дребезга | |||
| rowspan="6" | мс<br />0-100 ('''50''') | |||
|- | |||
| 21 | |||
| 0x0015 | |||
| Holding | |||
| u16 | |||
| RW | |||
| S2 | |||
|- | |||
| 22 | |||
| 0x0016 | |||
| Holding | |||
| u16 | |||
| RW | |||
| S3 | |||
|- | |||
| 23 | |||
| 0x0017 | |||
| Holding | |||
| u16 | |||
| RW | |||
| F1 | |||
|- | |||
| 24 | |||
| 0x0018 | |||
| Holding | |||
| u16 | |||
| RW | |||
| F2 | |||
|- | |||
| 25 | |||
| 0x0019 | |||
| Holding | |||
| u16 | |||
| RW | |||
| F3 | |||
|- | |||
| 32 | |||
| 0x0020 | |||
| Input | |||
| u16 | |||
| RO | |||
| S1 | |||
| rowspan="6" | Cчетчик срабатываний входа | |||
| rowspan="6" | | |||
|- | |||
| 33 | |||
| 0x0021 | |||
| Input | |||
| u16 | |||
| RO | |||
| S2 | |||
|- | |||
| 34 | |||
| 0x0022 | |||
| Input | |||
| u16 | |||
| RO | |||
| S3 | |||
|- | |||
| 35 | |||
| 0x0023 | |||
| Input | |||
| u16 | |||
| RO | |||
| F1 | |||
|- | |||
| 36 | |||
| 0x0024 | |||
| Input | |||
| u16 | |||
| RO | |||
| F2 | |||
|- | |||
| 37 | |||
| 0x0025 | |||
| Input | |||
| u16 | |||
| RO | |||
| F3 | |||
|- | |||
| 40 | |||
| 0x0028 | |||
| Input | |||
| u32 | |||
| RO | |||
| S1 | |||
| rowspan="6" | Целая часть значения частоты сигнала | |||
| rowspan="6" | | |||
|- | |||
| 42 | |||
| 0x002A | |||
| Input | |||
| u32 | |||
| RO | |||
| S2 | |||
|- | |||
| 44 | |||
| 0x002C | |||
| Input | |||
| u32 | |||
| RO | |||
| S3 | |||
|- | |||
| 46 | |||
| 0x002E | |||
| Input | |||
| u32 | |||
| RO | |||
| F1 | |||
|- | |||
| 48 | |||
| 0x0030 | |||
| Input | |||
| u32 | |||
| RO | |||
| F2 | |||
|- | |||
| 50 | |||
| 0x0032 | |||
| Input | |||
| u32 | |||
| RO | |||
| F3 | |||
|- | |||
| 41 | |||
| 0x0029 | |||
| Input | |||
| u32 | |||
| RO | |||
| S1 | |||
| rowspan="6" | Дробная часть значения частоты сигнала. 1 Гц = 65536 (2 ^ 16) | |||
| rowspan="6" | | |||
|- | |||
| 43 | |||
| 0x002B | |||
| Input | |||
| u32 | |||
| RO | |||
| S2 | |||
|- | |||
| 45 | |||
| 0x002D | |||
| Input | |||
| u32 | |||
| RO | |||
| S3 | |||
|- | |||
| 47 | |||
| 0x002F | |||
| Input | |||
| u32 | |||
| RO | |||
| F1 | |||
|- | |||
| 49 | |||
| 0x0031 | |||
| Input | |||
| u32 | |||
| RO | |||
| F2 | |||
|- | |||
| 51 | |||
| 0x0033 | |||
| Input | |||
| u32 | |||
| RO | |||
| F3 | |||
|- | |||
| 312 - 313 | |||
| 0x0138 - 0x0139 | |||
| Holding | |||
| u32 | |||
| RW | |||
| | |||
| Сдвиг начала отсчета [1] , либо сброс [2] счетчика канала P1 | |||
| | |||
|- | |||
| 314 - 315 | |||
| 0x013A - 0x013B | |||
| Holding | |||
| u32 | |||
| RW | |||
| | |||
| Сдвиг начала отсчета [1] , либо сброс [2] счетчика канала P2 | |||
| | |||
|- | |||
| 316 - 317 | |||
| 0x013C - 0x013D | |||
| Input | |||
| u32 | |||
| RO | |||
| | |||
| Счетчик импульсов канала P1 | |||
| | |||
|- | |||
| 318 - 319 | |||
| 0x013E - 0x013F | |||
| Input | |||
| u32 | |||
| RO | |||
| | |||
| Счетчик импульсов канала P2 | |||
| | |||
|- | |||
| 384 - 429 | |||
| 0x0180 - 0x01AD | |||
| Holding | |||
| u16 | |||
| RW | |||
| | |||
| Регистры mapping-матрицы | |||
| | |||
|} | |} | ||
Версия 11:15, 5 апреля 2022
Регистры входов и выходов
Регистр/адрес | Вход/выход | Тип | Чтение/запись | Значение по умолчанию | Формат | Назначение |
---|---|---|---|---|---|---|
0 | K1 | coil | RW | 0 |
|
Состояние выхода |
1 | K2 | coil | RW | 0 |
| |
2 | Alarm | coil | RW | 0 | Состояние аварии: зуммер и индикатор | |
0 | S1 | discrete | R | 0 | 1 — ON, 0 — OFF | Cостояние входа |
1 | S2 | discrete | R | |||
2 | S3 | discrete | R | |||
3 | F1 | discrete | R | |||
4 | F2 | discrete | R | |||
5 | F3 | discrete | R | |||
5 | holding | RW | 0 | Должно быть значение 0 | Служебный регистр | |
6 | holding | RW | 0 |
|
Режим работы реле при отключении питания | |
8 | holding | RW | 0 | секунды | Таймаут для безопасного режима. 0 — отключен. | |
9 | S1 | holding | RW | 4 |
|
Режим взаимодействия отдельного цифрового входа с соответствующим релейным выходом.
В регистре 5 должно стоять значение по умолчанию (0). |
10 | S2 | holding | RW | |||
11 | S3 | holding | RW | |||
12 | F1 | holding | RW | 5 | ||
13 | F2 | holding | RW | |||
14 | F3 | holding | RW | |||
20 | S1 | holding | RW | 50 | 0-100 | Время защиты входа от дребезга в миллисекундах |
21 | S2 | holding | RW | |||
22 | S3 | holding | RW | |||
23 | F1 | holding | RW | |||
24 | F2 | holding | RW | |||
25 | F3 | holding | RW | |||
32 | S1 | input | R | 0 | 16-bit unsigned int | Cчетчик срабатываний входа |
33 | S2 | input | R | |||
34 | S3 | input | R | |||
35 | F1 | input | R | |||
36 | F2 | input | R | |||
37 | F3 | input | R | |||
40 | S1 | input | R | 0 | 16-bit unsigned int | Целая часть значения частоты сигнала |
42 | S2 | input | R | |||
44 | S3 | input | R | |||
46 | F1 | input | R | |||
48 | F2 | input | R | |||
50 | F3 | input | R | |||
41 | S1 | input | R | 0 | 16-bit unsigned int | Дробная часть значения частоты сигнала. 1 Гц = 65536 (2 ^ 16) |
43 | S2 | input | R | |||
45 | S3 | input | R | |||
47 | F1 | input | R | |||
49 | F2 | input | R | |||
51 | F3 | input | R | |||
312-313 | holding | RW | 0 | 32-bit unsigned int | Сдвиг начала отсчета [1] , либо сброс [2] счетчика канала P1 | |
314-315 | holding | RW | 0 | 32-bit unsigned int | Сдвиг начала отсчета [1] , либо сброс [2] счетчика канала P2 | |
316-317 | input | R | 0 | 32-bit unsigned int | Счетчик импульсов канала P1 | |
318-319 | input | R | 0 | 32-bit unsigned int | Счетчик импульсов канала P2 | |
384-429 | holding | RW | 0 | Регистры mapping-матрицы |
RO / RW | Read only / Read/Write |
Выделено жирным | Значение регистра по умолчанию |
xN | Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.
Не указан — считать равным 1 |
⚡ | Регистр поддерживает отправку данных с помощью событий Быстрого Modbus. |
FW | Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда. |
Error: | Значение при ошибке |
Серый цвет ячейки | Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки |
Адрес | Параметры регистра no_description | Канал | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||||
0 | 0x0000 | Coil | bool | RW | K1 | Состояние выхода |
| |
1 | 0x0001 | Coil | bool | RW | K2 | |||
2 | 0x0002 | Coil | bool | RW | Alarm | Состояние аварии: зуммер и индикатор | 0 | |
0 | 0x0000 | Discrete input | bool | RO | S1 | Cостояние входа |
| |
1 | 0x0001 | Discrete input | bool | RO | S2 | |||
2 | 0x0002 | Discrete input | bool | RO | S3 | |||
3 | 0x0003 | Discrete input | bool | RO | F1 | |||
4 | 0x0004 | Discrete input | bool | RO | F2 | |||
5 | 0x0005 | Discrete input | bool | RO | F3 | |||
5 | 0x0005 | Holding | u16 | RW | Служебный регистр, должно быть значение 0 | 0 | ||
6 | 0x0006 | Holding | u16 | RW | Режим работы реле при отключении питания |
| ||
8 | 0x0008 | Holding | u16 | RW | Таймаут для безопасного режима. 0 — отключен. | с 0 | ||
9 | 0x0009 | Holding | u16 | RW | S1 | Режим взаимодействия отдельного цифрового входа с соответствующим релейным выходом. В регистре 5 должно стоять значение по умолчанию (0). |
| |
10 | 0x000A | Holding | u16 | RW | S2 | |||
11 | 0x000B | Holding | u16 | RW | S3 | |||
12 | 0x000C | Holding | u16 | RW | F1 | |||
13 | 0x000D | Holding | u16 | RW | F2 | |||
14 | 0x000E | Holding | u16 | RW | F3 | |||
20 | 0x0014 | Holding | u16 | RW | S1 | Время защиты входа от дребезга | мс 0-100 (50) | |
21 | 0x0015 | Holding | u16 | RW | S2 | |||
22 | 0x0016 | Holding | u16 | RW | S3 | |||
23 | 0x0017 | Holding | u16 | RW | F1 | |||
24 | 0x0018 | Holding | u16 | RW | F2 | |||
25 | 0x0019 | Holding | u16 | RW | F3 | |||
32 | 0x0020 | Input | u16 | RO | S1 | Cчетчик срабатываний входа | ||
33 | 0x0021 | Input | u16 | RO | S2 | |||
34 | 0x0022 | Input | u16 | RO | S3 | |||
35 | 0x0023 | Input | u16 | RO | F1 | |||
36 | 0x0024 | Input | u16 | RO | F2 | |||
37 | 0x0025 | Input | u16 | RO | F3 | |||
40 | 0x0028 | Input | u32 | RO | S1 | Целая часть значения частоты сигнала | ||
42 | 0x002A | Input | u32 | RO | S2 | |||
44 | 0x002C | Input | u32 | RO | S3 | |||
46 | 0x002E | Input | u32 | RO | F1 | |||
48 | 0x0030 | Input | u32 | RO | F2 | |||
50 | 0x0032 | Input | u32 | RO | F3 | |||
41 | 0x0029 | Input | u32 | RO | S1 | Дробная часть значения частоты сигнала. 1 Гц = 65536 (2 ^ 16) | ||
43 | 0x002B | Input | u32 | RO | S2 | |||
45 | 0x002D | Input | u32 | RO | S3 | |||
47 | 0x002F | Input | u32 | RO | F1 | |||
49 | 0x0031 | Input | u32 | RO | F2 | |||
51 | 0x0033 | Input | u32 | RO | F3 | |||
312 - 313 | 0x0138 - 0x0139 | Holding | u32 | RW | Сдвиг начала отсчета [1] , либо сброс [2] счетчика канала P1 | |||
314 - 315 | 0x013A - 0x013B | Holding | u32 | RW | Сдвиг начала отсчета [1] , либо сброс [2] счетчика канала P2 | |||
316 - 317 | 0x013C - 0x013D | Input | u32 | RO | Счетчик импульсов канала P1 | |||
318 - 319 | 0x013E - 0x013F | Input | u32 | RO | Счетчик импульсов канала P2 | |||
384 - 429 | 0x0180 - 0x01AD | Holding | u16 | RW | Регистры mapping-матрицы |
Примечания:
1. При записи числа X в формате big-endian в регистры 312-313 (канал P1) X запишется и в регистры 316-317, далее счет импульсов происходит от этого значения.
2. Для сброса (обнуления) значения счетчика канала P1 необходимо записать 0 в регистры 312-313, при этом до записи значение в этих регистрах должно быть ненулевым.
Написанное выше справедливо и для канала P2.
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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 формате |