WB-MR6C v.2 Modbus Relay Modules: различия между версиями

Материал из Wiren Board
Строка 166: Строка 166:


Пример управления релейным модулем WB-MR6C контроллером Wiren Board 5 и программирования сценариев управления мы рассмотрим на простом макете, показанном на рисунке на рисунке "Образец монтажа и подключения модуля WB-MR6C" в предыдущем разделе. Релейный модуль является единственным устройством, подключенным к контроллеру. Нормально разомкнутая кнопка без фиксации подключена ко входу 2 и GND. Вторая нормально разомкнутая кнопка без фиксации (обозначена зеленым цветом) подключена ко входу 0 и GND. Нажатие на эту кнопку приводит к одновременному отключению всех реле модуля или возвращению к их предыдущему состоянию. Питание 12 В подается на входы V+(+) и GND (-) модуля и контроллера. Входы/выходы RS-485 A и B первого порта контроллера и модуля WB-MR14 соединены. В качестве примера коммутируемой нагрузки подключена лампа 220 В к выходу K2, фаза подключена к общему входу первой группы COM1.
Пример управления релейным модулем WB-MR6C контроллером Wiren Board 5 и программирования сценариев управления мы рассмотрим на простом макете, показанном на рисунке на рисунке "Образец монтажа и подключения модуля WB-MR6C" в предыдущем разделе. Релейный модуль является единственным устройством, подключенным к контроллеру. Нормально разомкнутая кнопка без фиксации подключена ко входу 2 и GND. Вторая нормально разомкнутая кнопка без фиксации (обозначена зеленым цветом) подключена ко входу 0 и GND. Нажатие на эту кнопку приводит к одновременному отключению всех реле модуля или возвращению к их предыдущему состоянию. Питание 12 В подается на входы V+(+) и GND (-) модуля и контроллера. Входы/выходы RS-485 A и B первого порта контроллера и модуля WB-MR14 соединены. В качестве примера коммутируемой нагрузки подключена лампа 220 В к выходу K2, фаза подключена к общему входу первой группы COM1.
{|  border="0" class="wikitable" style="text-align:center"
|-
|[[Файл:MR6C_Switches_web.png|300px|thumb|center|Кнопки управления каналами реле]]
|[[Файл:Web_options.png|300px|thumb|center|Флажки состояния входов]]
|[[Файл:Web_input_counter.png|300px|thumb|center|Счетчик входов]]
|[[Файл:Web_safety_timer.png|300px|thumb|center|Время отключения таймера безопасности]]
|}


== Параметры Modbus ==
== Параметры Modbus ==

Версия 18:20, 2 марта 2017

Релейный модуль WB-MR6C

Назначение

Шестиканальные модули реле серий WB-MR6C предназначены для систем промышленной и домашней автоматизации. Модули, в зависимости от типа, предназначены для коммутирования силовой нагрузки общего назначения, в т.ч. индуктивной и ёмкостной: управления светодиодными светильниками, лампами накаливания, импульсными блоками питания и т.п.

Модули рассчитаны на нагрузку 16А (номинал 10А) и могут использоваться без промежуточных контакторов. В модуле предусмотрен вход, одновременно отключающий всю нагрузку.


Выходы

Контакты реле модуля

В модуле установлены 14 реле HF32F-G (Datasheet), коммутирующие соответствующие 6 нормально открытых выходов. Выходы выведены на винтовые зажимы, рассчитанные на максимальный ток 20 А. Контакты реле объединены в две группы, каждая со своим общим проводом, COM1 и COM2. В случае активной (резистивной) нагрузки реле могут коммутировать до 10 А/230 В переменного тока и до 10 А/30 В постоянного. В случае реактивной (ёмкостной или индуктивной) нагрузки (двигатели, импульсные блоки питания и т.д.) не следует коммутировать ток больше 400 мА. Используйте внешние контакторы, рассчитанные на соответствующую нагрузку.

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

