I/O Mapping Matrix: различия между версиями

Строка 183: Строка 183:
Запрограммируем матрицу таким образом, чтобы вход 0, работая в режиме кнопки (выключателя без фиксации) последовательно включал и отключал все реле модуля при замыкании.
Запрограммируем матрицу таким образом, чтобы вход 0, работая в режиме кнопки (выключателя без фиксации) последовательно включал и отключал все реле модуля при замыкании.


Для этого обратимся к карте регистров mapping-матрицы и увидим, что входу 0 соответствуют регистры 384, 385, 386, 387, 388, 389, 390, 391. Причем за взаимодействие со входами 1 — 6 отвечают регистры 384 389.
Для этого обратимся к карте регистров mapping-матрицы и увидим, что входу 0 соответствуют регистры 440 — 447. Причем за взаимодействие со входами 1 — 6 отвечают регистры 440 445.




Мы хотим, чтобы вход работал, как выключатель без фиксации и срабатывал при нажатии (по переднему фронту), а при размыкании ничего бы не происходило. При каждом нажатии состояние всех реле должно инвертироваться. Это соответствует комбинации 11 00: (12, 0x0C) — Изменить состояние выхода при замыкании:
Мы хотим, чтобы вход работал, как выключатель без фиксации и срабатывал при нажатии (по переднему фронту), а при размыкании ничего бы не происходило. При каждом нажатии состояние всех реле должно инвертироваться. Это соответствует комбинации 11 00: (12, 0x0C) — Изменить состояние выхода при замыкании:
[[File:Mm_1100.png|frameless|270px]]<br>
[[File:Mm_1100.png|frameless|270px]]<br>
Запишем в регистры 384 389 значение 12:
Запишем в регистры 440 445 значение 12:


<pre>modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x10 -r384 12 12 12 12 12 12</pre>
<pre>modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x10 -r440 12 12 12 12 12 12</pre>


Проверим работу:
Проверим работу: при первом замыкании входа 0 все реле включаются, при втором — все реле выключаются.
5813

правок