Relay Module Modbus Management: различия между версиями

Материал из Wiren Board
 
(не показаны 42 промежуточные версии 8 участников)
Строка 1: Строка 1:
<languages/>
{{DISPLAYTITLE:Карта регистров модулей реле}}
<translate>
== Описание ==
<!--T:1-->
{{Wbincludes:Relay Modbus Registers}}
{{DISPLAYTITLE:Управление модулями реле Wirenboard по протоколу Modbus}}
{{Wbincludes:Header Registers Universal|note=true|no_description=true|header=Параметры подключения, версия прошивки и другие служебные регистры}}
 
{{Wbincludes: Registers Connection Settings}}
{{:Modbus_control_common}}
{{Wbincludes: Registers FW Version For Supported Device With Bootloader}}
 
{{Wbincludes: Registers Service Main}}
== Настройка устройства ==
{{Wbincludes: Register bootloader start}}
 
{{Wbincludes: Registers Timeout For Device With Bootloader}}
=== Безопасный режим ===
{{Wbincludes: Registers Сontinuous Reading Mode For Device With Bootloader}}
В этом режиме при прекращении обмена данными по Modbus устройство отключает реле по прошествии заданного времени.
{{Wbincludes: Registers Vin}}
 
{{Wbincludes: Registers Temperature MCU}}
<!--T:7-->
Для включения безопасного режима (Safety timer) нужно записать значение, отличное от 0, в регистр хранения командой WRITE_SINGLE_REGISTER по адресу 8. Это значение &mdash; таймаут в секундах. Значение "0" отключает безопасный режим.
 
=== Режим работы реле в случае отключении питания === <!--T:8-->
 
Для устройств WB-MR существует возможность запоминать состояние выхода при отключении питания. Режим контролируется Modbus-регистром 6. Если в регистре записано значение '0', то состояние выходов не сохраниться и при подаче питания все реле буду выключены. Если в регистре записана единица, то после возобновления питания все включенные до аварии реле включатся снова.
Этот функционал появился в модулях с прошивкой, начиная с версии 1.5.3.
 
=== Цифровые входы  === <!--T:10-->
Состояние входа можно получить чтением регистров Discrete Inputs 0—'''x''' (где x = '''(количество управляемых каналов - 1)'''). Если вход соединён с GND, значение регистра равно 1, если не соединён - 0.
 
=== Режимы взаимодействия цифровых входов с релейными выходами  === <!--T:11-->
 
<!--T:12-->
В релейном модуле можно включить прямое управление релейными выходами с цифровых входов. Есть несколько вариантов такого управления:
* Простые:
** '''Режим 0''': управление выключателем без фиксации (кнопкой "с самостоятельным отжатием обратно"). Вы нажимаете на кнопку (замыкаете цифровой вход с GND), она сама "отжимается обратно", состояние реле переключается на противоположное.
** '''Режим 1''': управление выключателем с фиксацией. Реле всегда устанавливается в соответствии с положением выключателя. Если выключатель "включён" (замыкает цифровой вход с GND), реле тоже замкнуто. Если выключатель "выключен", реле разомкнуто.
** '''Режим 3''': управление релейным выходом с цифрового входа отключено.
* Сложные:
** Mapping-матрица (смотрите подробное описание ниже)
 
<!--T:13-->
Режим устанавливается отдельно для каждого канала. Чтобы выбрать режим, запишите номер режима в соответствующий регистр хранения, начиная с адреса 9 для первого канала и т. д. При этом в регистре 5 должно сохраняться значение по умолчанию - "0".
 
<!--T:14-->
В старых прошивках регистров 9 и т.д. может не быть. В них можно установить режим только для всех каналов одновременно. Для этого запишите соответствующее число в регистр 5.
 
==== Mapping-матрица ==== <!--T:15-->
 
<!--T:16-->
Начиная с прошивки 1.9.0 для отдельных каналов предусмотрен также '''режим 2''' -- отключить все выходы, и '''режимы работы (4 и 5)''' в соответствии с mappig-матрицей (смотри далее). В этой и более поздних версиях прошивок в модулях реализована возможность более гибкой настройки взаимодействия входов и выходов релейных модулей при помощи специальной mapping-матрицы: таблицы, в которой для каждого входа при изменении его состояния кодируется изменение состояние любого релейного выхода. Подробное описание можно найти в статье [[I/O_Mapping_Matrix]].
 
= Карта регистров модулей реле =
В таблице:
* '''x''' — количество релейных выходов;
* '''y''' — количество цифровых входов.
Для устаревших модулей WB-MRM2 (не путать с современными WB-MRM2-mini) карту регистров смотрите на отдельной странице [[WB-MRM2]].
 
