Einführung
...
Triggerfunktionen über einen Wertübergabe-Eingang
In der GUI (am Eingang einer Logikbox) und im Input-Array einer Custom-Logik kann die Trigger-Funktion des jeweiligen Wertübergabe-Eingangs festgelegt werden.
...
Die GUI stellt die aktuell eingestellte Triggerfunktion des jeweiligen Eingangs dar und lässt diese auch ändern. Über die GUI kann auch die in einer Custom-Logik vorgenommene Definition übersteuert werden.
Ein Eingang kann zwei Triggerfunktionen annehmen. Es ist aber auch möglich, die Triggerfunktion des Eingangs auszuschalten:
...
Funktionsbeschreibung
Jeder Wertübergabe-Eingang kann zwei unterschiedliche Triggerfunktionen annehmen. Es ist aber auch möglich, die Triggerfunktion des Eingangs auszuschalten:
Einstellung “A” (always): Der Eingang funktioniert jedesmal als Trigger, wenn man Eingang ein Wert empfangen wird.
Einstellung “C” (on change): Der Eingang funktioniert nur als Trigger, wenn sich der soeben empfangene Wert vom letzten empfangenen Wert unterscheidet.
Einstellung “U” (update): Der Eingang funktioniert nicht als Trigger, d.h. sein Wert wird einzig an die dem Eingang zugeordnete Variable übergeben; die Berechnung der Logik erfolgt erst, wenn ein Trigger ausgelöst wird.
Die Einstellung "U" ist eigentlich selten notwendig, insbesondere aber, wenn ein Objekt mehrfach an eine Zelle angeschlossen ist zB. Eingang + Inhibit. Ausführlicheres siehe hier: https://forum.timberwolf.io/app.php/kb/viewarticle?a=120/kb/viewarticle?a=120
In der GUI (am Eingang einer Logikbox) und im Input-Array einer Custom-Logik kann die Trigger-Funktion des jeweiligen Wertübergabe-Eingangs festgelegt werden.
Einstellung in der GUI
Die GUI stellt die aktuell eingestellte Triggerfunktion des jeweiligen Eingangs dar und lässt diese auch ändern. Über die GUI kann auch die in einer Custom-Logik vorgenommene Definition übersteuert werden.
...
Einstellung in einer Custom-Logik
Bei der Definition im Input-Array einer Custom-Logik werden die entsprechenden Kleinbuchstaben verwendet (also “a”, “c” oder “u”):
...
Oft ist es gewünscht, eine Logik regelmässig in einem bestimmten Rhythmus durchlaufen zu lassen. In solchen Fällen muss ein Zeitintervall-Trigger angewendet werden; damit wird ein “zyklisches Senden” erreicht.
Einstellung eines Zeitintervall-Triggers in der GUI
In der GUI kann dies erreicht werden, indem ein Trigger-Eingang erstellt wird und diesem die Quelle “Intervall“ zugeordnet wird. Als Intervall kann eine beliebige Zahl von Sekunden eingegeben werden.
...
In einer Custom-Logik verwendet man hierfür den Logikbaustein → Clocksignal.Will man das Zeitintervall nur zu bestimmten Zeiten (bspw. nur am Sonntag) laufen lassen, wählt man in der GUI als Source nicht “Intervall”, sondern “Zeit” und dort den Typ “Intervall”.In einer Custom-Logik erreicht man dieses Ziel über ----------------------- ???? noch nicht versucht, ich vermute über “Cron” ---------------
Einstellung eines Zeitintervall-Triggers in einer Custom-Logik
In einer Custom-Logik verwendet man für einen einfachen Zeitintervrall den Modulbaustein →Clocksignal. Zeitbezogene Intervalle können über den Modulbaustein →Cron erreicht werden, in dem in einem Feld über “/” ein Intervall angegeben wird; näheres dazu unter →Cron Syntax.
Triggerfunktion zu einem bestimmten Zeitpunkt
...
In einer Custom-Logik verwendet man für einen Abbruch den Logik-Baustein → Break. Sobald einer seiner Eingänge - er kann mehrere haben - auf TRUE gesetzt wird, bricht auch hier die Ausführung der Logik ab.
Beim einem Abbruch werden keine die im Code nachfolgenden Logik-Bausteine nicht mehr berechnet und ausgeführt. Es wird auch kein Ausgang gesendet, selbst wenn die eine Variable, die einem Ausgang zugeordnet ist, bereits gesetzt worden ist.
Die Verwendung von ["Break", ["$VAR<Inhibit?>"]]
erlaubt es, in der GUI beliebig viele Eingänge hinzuzufügen, die den Abbruch einer Custom-Logik triggern können.
...
In einer Custom-Logik kann diese Funktion im Modul-Array mit einer entsprechenden Codierung vorgenommen werden; dazu steht u.a. der Modulbaustein [---------- Stopwatch ------------] zur Verfügung. In der Regel wird aber auch bei der Verwendung einer Custom-Logik die Verzögerungsfunktion über Einstellungen in der GUI definiert.