|
|
Строка 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.
| |
| -->
| |
|
| |
|
| == Примеры программирования == | | == Примеры программирования == |