16 281
правка
м (Уточнил действия в примере, добавил настройку выключателя без фиксации) |
м (Поправил оформление, добавил раздел про подготовку к работе) |
||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Примеры программирования взаимодействия входов и выходов}} | {{DISPLAYTITLE:Примеры программирования взаимодействия входов и выходов}} | ||
== Вводная информация == | |||
<!--T:18--> | <!--T:18--> | ||
Рассмотрим несколько примеров | Рассмотрим несколько примеров программирования взаимодействия входов и выходов на примере релейного модуля [[WB-MR6C]] с прошивкой 1.9.4. Модуль имеет 7 входов типа «сухой контакт» и 6 релейных выходов. Вход 0 по умолчанию используется для отключения всех реле модулей, а кнопки 1 — 6 для управления модулями реле. | ||
<!--T:19--> | <!--T:19--> | ||
В примерах ориентируемся на заводские настройки параметров коммуникации модуля, Modbus-адрес — 1. Модуль подключен к первому порту контроллера Wiren Board 6. | В примерах ориентируемся на заводские настройки параметров коммуникации модуля, Modbus-адрес — 1. Модуль подключен к первому порту контроллера Wiren Board 6. | ||
Назначение регистров и возможных значений смотрите в [[Relay_Module_Modbus_Management| '''Карте регистров модулей реле''']]. | |||
<!--T:20--> | <!--T:20--> | ||
{{Wbincludes:Modbus client preparing for work}} | |||
== Выключатели с фиксацией == <!--T:21--> | |||
Чтобы перевести входы в режим «Выключатель с фиксацией», запишите в регистры настройки входов значение 1. | Чтобы перевести входы в режим «Выключатель с фиксацией», запишите в регистры настройки входов значение 1. | ||
Строка 22: | Строка 22: | ||
Теперь входы функционируют в режиме «Выключатель с фиксацией», а активация выключателя, подключенного ко входу 0, выключит все реле. | Теперь входы функционируют в режиме «Выключатель с фиксацией», а активация выключателя, подключенного ко входу 0, выключит все реле. | ||
== Выключатели без фиксации == <!--T:21--> | |||
Чтобы перевести все входы в режим «Выключатель без фиксации», запишите в регистры настройки входов значение 0. | Чтобы перевести все входы в режим «Выключатель без фиксации», запишите в регистры настройки входов значение 0. | ||
Строка 32: | Строка 32: | ||
Теперь входы функционируют в режиме «Выключатель без фиксации», а кратковременное нажатие на кнопку, подключенную ко входу 0, выключит все реле. | Теперь входы функционируют в режиме «Выключатель без фиксации», а кратковременное нажатие на кнопку, подключенную ко входу 0, выключит все реле. | ||
== Отключить взаимодействие входов и реле == <!--T:26--> | |||
<!--T:27--> | <!--T:27--> | ||
Строка 48: | Строка 48: | ||
<syntaxhighlight lang="bash">modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x06 -r16 3</syntaxhighlight> | <syntaxhighlight lang="bash">modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x06 -r16 3</syntaxhighlight> | ||
== Использование Mapping-матрицы == <!--T:31--> | |||
Более сложные сценарии взаимодействия входов с реле можно реализовать с помощью '''[[I/O_Mapping_Matrix|Mapping-матрицы]]'''. | Более сложные сценарии взаимодействия входов с реле можно реализовать с помощью '''[[I/O_Mapping_Matrix|Mapping-матрицы]]'''. | ||
Запишем в регистры настройки взаимодействия входов/выходов — значение 4: | Запишем в регистры настройки взаимодействия входов/выходов — значение 4: | ||
Строка 58: | Строка 58: | ||
<syntaxhighlight lang="bash">modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x10 -r384 $(printf ' 0%.0s' {1..64})</syntaxhighlight> | <syntaxhighlight lang="bash">modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x10 -r384 $(printf ' 0%.0s' {1..64})</syntaxhighlight> | ||
=== Вход 0 включает и выключает все реле === <!--T:33--> | |||
<!--T:34--> | <!--T:34--> | ||
Строка 79: | Строка 79: | ||
=== Инвертированный выключатель с фиксацией === <!--T:39--> | |||
Настроим входы таким образом, чтобы при замкнутых входах реле были бы выключены, а при разомкнутых -- включены. | Настроим входы таким образом, чтобы при замкнутых входах реле были бы выключены, а при разомкнутых -- включены. | ||
Для этого при замыкании входа (передний фронт) соответствующий выход должен выключаться (01), а при размыкании входа (задний фронт) — включаться (10). Это соответствует значению 6: [[File:Mm_0110.png|frameless|270px]]<br> | Для этого при замыкании входа (передний фронт) соответствующий выход должен выключаться (01), а при размыкании входа (задний фронт) — включаться (10). Это соответствует значению 6: [[File:Mm_0110.png|frameless|270px]]<br> | ||
Строка 88: | Строка 88: | ||
Обратите внимание: изменение состояния реле происходят только при изменении состояния ввода. | Обратите внимание: изменение состояния реле происходят только при изменении состояния ввода. | ||
=== Датчик протечки === <!--T:41--> | |||
'''ВНИМАНИЕ:''' используемый в примере '''режим 5''' — восстановление состояния выхода через 20 минут, '''доступен только для''' [[WB-MWAC]]. | '''ВНИМАНИЕ:''' используемый в примере '''режим 5''' — восстановление состояния выхода через 20 минут, '''доступен только для''' [[WB-MWAC]]. | ||