WB-MR6C v.2 Modbus Relay Modules: различия между версиями
Kilpio (обсуждение | вклад) |
|||
(не показаны 334 промежуточные версии 18 участников) | |||
Строка 1: | Строка 1: | ||
[[File:WB-MR6C.png |300px|thumb|right| Релейный модуль WB-MR6C]] | |||
=== Назначение === | |||
{{DISPLAYTITLE:Модули реле WB-MR6C}} | |||
Шестиканальные модули реле серий WB-MR6C предназначены для систем промышленной и домашней автоматизации. | |||
Модули, в зависимости от типа, предназначены для коммутирования силовой нагрузки общего назначения, в т.ч. индуктивной и ёмкостной: управления светодиодными светильниками, лампами накаливания, импульсными блоками питания и т.п. | |||
Шестиканальные модули реле WB-MR6C | |||
Модули рассчитаны на нагрузку 16А (номинал 10А) и могут использоваться без промежуточных контакторов. В модуле предусмотрен вход, одновременно отключающий всю нагрузку. | |||
== Технические характеристики == | === Выходы === | ||
[[Файл:Relay_Contacts_WB-MR6C.png|350px|thumb|left|Контакты реле модуля]] | |||
В модуле установлены 14 реле HF32F-G ([http://www.hongfa.com/pro/pdf/HF32F-G_en.pdf Datasheet]), коммутирующие соответствующие 6 нормально открытых выходов. Выходы выведены на винтовые зажимы, рассчитанные на максимальный ток 20 А. Контакты реле объединены в две группы, каждая со своим общим проводом, COM1 и COM2. | |||
В случае активной (резистивной) нагрузки реле могут коммутировать до 10 А/230 В переменного тока и до 10 А/30 В постоянного. В случае реактивной (ёмкостной или индуктивной) нагрузки (двигатели, импульсные блоки питания и т.д.) не следует коммутировать ток больше 400 мА. Используйте внешние контакторы, рассчитанные на соответствующую нагрузку. | |||
В модуле может быть включен таймер безопасного режима, который при прекращении обмена данными по Modbus с модулем отключает все реле по прошествии заданного времени. | |||
Ниже в таблице перечислены технические характеристики и условия применения релейного модуля WB-MR6C. | |||
Максимальное постоянное напряжение, которое могут коммутировать все реле модуля — 30 В. Каждый контакт реле защищен от образования дуги при замыкании/размыкании варистором, соединенным с общим контактом. В зависимости от настроек Modbus-регистров состояние входов может возобновляться после перерыва электропитания (см. раздел [[#Режим работы реле в случае отключении питания]]). | |||
=== Входы === | |||
Входы модулей WB-MR6C выведены на безвинтовые зажимы. Входы организованы по принципу "сухой контакт". Кнопки или выключатели подключаются между соответствующим входом блока Inputs и GND. Имеется специальный вход для отключения всех реле модуля одновременно. | |||
=== Технические характеристики === | |||
{| border="1" class="wikitable" style="text-align:left" | {| border="1" class="wikitable" style="text-align:left" | ||
Строка 27: | Строка 36: | ||
|- | |- | ||
|Напряжение питания | |Напряжение питания | ||
|9 | |9 — 24 В постоянного тока | ||
|- | |- | ||
|Потребляемая мощность | |Потребляемая мощность | ||
| | | | ||
*В режиме холостого хода (со всеми выключенными реле) — 0 | *В режиме холостого хода (со всеми выключенными реле) — 0,1 Вт | ||
*Со всеми включенными реле — 1 Вт | *Со всеми включенными реле — 1 Вт | ||
*Пиковое значение — до 4 Вт в течение 20 мс | *Пиковое значение — до 4 Вт в течение 20 мс | ||
Строка 55: | Строка 64: | ||
|30 В | |30 В | ||
|- | |- | ||
| | |Максимальный коммутируемый ток на каждый канал | ||
| | |10 А | ||
|- | |- | ||
|Сопротивление контактов | |Сопротивление контактов | ||
|< 100 | |< 100 миллиом | ||
|- | |- | ||
|Напряжение изоляции между контроллером и выходом | |Напряжение изоляции между контроллером и выходом | ||
|1500 В (среднеквадратичное значение) | |1500 В (среднеквадратичное значение) | ||
|- | |- | ||
|Срок жизни | |Срок жизни: | ||
|100 000 переключений для нагрузки | |100 000 переключений для нагрузки 10 А/230В переменного тока | ||
|- | |- | ||
! colspan="2" |Входы | ! colspan="2" |Входы | ||
|- | |- | ||
|Количество входов (Inputs 0—6) | |Количество входов (Inputs 0—6) | ||
|7 (6+1) Вход 0 отключает одновременно все реле ( | |7 (6+1) Вход 0 отключает одновременно все реле модуля | ||
|- | |||
|Тип входов | |||
|Сухой контакт, не изолированные от источника питания. | |||
|- | |||
|Функции | |||
| | |||
* Входы общего назначения | |||
* Счет сигналов | |||
* Прямое управление каналами реле | |||
* Одновременное отключение всей нагрузки | |||
* Запоминание состояния реле при отключении напряжения | |||
|- | |||
! colspan="2" |Управление | |||
|- | |||
|Интерфейс управления | |||
|RS-485 | |||
|- | |||
|Изоляция интерфейса | |||
|Неизолированный | |||
|- | |||
|Протокол обмена данными | |||
|Modbus RTU, адрес задается программно, заводские настройки указаны на наклейке | |||
|- | |||
|Параметры интерфейса RS-485 | |||
| | |||
*Скорость: 9600 бит/сек | |||
*Данные: 8 бит | |||
*Проверка чётности: нет | |||
*Стоповых бит: 2 | |||
|- | |||
|Готовность к работе после подачи питания | |||
| ~0,03 c | |||
|- | |||
! colspan="2" |Габариты | |||
|- | |||
|Ширина, DIN-юнитов | |||
|3 | |||
|- | |||
|Габаритные размеры (Д x Ш х В) | |||
|53,3 x 56,3 x 57,5 мм | |||
|- | |||
! colspan="2" |Индикация | |||
|- | |||
|Индикация питания и обмена данными | |||
|Зеленый светодиод Status (расположен под поверхностью верхней наклейки) | |||
|- | |||
|Индикация состояния каналов реле | |||
|Красно-оранжевые светодиоды 1 — 6 (расположены под поверхностью верхней наклейки) | |||
|- | |||
! colspan="2" |Условия эксплуатации | |||
|- | |||
|Температура воздуха | |||
|От -20 до +50 °С | |||
|- | |||
|Относительная влажность | |||
|До 92%, без конденсации влаги | |||
|- | |- | ||
|} | |} | ||
== | === Габаритные размеры модуля === | ||
=== | [[File:DIN 3U.png |300px|thumb|left| Габаритные размеры модулей в корпусе 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 мм<sup>2</sup>, а длина проводящей втулки — 5—6 мм. Винтовые зажимы принимают провод сечением 2,5—4 мм<sup>2</sup>. Сечение провода должно соответствовать коммутируемой нагрузке. | |||
При подключении коммутируемых устройств к контактам реле K1, K2 и K3 важно не превышать рекомендованный ток — 16 А. | |||
Ток, протекающий при замыкании кнопки или выключателя, невелик, так что тип кнопки или выключателя может быть любым. Несмотря на встроенную защиту от дребезга, выбирайте качественные кнопки и выключатели, чтобы исключить ложные срабатывания из-за плохих контактов. Осторожно — в модификации HV на клеммах присутствует высокое напряжение! | |||
Если устройство — последнее на линии RS-485, то между его входами A и B необходимо установить резистор-терминатор сопротивлением 120 Ом. Практика показывает, что в случае стендовых испытаний при небольшой длине линии RS-485 и небольшом количестве устройств терминатор на последнем устройстве в линии можно не устанавливать. | |||
Модуль необходимо устанавливать таким образом, чтобы удовлетворять требованиям электробезопасности и не допускать случайного касания контактов, находящихся под высоким напряжением. Модуль должен эксплуатироваться при рекомендованных условиях окружающей среды. | |||
[[File:Installation_WBMR6C_+_WB5.png|650px|thumb|center|Образец монтажа и подключения модуля 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. | ||
{| 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|Время отключения таймера безопасности]] | |||
|} | |||
С помощью виртуальных выключателей в web-интерфейсе K1-K6 можно управлять соответствующими выходами модуля и следить за их состоянием. Если реле будет включено или выключено через внешний вход, это отразится и в web-интерфейсе. | |||
Текущее состояние входов показывают флажки Input1 — Input6 (на них нельзя щелкнуть, чтобы изменить состояние). Счетчики нажатий/включений отображаются в полях Input 1 counter – Input 6 counter. Значения счетчиков хранятся в оперативной памяти микроконтроллера модуля реле и обнуляются при выключении/включении питания и сбросе. | |||
Ползунок Safety Timer позволяет задать время отключения (в секундах) всех выходов при отсутствии обмена данными с Wiren Board (0 – таймер безопасности отключен). При возобновлении связи с контроллером выключившиеся реле останутся выключенными. Ползунком удобно управлять с помощью клавиш со стрелками, предварительно сфокусировавшись на нем мышью: перемещение ползунка с помощью мыши не обеспечивает достаточную точность. Таймер безопасности позволяет остановить технологические процессы в случае, если контроль над модулем утрачен (например, перебит кабель RS-485). | |||
Кнопка, подключенная ко входу 0, позволяет отключить все включенные реле модуля одним нажатием. Повторное нажатие включит все реле, которые были включены изначально. Состояние реле хранится в оперативной памяти, поэтому если повторной нажатие кнопки произойдет после перебоя питания, восстановления состояния реле не произойдет. Возможность восстановления состояния реле после перебоя пеитания описана в разделе [[#Режим работы реле в случае отключении питания|Режим работы реле в случае отключении питания]]. | |||
== Параметры Modbus == | |||
=== Modbus-адрес === | |||
[[Файл:modbus_address_mr14.png|150px|thumb|left|Modbus-адрес, установленный на производстве]] | |||
Modbus-адрес устройств Wiren Board легко определить — он нанесен на наклейке (адрес указан в десятичном формате). Новый адрес устройства записывается командой WRITE_SINGLE_REGISTER в регистр хранения (holding register) с адресом 128 (0x80). Подробно о том, как определить или изменить Modbus-адрес модуля, написано на странице [[Определение_и_изменение_Modbus-адреса_устройств_Wirenboard]]. | |||
=== | === Команды Modbus, поддерживаемые устройством === | ||
{| border="1" class="wikitable | {| border="1" class="wikitable" style="text-align:center" | ||
!Команда | |||
!десятичный код | |||
|- | |- | ||
|READ_COIL | |||
| 1 | |||
|- | |- | ||
| | |READ DISCRETE INPUTS | ||
| 2 | |||
|- | |- | ||
| | |WRITE_SINGLE_COIL || 5 | ||
|- | |- | ||
| 3 || | |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 (см. таблицу ниже). | |||
=== Карта регистров === | |||
{| border="1" class="wikitable" style="text-align:center" | |||
!Регистр / адрес | |||
!тип | |||
!чтение/запись | |||
!значение по умолчанию | |||
!формат | |||
!назначение | |||
|- | |||
| 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, и преобразуем полученный шестнадцатеричный ответ в символьную строку: | |||
= | <syntaxhighlight lang="bash">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'` </syntaxhighlight> | |||
В результате выполнения команды получаем строку '''WBMR6'''. Всё верно -- это релейный модуль WB-MR6C. | |||
=== Перезагрузка === | |||
В ряде случаев может потребоваться перезагрузка модуля. Для этого в регистр 120 (0x78) необходимо записать любое значение, отличное от нуля: | |||
<syntaxhighlight lang="bash"> | |||
modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x06 -r0x78 100 | |||
</syntaxhighlight> | |||
Такая перезагрузка равносильна сбросу по питанию и изменению адреса устройства на 0x01. Все реле при этом выключаются. Предварительно, конечно, необходимо остановить сервис wb-mqtt-serial и убедиться, что к контроллеру не подключены другие Modbus-устройства. | |||
=== Выбор типа управления внешними входами === | |||
В модуле WB-MR6C предусмотрено два режима управления каналами реле: с помощью внешних входов и по протоколу RS-485. | |||
В WB-MR6C можно выбрать режим 0, когда ко внешнему входу подключена кнопка (без фиксации), или режим 1, когда для управления используется обычный выключатель (с фиксацией). Режим 3 отключает внешнее управление, но при этом все равно сохраняется возможность управления по RS-485 и чтение состояния внешних входов. По умолчанию включен режим 0. | |||
В режиме внешнего управления реле срабатывает по падению логического уровня: к внешним входам подключены резисторы подтяжки к линии +5V и реле соответствующего канала срабатывает при соединении входа с GND. | |||
Состояние реле каждого канала хранится в памяти контроллера до перезагрузки, по умолчанию при включении питания все реле выключены. После инициализации модуля опрашиваются внешние входы и реле всех каналов переводятся в соответствующее состояние. | |||
Тип внешнего управления можно выбрать для каждого канала отдельно через регистры 9—11. Для этого в holding-регистре 5 должно быть записано значение 0: | |||
<syntaxhighlight lang="bash"> | |||
modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x06 -r5 0 | |||
</syntaxhighlight> | |||
Инициализировать регистр при старте можно и через настройки web-интерфейса, смотрите страницу [[RS-485:Настройка_через_веб-интерфейс]]. |
Версия 18:28, 2 марта 2017
Назначение
Шестиканальные модули реле серий 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 В постоянного тока |
Потребляемая мощность |
|
Выходы | |
Количество выходов | 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 |
|
Готовность к работе после подачи питания | ~0,03 c |
Габариты | |
Ширина, DIN-юнитов | 3 |
Габаритные размеры (Д x Ш х В) | 53,3 x 56,3 x 57,5 мм |
Индикация | |
Индикация питания и обмена данными | Зеленый светодиод Status (расположен под поверхностью верхней наклейки) |
Индикация состояния каналов реле | Красно-оранжевые светодиоды 1 — 6 (расположены под поверхностью верхней наклейки) |
Условия эксплуатации | |
Температура воздуха | От -20 до +50 °С |
Относительная влажность | До 92%, без конденсации влаги |
Габаритные размеры модуля
Габаритные размеры модуля составляют 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 и небольшом количестве устройств терминатор на последнем устройстве в линии можно не устанавливать.
Модуль необходимо устанавливать таким образом, чтобы удовлетворять требованиям электробезопасности и не допускать случайного касания контактов, находящихся под высоким напряжением. Модуль должен эксплуатироваться при рекомендованных условиях окружающей среды.
Управление модулем через 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.
С помощью виртуальных выключателей в web-интерфейсе K1-K6 можно управлять соответствующими выходами модуля и следить за их состоянием. Если реле будет включено или выключено через внешний вход, это отразится и в web-интерфейсе. Текущее состояние входов показывают флажки Input1 — Input6 (на них нельзя щелкнуть, чтобы изменить состояние). Счетчики нажатий/включений отображаются в полях Input 1 counter – Input 6 counter. Значения счетчиков хранятся в оперативной памяти микроконтроллера модуля реле и обнуляются при выключении/включении питания и сбросе.
Ползунок Safety Timer позволяет задать время отключения (в секундах) всех выходов при отсутствии обмена данными с Wiren Board (0 – таймер безопасности отключен). При возобновлении связи с контроллером выключившиеся реле останутся выключенными. Ползунком удобно управлять с помощью клавиш со стрелками, предварительно сфокусировавшись на нем мышью: перемещение ползунка с помощью мыши не обеспечивает достаточную точность. Таймер безопасности позволяет остановить технологические процессы в случае, если контроль над модулем утрачен (например, перебит кабель RS-485).
Кнопка, подключенная ко входу 0, позволяет отключить все включенные реле модуля одним нажатием. Повторное нажатие включит все реле, которые были включены изначально. Состояние реле хранится в оперативной памяти, поэтому если повторной нажатие кнопки произойдет после перебоя питания, восстановления состояния реле не произойдет. Возможность восстановления состояния реле после перебоя пеитания описана в разделе Режим работы реле в случае отключении питания.
Параметры 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:Настройка_через_веб-интерфейс.