and
Opis
Bloczek and realizuje logiczny iloczyn wielu sygnałów wejściowych typu bool. Na wyjściu zwraca true tylko wtedy, gdy aktualnie odebrana wartość wejściowa ma wartość logiczną true oraz wszystkie pozostałe podłączone wejścia mają ostatnią znaną wartość logiczną true. W każdym innym przypadku zwraca false.
Bloczek posiada jedno wyjście i dopuszcza wiele połączeń do swojego wejścia. Nie wymaga stosowania wejść oznaczanych za pomocą bloczka tag.
Bloczek analizuje bieżącą odebraną zmianę oraz ostatnie zapamiętane wartości pozostałych podłączonych wejść. Dzięki temu wynik odpowiada logicznej operacji AND wykonanej na aktualnie znanych stanach wszystkich wejść.
Parametry konfiguracyjne
| Nazwa parametru | Wartość |
|---|---|
Blokuj powtarzające się wartości (filter_duplicated_values) |
Obowiązkowa wartość logiczna true albo false. Gdy ustawione jest true, bloczek nie wyśle ponownie wyniku identycznego z ostatnio wyemitowanym. Gdy ustawione jest false, każda ponowna kalkulacja wyniku zostanie wysłana na wyjście, nawet jeśli wynik nie zmienił się względem poprzedniego. |
Obsługa wejścia
Bloczek dopuszcza wiele połączeń do jedynego wejścia.
Każda nowa zmiana wejściowa powoduje przeliczenie wyniku według następujących zasad:
- jeśli właśnie odebrana wartość nie jest logicznym
true, bloczek natychmiast wyślefalse - jeśli właśnie odebrana wartość ma wartość logiczną
true, bloczek sprawdzi ostatnie znane wartości wszystkich pozostałych podłączonych wejść - jeśli choć jedno z tych pozostałych wejść nie ma ostatniej wartości logicznej
true, na wyjściu pojawi sięfalse - jeśli wszystkie podłączone wejścia mają ostatnią znaną wartość logiczną
true, na wyjściu pojawi siętrue
Bloczek reaguje wyłącznie na wartości logiczne true jako warunek ustawienia wyniku na true. Wartości false, null oraz wartości innych typów nie spełniają tego warunku i są traktowane jak brak stanu true na danym wejściu.
Przypadki ignorowane:
- ponowne wyliczenie tego samego wyniku, gdy
filter_duplicated_values = true
Wyjścia bloczka
Bloczek posiada jedno wyjście.
Na wyjściu pojawia się wartość logiczna:
- true gdy aktualnie odebrana wartość oraz ostatnie znane wartości wszystkich pozostałych wejść mają wartość logiczną true
- false gdy choć jedno wejście nie ma wartości logicznej true
Opis widoczny pod bloczkiem odzwierciedla ostatnio wyliczony wynik:
nullprzed pierwszym przeliczeniem wynikutruegdy ostatni wyliczony wynik miał wartość logiczną truefalsegdy ostatni wyliczony wynik miał wartość logiczną false
Błędy widoczne dla użytkownika
Bloczek może pokazywać następujące komunikaty błędów:
| Kod błędu | Opis błędu |
|---|---|
Missing filter_duplicated_values configuration. |
W konfiguracji brakuje parametru filter_duplicated_values albo parametr nie może zostać odczytany jako wartość logiczna. |
Input disconnected. |
Do wejścia bloczka nie podłączono żadnego innego bloczka. |
Przykłady działania
- Jeśli do bloczka podłączone są trzy wejścia i ich ostatnie znane wartości to odpowiednio
true,true,true, to na wyjściu pojawi siętrue. - Jeśli do bloczka podłączone są trzy wejścia i jedna z wartości zmieni się na
false, to na wyjściu pojawi sięfalse. - Jeśli aktualnie odebrana zmiana ma wartość
true, ale jedno z pozostałych wejść nie wysłało jeszcze wartości logicznejtrue, to na wyjściu pojawi sięfalse. - Jeśli jedno z wejść prześle liczbę, tekst albo
null, to takie wejście nie spełni warunku logicznegotrue, więc na wyjściu pojawi sięfalse. - Jeśli
filter_duplicated_values = truei kolejne zmiany wejściowe nadal prowadzą do wynikutrue, bloczek nie wyśle ponownie wartościtrue. - Jeśli
filter_duplicated_values = falsei kolejne zmiany wejściowe nadal prowadzą do wynikutrue, bloczek będzie ponownie wysyłał wartośćtruepo każdej takiej zmianie.