Monoflop (Modulbaustein)

Verzögerungs- oder Timerfunktion

Inhalt dieser Seite
richtet sich an
Experten

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

  • der Ausgang auf TRUE gesetzt (ansonsten auf FALSE) und zusätzlich

  • der Timer ausgelöst und nach Ablauf der Verzögerungszeit wird der Ausgang auf FALSE gesetzt.

Eingänge

  • "$Set"(bool): Löst die Ausführung aus.

  • "$Reset"(bool): Setzt den Timer zurück; ein erneutes Starten ist erst möglich,

    • nachdem Verzögerungszeit abgelaufen ist und

    • wenn am Eingang "$Reset" FALSE anliegt.

  • "$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

  • "$OutB" (bool): Status des Timers.

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 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

 

2019 - 2023 by Elaborated Networks GmbH / Impressum / Datenschutzerklärung