# Bloki logiczne

Bloki logiczne są elementami programu automatyki. Każdy blok realizuje określoną funkcję i komunikuje się z innymi blokami przez porty wejściowe i wyjściowe.

# Wejścia

NazwaIDOpis
Binary inputbinary_inputWejście binarne modułu Voldeno
Boolean constantboolean_constantDostarcza stałą wartość logiczną skonfigurowaną przez użytkownika
Mode monitoroperation_mode_monitorBlok logiczny do monitorowania stanu trybu pracy
Numeric constantnumeric_constantDostarcza stałą wartość numeryczną skonfigurowaną przez użytkownika
Numeric inputnumeric_inputWejście numeryczne modułu Voldeno
PulseAtpulse_atWysyła impuls o określonym czasie
ScheduleschedulePrzełącznik czasowy z dowolnie regulowanym harmonogramem.
String constantstring_constantDostarcza stałą wartość tekstową skonfigurowaną przez użytkownika
SwitchswitchBlok logiczny reprezentujący przełącznik ścienny

# Przetwarzanie

NazwaIDOpis
Binary limiterbinary_limiterBlok przyjmujący wejście binarne i numeryczne, który zwraca prawdę tylko wtedy, gdy wejście binarne jest prawdziwe, a wartość numeryczna nie przekracza skonfigurowanego limitu.
Boolean to stringboolean_to_stringKonwertuje wartość logiczną na konfigurowalną etykietę tekstową.
Climate regulatorclimate_regulatorStrefowy regulator klimatu - może być używany jako termostat dla ogrzewania lub chłodzenia określonej strefy. Wyjście powinno być podłączone do centralnego regulatora klimatu.
Climate regulator hubclimate_regulator_hubCentralny hub regulatora klimatu - agreguje wymagania ogrzewania lub chłodzenia ze strefowych regulatorów klimatu i decyduje, które powinny być włączone.
DelaydelayOpóźnia zmiany stanu wyjścia w oparciu o czasy opóźnienia włączenia i wyłączenia
Delayed Pulsedelayed_pulseGeneruje opóźniony impuls na wyjściu po wyzwoleniu zboczem narastającym na wejściu
Door, windowdoor_window_monitorMonitor drzwi i okien
Edge detectoredge_detectorWykrywa zbocza narastające, opadające lub oba na wejściu logicznym i generuje impuls wyjściowy o konfigurowalnym czasie trwania.
HTTP Requesthttp_requestWykonuje żądanie HTTP do zewnętrznego serwisu po wyzwoleniu. Obsługuje metody GET, POST, PUT, DELETE i PATCH. URL, nagłówki i treść mogą być statyczne (konfiguracja) lub dynamiczne (wejście).
HysteresishysteresisPrzełącznik progowy z histerezą, który analizuje analogową wartość wejściową i odpowiednio przełącza wyjście cyfrowe.
IrrigationirrigationSystem nawadniania
JSON Get Booleanjson_get_booleanWyodrębnia wartość logiczną z ciągu JSON używając ścieżki w notacji kropkowej.
JSON Get Numberjson_get_numberWyodrębnia wartość liczbową z ciągu JSON używając ścieżki w notacji kropkowej.
JSON Get Stringjson_get_stringWyodrębnia wartość tekstową z ciągu JSON używając ścieżki w notacji kropkowej.
Level to pulselevel_to_pulseKonwertuje sygnał logiczny na impuls. Generuje impuls wyjściowy o konfigurowalnym czasie za każdym razem, gdy wejście jest prawdziwe, nawet jeśli było już prawdziwe. Przydatne do łączenia stanowych wyjść logicznych z wejściami wyzwalanymi impulsem.
Logic::Andlogic_andBlok logiczny AND
Logic::Notlogic_notBlok logiczny NOT - neguje wejściową wartość logiczną
Logic::Orlogic_orBlok logiczny OR
Math::Absmath_absZwraca wartość bezwzględną wejścia
Math::Addmath_addDodaje wszystkie wartości wejściowe bloku
Math::Averagemath_averageOblicza średnią ze wszystkich wartości wejściowych bloku
Math::Ceilmath_ceilZaokrągla wartość wejściową w górę do najbliższej liczby całkowitej
Math::Dividemath_divideDzieli wartość wejścia I1 przez wartość wejścia I2
Math::Floormath_floorZaokrągla wartość wejściową w dół do najbliższej liczby całkowitej
Math::Maxmath_maxZwraca maksymalną wartość ze wszystkich wejść bloku
Math::Minmath_minZwraca minimalną wartość ze wszystkich wejść bloku
Math::Modulomath_moduloZwraca resztę z dzielenia I1 przez I2
Math::Multiplymath_multiplyMnoży wszystkie wartości wejściowe bloku
Math::Randommath_randomGeneruje pseudo-losową liczbę z zakresu [0.0, 1.0) przy każdym zboczu narastającym wyzwalacza.
Math::Roundmath_roundZaokrągla wartość wejściową do najbliższej liczby całkowitej
Math::Subtractmath_subtractOdejmuje wartości wejściowe I2 od wejścia I1
Motor axismotor_axisJednosiowy sterownik silnika z obsługą bazowania. Napędza silnik do pozycji docelowej za pomocą zliczania impulsów enkodera lub sterowania czasowego.
Moving averagemoving_averageOblicza bieżącą średnią z przychodzących wartości liczbowych za pomocą wybranego algorytmu (EMA lub CA)
Number to stringnumber_to_stringKonwertuje wartość liczbową na jej reprezentację tekstową.
Numeric latchnumeric_latchPrzechwytuje wartość numeryczną na impuls i przechowuje ją wewnętrznie.
Numeric predicatenumeric_predicateOcenia wartość numeryczną względem skonfigurowanego operatora porównania, zwracając wynik logiczny.
Numeric throttlenumeric_throttleOgranicza częstotliwość zmian wartości numerycznej za pomocą progu minimalnej zmiany (martwa strefa) oraz okresu blokady (cooldown). Istotne zmiany, które nadejdą podczas blokady, są przekazywane na wyjście po jej zakończeniu.
PubSub::PublishpubsubPublikuje wiadomości do tematu Google Cloud Pub/Sub. Buforuje przychodzące wiadomości i wysyła je po osiągnięciu rozmiaru partii lub upływie limitu czasu, w zależności co nastąpi pierwsze.
Pulse counterpulse_counterZlicza impulsy zboczy narastających w górę i/lub w dół w konfigurowalnych limitach.
Pulse gatepulse_gatePrzepuszcza lub blokuje sygnał impulsowy w zależności od stanu wejścia zezwalającego. Impuls jest przekazywany na wyjście tylko gdy bramka jest aktywna.
Pulse throttlepulse_throttleBlokuje powtarzające się impulsy w konfigurowalnym okresie blokady. Pierwszy impuls przechodzi i rozpoczyna okno blokady, podczas którego kolejne impulsy są odrzucane. Przydatny do eliminacji drgań sygnałów lub ograniczania częstotliwości impulsów.
SequencersequencerBlok logiczny reprezentujący sekwencję
ShadingshadingSteruje urządzeniami zacieniającymi takimi jak żaluzje, zasłony i markizy
String formatstring_formatFormatuje tekst na podstawie wzorca z wejścia, podstawiając wartości w miejsce znaczników {}. Wyjście jest wstrzymane do momentu odebrania wzorca i wszystkich wymaganych wartości.
String latchstring_latchPrzechwytuje wartość tekstową na impuls i przechowuje ją wewnętrznie.
ToggletoggleKonwertuje monostabilny impuls wejściowy na bistabilne wyjście przełączające. Każde zbocze narastające na wejściu przełącza stan wyjścia.
Variable Delayed Pulsevariable_delayed_pulseGeneruje opóźniony impuls na wyjściu po wyzwoleniu zboczem narastającym. Czas opóźnienia podawany przez wejście.

# Wyjścia

NazwaIDOpis
Mode controlleroperation_mode_controllerBlok logiczny do sterowania stanem trybu pracy
RelayrelayWyjście przekaźnikowe modułu Voldeno
Przegląd wszystkich dostępnych bloków logicznych.