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

Материал из Wiren Board
Строка 68: Строка 68:
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_0100.png|frameless|270px]]<br>(4) — Выключить при замыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_0100.png|frameless|270px]]<br>(4) — Выключить при замыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_0101.png|frameless|270px]]<br>(5)— Всегда выключать
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_0101.png|frameless|270px]]<br>(5)— Всегда выключать
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_0110.png|frameless|270px]]<br>(6) — Работать как инвертированный выключатель с фиксацией
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_0110.png|frameless|270px]]<br>(6) — Работать как инвертированный <br>выключатель с фиксацией
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_0111.png|frameless|270px]]<br>(7) — Выключить при размыкании, потом изменять состояние при переключении
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_0111.png|frameless|270px]]<br>(7) — Выключить при размыкании, потом <br>изменять состояние при переключении
|- style="vertical-align:center;"
|- style="vertical-align:center;"
| '''10'''  
| '''10'''  
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1000.png|frameless|270px]]<br>(8) — Включить при замыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1000.png|frameless|270px]]<br>(8) — Включить при замыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1001.png|frameless|270px]]<br>(9) — Работать как выключатель с фиксацией (повторять вход)
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1001.png|frameless|270px]]<br>(9) — Работать как выключатель с фиксацией <br>(повторять вход)
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1010.png|frameless|270px]]<br>(10, 0x0A)— Всегда включать
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1010.png|frameless|270px]]<br>(10, 0x0A)— Всегда включать
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1011.png|frameless|270px]]<br>(11, 0x0B) — Включить, потом изменять состояние при размыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1011.png|frameless|270px]]<br>(11, 0x0B) — Включить, потом изменять <br>состояние при размыкании
|- style="vertical-align:center;"
|- style="vertical-align:center;"
| '''11'''  
| '''11'''  
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1100.png|frameless|270px]]<br>(12, 0x0C) — Изменить состояние выхода при замыкании (выключатель без фиксации)
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1100.png|frameless|270px]]<br>(12, 0x0C) — Изменить состояние выхода <br>при замыкании (выключатель без фиксации)
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1101.png|frameless|270px]]<br>(13, 0x0D) — Изменить состояние, потом выключить при размыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1101.png|frameless|270px]]<br>(13, 0x0D) — Изменить состояние, потом <br>выключить при размыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1110.png|frameless|270px]]<br>(14, 0x0E) — Изменить состояние, потом включить при размыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1110.png|frameless|270px]]<br>(14, 0x0E) — Изменить состояние, потом <br>включить при размыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1111.png|frameless|270px]]<br>(15, 0x0F)— Изменить состояние при замыкании и вернуться к исходному состоянию при размыкании
| style="text-align:center;vertical-align:bottom;" | [[File:Mm_1111.png|frameless|270px]]<br>(15, 0x0F)— Изменить состояние при замыкании<br> и вернуться к исходному состоянию при размыкании
|}
|}



Версия 14:47, 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 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)— Изменить состояние при замыкании и вернуться к исходному состоянию при размыкании


Задний фронт
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