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

Материал из Wiren Board
Строка 129: Строка 129:
|}
|}


=== Новая матрица для кнопок с нажатиями ===
=== Матрицы для кнопок с распознаванием нажатий ===
Начиная с версии прошивки 1.17.0 появились дополнительные матрицы с возможностью настроить входы как кнопки для детектирования различных четырёх типов нажатий:  
Начиная с версии прошивки 1.17.0 появились дополнительные матрицы с возможностью настроить входы как кнопки для детектирования различных четырёх типов нажатий:  
* короткое,  
* короткое,  

Версия 14:08, 2 мая 2022

Другие языки:


Назначение

Релейные модули имеют несколько режимов работы реле от входов. И один из них — это взаимодействие согласно Mapping-матрице.

Режимы настраиваются индивидуально на каждый вход регистрами № 9-16, см. карту регистров модулей реле.

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

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

Классическая матрица

Регистры Выходы MR3-6
1 2 3 4 5 6 7 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 выходов. В каждом регистре записан код действия входа на выход. Если в устройстве количество входов и/или выходов меньше 8, то адреса регистров не меняются — просто строки/столбцы для отсутствующих регистров не учитываются. Исключение — устройства с 2 входами и выходами.

Регистры Выходы MR2
1 2
Входы 1 384 385
2 386 387


В ячейке на пересечении строки входа и столбца выхода — регистр действия входа на выход. В него записывается 16-битное слово 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)— Изменить состояние при замыкании и вернуться к исходному состоянию при размыкании
Биты xx — размыкание входа
00 01 10 11
Биты yy, замыкание входа 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) — Изменить состояние при замыкании
и вернуться к исходному состоянию
при размыкании

Матрицы для кнопок с распознаванием нажатий

Начиная с версии прошивки 1.17.0 появились дополнительные матрицы с возможностью настроить входы как кнопки для детектирования различных четырёх типов нажатий:

  • короткое,
  • длинное,
  • двойное
  • и сначала короткое, затем длинное.

Настраиваемые действия аналогичны Mapping-матрице, также как и принцип выбора регистра на пересечении. Биты yy не используются.

Карты регистров для настройки матриц нажатий описаны ниже, про настройку можно почитать в статье Примеры программирования взаимодействия входов и выходов

Mapping-матрица коротких нажатий:

Регистры Выходы MR3-6
1 2 3 4 5 6 7 8
Входы 1 544 545 546 547 548 549 550 551
2 552 553 554 555 556 557 558 559
3 560 561 562 563 564 565 566 567
4 568 569 570 571 572 573 574 575
5 576 577 578 579 580 581 582 583
6 584 585 586 587 588 589 590 591
7 592 593 594 595 596 597 598 599
0 600 601 602 603 604 605 606 607
Регистры Выходы MR2
1 2
Входы 1 544 545
2 546 547

Mapping-матрица длинных нажатий:

Регистры Выходы MR3-6
1 2 3 4 5 6 7 8
Входы 1 608 609 610 611 612 613 614 615
2 616 617 618 619 620 621 622 623
3 624 625 626 627 628 629 630 631
4 632 633 634 635 636 637 638 639
5 640 641 642 643 644 645 646 647
6 648 649 650 651 652 653 654 655
7 656 657 658 659 660 661 662 663
0 664 665 666 667 668 669 670 671
Регистры Выходы MR2
1 2
Входы 1 608 609
2 610 611

Mapping-матрица двойных нажатий:

Регистры Выходы MR3-6
1 2 3 4 5 6 7 8
Входы 1 672 673 674 675 676 677 678 679
2 680 681 682 683 684 685 686 687
3 688 689 690 691 692 693 694 695
4 696 697 698 699 700 701 702 703
5 704 705 706 707 708 709 710 711
6 712 713 714 715 716 717 718 719
7 720 721 722 723 724 725 726 727
0 728 729 730 731 732 733 734 735
Регистры Выходы MR2
1 2
Входы 1 672 673
2 674 675

Mapping-матрица сначала коротких, потом длинных нажатий:

Регистры Выходы MR3-6
1 2 3 4 5 6 7 8
Входы 1 736 737 738 739 740 741 742 743
2 744 745 746 747 748 749 750 751
3 752 753 754 755 756 757 758 759
4 760 761 762 763 764 765 766 767
5 768 769 770 771 772 773 774 775
6 776 777 778 779 780 781 782 783
7 784 785 786 787 788 789 790 791
0 792 793 794 795 796 797 798 799
Регистры Выходы MR2
1 2
Входы 1 736 737
2 738 739