tag
Opis
Bloczek tag służy do oznaczania pojedynczej linii sygnałowej identyfikatorem tagX, tak aby inne bloczki mogły rozróżniać znaczenie poszczególnych wejść. Sam bloczek nie zmienia typu ani treści przekazywanej wartości. Jego zadaniem jest przyjęcie zmiany na wejściu i przekazanie jej dalej na wyjście pod wybranym oznaczeniem taga.
Bloczek posiada jedno wejście i jedno wyjście. Nie korzysta z wejść oznaczanych przez inne bloczki tag.
Typowym zastosowaniem jest podłączenie tag1, tag2, tag3 i kolejnych linii do bloczków, które przypisują różne znaczenie poszczególnym wejściom, na przykład switch, comparator, sequence-detector, dimmer albo alarm.
Parametry konfiguracyjne
| Nazwa parametru | Wartość |
|---|---|
Tag id (tag_id) |
Obowiązkowy identyfikator taga. W praktyce należy ustawić dodatnią liczbę całkowitą z zakresu od 1 do 65535, ponieważ wtedy inne bloczki mogą rozpoznać tę linię jako tag1, tag2, tag3 i tak dalej. Wartość pusta jest błędem konfiguracji. Wartość nienumeryczna nie zatrzymuje samego bloczka tag, ale zwykle nie będzie poprawnie rozpoznawana przez bloczki oczekujące konkretnych numerów tagów. |
Blokuj powtarzające się wartości (filter_duplicated_values) |
Obowiązkowa wartość logiczna true albo false. Gdy ustawione jest true, bloczek nie przekaże dalej kolejnej wartości identycznej z ostatnio wyemitowaną. Gdy ustawione jest false, każda odebrana zmiana zostanie przekazana na wyjście, nawet jeśli wartość jest taka sama jak poprzednio. |
Obsługa wejścia
Bloczek dopuszcza wiele połączeń do jedynego wejścia.
Bloczek obsługuje wszystkie typy wartości logicznych używane w projekcie. Otrzymana wartość jest przekazywana na wyjście bez modyfikacji.
Każda odebrana zmiana wejściowa jest obsługiwana w następujący sposób:
- jeśli
filter_duplicated_values = truei nowa wartość jest identyczna z ostatnio wyemitowaną, zdarzenie jest ignorowane - w pozostałych przypadkach wartość zostaje przekazana na jedyne wyjście bloczka
- opis widoczny pod bloczkiem jest aktualizowany do postaci
tagX: wartość, jeśli wartość da się przedstawić tekstowo - jeśli ostatniej wartości nie da się przedstawić tekstowo, opis pozostaje w postaci samego
tagX
Przypadki ignorowane:
- kolejne wartości identyczne z ostatnio wyemitowaną, gdy włączono
filter_duplicated_values
Wyjścia bloczka
Bloczek posiada jedno wyjście. Na wyjściu pojawia się każda wartość przyjęta na wejściu, która nie została odfiltrowana przez parametr filter_duplicated_values.
Bloczek nie wykonuje konwersji typu, skalowania ani żadnej dodatkowej logiki. Jego rola polega wyłącznie na oznaczeniu linii wejściowej numerem taga i przekazaniu wartości dalej.
Opis widoczny pod bloczkiem ma zwykle jedną z poniższych postaci:
tag1tag1: truetag2: 21.5tag3: otwarte
Błędy widoczne dla użytkownika
Bloczek może pokazywać następujące komunikaty błędów:
| Kod błędu | Opis błędu |
|---|---|
Tag ID configuration error. |
W konfiguracji brakuje parametru tag_id albo parametr ma niepoprawną postać. |
Invalid tag ID configuration. |
Parametr tag_id jest pusty albo nie może zostać odczytany jako tekstowa wartość identyfikatora. |
Missing filter_duplicated_values configuration. |
W konfiguracji brakuje parametru filter_duplicated_values. |
Input disconnected. |
Do wejścia bloczka nie podłączono żadnego innego bloczka. |
Przykłady działania
- Jeśli
tag_id = 1i na wejście zostanie podana wartośćtrue, to na wyjściu pojawi siętrue, a opis bloczka zmieni się natag1: true. - Jeśli
tag_id = 2i bloczek jest podłączony do wejścia oczekującegotag2, to odbiorca potraktuje tę linię właśnie jakotag2. - Jeśli
filter_duplicated_values = truei na wejście dwa razy z rzędu trafi wartość25, to tylko pierwsza z nich zostanie przekazana dalej. - Jeśli
filter_duplicated_values = falsei na wejście dwa razy z rzędu trafi wartość25, to obie zmiany zostaną przekazane dalej. - Jeśli
tag_id = abc, bloczek nadal może przekazywać wartości na wyjście, ale bloczki oczekujące numerowanych wejść takich jaktag1albotag2zwykle nie rozpoznają takiej linii zgodnie z oczekiwaniem.