or
Opis
Bloczek or realizuje logiczną sumę wielu sygnałów wejściowych typu bool. Na wyjściu zwraca true, jeśli co najmniej jedno z podłączonych wejść ma ostatnią znaną wartość logiczną true. W pozostałych przypadkach 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 OR 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ść jest logicznym
true, bloczek natychmiast wyśletrue - jeśli właśnie odebrana wartość nie jest logicznym
true, bloczek sprawdzi ostatnie znane wartości wszystkich pozostałych podłączonych wejść - jeśli przynajmniej jedno z tych pozostałych wejść ma ostatnią wartość logiczną
true, na wyjściu pojawi siętrue - jeśli żadne wejście nie ma ostatniej wartości logicznej
true, na wyjściu pojawi sięfalse
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 w praktyce 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 co najmniej jedno wejście ma ostatnią znaną wartość logiczną true
- false gdy żadne wejście nie ma ostatniej znanej wartości logicznej true
Opis widoczny pod bloczkiem odzwierciedla ostatnio wyliczony wynik:
nullprzed pierwszym przetworzeniem istotnej zmianytruegdy 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
false,false,true, to na wyjściu pojawi siętrue. - Jeśli wcześniej jedno z wejść miało wartość
true, a następnie to wejście zmieni się nafalsei żadne inne wejście nie ma ostatniej wartościtrue, to na wyjściu pojawi sięfalse. - Jeśli jedno z wejść prześle liczbę albo tekst, a żadne inne wejście nie ma ostatniej wartości logicznej
true, to 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.