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

Материал из Wiren Board
Строка 72: Строка 72:
| 0  
| 0  
| style="text-align:left;" |
| style="text-align:left;" |
должно оставаться значение по умолчанию в современных прошивках
должно оставаться значение по умолчанию
|| не используется в современных прошивках; используйте регистры 9 .. (9+'''x'''-1).<br>В устаревших прошивках использовался для одновременной настройки режима взаимодействия цифровых входов с релейными выходами. || не используется в современных прошивках; используйте регистры 9 .. (9+'''x'''-1).<br>В устаревших прошивках использовался для одновременной настройки режима взаимодействия цифровых входов с релейными выходами - аналогично нынешним регистрам 9 .. (9+'''x'''-1), но для всех входов одновременно.
|| не используется в современных прошивках; используйте регистры 9 .. (9+'''x'''-1).<br>В устаревших прошивках использовался для одновременной настройки режима взаимодействия цифровых входов с релейными выходами. || не используется в современных прошивках; используйте регистры 9 .. (9+'''x'''-1).<br>В устаревших прошивках использовался для одновременной настройки режима взаимодействия цифровых входов с релейными выходами - аналогично нынешним регистрам 9 .. (9+'''x'''-1), но для всех входов одновременно.
|-
|-

Версия 23:20, 18 апреля 2020

Другие языки:


Modbus control common

Настройка устройства

Безопасный режим

В этом режиме при прекращении обмена данными по Modbus устройство отключает реле по прошествии заданного времени.

Для включения безопасного режима (Safety timer) нужно записать значение, отличное от 0, в регистр хранения командой WRITE_SINGLE_REGISTER по адресу 8. Это значение — таймаут в секундах. Значение "0" отключает безопасный режим.

Режим работы реле в случае отключении питания

Для устройств WB-MR существует возможность запоминать состояние выхода при отключении питания. Режим контролируется Modbus-регистром 6. Если в регистре записано значение '0', то состояние выходов не сохраниться и при подаче питания все реле буду выключены. Если в регистре записана единица, то после возобновления питания все включенные до аварии реле включатся снова. Этот функционал появился в модулях с прошивкой, начиная с версии 1.5.3.

Цифровые входы

Состояние входа можно получить чтением регистров Discrete Inputs 0—x (где x = (количество управляемых каналов - 1)). Если вход соединён с GND, значение регистра равно 1, если не соединён - 0.

Режимы взаимодействия цифровых входов с релейными выходами

В релейном модуле можно включить прямое управление релейными выходами с цифровых входов. Есть несколько вариантов такого управления:

  • Простые:
    • Режим 0: управление выключателем без фиксации (кнопкой "с самостоятельным отжатием обратно"). Вы нажимаете на кнопку (замыкаете цифровой вход с GND), она сама "отжимается обратно", состояние реле переключается на противоположное.
    • Режим 1: управление выключателем с фиксацией. Реле всегда устанавливается в соответствии с положением выключателя. Если выключатель "включён" (замыкает цифровой вход с GND), реле тоже замкнуто. Если выключатель "выключен", реле разомкнуто.
    • Режим 3: управление релейным выходом с цифрового входа отключено.
  • Сложные:
    • Mapping-матрица (смотрите подробное описание ниже)

Режим устанавливается отдельно для каждого канала. Чтобы выбрать режим, запишите номер режима в соответствующий регистр хранения, начиная с адреса 9 для первого канала и т. д. При этом в регистре 5 должно сохраняться значение по умолчанию.

В старых прошивках регистров 9 и т.д. может не быть. В них можно установить режим только для всех каналов одновременно. Для этого запишите соответствующее число в регистр 5.

Mapping-матрица

Начиная с прошивки 1.9.0 для отдельных каналов предусмотрен также режим 2 -- отключить все выходы, и режимы работы (4 и 5) в соответствии с mappig-матрицей (смотри далее). В этой и более поздних версиях прошивок в модулях реализована возможность более гибкой настройки взаимодействия входов и выходов релейных модулей при помощи специальной mapping-матрицы: таблицы, в которой для каждого входа при изменении его состояния кодируется изменение состояние любого релейного выхода. Подробное описание можно найти в статье I/O_Mapping_Matrix.

Карта регистров модулей реле

В таблице:

  • x — количество релейных выходов;
  • y — количество цифровых входов.

Для устаревших модулей WB-MRM2 (не путать с современными WB-MRM2-mini) карту регистров смотрите на отдельной странице WB-MRM2.

Регистр / адрес Тип Чтение/запись Значение по умолчанию Формат Назначение Примечание
0 .. (x-1) coil RW - 1 или 0 состояние реле с номером 1 .. x
0 .. (y-1) discrete R - 1 или 0 состояние входа с номером 1 .. y
5 holding RW 0

должно оставаться значение по умолчанию

не используется в современных прошивках; используйте регистры 9 .. (9+x-1).
В устаревших прошивках использовался для одновременной настройки режима взаимодействия цифровых входов с релейными выходами.
не используется в современных прошивках; используйте регистры 9 .. (9+x-1).
В устаревших прошивках использовался для одновременной настройки режима взаимодействия цифровых входов с релейными выходами - аналогично нынешним регистрам 9 .. (9+x-1), но для всех входов одновременно.
6 holding RW
  • 0: не восстанавливать состояние реле после восстановления питания
  • 1: восстанавливать состояние реле после восстановления питания
режим работы реле в случае отключении питания (только в прошивках 1.5.3 и позднее)
8 holding RW 0 секунды таймаут для безопасного режима
9 .. (9+x-1) holding RW 0
  • 0: кнопки без фиксации
  • 1: выключатель с фиксацией
  • 3: отключить взаимодействие
режим взаимодействия отдельного цифрового входа с соответствующим релейным выходом.
В регистре 5 должно стоять значение по умолчанию.
  • 2: отключать все реле при нажатии
  • 4: управлять в соответствии с mapping-матрицей
  • 5: управлять в соответствии с mapping-матрицей, через 20 минут повторно имитировать состояние ввода
Начиная с прошивки 1.9.0
1 Начиная с прошивки 1.12.0
16 holding RW
  • 0: кнопки без фиксации
  • 1: выключатель с фиксацией
  • 3: отключить взаимодействие
режим работы цифрового входа 0 для отключения всех реле
2
  • 2: отключать все реле при нажатии
  • 4: управлять в соответствии с mapping-матрицей
  • 5: управлять в соответствии с mapping-матрицей, через 20 минут повторно имитировать состояние ввода
режим работы цифрового входа 0; в регистре 5 должен быть записан "0" Начиная с прошивки 1.9.0
20 .. (20+x-1) holdreg RW 50 0 - 100 время защиты от дребезга в миллисекундах Начиная с прошивки 1.13.0
32 .. (32+y-1) input R 0 16-bit unsigned int счетчик срабатываний входа 1 .. y
384-447 holding RW 0 регистры mapping-матрицы Начиная с версии прошивки 1.9.0


Внимание: Отображаемое название «Таблица общих регистров» переопределяет ранее заданное отображаемое название «Управление модулями реле Wirenboard по протоколу Modbus».

Параметры подключения, версия прошивки и другие служебные регистры
Адрес Параметры регистра Описание Значения Примечание
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