<!--T:18-->
{|  border="1" class="wikitable" style="text-align:center; width:1000px;"
!Регистр / адрес
!Тип
!Чтение/запись
!Значение по умолчанию
!Формат
!Назначение
!Примечание
|-
| 0 .. ('''x'''-1) || coil || RW || - || 1 или 0|| состояние реле с номером 1 .. '''x''' ||
|-
| 0 .. ('''y'''-1) || discrete || R || - ||  1 или 0
|| состояние входа с номером 1 .. '''y''' ||
|-
| 5
| holding
| RW
| 0
| style="text-align:left;" |
должно оставаться значение по умолчанию в современных прошивках
|| не используется в современных прошивках.<br>В устаревших прошивках использовался для одновременной настройки режима взаимодействия цифровых входов с релейными выходами. || не используется в современных прошивках.<br>В устаревших прошивках использовался для одновременной настройки режима взаимодействия цифровых входов с релейными выходами - аналогично нынешним регистрам 9 .. (9+'''x'''-1), но для всех входов одновременно.
|-
| 6
|| holding || RW || 0 |
| style="text-align:left;" |
* '''0''': не восстанавливать состояние реле после восстановления питания
* '''1''': восстанавливать состояние реле после восстановления питания
|| режим работы реле в случае отключении питания || (только в прошивках 1.5.3 и позднее)
|-
| 8 || holding || RW || 0 || секунды || таймаут для безопасного режима ||
|-
 
<!--T:19-->
| rowspan="3"  | 9 .. (9+'''x'''-1)
| rowspan="3"  | holding
| rowspan="3"  | RW
| rowspan="2"  | 0
| style="text-align:left;" |
* '''0''': кнопки без фиксации
* '''1''': выключатель с фиксацией
* '''3''': отключить взаимодействие
| rowspan="3"  | режим взаимодействия отдельного цифрового входа с соответствующим релейным выходом;
в регистре 5 должен быть записан "0"
|
|-
 
 
<!--T:20-->
| rowspan="2" style="text-align:left;" |
* '''2''': отключать все реле при нажатии
* '''4''': управлять в соответствии с [[I/O_Mapping_Matrix|mapping-матрицей]]
* '''5''': управлять в соответствии с [[I/O_Mapping_Matrix|mapping-матрицей]], через 20 минут повторно имитировать состояние ввода
|Начиная с прошивки 1.9.0
|-
|1
|Начиная с прошивки 1.12.0
|-
 
<!--T:21-->
| rowspan="2"  | 16
| rowspan="2"  | holding
| rowspan="2"  | RW
|style="text-align:left;"|
* '''0''': кнопки без фиксации
* '''1''': выключатель с фиксацией
* '''3''': отключить взаимодействие
 
<!--T:22-->
| режим работы цифрового входа 0 для отключения всех реле
|
|-
| 2
 
<!--T:23-->
|style="text-align:left;" |
* '''2''': отключать все реле при нажатии
* '''4''': управлять в соответствии с [[I/O_Mapping_Matrix|mapping-матрицей]]
* '''5''': управлять в соответствии с [[I/O_Mapping_Matrix|mapping-матрицей]], через 20 минут повторно имитировать состояние ввода
| режим работы цифрового входа 0; в регистре 5 должен быть записан "0"
|Начиная с прошивки 1.9.0
|-
 
 
 
| 20 .. (20+'''x'''-1) || holdreg || RW || 50 || 0 - 100 || время защиты от дребезга в миллисекундах || Начиная с прошивки 1.13.0
|-
 
 
<!--T:24-->
| 32 .. (32+'''y'''-1) ||  input || R || 0 || 16-bit unsigned int || счетчик срабатываний входа 1 .. '''y''' ||
|-
| 384-447 || holding || RW || 0 ||  ||  регистры [[I/O_Mapping_Matrix|mapping-матрицы]] || Начиная с версии прошивки 1.9.0
|}
|}
{{:Common_Modbus_Registers}}


Регистры настройки параметров обмена данными по RS-485 поддерживаются начиная с прошивки версии 1.6.0
Регистры настройки параметров обмена данными по RS-485 поддерживаются начиная с прошивки версии 1.6.0
</translate>

Текущая версия на 11:09, 7 февраля 2024

Описание

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

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

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

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
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
Управление шторами
16 0x0010 Coil RW bool Ш1 откр Управление открытием/закрытием штор.

Для открытия нужно записать "1" в регистр открытия шторы. Значение "1" будет сохраняться в регистре пока штора не закончит движение.
Открытие можно прервать, записав "0" в регистр.
Закрытие выполняется аналогично.

0, 1 1.21.0
17 0x0011 Ш1 закр
18 0x0012 Ш2 откр
19 0x0013 Ш2 закр
20 0x0014 Ш3 откр
21 0x0015 Ш3 закр
1280 0x0500 Holding RW u16 Штора 1 Включение управления шторами.

Когда штора активна, прямое управление реле через coil-регистры или входы игнорируется, работает только управление через регистры или маппинг-матрицу штор.
Штора 1 использует выход 1 для открытия, выход 2 для закрытия. Штора 2 - выходы 3 и 4, штора 3 - выходы 5 и 6 соответственно.