Ниже в таблице перечислены технические характеристики и условия применения релейного модуля WB-MR6C. Максимальное постоянное напряжение, которое могут коммутировать все реле модуля — 30 В. Каждый контакт реле защищен от образования дуги при замыкании/размыкании варистором, соединенным с общим контактом. В зависимости от настроек Modbus-регистров состояние входов может возобновляться после перерыва электропитания (см. раздел #Режим работы реле в случае отключении питания).

Входы

Входы модулей WB-MR6C выведены на безвинтовые зажимы. Входы организованы по принципу "сухой контакт". Кнопки или выключатели подключаются между соответствующим входом блока Inputs и GND. Имеется специальный вход для отключения всех реле модуля одновременно.

Технические характеристики

Параметр Значение
Питание
Напряжение питания 9 — 24 В постоянного тока
Потребляемая мощность
  • В режиме холостого хода (со всеми выключенными реле) — 0,1 Вт
  • Со всеми включенными реле — 1 Вт
  • Пиковое значение — до 4 Вт в течение 20 мс
Выходы
Количество выходов 6
Тип выходов Контакты механического реле
Конфигурация контактов Двухпозиционные, нормально открытые
Конфигурация выходов Две группы по 3 выхода, общий провод в каждой группе
Максимальное коммутируемое напряжение, AC 250 В
Максимальное коммутируемое напряжение, DC 30 В
Максимальный коммутируемый ток на каждый канал 10 А
Сопротивление контактов < 100 миллиом
Напряжение изоляции между контроллером и выходом 1500 В (среднеквадратичное значение)
Срок жизни: 100 000 переключений для нагрузки 10 А/230В переменного тока
Входы
Количество входов (Inputs 0—6) 7 (6+1) Вход 0 отключает одновременно все реле модуля
Тип входов Сухой контакт, не изолированные от источника питания.
Функции
  • Входы общего назначения
  • Счет сигналов
  • Прямое управление каналами реле
  • Одновременное отключение всей нагрузки
  • Запоминание состояния реле при отключении напряжения
Управление
Интерфейс управления RS-485
Изоляция интерфейса Неизолированный
Протокол обмена данными Modbus RTU, адрес задается программно, заводские настройки указаны на наклейке
Параметры интерфейса RS-485
  • Скорость: 9600 бит/сек
  • Данные: 8 бит
  • Проверка чётности: нет
  • Стоповых бит: 2
Готовность к работе после подачи питания ~0,03 c
Габариты
Ширина, DIN-юнитов 3
Габаритные размеры (Д x Ш х В) 53,3 x 56,3 x 57,5 мм
Индикация
Индикация питания и обмена данными Зеленый светодиод Status (расположен под поверхностью верхней наклейки)
Индикация состояния каналов реле Красно-оранжевые светодиоды 1 — 6 (расположены под поверхностью верхней наклейки)
Условия эксплуатации
Температура воздуха От -20 до +50 °С
Относительная влажность До 92%, без конденсации влаги

Габаритные размеры модуля

Габаритные размеры модулей в корпусе 3 DIN

Габаритные размеры модуля составляют 53,3 x 90,2 x 57,5 мм (Д x Ш х В), см. черт.

Обмен данными

На физическом уровне модуль подключается через интерфейс RS-485. Для управления WB-MR6C используется протокол Modbus RTU. В устройствах Wirenboard данные Modbus передаются по линиям связи RS-485. Подробнее смотрите страницу Протокол Modbus. Modbus-адрес модуля задается на заводе и нанесен на наклейке на его боковой стороне. Адрес может быть изменен программно. Подробно смотрите в разделе #Параметры_Modbus


Монтаж

Релейный модуль монтируется на стандартную DIN-рейку шириной 35 мм и занимает ширину 3 DIN-модуля.

Блоки безвинтовых зажимов на плате реле служат для подключения линий питания, управления (RS-485) и входных контактов. При использовании при монтаже наконечников типа НШВИ для установки проводов в безвинтовые зажимы необходимо, чтобы диаметр изолированных манжет не превышал 3,6 мм, сечение провода — 0,75 мм2, а длина проводящей втулки — 5—6 мм. Винтовые зажимы принимают провод сечением 2,5—4 мм2. Сечение провода должно соответствовать коммутируемой нагрузке.

При подключении коммутируемых устройств к контактам реле K1, K2 и K3 важно не превышать рекомендованный ток — 16 А.

Ток, протекающий при замыкании кнопки или выключателя, невелик, так что тип кнопки или выключателя может быть любым. Несмотря на встроенную защиту от дребезга, выбирайте качественные кнопки и выключатели, чтобы исключить ложные срабатывания из-за плохих контактов. Осторожно — в модификации HV на клеммах присутствует высокое напряжение!

Если устройство — последнее на линии RS-485, то между его входами A и B необходимо установить резистор-терминатор сопротивлением 120 Ом. Практика показывает, что в случае стендовых испытаний при небольшой длине линии RS-485 и небольшом количестве устройств терминатор на последнем устройстве в линии можно не устанавливать.

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

Образец монтажа и подключения модуля WB-MR6C. Выбор качественного блока питания очень важен для работы модуля. Кнопка с проводами зеленого цвета, подключенная ко входу 0 модуля, отключает все каналы одновременно.

Управление модулем через web-интерфейс Wiren Board

Пример управления релейным модулем WB-MR6C контроллером Wiren Board 5 и программирования сценариев управления мы рассмотрим на простом макете, показанном на рисунке на рисунке "Образец монтажа и подключения модуля WB-MR6C" в предыдущем разделе. Релейный модуль является единственным устройством, подключенным к контроллеру. Нормально разомкнутая кнопка без фиксации подключена ко входу 2 и GND. Вторая нормально разомкнутая кнопка без фиксации (обозначена зеленым цветом) подключена ко входу 0 и GND. Нажатие на эту кнопку приводит к одновременному отключению всех реле модуля или возвращению к их предыдущему состоянию. Питание 12 В подается на входы V+(+) и GND (-) модуля и контроллера. Входы/выходы RS-485 A и B первого порта контроллера и модуля WB-MR14 соединены. В качестве примера коммутируемой нагрузки подключена лампа 220 В к выходу K2, фаза подключена к общему входу первой группы COM1.

Кнопки управления каналами реле
Флажки состояния входов
Счетчик входов
Время отключения таймера безопасности

Параметры Modbus

Modbus-адрес

Modbus-адрес, установленный на производстве

Modbus-адрес устройств Wiren Board легко определить — он нанесен на наклейке (адрес указан в десятичном формате). Новый адрес устройства записывается командой WRITE_SINGLE_REGISTER в регистр хранения (holding register) с адресом 128 (0x80). Подробно о том, как определить или изменить Modbus-адрес модуля, написано на странице Определение_и_изменение_Modbus-адреса_устройств_Wirenboard.

Команды Modbus, поддерживаемые устройством

Команда десятичный код
READ_COIL 1
READ DISCRETE INPUTS 2
WRITE_SINGLE_COIL 5
WRITE_MULTI_COILS 15
READ_HOLDING_REGISTERS 3
WRITE_SINGLE_REGISTER 6
WRITE_MULTI_REGISTERS 16

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

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

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

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

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

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

Поддерживается три режима работы цифровых входов:

  • Режим 0: прямое управление каналами, выключатели без фиксации (кнопки). Нажатие на кнопку изменяет состояние реле.
  • Режим 1: прямое управление каналами, выключатели с фиксацией. Переключение выключателя с фиксацией устанавливает состояние реле в соответствии с положением выключателя.
  • Режим 3: управление каналами отключено.

Поведением по умолчанию является прямое управление каналами реле (режим 0). Установить режим для всех каналов можно, записав соответствующее число в регистр хранения с адресом 5. Режим можно устанавливать отдельно для каждого канала с помощью регистров 9—14. Настройки для каждого канала учитываются только в том случае, если регистр 5 (общие настройки режимов входов) находится в состоянии "0", т.е. имеет значение по умолчанию.

В любом режиме работы текущее состояние кнопок можно получить чтением регистров Discrete Inputs 0—5 (см. таблицу ниже).

Карта регистров

Регистр / адрес тип чтение/запись значение по умолчанию формат назначение
0—5 coil RW - 1 или 0 состояние реле 1—6
0—5 discrete R - 1 или 0 состояние входа 1—6
5 holding RW 0 0: кнопки без фиксации

1: выключатель с фиксацией 3: отключить управление

режим работы кнопок
6 holding RW 0 0: не сохранять состояние реле при отключении питания

1: сохранять состояние реле при отключении питания

режим работы реле в случае отключении питания
8 holding RW 0 секунды таймаут для безопасного режима
9—14 holding RW 0 0: кнопки без фиксации

1: выключатель с фиксацией

3: отключить управление

режим работы входа N;

в регистре 5 должен быть записан "0"

32—37 input R 0 16-bit unsigned int счетчик нажатий входа 1—4
120 (0x78) holding RW 0 отличное от 0 запись в регистр вызывает перезагрузку модуля без сохранения состояния
121 (0x79) holding R - мВ текущее напряжение питания модуля
128 (0x80) holding RW 1 1—247 Modbus-адрес устройства
200-206 holding R {'W','B','M','R','6',' '} сигнатура
220-241 holding R __date__ __time__ дата сборки прошивки

По адресу 200 лежит сигнатура релейного модуля длиной 6 байт, соответствующая строке "WBMR6 ". Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus. Для получения сигнатуры нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Начиная с регистра 220 записана дата сборки прошивки, в формате "числоx00времяx00" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр.

Значение состояния каждого реле хранится в регистрах флагов (coil). У 1-го реле адрес регистра 0, у 2-го — 1 и т.д. Считывание и изменение состояние входа 0 (выключение всех реле) (регистр coil или discrete с адресом 6, holding-регистр с адресом 15) не реализовано. Всегда возвращается значение 0x0000.

Управление модулем из командной строки

Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus, подробное описание команды находится на странице Modbus-client. Доступ к командной строке описан в статье SSH.

Чтение регистров

Проверим, верно ли, что мы подключились именно к WB-MR6C. (Модуль wb-mqtt-serial должен быть предварительно остановлен). По адресу 200 хранится уникальная для WB-MR6C сигнатура длиной в 6 регистров. Прочтем 6 регистров, начиная с адреса 200, и преобразуем полученный шестнадцатеричный ответ в символьную строку:

echo  -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 \
-a1 -t0x03 -r200 -c 6 | \
grep Data | sed -e 's/0x00/\\\x/g' -e 's/Data://' -e 's/\s//g'`

В результате выполнения команды получаем строку WBMR6. Всё верно -- это релейный модуль WB-MR6C.

Перезагрузка

В ряде случаев может потребоваться перезагрузка модуля. Для этого в регистр 120 (0x78) необходимо записать любое значение, отличное от нуля:

modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x06 -r0x78 100

Такая перезагрузка равносильна сбросу по питанию и изменению адреса устройства на 0x01. Все реле при этом выключаются. Предварительно, конечно, необходимо остановить сервис wb-mqtt-serial и убедиться, что к контроллеру не подключены другие Modbus-устройства.

Выбор типа управления внешними входами

В модуле WB-MR6C предусмотрено два режима управления каналами реле: с помощью внешних входов и по протоколу RS-485. В WB-MR6C можно выбрать режим 0, когда ко внешнему входу подключена кнопка (без фиксации), или режим 1, когда для управления используется обычный выключатель (с фиксацией). Режим 3 отключает внешнее управление, но при этом все равно сохраняется возможность управления по RS-485 и чтение состояния внешних входов. По умолчанию включен режим 0.

В режиме внешнего управления реле срабатывает по падению логического уровня: к внешним входам подключены резисторы подтяжки к линии +5V и реле соответствующего канала срабатывает при соединении входа с GND. Состояние реле каждого канала хранится в памяти контроллера до перезагрузки, по умолчанию при включении питания все реле выключены. После инициализации модуля опрашиваются внешние входы и реле всех каналов переводятся в соответствующее состояние.

Тип внешнего управления можно выбрать для каждого канала отдельно через регистры 9—11. Для этого в holding-регистре 5 должно быть записано значение 0:

modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x06 -r5 0

Инициализировать регистр при старте можно и через настройки web-интерфейса, смотрите страницу RS-485:Настройка_через_веб-интерфейс.