|
|
Строка 3: |
Строка 3: |
| <!--T:1--> | | <!--T:1--> |
| {{DISPLAYTITLE: I/O Mapping Matrix}} | | {{DISPLAYTITLE: I/O Mapping Matrix}} |
|
| |
| <!--T:2-->
| |
| [[File:WB-MWAC-FRONT.png|300px|thumb|right| Модуль учета водопотребления и контроля протечек WB-MWAC]]
| |
|
| |
|
| |
|
| === Назначение === <!--T:3--> | | === Назначение === <!--T:3--> |
| Матрица действий над выходами по изменению состояний входов позволяет гибко настраивать реакцию устройства в зависимости от состояния его входов. | | Матрица действий над выходами по изменению состояний входов позволяет гибко настраивать реакцию устройства в зависимости от изменения его входов. |
| Эта функциональность появилась с версии '''1.9.0''' для устройств серии '''WB-MR''' и [[WB-MWAC]]. | | Эта функциональность появилась с версии '''1.9.0''' для устройств серии '''WB-MR''' и [[WB-MWAC]]. |
|
| |
|
| == Устройство и принцип работы == <!--T:4--> | | == Устройство и принцип работы == <!--T:4--> |
| | {| class="wikitable" style="float:right; margin-left: 10px;" |
| | ! Регистры !! !! colspan="8"| Выходы |
| | |- |
| | ! |
| | | || '''1''' || '''2''' || '''3''' || '''4''' || '''5''' || '''6''' || '''7''' || '''8''' |
| | |- |
| | !rowspan="8" |Входы |
| | | '''1''' || 384 || 385 || 386 || 387 || 388 || 389 || 390 || 391 |
| | |- |
| | | '''2''' || 392 || 393 || 394 || 395 || 396 || 397 || 398 || 399 |
| | |- |
| | | '''3''' || 400 || 401 || 402 || 403 || 404 || 405 || 406 || 407 |
| | |- |
| | | '''4''' || 408 || 409 || 410 || 411 || 412 || 413 || 414 || 415 |
| | |- |
| | | '''5''' || 416 || 417 || 418 || 419 || 420 || 421 || 422 || 423 |
| | |- |
| | | '''6''' || 424 || 425 || 426 || 427 || 428 || 429 || 430 || 431 |
| | |- |
| | | '''7''' || 432 || 433 || 434 || 435 || 436 || 437 || 438 || 439 |
| | |- |
| | | '''0''' || 440 || 441 || 442 || 443 || 444 || 445 || 446 || 447 |
| | |} |
| | |
| Mapping-матрица находится в регистрах начиная с адреса 384, и содержит 64 регистра из расчета 8 входов / 8 выходов. | | Mapping-матрица находится в регистрах начиная с адреса 384, и содержит 64 регистра из расчета 8 входов / 8 выходов. |
| В каждом регистре записан код действия входа на выход. | | В каждом регистре записан код действия входа на выход. |
|
| |
|
| <!--T:5--> | | <!--T:5--> |
| Строки описывают действия при изменении соответствующего входа, столбцы — соответствующие выходы.
| | В ячейке на пересечении строки входа и столбца выхода - регистр действия входа на выход. |
| Таким образом в ячейке на пересечении сроки входа и столбца выхода содержится значение, задающее работу выхода при изменении соответствующего входа.
| | В него записывается шестнадцатибитное слово '''0b0000 0000 0000 yyxx''', где биты '''yy''' описывают действия при замыкании входа (переход из 0 в 1,передний фронт), а биты '''xx''' — при размыкании (из 1 в 0, задний фронт). |
| Действие описывается значением младших четырех бит шестнадцатибитного слова '''0b0000 0000 0000 yyxx''', хранящегося в регистре.
| |
| Биты '''yy''' описывают действия при переходе значения входа из 0 в 1 (передний фронт), а биты '''xx''' — из 1 в 0 (задний фронт).
| |
|
| |
|
| <!--T:6-->
| |
| Каждая комбинация из двух бит описывает четыре возможных действия:
| |
|
| |
|
| | Действия, в зависимости от битов: |
| <!--T:7--> | | <!--T:7--> |
| *00 — ничего не делать | | *00 — ничего не делать |
Строка 92: |
Строка 109: |
| | style="text-align:center;vertical-align:bottom;" | [[File:Mm_1111.png|frameless|270px]]<br>(15, 0x0F) — Изменить состояние при замыкании<br>и вернуться к исходному состоянию<br>при размыкании | | | style="text-align:center;vertical-align:bottom;" | [[File:Mm_1111.png|frameless|270px]]<br>(15, 0x0F) — Изменить состояние при замыкании<br>и вернуться к исходному состоянию<br>при размыкании |
| |} | | |} |
|
| |
| ==Карта регистров mapping-матрицы == <!--T:10-->
| |
| {| class="wikitable"
| |
| ! Регистры !! !! colspan="8"| Выходы
| |
| |-
| |
| !
| |
| | || '''1''' || '''2''' || '''3''' || '''4''' || '''5''' || '''6''' || '''7''' || '''8'''
| |
| |-
| |
| !rowspan="8" |Входы
| |
| | '''1''' || 384 || 385 || 386 || 387 || 388 || 389 || 390 || 391
| |
| |-
| |
| | '''2''' || 392 || 393 || 394 || 395 || 396 || 397 || 398 || 399
| |
| |-
| |
| | '''3''' || 400 || 401 || 402 || 403 || 404 || 405 || 406 || 407
| |
| |-
| |
| | '''4''' || 408 || 409 || 410 || 411 || 412 || 413 || 414 || 415
| |
| |-
| |
| | '''5''' || 416 || 417 || 418 || 419 || 420 || 421 || 422 || 423
| |
| |-
| |
| | '''6''' || 424 || 425 || 426 || 427 || 428 || 429 || 430 || 431
| |
| |-
| |
| | '''7''' || 432 || 433 || 434 || 435 || 436 || 437 || 438 || 439
| |
| |-
| |
| | '''0''' || 440 || 441 || 442 || 443 || 444 || 445 || 446 || 447
| |
| |}
| |
|
| |
| == Предыдущая версия настройки взаимодействия входов и выходов релейных модулей == <!--T:11-->
| |
|
| |
| <!--T:12-->
| |
| В новых прошивках также сохранился механизм управления связями вход-выход из предыдущих прошивок. Holding-регистр 5 описывает поведение всех входов, а регистры с 9 по 9+x-1 (x — число реле в модуле) и регистр 16 (нулевой вход) — поведение каждого отдельного входа.
| |
|
| |
| <!--T:13-->
| |
| Регистры могут содержать следующие управляющие значения:
| |
|
| |
| <!--T:14-->
| |
| {| class="wikitable"
| |
| ! Значение регистра !! Режим работы входов !! Примечание
| |
| |-
| |
| | 0 || Кнопки без фиксации (триггерный режим). В этом режиме для изменения состояния реле достаточно однократно замкнуть и разомкнуть вход. Изменение состояния происходят по переднему фронту (то есть при замыкании) ||
| |
| |-
| |
| | 1 || Выключатель с фиксацией. Реле повторяет состояние входа, в момент переключения входа происходит событие которое меняет состояние реле. Если позже реле будет переключено Modbus-командой, то состояние входа не будет влиять на реле до следующего переключения. В момент включения модуля состояние входа не учитывается: если на входе будет замкнутое состояние, то реле не будет включено во избежание не желательного включения (например, когда вечером свет был выключен командой с контроллера, выключатель остался включенным, ночью пропадало питание, модуль перезагрузился, но свет при этом не включится). ||
| |
| |-
| |
| | 2 || Отключать все реле при нажатии (по умолчанию такой режим имеет вход 0) || с прошивки 1.9.0
| |
| |-
| |
| | 3 || Отключить взаимодействие входов и выходов: изменение входа на влияет на состояние реле ||
| |
| |-
| |
| | 4 || Управлять в соответствии с Mapping-матрицей || с прошивки 1.9.0
| |
| |-
| |
| | 5 || Управлять в соответствии с Mapping-матрицей, <br>через 20 минут повторно имитировать состояние ввода || с прошивки 1.9.0
| |
| |}
| |
|
| |
| <!--T:15-->
| |
| Настройка управления режима отдельных входов возможно, только если в holding-регистре 5 записано значение 0. В последних прошивках в заводской поставке все регистры режима входов содержат 0, кроме регистра 16 — в нем записано значение 2, что обеспечивает работу входа 0 как "аварийного" — при нажатии на кнопку без фиксации, подсоединенную к этому входу, все реле выключатся. Повторное нажатие оставит все реле выключенными.
| |
|
| |
| <!--T:16-->
| |
| Повторная имитация состояния ввода через 20 минут (режим 5) означает, что каждые 20 минут над выходом будет выполняться действие (согласно матрице), как будто вход только что изменил состояние: если вход замкнут, то выполняется действие по переднему фронту. Если разомкнут — то по заднему. Такой режим обеспечивает дополнительную надежность при управлении реле датчиками протечки, подключенными ко входам. Отрабатывается следующий сценарий: при замыкании входа датчиком протечки шаровой кран перекрывает воду. В какой-то момент поступает команда на открытие крана (например, по Modbus). Но, если протечка все еще фиксируется датчиком, через 20 минут кран снова будет перекрыт.
| |
|
| |
|
| == Примеры программирования взаимодействия входов и выходов == <!--T:17--> | | == Примеры программирования взаимодействия входов и выходов == <!--T:17--> |