Syntax | ["Monoflop","$Set","$Reset","$OutB","$Time", SetOption]; somit bspw. wie folgt:
["Monoflop","$SetSystem", 0, 0,"$Z5",2]
|
|---|
Funktion | Dient als Verzögerungs- oder als Timerfunktion: sofern beim Ausführen des Modulbausteins die Schalterbedingung erfüllt sind, wird |
|---|
Eingänge | "$Set"(bool): Löst die Ausführung aus.
"$Reset"(bool): Setzt den Timer zurück; ein erneutes Starten ist erst möglich,
"$Time"(float): Verzögerungszeit in Sekunden
SetOption(integer): Zahl [0-7], welche die Funktionsweise festlegt:
0: Timer startet pegelgesteuert (d.h. sofern "$Set"= TRUE ist) und ist nicht erneut startbar.
1: Timer startet pegelgesteuert (d.h. sofern "$Set"= TRUE ist) und ist erneut startbar.
2: Timer wird nur bei steigender Flanke ausgelöst und ist nicht erneut startbar.
3: Timer wird nur bei steigender Flanke ausgelöst und ist erneut startbar.
4: Timer wird nur bei fallender Flanke ausgelöst und ist nicht erneut startbar.
5: Timer wird nur bei fallender Flanke ausgelöst und ist erneut startbar;
6: Timer wird bei beiden Flanken ausgelöst und ist nicht erneut startbar.
7: Timer wird bei beiden Flanken ausgelöst und ist erneut startbar.
|
|---|
Ausgänge | |
|---|
Hinweise | Bei der Erläuterung der Schalteroption meint “erneut startbar”, dass ein bereits laufender Timer über den Eingang "$Set" angehalten und neu gestartet werden kann, d.h. das die Restlaufzeit des Timers zurückgesetzt wird; “nicht erneut startbar”, dass der Timer über den Eingang "$Set" bloss gestartet wird, wenn er nicht bereits schon lief; ansonsten wird die Restlaufzeit nicht zurückgesetzt und der Modulbaustein nicht neu gestartet; “pegelgesteuert”, dass der Zustand (TRUE) des Eingangs für die Auslösung des Timers massgeblich ist; “fallende Flanke”, dass der Wechsel des Zustand von TRUE auf FALSE am Eingang für die Auslösung des Timers massgeblich ist; “steigende Flanke”, dass der Wechsel des Zustand von FALSE auf TRUE am Eingang für die Auslösung des Timers massgeblich ist; “beide Flanken”, dass jeder Wechsel des Zustand am Eingang für die Auslösung des Timers massgeblich ist.
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. (Hinweis: Die Variablenbezeichnung in der Veranschaulichung entspricht nicht in allen Teilen diesem Text).
|
|---|
Praktische Anwendungsbeispiele | Kann beispielsweise für eine Ein- und Ausschaltverzögerung verwendet werden. Impuls auf steigende Flanke (Reset-Eingang wird aus Set-Eingang erzeugt): ["Monoflop","$In","-$In","$Out", "$Time",2]
→ "$Out" aktiv, bis "$Time" abgelaufen oder "$In" zurückgesetzt wird.
Einschaltverzögerung - steigende Flanke (Reset-Eingang wird aus Set-Eingang erzeugt): ["Monoflop","$In","-$In","$Monoflop_Out","$Time",2]
["And",["$In","-$Monoflop_Out"],"$Out"]
→ "$Out" aktiv, nachdem "$Time" abgelaufen und "$In" noch aktiv.
Ausschaltverzögerung - fallende Flanke (Reset-Eingang wird aus Set-Eingang erzeugt): ["Monoflop","$In","$In","$Monoflop_Out","$Time",4]
["Or",["$In","-$Monoflop_Out"],"$Out"]
→ "$Out" aktiv, sobald "$In" aktiv und bis "$Time" abgelaufen.
|
|---|
Entsprechendes Logik-Modul | |
|---|