Skip to content

const

Opis

Bloczek const przechowuje jedną stałą wartość i wysyła ją na swoje wyjście, gdy zostanie wyzwolony zdarzeniem wejściowym albo odpowiednią komendą z bloczka command.

Bloczek posiada jedno wejście i jedno wyjście. Nie wymaga stosowania wejść oznaczanych za pomocą bloczka tag.

Stała wartość może mieć typ:

  • logiczny
  • liczbowy
  • tekstowy

Jeśli do wejścia bloczka nie jest podłączone żadne inne źródło, to po uruchomieniu projektu bloczek sam wysyła skonfigurowaną wartość jeden raz.

Parametry konfiguracyjne

Nazwa parametru Wartość
Zbocze wyzwalające (input_edge) Parametr obowiązkowy określający, jakie zwykłe zdarzenie wejściowe ma powodować ponowne wysłanie stałej wartości. Obsługiwane są wartości: rising, falling, both, true, false, null, none.
Typ wartości (value_type) Parametr obowiązkowy określający typ stałej wartości. Obsługiwane są wartości: bool, num, str.
Wartość (value) Parametr obowiązkowy określający samą stałą wartość wysyłaną na wyjście. Sposób interpretacji zależy od value_type.

Znaczenie parametru input_edge:

  • rising: reakcja na zmianę interpretowaną jako false -> true
  • falling: reakcja na zmianę interpretowaną jako true -> false
  • both: reakcja na każdą zmianę pomiędzy stanami logicznymi
  • true: reakcja na każde zdarzenie wejściowe, którego nowa wartość daje się zinterpretować jako logiczne true
  • false: reakcja na każde zdarzenie wejściowe, którego nowa wartość daje się zinterpretować jako logiczne false
  • null: reakcja na każde zdarzenie wejściowe, którego nowa wartość to null
  • none: brak reakcji na zwykłe zdarzenia wejściowe

Znaczenie parametru value_type:

  • bool: bloczek przechowuje wartość logiczną true albo false
  • num: bloczek przechowuje wartość liczbową; dozwolone są liczby całkowite, liczby zmiennoprzecinkowe, temperatura oraz procent
  • str: bloczek przechowuje wartość tekstową

Obsługa wejścia

Bloczek reaguje na zwykłe zdarzenia doprowadzone do jego jedynego wejścia oraz na komendy set i reset wysyłane z bloczka command.

Bloczek nie wymaga żadnych wejść typu tag.

Szczegółowe zasady działania:

  • jeśli do wejścia nie jest podłączony żaden inny bloczek, to po zakończeniu inicjalizacji const sam wyśle skonfigurowaną wartość
  • zwykłe zdarzenie wejściowe spełniające warunek z input_edge powoduje ponowne wysłanie skonfigurowanej wartości
  • dla input_edge = none wszystkie zwykłe zdarzenia wejściowe są ignorowane
  • komenda set z bloczka command powoduje ponowne wysłanie skonfigurowanej wartości niezależnie od parametru input_edge
  • komenda reset z bloczka command powoduje wysłanie na wyjście wartości null tego samego typu co skonfigurowana wartość
  • po komendzie reset kolejna komenda set albo kolejne poprawne wyzwolenie wejściowe ponownie wyśle skonfigurowaną wartość

Dodatkowe zasady interpretacji wejścia:

  • dla rising, falling i both bloczek wymaga wartości, które dają się zinterpretować logicznie
  • dla true i false bloczek reaguje na każde zdarzenie wejściowe z nową wartością interpretowaną odpowiednio jako true albo false, nawet jeśli poprzednia wartość była taka sama
  • dla null bloczek reaguje wyłącznie na zdarzenia wejściowe, w których nowa wartość jest null

Wyjścia bloczka

Bloczek posiada jedno wyjście.

Na wyjściu pojawia się zawsze wartość skonfigurowana w parametrach bloczka, chyba że bloczek otrzyma komendę reset, która wysyła wartość null.

Sposób emisji zależy od typu skonfigurowanej wartości:

  • dla value_type = str każda emisja ma postać zmiany null -> tekst
  • dla value_type = num każda emisja ma postać zmiany null -> liczba
  • dla value_type = bool każda emisja ma postać zmiany z przeciwnego stanu logicznego na wartość skonfigurowaną, czyli false -> true albo true -> false

Opis widoczny pod bloczkiem pokazuje aktualnie przygotowaną do wysłania wartość w postaci tekstowej, na przykład:

  • true
  • false
  • 25
  • 21.5°C
  • hello

Po komendzie reset opis bloczka zmienia się na null. Po kolejnym wysłaniu skonfigurowanej wartości opis wraca do jej tekstowej reprezentacji.

Błędy zwracane przez bloczek

Bloczek może zwracać następujące błędy:

Kod błędu Opis błędu
Invalid input edge configuration. Parametr input_edge jest niepoprawny albo nie został ustawiony.
Missing value type configuration. W konfiguracji brakuje parametru value_type.
Invalid value type configuration. Parametr value_type ma wartość spoza obsługiwanej listy bool, num, str.
Missing value configuration. W konfiguracji brakuje parametru value.
Invalid value configuration. Parametr value ma niepoprawną postać dla wybranego typu wartości. Dotyczy to między innymi przypadku, gdy dla bool podano wartość inną niż true albo false, albo gdy dla num nie udało się odczytać poprawnej wartości liczbowej.
Expected numeric value configuration. Parametr value_type ustawiono na num, ale parametr value nie zawiera wartości liczbowej.
Set description failed. Bloczek nie potrafi przygotować tekstowego opisu skonfigurowanej wartości. Jest to błąd wewnętrzny i oznacza, że wartość nie może zostać poprawnie pokazana w opisie bloczka.

Przykłady działania

  • Jeśli value_type = str, value = hello i do wejścia nie jest podłączony żaden inny bloczek, to po uruchomieniu projektu const sam wyśle na wyjście wartość hello.
  • Jeśli value_type = num, value = 21.5°C i input_edge = rising, to każde zbocze narastające na wejściu spowoduje wysłanie na wyjście wartości 21.5°C.
  • Jeśli value_type = bool, value = true, to komenda set z bloczka command spowoduje wysłanie zmiany false -> true, niezależnie od ustawienia input_edge.
  • Jeśli value_type = bool, value = false, to każde poprawne wyzwolenie spowoduje wysłanie zmiany true -> false.
  • Jeśli bloczek otrzyma komendę reset, na wyjściu pojawi się null, a opis bloczka zmieni się na null.