0, 1 (0) 1.21.0
1281 0x0501 Штора 2
1282 0x0502 Штора 3
1284 0x0504 Holding RW u16 Штора 1 Действие для штор, выполняемое при включении питания реле.

0: Нет действия
1: Открыть
2: Закрыть

1.21.0
1285 0x0505 Штора 2
1286 0x0506 Штора 3
1288 0x0508 Holding RW u16 Штора 1 Действие для штор, выполняемое при переходе в безопасный режим.

0: Нет действия
1: Открыть
2: Закрыть

1.21.0
1289 0x0509 Штора 2
1290 0x050A Штора 3
1292 0x050C Holding RW u16 Штора 1 Управление с входов для штор в безопасном режиме

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

1.21.0
1293 0x050D Штора 2
1294 0x050E Штора 3
1328 0x0530 Holding RW u16 Штора 1 Время открытия шторы

10 - 6000, сек х10
(100 = 10 сек)

1.21.0
1329 0x0531 Штора 2
1330 0x0532 Штора 3
1332 0x0534 Holding RW u16 Штора 1 Время закрытия шторы

10 - 6000, сек х10
(100 = 10 сек)

1.21.0
1333 0x0535 Штора 2
1334 0x0536 Штора 3
1336 0x0538 Holding RW u16 Штора 1 Пауза при смене направления (deadtime)

50 - 10000, мс
(500)

1.21.0
1337 0x0539 Штора 2
1338 0x053A Штора 3
1400 - 1431 0x0578 - 0x0597 Holding RW u16 Регистры mapping-матрицы штор для коротких нажатий 0 1.21.0
1432 - 1463 0x0598 - 0x05B7 Holding RW u16 Регистры mapping-матрицы штор для длинных нажатий 0
1464 - 1495 0x05B8 - 0x05D7 Holding RW u16 Регистры mapping-матрицы штор для двойных нажатий 0
1496 - 1527 0x05D8 - 0x05F7 Holding RW u16 Регистры mapping-матрицы штор для сначала короткого, потом длинного нажатий 0
Параметры подключения, версия прошивки и другие служебные регистры
Адрес Параметры регистра Описание Значения Примечание
Dec Hex Тип Доступ Формат
Параметры подключения
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 — нечётный (odd),
2 — чётный (even)
112 0x0070 Holding RW u16 Количество стоп-битов порта RS-485 1, 2
128 0x0080 Holding RW u16 Modbus-адрес устройства (подробнее)
Модель устройства и версия прошивки
200-205 0x00C8 - 0x00CD Input RO string Модель устройства
206-219 0x00CE - 0x00DB Input RO string Расширение модели устройства. Для чтения модели устройства нужно читать диапазон из 20 регистров (200 - 219) Только в версиях прошивок, где есть Быстрый Modbus
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 Сигнатура прошивки
320 0x0140 Input RO u16 Версия прошивки в числовом формате (подробнее) MAJOR Только в версиях прошивок, где есть Быстрый Modbus
321 0x0141 MINOR
322 0x0142 PATCH
323 0x0143 s16 SUFFIX
324-325 0x0144 - 0x0145 Input RO u32 Версия прошивки в числовом формате Только в версиях прошивок, где есть Быстрый Modbus
326-327 0x0146 - 0x0147 Input RO u32 Версия прошивки в Big Endian формате Только в версиях прошивок, где есть Быстрый Modbus
Прочее
104­-105 0x0068 - 0x0069 Input RO u32 Время работы с момента загрузки секунды
120 0x0078 Holding RW u16 Перезагрузка устройства без сохранения состояния любое, отличное от 0 перезагружает устройство
123 0x007B Input RO u16 Напряжение на микроконтроллере мВ
129 0x0081 Holding RW u16 Перевод в режим обновления прошивки на 2 минуты любое, отличное от 0 переводит устройство в режим обновления прошивки
330-336 0x014A - 0x0150 Holding RO string Версия загрузчика
131 0x0083 Holding RW u16 Перевод в режим обновления прошивки на текущих настройках соединения запись 1 переводит устройство в режим обновления прошивки С версии прошивки 1.20.4
113 0x0071 Holding RW u16 Время перед отправкой ответа на modbus запрос 0 - 254 мс Только в версиях прошивок, где есть Быстрый Modbus
114 0x0072 Holding RW u16 Режим непрерывного чтения регистров с зазором 0 - отключен
1 - включен
2 - включение сохраняется после перезагрузки
Только в версиях прошивок, где есть Быстрый Modbus
121 0x0079 Input RO u16 Текущее напряжение питания мВ
122 0x007A Input RO u16 Минимальное зарегистрированное напряжение питания с момента загрузки мВ
123 0x007B Input RO u16 Напряжение питания микроконтроллера мВ
124 0x007C Input RO u16 Внутренняя температура микроконтроллера x0.1, °C

Регистры настройки параметров обмена данными по RS-485 поддерживаются начиная с прошивки версии 1.6.0