Skip to content

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 = true i 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:

  • tag1
  • tag1: true
  • tag2: 21.5
  • tag3: 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 = 1 i na wejście zostanie podana wartość true, to na wyjściu pojawi się true, a opis bloczka zmieni się na tag1: true.
  • Jeśli tag_id = 2 i bloczek jest podłączony do wejścia oczekującego tag2, to odbiorca potraktuje tę linię właśnie jako tag2.
  • Jeśli filter_duplicated_values = true i na wejście dwa razy z rzędu trafi wartość 25, to tylko pierwsza z nich zostanie przekazana dalej.
  • Jeśli filter_duplicated_values = false i 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 jak tag1 albo tag2 zwykle nie rozpoznają takiej linii zgodnie z oczekiwaniem.