I/O Mapping Matrix

Материал из Wiren Board

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

Модуль учета водопотребления и контроля протечек 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 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-матрицы

Регистры Выходы
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