Timer (ähnlich Treppenlichtverzögerung) in unterschiedlichen Varianten, die sich im Flanken- und im Restart-Verhalten unterscheiden. |
Dient als Verzögerungs- oder als Timerfunktion.
Der Ausgang wird auf TRUE gesetzt, sobald der interne Timer ausgelöst wurde.
Nach Ablauf des Timers (d.h. der Verzögerungszeit) wird der Ausgang auf FALSE gesetzt.
Die acht Timer-Varianten unterscheiden sich darin, wie sie ausgelöst werden können und wie der Timer nach erfolgtem Start beeinflusst (d.h. neu gestartet) werden kann.
Variante | Auslösung Timer, sobald | Timer nach Start |
---|---|---|
Timer1 | Wert Start = TRUE (pegelsgesteuert) | nicht erneut auslösbar |
Timer2 | Wert Start = TRUE (pegelsgesteuert) | erneut auslösbar |
Timer3 | Wert Start wechselt FALSE→TRUE (steigende Flanke) | nicht erneut auslösbar |
Timer4 | Wert Start wechselt FALSE→TRUE (steigende Flanke) | erneut auslösbar |
Timer5 | Wert Start wechselt TRUE→FALSE (fallende Flanke) | nicht erneut auslösbar |
Timer6 | Wert Start wechselt TRUE→FALSE (fallende Flanke) | erneut auslösbar |
Timer7 | Wert Start wechselt (beide Flanken) | nicht erneut auslösbar |
Timer8 | Wert Start wechselt (beide Flanken) | erneut auslösbar |
Start (boolean): Startet und stoppt den Timer.
Reset (boolean): Timer inaktiv: Ein TRUE setzt den Timer zurück; ein erneutes Starten ist anschliessend erst möglich,
nachdem Verzögerungszeit abgelaufen ist und
wenn am Eingang Reset FALSE anliegt.
Dauer (float): Zeitdauer in Sekunden.
(Optional) Inhibit 1-n (boolean): (Optionale) Sperreingänge, lösen die →Abbruchfunktion aus.
(Optional) Trigger 1-n (boolean): (Optionale) Triggereingänge, lösen die →Triggerfunktion aus.
Zustand (boolean): Timer läuft (Status des Timers).
Eine sehr instruktive Veranschaulichung des Verhaltens bietet das Dokument https://forum.timberwolf.io/download/file.php?id=771; dort wird das Verhalten der verschiedenen Timer grafisch aufgezeigt.
Ein- und Ausschaltverzögerung
→Monoflop-Modulbaustein
Der Custom-Logik-Code dieser Logik-Module lautet wie folgt:
Hier wird nur der Code für den Timer1 dargestellt. [---- Der Code der Timer2 bis Timer8 unterscheidet sich nur durch eine unterschiedliche Set-Option (d.h. die Zahl in der Codezeile 10; beim Timer1
0
). ----]
{ "Level":[ [ "$Trigger", "bool", false ], [ "$Reset", "bool", false ], [ "$State", "bool", false ], [ "$Time", "float", 60 ], [ "$VAR<Inhibit?>", "bool", false ] ], "Module": [ [ "Break", [ "$VAR<Inhibit?>" ] ], [ "Monoflop", "$Trigger", "$Reset", "$State", "$Time", 0 ] ], "Input": [ [ "Start", "Start/Stop Timer", "$Trigger", "c" ], [ "Reset", "Timer inaktiv", "$Reset", "c" ], [ "Dauer", "Zeitdauer [s]", "$Time", "c" ], [ "Inhibit", "INHIBIT", "$VAR<Inhibit?>", "u" ] ], "Output": [ [ "Zustand", "Timer läuft", "$State", "c" ] ] } |