Перейти к содержанию

Навигация

WB-MR14 Modbus 14 Channel Relay Module: различия между версиями

Строка 195: Строка 195:


Подробно о работе с модулем по протоколу Modbus написано в разделе [[Relay Module Modbus Management|Управление модулями реле Wirenboard по протоколу Modbus]].
Подробно о работе с модулем по протоколу Modbus написано в разделе [[Relay Module Modbus Management|Управление модулями реле Wirenboard по протоколу Modbus]].
== Управление модулем из командной строки ==
Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus, подробное описание команды находится на странице [[Modbus-client]]. Доступ к командной строке описан в статье [[SSH]].
=== Чтение регистров ===
Проверим, верно ли, что мы подключились именно к WB-MR14. По адресу 200 хранится уникальная для WB-MR14 сигнатура длиной в 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>
В результате выполнения команды получаем строку '''WBMR14'''. Всё верно -- это релейный модуль WB-MR14.
=== Перезагрузка ===
В ряде случаев может потребоваться перезагрузка модуля. Для этого в регистр 120 (0x78) необходимо записать любое значение, отличное от нуля:
<syntaxhighlight lang="bash">
modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x06 -r0x78 100
</syntaxhighlight>
Такая перезагрузка равносильна сбросу по питанию и изменению адреса устройства на 0x01. Все реле при этом выключаются. Предварительно, конечно, необходимо остановить сервис wb-mqtt-serial и убедиться, что к контроллеру не подключены другие Modbus-устройства.
=== Выбор типа управления внешними входами ===
В модуле WB-MR14 предусмотрено два режима управления каналами реле: с помощью внешних входов и по протоколу RS-485.
В WB-MR14 можно выбрать режим 0, когда ко внешнему входу подключена кнопка (без фиксации), или режим 1, когда для управления используется обычный выключатель (с фиксацией). Режим 3 отключает внешнее управление, но при этом все равно сохраняется возможность управления по RS-485 и чтение состояния внешних входов. По умолчанию включен режим 0.
В режиме внешнего управления реле срабатывает по падению логического уровня: к внешним входам подключены резисторы подтяжки к линии +5V и реле соответствующего канала срабатывает при соединении входа с GND.
Состояние реле каждого канала хранится в памяти контроллера до перезагрузки, по умолчанию при включении питания все реле выключены. После инициализации модуля опрашиваются внешние входы и реле всех каналов переводятся в соответствующее состояние.
Тип внешнего управления можно выбрать для каждого канала отдельно через регистры 9—22. Для этого в holding-регистре 5 должно быть записано значение 0:
<syntaxhighlight lang="bash">
modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x06 -r5 0
</syntaxhighlight>
Инициализировать регистр при старте можно и через настройки web-интерфейса, смотрите страницу [[RS-485:Настройка_через_веб-интерфейс]].
<!--
== Конструкция релейного модуля WB-MR14 ==
Физически контроллер состоит из двух плат: платы реле и контактов и платы управления, питания и индикации. Платы расположены под прямым углом и соединены пайкой. Платы установлены в пластиковом корпусе для монтажа на DIN-рейку. На корпусе имеется доступ к индикаторам и контактам.
[[Файл:Armstm32F.png|250px|thumb|right|Центральный процессор модуля]]
В основе устройства лежит 32-битный RISC-процессор STM32F051R8T6 с ядром Cortex-M0, функционирующий на частоте 16 МГц.
На плате управления предусмотрено место для установки разъема для перепрограммирования контроллера. Разъем не распаян.
На плате контактов и реле расположены 12 реле HF32F-G, коммутирующие соответствующие 12 выходов, выведенных на винтовые зажимы.
Контакты реле объединены в две группы, каждая со своим общим проводом, COM1 и COM2. На общий провод отводится две винтовых клеммы, соединенных на плате.
В случае активной (резистивной) нагрузки реле могут коммутировать до 10 А/230 В переменного тока и до 10 А/30 В постоянного. В случае реактивной (ёмкостной или индуктивной) нагрузки (двигатели, импульсные блоки питания и т.д.) не следует коммутировать ток больше 400 мА. Используйте внешние контакторы, рассчитанные на соответствующую нагрузку.
Каждый контакт реле защищен от образования дуги при замыкании/размыкании симметричным TVS-диодом.
Микропроцессор управляет реле и индикаторами через модули ULN2003A, состоящие  из дарлингтоновских транзисторных сборок и защитных диодов, гасящих ток самоиндукции катушек реле. Для устранения дребезга контактов на каждой входной линии применяются RC-цепочки. Входы подтянуты резисторами к линии питания +5V.
-->


== Примеры программирования ==
== Примеры программирования ==
5813

правок