MCM8 Registers: различия между версиями
N.kulikov (обсуждение | вклад) |
|||
(не показано 9 промежуточных версий 3 участников) | |||
Строка 5: | Строка 5: | ||
| 0 | | 0 | ||
| 0x0000 | | 0x0000 | ||
| rowspan="8" | Discrete input | | rowspan="8" | Discrete input | ||
| rowspan="8" | RO | | rowspan="8" | RO | ||
| rowspan="8" | bool | | rowspan="8" | bool | ||
| Вход 1 | | Вход 1 | ||
| rowspan="8" | Состояние входа | | rowspan="8" | Состояние входа | ||
| rowspan="8" | 0 - разомкнут, <br />1 - замкнут | | rowspan="8" | 0 - разомкнут, <br />1 - замкнут | ||
| rowspan="8" | | | rowspan="8" | | ||
Строка 194: | Строка 194: | ||
| 60 - 61 | | 60 - 61 | ||
| 0x003C - 0x003D | | 0x003C - 0x003D | ||
| rowspan="8" | Input | | rowspan="8" | Input | ||
| rowspan="8" | RO | | rowspan="8" | RO | ||
| rowspan="8" | u32 | | rowspan="8" | u32 | ||
| Вход 1 | | Вход 1 | ||
| rowspan="8" | Счетчик срабатываний входа | | rowspan="8" | Счетчик срабатываний входа | ||
| rowspan="8" | | | rowspan="8" | | ||
| rowspan="8" | | | rowspan="8" | | ||
Строка 236: | Строка 236: | ||
| u16 | | u16 | ||
| | | | ||
| | | Запись 1 стирает значения счетчиков | ||
| | | '''0''' | ||
| | |||
|- | |||
| 113 | |||
| 0x0071 | |||
| Holding | |||
| RW | |||
| u16 | |||
| | | | ||
| Время задержки ответа на шине modbus | |||
| '''0''' - 254 мс | |||
| rowspan="2" | 1.4.0 | |||
|- | |- | ||
| | | 114 | ||
| | | 0x0072 | ||
| | | Holding | ||
| | | RW | ||
| u16 | | u16 | ||
| | | | ||
| | | Запись 1 включает режим непрерывного чтения регионов регистров | ||
| | | '''0 - выключен''' | ||
1 - включен | |||
|- | |- | ||
| 368 | | 368 | ||
Строка 254: | Строка 265: | ||
| rowspan="3" | Holding | | rowspan="3" | Holding | ||
| rowspan="3" | RW | | rowspan="3" | RW | ||
| | | u32 | ||
| rowspan="3" | Канал 1 | | rowspan="3" | Канал 1 | ||
| Положение энкодера в режиме AB | | Положение энкодера в режиме AB | ||
| rowspan=" | | rowspan="9" | | ||
| rowspan=" | | rowspan="15" | 1.5.0 | ||
|- | |- | ||
| 368 | | 368 | ||
| 0x0170 | | 0x0170 | ||
| | | u16 | ||
| Количество оборотов энкодера в режиме ABZ | | Количество оборотов энкодера в режиме ABZ | ||
|- | |- | ||
| 369 | | 369 | ||
| 0x0171 | | 0x0171 | ||
| | | u16 | ||
| Угол | | Угол энкодера в режиме ABZ | ||
|- | |- | ||
| 370 | | 370 | ||
Строка 274: | Строка 285: | ||
| rowspan="3" | Holding | | rowspan="3" | Holding | ||
| rowspan="3" | RW | | rowspan="3" | RW | ||
| | | u32 | ||
| rowspan="3" | Канал 2 | | rowspan="3" | Канал 2 | ||
| Положение энкодера в режиме AB | | Положение энкодера в режиме AB | ||
Строка 280: | Строка 291: | ||
| 370 | | 370 | ||
| 0x0172 | | 0x0172 | ||
| | | u16 | ||
| Количество оборотов энкодера в режиме ABZ | | Количество оборотов энкодера в режиме ABZ | ||
|- | |- | ||
| 371 | | 371 | ||
| 0x0173 | | 0x0173 | ||
| | | u16 | ||
| Угол | | Угол энкодера в режиме ABZ | ||
|- | |- | ||
| 372 | | 372 | ||
| 0x0174 | | 0x0174 | ||
| rowspan=" | | rowspan="3" | Holding | ||
| rowspan=" | | rowspan="3" | RW | ||
| | | u32 | ||
| rowspan=" | | rowspan="3" | Канал 3 | ||
| Положение энкодера в режиме AB | | Положение энкодера в режиме AB | ||
|- | |- | ||
| 372 | | 372 | ||
| 0x0174 | | 0x0174 | ||
| | | u16 | ||
| Количество оборотов энкодера в режиме ABZ | | Количество оборотов энкодера в режиме ABZ | ||
|- | |||
| 373 | |||
| 0x0175 | |||
| u16 | |||
| Угол энкодера в режиме ABZ | |||
|- | |- | ||
| 376 | | 376 | ||
Строка 328: | Строка 344: | ||
| rowspan="3" | u16 | | rowspan="3" | u16 | ||
| Канал 1 | | Канал 1 | ||
| rowspan="3" | Количество импульсов на | | rowspan="3" | Количество импульсов на оборот в режиме ABZ | ||
| rowspan="3" | | | rowspan="3" | | ||
|- | |- | ||
Строка 341: | Строка 357: | ||
| 464 | | 464 | ||
| 0x01D0 | | 0x01D0 | ||
| rowspan="8" | Input | | rowspan="8" | Input | ||
| rowspan="8" | RO | | rowspan="8" | RO | ||
| rowspan="8" | u16 | | rowspan="8" | u16 | ||
| Вход 1 | | Вход 1 | ||
| rowspan="8" | Счётчик коротких нажатий | | rowspan="8" | Счётчик коротких нажатий | ||
| rowspan="8" | | | rowspan="8" | | ||
| rowspan="48" | 1.3.2 | | rowspan="48" | 1.3.2 | ||
Строка 379: | Строка 395: | ||
| 480 | | 480 | ||
| 0x01E0 | | 0x01E0 | ||
| rowspan="8" | Input | | rowspan="8" | Input | ||
| rowspan="8" | RO | | rowspan="8" | RO | ||
| rowspan="8" | u16 | | rowspan="8" | u16 | ||
| Вход 1 | | Вход 1 | ||
| rowspan="8" | Счётчик длинных нажатий | | rowspan="8" | Счётчик длинных нажатий | ||
| rowspan="8" | | | rowspan="8" | | ||
|- | |- | ||
Строка 416: | Строка 432: | ||
| 496 | | 496 | ||
| 0x01F0 | | 0x01F0 | ||
| rowspan="8" | Input | | rowspan="8" | Input | ||
| rowspan="8" | RO | | rowspan="8" | RO | ||
| rowspan="8" | u16 | | rowspan="8" | u16 | ||
| Вход 1 | | Вход 1 | ||
| rowspan="8" | Счётчик двойных нажатий | | rowspan="8" | Счётчик двойных нажатий | ||
| rowspan="8" | | | rowspan="8" | | ||
|- | |- | ||
Строка 453: | Строка 469: | ||
| 512 | | 512 | ||
| 0x0200 | | 0x0200 | ||
| rowspan="8" | Input | | rowspan="8" | Input | ||
| rowspan="8" | RO | | rowspan="8" | RO | ||
| rowspan="8" | u16 | | rowspan="8" | u16 | ||
| Вход 1 | | Вход 1 | ||
| rowspan="8" | Счётчик короткого, а затем длинного нажатий | | rowspan="8" | Счётчик короткого, а затем длинного нажатий | ||
| rowspan="8" | | | rowspan="8" | | ||
|- | |- | ||
Строка 562: | Строка 578: | ||
| Вход 8 | | Вход 8 | ||
|} | |} | ||
{{Wbincludes: | {{Wbincludes:Common_Modbus_Registers | MCM=TRUE}} | ||
Версия 09:08, 28 февраля 2023
Описание
RO / RW | Read only / Read/Write |
Выделено жирным | Значение регистра по умолчанию |
xN | Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.
Не указан — считать равным 1 |
⚡ | Регистр поддерживает отправку данных с помощью событий Быстрого Modbus. |
FW | Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда. |
Error: | Значение при ошибке |
Серый цвет ячейки | Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки |
Адрес | Параметры регистра no_description | Канал | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||||
0 | 0x0000 | Discrete input | RO | bool | Вход 1 | Состояние входа | 0 - разомкнут, 1 - замкнут |
|
1 | 0x0001 | Вход 2 | ||||||
2 | 0x0002 | Вход 3 | ||||||
3 | 0x0003 | Вход 4 | ||||||
4 | 0x0004 | Вход 5 | ||||||
5 | 0x0005 | Вход 6 | ||||||
6 | 0x0006 | Вход 7 | ||||||
7 | 0x0007 | Вход 8 | ||||||
9 | 0x0009 | Holding | RW | bool | Вход 1 | Режим работы цифрового входа | 0 - измерять частоту входного сигнала, 1 - использовать входы как кнопки для детектирования нажатий |
1.3.2 |
10 | 0x000A | Вход 2 | ||||||
11 | 0x000B | Вход 3 | ||||||
12 | 0x000C | Вход 4 | ||||||
13 | 0x000D | Вход 5 | ||||||
14 | 0x000E | Вход 6 | ||||||
15 | 0x000F | Вход 7 | ||||||
16 | 0x0010 | Вход 8 | ||||||
20 | 0x0014 | Holding | RW | u16 | Вход 1 | Время подавления дребезга | мс, 0 - 100 (50) |
1.2.0 |
21 | 0x0015 | Вход 2 | ||||||
22 | 0x0016 | Вход 3 | ||||||
23 | 0x0017 | Вход 4 | ||||||
24 | 0x0018 | Вход 5 | ||||||
25 | 0x0019 | Вход 6 | ||||||
26 | 0x001A | Вход 7 | ||||||
27 | 0x001B | Вход 8 | ||||||
40 | 0x0028 | Input | RO | u32 | Вход 1 | Целая часть значения частоты сигнала | если читать как u32 оба регистра x1.52588*10-5, Гц | 1.2.0 |
42 | 0x002A | Вход 2 | ||||||
44 | 0x002C | Вход 3 | ||||||
46 | 0x002E | Вход 4 | ||||||
48 | 0x0030 | Вход 5 | ||||||
50 | 0x0032 | Вход 6 | ||||||
52 | 0x0034 | Вход 7 | ||||||
54 | 0x0036 | Вход 8 | ||||||
41 | 0x0029 | Input | RO | u16 | Вход 1 | Дробная часть значения частоты сигнала 1 Гц = 65536 (2 ^ 16) |
||
43 | 0x002B | Вход 2 | ||||||
45 | 0x002D | Вход 3 | ||||||
47 | 0x002F | Вход 4 | ||||||
49 | 0x0031 | Вход 5 | ||||||
51 | 0x0033 | Вход 6 | ||||||
53 | 0x0035 | Вход 7 | ||||||
55 | 0x0037 | Вход 8 | ||||||
60 - 61 | 0x003C - 0x003D | Input | RO | u32 | Вход 1 | Счетчик срабатываний входа | ||
62 - 63 | 0x003E - 0x003F | Вход 2 | ||||||
64 - 65 | 0x0040 - 0x0041 | Вход 3 | ||||||
66 - 67 | 0x0042 - 0x0043 | Вход 4 | ||||||
68 - 69 | 0x0044 - 0x0045 | Вход 5 | ||||||
70 - 71 | 0x0046 - 0x0047 | Вход 6 | ||||||
72 - 73 | 0x0048 - 0x0049 | Вход 7 | ||||||
74 - 75 | 0x004A - 0x004B | Вход 8 | ||||||
100 | 0x0064 | Holding | RW | u16 | Запись 1 стирает значения счетчиков | 0 | ||
113 | 0x0071 | Holding | RW | u16 | Время задержки ответа на шине modbus | 0 - 254 мс | 1.4.0 | |
114 | 0x0072 | Holding | RW | u16 | Запись 1 включает режим непрерывного чтения регионов регистров | 0 - выключен
1 - включен | ||
368 | 0x0170 | Holding | RW | u32 | Канал 1 | Положение энкодера в режиме AB | 1.5.0 | |
368 | 0x0170 | u16 | Количество оборотов энкодера в режиме ABZ | |||||
369 | 0x0171 | u16 | Угол энкодера в режиме ABZ | |||||
370 | 0x0172 | Holding | RW | u32 | Канал 2 | Положение энкодера в режиме AB | ||
370 | 0x0172 | u16 | Количество оборотов энкодера в режиме ABZ | |||||
371 | 0x0173 | u16 | Угол энкодера в режиме ABZ | |||||
372 | 0x0174 | Holding | RW | u32 | Канал 3 | Положение энкодера в режиме AB | ||
372 | 0x0174 | u16 | Количество оборотов энкодера в режиме ABZ | |||||
373 | 0x0175 | u16 | Угол энкодера в режиме ABZ | |||||
376 | 0x0178 | Holding | RW | u16 | Канал 1 | Режим работы энкодера | 0 - Отключен. Входы работают в обычном режиме 1 - Два входа обрабатывают сигналы AB, третий работает в обычном режиме | |
377 | 0x0179 | Канал 2 | ||||||
378 | 0x017A | Канал 3 | 0 - Отключен. Входы работают в обычном режиме 1 - Два входа обрабатывают сигналы AB | |||||
380 | 0x017C | Holding | RW | u16 | Канал 1 | Количество импульсов на оборот в режиме ABZ | ||
381 | 0x017D | Канал 2 | ||||||
382 | 0x017E | Канал 3 | ||||||
464 | 0x01D0 | Input | RO | u16 | Вход 1 | Счётчик коротких нажатий | 1.3.2 | |
465 | 0x01D1 | Вход 2 | ||||||
466 | 0x01D2 | Вход 3 | ||||||
467 | 0x01D3 | Вход 4 | ||||||
468 | 0x01D4 | Вход 5 | ||||||
469 | 0x01D5 | Вход 6 | ||||||
470 | 0x01D6 | Вход 7 | ||||||
471 | 0x01D7 | Вход 8 | ||||||
480 | 0x01E0 | Input | RO | u16 | Вход 1 | Счётчик длинных нажатий | ||
481 | 0x01E1 | Вход 2 | ||||||
482 | 0x01E2 | Вход 3 | ||||||
483 | 0x01E3 | Вход 4 | ||||||
484 | 0x01E4 | Вход 5 | ||||||
485 | 0x01E5 | Вход 6 | ||||||
486 | 0x01E6 | Вход 7 | ||||||
487 | 0x01E7 | Вход 8 | ||||||
496 | 0x01F0 | Input | RO | u16 | Вход 1 | Счётчик двойных нажатий | ||
497 | 0x01F1 | Вход 2 | ||||||
498 | 0x01F2 | Вход 3 | ||||||
499 | 0x01F3 | Вход 4 | ||||||
500 | 0x01F4 | Вход 5 | ||||||
501 | 0x01F5 | Вход 6 | ||||||
502 | 0x01F6 | Вход 7 | ||||||
503 | 0x01F7 | Вход 8 | ||||||
512 | 0x0200 | Input | RO | u16 | Вход 1 | Счётчик короткого, а затем длинного нажатий | ||
513 | 0x0201 | Вход 2 | ||||||
514 | 0x0202 | Вход 3 | ||||||
515 | 0x0203 | Вход 4 | ||||||
516 | 0x0204 | Вход 5 | ||||||
517 | 0x0205 | Вход 6 | ||||||
518 | 0x0206 | Вход 7 | ||||||
519 | 0x0207 | Вход 8 | ||||||
1100 | 0x044C | Holding | RW | u16 | Вход 1 | Время длинного нажатия | мс 500 - 5000 (1000) 500 - 5000 (2000) до FW 1.3.3 | |
1101 | 0x044D | Вход 2 | ||||||
1102 | 0x044E | Вход 3 | ||||||
1103 | 0x044F | Вход 4 | ||||||
1104 | 0x0450 | Вход 5 | ||||||
1105 | 0x0451 | Вход 6 | ||||||
1106 | 0x0452 | Вход 7 | ||||||
1107 | 0x0453 | Вход 8 | ||||||
1140 | 0x0474 | Holding | RW | u16 | Вход 1 | Время ожидания второго нажатия | мс 0 - 2000 (300) 100 - 2000 (500) до FW 1.3.3 | |
1141 | 0x0475 | Вход 2 | ||||||
1142 | 0x0476 | Вход 3 | ||||||
1143 | 0x0477 | Вход 4 | ||||||
1144 | 0x0478 | Вход 5 | ||||||
1145 | 0x0479 | Вход 6 | ||||||
1146 | 0x047A | Вход 7 | ||||||
1147 | 0x047B | Вход 8 |
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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 формате |