Stoppuhr mit und ohne Haltefunktion
Funktionsbeschreibung
Der Baustein Stoppuhr erlaubt die Messung und Ausgabe der Zeit, die seit dem Empfang des Start-Trigger vergangen ist.
Die Stoppuhr wird mit einem TRUE an den Eingang Start/Stop gestartet; ein erneutes TRUE an den Eingang Start/Stop führt dazu, dass die aktuelle Zeit (als “Zwischenzeit”) an den Ausgang übermittelt, die Uhr aber nicht gestoppt wird.
Bei einem FALSE an den Eingang Start/Stop wird
die Stoppuhr gestoppt,
die vergangene Zeit an den Ausgang übergeben, und
die die Uhr auf 0 zurückgesetzt.
[---- REVIEW ERFODERLICH Bei der einfachen Variante ist nach einem Stoppen der Zeit die gestoppte Zeit nicht mehr am Ausgang Zeit abfragbar (sie wurde auf 0 zurückgesetzt). Im Gegensatz dazu liefert bei der Variante +Hold der Ausgang Zeit solange die gestoppte Zeit, bis die Stoppuhr erneut gestartet wurde. -----]
Eingänge
Start/Stop (boolean): Zeit läuft (TRUE), resp. Zeit gestoppt (FALSE).
(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.
Ausgänge
Zeit (float): Dauer [s].
Hinweise
Durch Hinzufügen eines weiteren Trigger-Eingangs kann die verstrichene Zeit zyklisch auf den Ausgang gesendet werden.
Praktische Anwendungsbeispiele
Zugrundeliegender Modulbaustein
FORTGESCHRITTENE
→Stopwatch-Modulbaustein
Code
EXPERTEN
Der Custom-Logik-Code dieser Logik-Module lautet wie folgt:
Einfache Variante
{ "Level": [ [ "$In", "bool", false ], [ "$Time", "float", 0 ], [ "$VAR<Inhibit?>", "bool", false ] ], "Module": [ [ "Break", [ "$VAR<Inhibit?>" ] ], [ "Stopwatch", "$In", "$Time" ] ], "Input": [ [ "Start/Stop", "Start(true)/Stop(false)", "$In", "a" ], [ "Inhibit", "INHIBIT", "$VAR<Inhibit?>", "u" ] ], "Output": [ [ "Zeit", "Dauer[s]", "$Time", "a" ] ] }
Variante mit Haltefunktion
{ "Level": [ [ "$In", "bool", false ], [ "$Time", "float", 0 ], [ "$TimeHold", "float", 0 ], [ "$VAR<Inhibit?>", "bool", false ] ], "Module": [ [ "Break", [ "$VAR<Inhibit?>" ] ], [ "Stopwatch", "$In", "$Time" ], [ "Latch", "$Time", "$TimeHold", "$In", 0 ], [ "Latch", "$Time", "$TimeHold", "$In", 2 ] ], "Input": [ [ "Run/Stop", "Zeit läuft(true)/ Zeit gestoppt(false)", "$In", "a" ], [ "Inhibit", "INHIBIT", "$VAR<Inhibit?>", "u" ] ], "Output": [ [ "Zeit", "Dauer[s]", "$TimeHold", "a" ] ] }
Kommentar hinzufügen