I/O Mapping Matrix: различия между версиями
Kt315 (обсуждение | вклад) |
Sergey (обсуждение | вклад) |
||
(не показано 149 промежуточных версий 12 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE: I/O Mapping Matrix}} | ||
'''СТАТЬЯ В ПРОЦЕССЕ РЕДАКТИРОВАНИЯ''' | |||
[[ | [[File:WB-MWAC-FRONT.png|300px|thumb|right| Модуль учета водопотребления и контроля протечек WB-MWAC]] | ||
=== Назначение === | |||
Начиная с версии '''1.9.0''' для устройств серии '''WB-MR''' в прошивке реализована поддержка матрицы отображения значений входов на значения выходов. Данная дополнительная функциональность позволяет максимально гибко настраивать реакцию конкретных выходов устройства в зависимости от состояния его входов. | |||
=== Обмен данными === | |||
На физическом уровне модуль подключается через интерфейс [[RS-485]]. Для управления WB-MWAC используется протокол Modbus RTU. В устройствах Wirenboard данные Modbus передаются по линиям связи RS-485. Подробнее смотрите страницу [[Протокол Modbus]]. Modbus-адрес модуля задается на заводе и нанесен на наклейке на его боковой стороне. Адрес может быть изменен программно. Подробно смотрите в разделе [[#Управление_по_Modbus|Управление по Modbus]]. | |||
== Монтаж == | |||
Релейный модуль монтируется на стандартную DIN-рейку шириной 35 мм и занимает ширину 3 DIN-модуля. | |||
Блоки винтовых зажимов на плате реле служат для подключения линий питания, управления (RS-485), входных контактов, выводов реле. При использовании при монтаже наконечников типа НШВИ для установки проводов в зажимы необходимо, чтобы диаметр изолированных манжет и длина проводящих втулок соответствовала используемым клеммникам. Винтовые зажимы контактов реле принимают провод сечением 2,5—4 мм<sup>2</sup>. Сечение провода должно соответствовать коммутируемой нагрузке. | |||
При подключении коммутируемых устройств к контактам реле важно не превышать рекомендованный ток — 3 А. | |||
Ток, протекающий при замыкании кнопки или выключателя, невелик, так что тип кнопки или выключателя может быть любым. Несмотря на встроенную защиту от дребезга, выбирайте качественные кнопки и выключатели, чтобы исключить ложные срабатывания из-за плохих контактов. | |||
Датчики протечки можно использовать любые: как пассивные, с двумя выводами, так и активные (с питанием), с тремя или четырьмя выводами. | |||
Если устройство — последнее на линии RS-485, то между его входами A и B необходимо установить резистор-терминатор сопротивлением 120 Ом. Практика показывает, что в случае стендовых испытаний при небольшой длине линии RS-485 и небольшом количестве устройств терминатор на последнем устройстве в линии можно не устанавливать. | |||
Модуль необходимо устанавливать таким образом, чтобы удовлетворять требованиям электробезопасности и не допускать случайного касания контактов, находящихся под высоким напряжением. Модуль должен эксплуатироваться при рекомендованных условиях окружающей среды. | |||
== Управление модулем через web-интерфейс Wiren Board == | |||
Для устройства используется шаблон WB-MWAC. | |||
== Mapping-матрица для WB-MWAC == | |||
Матрица действий над выходами по изменению состояний входов (mapping-матрица) находится регистрах хранения устройства, начиная с адреса 384, и содержит 64 регистра из расчета 8 входов/8выходов. | |||
Строки описывают действия при изменении соответствующего входа, столбцы — соответствующие выходы. | |||
Таким образом в ячейке на пересечении сроки входа и столбца выхода содержится значение, задающее работу выхода при изменении соответствующего входа. | |||
Действие описывается значением младших четырех бит шестнадцатибитного слова '''0b0000 0000 0000 yyxx''', хранящегося в регистре. | |||
Биты '''yy''' описывают действия при переходе значения входа из 0 в 1 (передний фронт), а биты '''xx''' — из 1 в 0 (задний фронт). | |||
Каждая комбинация из двух бит описывает четыре возможных действия: | |||
*00 — ничего не делать | |||
*01 — выключить | |||
*10 — включить | |||
*11 — инвертировать значение | |||
Таким образом, для каждого входа можно запрограммировать реакцию каждого выхода на включение и отключение входа. | |||
{| class="wikitable" | |||
! | {| class="wikitable" | ||
! !! !! ! colspan="4" |Задний фронт | |||
|- | |- | ||
! | ! | ||
| || | | || 00 || 01 || 10 || 11 | ||
|- | |- | ||
!rowspan=" | ! rowspan="4"|Передний фронт | ||
| | | 00 | ||
| 0000 (0) — Вход отключен, не управляет выходами | |||
| 0001 (1)— Выключить при размыкании | |||
| 0010 (2) — Включить при размыкании | |||
| 0011 (3) — Изменить состояние выхода при размыкании | |||
|- | |- | ||
| | | 01 | ||
| 0100 (4) — Выключить при замыкании | |||
| 0101 (5)— Всегда выключать | |||
| 0110 (6) — Работать как инвертированный выключатель с фиксацией | |||
| 0111 (7) — Выключить при размыкании, потом изменять состояние при переключении | |||
|- | |- | ||
| | | 10 || 1000 (8) — Включить при замыкании || 1001 (9) — Работать как выключатель с фиксацией (повторять вход) || 1010 (10, 0x0A)— Всегда включать || 1011 (11, 0x0B) — Включить, потом изменять состояние при размыкании | ||
|- | |- | ||
| | | 11 || 1100 (12, 0x0C) — Изменить состояние выхода при замыкании (выключатель без фиксации) || 1101 (13, 0x0D) — Изменить состояние, потом выключить при размыкании || 1110 (14, 0x0E) — Изменить состояние, потом включить при размыкании || 1111 (15, 0x0F)— Изменить состояние при замыкании и вернуться к исходному состоянию при размыкании | ||
|} | |} | ||
=== | ===Пример mapping-матрицы для реализации функций WB-MWAC=== | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! !! !! K1 !! K2 !! Alarm !! LED 1 !! LED 2 !! LED 3 | ||
|- | |- | ||
! | ! | ||
| || | | || 0 || 1 || 2 || 3 || 4 || 5 | ||
|- | |- | ||
! | ! S1 | ||
| | | 0 || повторять вход (9) || || || || || | ||
|- | |- | ||
| | ! S2 | ||
| 1 || || повторять вход (9) || || || || | |||
|- | |- | ||
! S3 | |||
| 2 || || || отключает при любом нажатии (4) || || || | |||
! | |||
| | |||
| | |||
|- | |- | ||
| | ! F1 | ||
| 3 || при срабатывании выключить (4) || при срабатывании выключить (4)|| включить при любом срабатывании (8) || повторять вход (9)|| || | |||
|- | |- | ||
| | ! F2 | ||
| 4 || при срабатывании выключить (4)|| при срабатывании выключить (4)|| включить при любом срабатывании (8)|| || повторять вход (9) || | |||
|- | |- | ||
| | ! F3 | ||
| 5 || при срабатывании выключить (4)|| при срабатывании выключить (4)|| включить при любом срабатывании (8)|| || || повторять вход (9) | |||
|} | |} | ||
==Карта регистров mapping-матрицы == | |||
{| class="wikitable" | {| class="wikitable" | ||
! Регистры !! !! colspan="8"| Выходы | ! Регистры !! !! colspan="8"| Выходы | ||
|- | |- | ||
! | ! | ||
| | | | || '''0''' || '''1''' || '''2''' || '''3''' || '''4''' || '''5''' || '''6''' || '''7''' | ||
| '''0''' | |||
| '''5''' | | |||
| '''6''' | | |||
| '''7 | |||
|- | |- | ||
!rowspan="8" |Входы | !rowspan="8" |Входы | ||
| '''0''' || 384 || 385 || 386 || 387 || 388 || 389 || 390 || 391 | |||
| '''0''' || | |||
|- | |- | ||
| ''' | | '''1''' || 392 || 393 || 394 || 395 || 396 || 397 || 398 || 399 | ||
|- | |- | ||
| ''' | | '''2''' || 400 || 401 || 402 || 403 || 404 || 405 || 406 || 407 | ||
|- | |- | ||
| ''' | | '''3''' || 408 || 409 || 410 || 411 || 412 || 413 || 414 || 415 | ||
|- | |- | ||
| ''' | | '''4''' || 416 || 417 || 418 || 419 || 420 || 421 || 422 || 423 | ||
|- | |- | ||
| ''' | | '''5''' || 424 || 425 || 426 || 427 || 428 || 429 || 430 || 431 | ||
|- | |- | ||
| ''' | | '''6''' || 432 || 433 || 434 || 435 || 436 || 437 || 438 || 439 | ||
|- | |- | ||
| '''7''' || 440 || 441 || 442 || 443 || 444 || 445 || 446 || 447 | |||
|} | |} |
Версия 17:21, 1 октября 2018
СТАТЬЯ В ПРОЦЕССЕ РЕДАКТИРОВАНИЯ
Назначение
Начиная с версии 1.9.0 для устройств серии WB-MR в прошивке реализована поддержка матрицы отображения значений входов на значения выходов. Данная дополнительная функциональность позволяет максимально гибко настраивать реакцию конкретных выходов устройства в зависимости от состояния его входов.
Обмен данными
На физическом уровне модуль подключается через интерфейс RS-485. Для управления WB-MWAC используется протокол Modbus RTU. В устройствах Wirenboard данные Modbus передаются по линиям связи RS-485. Подробнее смотрите страницу Протокол Modbus. Modbus-адрес модуля задается на заводе и нанесен на наклейке на его боковой стороне. Адрес может быть изменен программно. Подробно смотрите в разделе Управление по Modbus.
Монтаж
Релейный модуль монтируется на стандартную DIN-рейку шириной 35 мм и занимает ширину 3 DIN-модуля.
Блоки винтовых зажимов на плате реле служат для подключения линий питания, управления (RS-485), входных контактов, выводов реле. При использовании при монтаже наконечников типа НШВИ для установки проводов в зажимы необходимо, чтобы диаметр изолированных манжет и длина проводящих втулок соответствовала используемым клеммникам. Винтовые зажимы контактов реле принимают провод сечением 2,5—4 мм2. Сечение провода должно соответствовать коммутируемой нагрузке.
При подключении коммутируемых устройств к контактам реле важно не превышать рекомендованный ток — 3 А.
Ток, протекающий при замыкании кнопки или выключателя, невелик, так что тип кнопки или выключателя может быть любым. Несмотря на встроенную защиту от дребезга, выбирайте качественные кнопки и выключатели, чтобы исключить ложные срабатывания из-за плохих контактов.
Датчики протечки можно использовать любые: как пассивные, с двумя выводами, так и активные (с питанием), с тремя или четырьмя выводами.
Если устройство — последнее на линии RS-485, то между его входами A и B необходимо установить резистор-терминатор сопротивлением 120 Ом. Практика показывает, что в случае стендовых испытаний при небольшой длине линии RS-485 и небольшом количестве устройств терминатор на последнем устройстве в линии можно не устанавливать.
Модуль необходимо устанавливать таким образом, чтобы удовлетворять требованиям электробезопасности и не допускать случайного касания контактов, находящихся под высоким напряжением. Модуль должен эксплуатироваться при рекомендованных условиях окружающей среды.
Управление модулем через web-интерфейс Wiren Board
Для устройства используется шаблон WB-MWAC.
Mapping-матрица для WB-MWAC
Матрица действий над выходами по изменению состояний входов (mapping-матрица) находится регистрах хранения устройства, начиная с адреса 384, и содержит 64 регистра из расчета 8 входов/8выходов. Строки описывают действия при изменении соответствующего входа, столбцы — соответствующие выходы. Таким образом в ячейке на пересечении сроки входа и столбца выхода содержится значение, задающее работу выхода при изменении соответствующего входа. Действие описывается значением младших четырех бит шестнадцатибитного слова 0b0000 0000 0000 yyxx, хранящегося в регистре. Биты yy описывают действия при переходе значения входа из 0 в 1 (передний фронт), а биты xx — из 1 в 0 (задний фронт).
Каждая комбинация из двух бит описывает четыре возможных действия:
- 00 — ничего не делать
- 01 — выключить
- 10 — включить
- 11 — инвертировать значение
Таким образом, для каждого входа можно запрограммировать реакцию каждого выхода на включение и отключение входа.
Задний фронт | |||||
---|---|---|---|---|---|
00 | 01 | 10 | 11 | ||
Передний фронт | 00 | 0000 (0) — Вход отключен, не управляет выходами | 0001 (1)— Выключить при размыкании | 0010 (2) — Включить при размыкании | 0011 (3) — Изменить состояние выхода при размыкании |
01 | 0100 (4) — Выключить при замыкании | 0101 (5)— Всегда выключать | 0110 (6) — Работать как инвертированный выключатель с фиксацией | 0111 (7) — Выключить при размыкании, потом изменять состояние при переключении | |
10 | 1000 (8) — Включить при замыкании | 1001 (9) — Работать как выключатель с фиксацией (повторять вход) | 1010 (10, 0x0A)— Всегда включать | 1011 (11, 0x0B) — Включить, потом изменять состояние при размыкании | |
11 | 1100 (12, 0x0C) — Изменить состояние выхода при замыкании (выключатель без фиксации) | 1101 (13, 0x0D) — Изменить состояние, потом выключить при размыкании | 1110 (14, 0x0E) — Изменить состояние, потом включить при размыкании | 1111 (15, 0x0F)— Изменить состояние при замыкании и вернуться к исходному состоянию при размыкании |
Пример mapping-матрицы для реализации функций WB-MWAC
K1 | K2 | Alarm | LED 1 | LED 2 | LED 3 | ||
---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | ||
S1 | 0 | повторять вход (9) | |||||
S2 | 1 | повторять вход (9) | |||||
S3 | 2 | отключает при любом нажатии (4) | |||||
F1 | 3 | при срабатывании выключить (4) | при срабатывании выключить (4) | включить при любом срабатывании (8) | повторять вход (9) | ||
F2 | 4 | при срабатывании выключить (4) | при срабатывании выключить (4) | включить при любом срабатывании (8) | повторять вход (9) | ||
F3 | 5 | при срабатывании выключить (4) | при срабатывании выключить (4) | включить при любом срабатывании (8) | повторять вход (9) |
Карта регистров mapping-матрицы
Регистры | Выходы | ||||||||
---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
Входы | 0 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 |
1 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | |
2 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | |
3 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | |
4 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | |
5 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | |
6 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | |
7 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 |