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

Материал из Wiren Board
Строка 25: Строка 25:


Таким образом, можно запрограммировать реакцию каждого выхода на включение и отключение любых входов.
Таким образом, можно запрограммировать реакцию каждого выхода на включение и отключение любых входов.
 
<!--
   
   
{| class="wikitable"
{| class="wikitable"
Строка 51: Строка 51:
|}
|}


 
-->
{| class="wikitable"
{| class="wikitable"
!  !!  !! ! colspan="4" |Задний фронт  
!  !!  !! ! colspan="4" |Задний фронт  

Версия 15:01, 2 апреля 2019

СТАТЬЯ В ПРОЦЕССЕ РЕДАКТИРОВАНИЯ

Модуль учета водопотребления и контроля протечек WB-MWAC


Назначение

Начиная с версии 1.9.0 для устройств серии WB-MR и WB-MWAC в прошивке реализована поддержка матрицы отображения значений входов на значения выходов. Данная дополнительная функциональность позволяет максимально гибко настраивать реакцию конкретных выходов устройства в зависимости от состояния его входов.


Устройство и принцип работы mapping-матрицы

Матрица действий над выходами по изменению состояний входов (mapping-матрица) находится в регистрах хранения устройства, начиная с адреса 384, и содержит 64 регистра из расчета 8 входов / 8 выходов. В каждом регистре записано одно из числовых значений, которыми кодируется взаимодействие одного из входов с одним из выходов.

Строки описывают действия при изменении соответствующего входа, столбцы — соответствующие выходы. Таким образом в ячейке на пересечении сроки входа и столбца выхода содержится значение, задающее работу выхода при изменении соответствующего входа. Действие описывается значением младших четырех бит шестнадцатибитного слова 0b0000 0000 0000 yyxx, хранящегося в регистре. Биты yy описывают действия при переходе значения входа из 0 в 1 (передний фронт), а биты xx — из 1 в 0 (задний фронт).

Каждая комбинация из двух бит описывает четыре возможных действия:

  • 00 — ничего не делать
  • 01 — выключить
  • 10 — включить
  • 11 — инвертировать значение

Таким образом, можно запрограммировать реакцию каждого выхода на включение и отключение любых входов.

Задний фронт
00 01 10 11
Передний
фронт
00 Mm 0000.png
(0) — Вход отключен, не управляет выходами
Mm 0001.png
(1) — Выключить при размыкании
Mm 0010.png
(2) — Включить при размыкании
Mm 0011.png
(3) — Изменить состояние выхода при размыкании
01 Mm 0100.png
(4) — Выключить при замыкании
Mm 0101.png
(5)— Всегда выключать
Mm 0110.png
(6) — Работать как инвертированный
выключатель с фиксацией
Mm 0111.png
(7) — Выключить при размыкании, потом
изменять состояние при переключении
10 Mm 1000.png
(8) — Включить при замыкании
Mm 1001.png
(9) — Работать как выключатель с фиксацией
(повторять вход)
Mm 1010.png
(10, 0x0A)— Всегда включать
Mm 1011.png
(11, 0x0B) — Включить, потом изменять
состояние при размыкании
11 Mm 1100.png
(12, 0x0C) — Изменить состояние выхода
при замыкании (выключатель без фиксации)
Mm 1101.png
(13, 0x0D) — Изменить состояние, потом
выключить при размыкании
Mm 1110.png
(14, 0x0E) — Изменить состояние, потом
включить при размыкании
Mm 1111.png
(15, 0x0F)— Изменить состояние при замыкании
и вернуться к исходному состоянию при размыкании

Карта регистров 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