Examples of interaction: различия между версиями

м
Поправил оформление, добавил раздел про подготовку к работе
м (Уточнил действия в примере, добавил настройку выключателя без фиксации)
м (Поправил оформление, добавил раздел про подготовку к работе)
Строка 1: Строка 1:
{{DISPLAYTITLE:Примеры программирования взаимодействия входов и выходов}}
{{DISPLAYTITLE:Примеры программирования взаимодействия входов и выходов}}
 
== Вводная информация ==
<!--T:18-->
<!--T:18-->
Рассмотрим несколько примеров программирования программирования взаимодействия входов и выходов на примере релейного модуля WB-MR6C с прошивкой 1.9.4. Модуль имеет 7 входов типа "сухой контакт" и 6 релейных выходов. Вход 0 по умолчанию используется для отключения всех реле модулей, а кнопки 1 — 6 для управления модулями реле.  
Рассмотрим несколько примеров программирования взаимодействия входов и выходов на примере релейного модуля [[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-->
'''Все примеры выполняются при остановленном драйвере wb-mqtt-serial:'''
{{Wbincludes:Modbus client preparing for work}}
<syntaxhighlight lang="bash">service wb-mqtt-serial stop</syntaxhighlight>


=== Выключатели с фиксацией === <!--T:21-->
== Выключатели с фиксацией == <!--T:21-->
Чтобы перевести входы в режим «Выключатель с фиксацией», запишите в регистры настройки входов значение 1.
Чтобы перевести входы в режим «Выключатель с фиксацией», запишите в регистры настройки входов значение 1.


Строка 22: Строка 22:
Теперь входы функционируют в режиме «Выключатель с фиксацией», а активация выключателя, подключенного ко входу 0, выключит все реле.
Теперь входы функционируют в режиме «Выключатель с фиксацией», а активация выключателя, подключенного ко входу 0, выключит все реле.


=== Выключатели без фиксации === <!--T:21-->
== Выключатели без фиксации == <!--T:21-->
Чтобы перевести все входы в режим «Выключатель без фиксации», запишите в регистры настройки входов значение 0.
Чтобы перевести все входы в режим «Выключатель без фиксации», запишите в регистры настройки входов значение 0.


Строка 32: Строка 32:
Теперь входы функционируют в режиме «Выключатель без фиксации», а кратковременное нажатие на кнопку, подключенную ко входу 0, выключит все реле.
Теперь входы функционируют в режиме «Выключатель без фиксации», а кратковременное нажатие на кнопку, подключенную ко входу 0, выключит все реле.


=== Отключить взаимодействие входов и реле === <!--T:26-->  
== Отключить взаимодействие входов и реле == <!--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-->
== Использование 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-->
=== Вход 0 включает и выключает все реле === <!--T:33-->


<!--T:34-->
<!--T:34-->
Строка 79: Строка 79:




==== Инвертированный выключатель с фиксацией ==== <!--T:39-->
=== Инвертированный выключатель с фиксацией === <!--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-->
=== Датчик протечки === <!--T:41-->
'''ВНИМАНИЕ:''' используемый в примере '''режим 5''' — восстановление состояния выхода через 20 минут, '''доступен только для''' [[WB-MWAC]].
'''ВНИМАНИЕ:''' используемый в примере '''режим 5''' — восстановление состояния выхода через 20 минут, '''доступен только для''' [[WB-MWAC]].