Timer-Funktionalität
Die #TIMER-Funktionalität ist für Echtzeit-Zyklen verfügbar. Die gemessenen Zeiten werden in den Echtzeit-Variablen V.RTG.TIMER[] abgelegt. Die Echtzeit-Timer sind verschieden von den Dekoder-Timern.
Programmierbeispiel
#TIMER-Funktionalität
; Variablen ausgeben
$FOR P1 = 0, 4, 1
#MSG SAVE EXCLUSIVE ["V.RTG.TIMER[%d] = %f", P1, V.RTG.TIMER[P1]]
$ENDFOR
; Echtzeit-Zyklus definieren
#RT CYCLE [ID = 17 SCOPE = PROG]
$IF ONCE 1 < 2
#TIMER START SYN [ID = 0] ; Timer 0 starten
#TIMER START SYN [ID = 2] ; Timer 2 starten
$ENDIF
#RT CYCLE END
#FLUSH WAIT
; etwas warten
#TIME 1.5
; Echtzeit-Zyklus definieren
#RT CYCLE [ID = 18 SCOPE = PROG]
$IF ONCE 1 < 2
#TIMER STOP SYN [ID = 0] ; Timer 0 stoppen
#TIMER READ SYN [ID = 0] ; Timer 0 auslesen
#TIMER READ SYN [ID = 2] ; Timer 2 auslesen, ohne stoppen
$ENDIF
#RT CYCLE END
#FLUSH WAIT
; Variablen ausgeben
$FOR P1 = 0, 4, 1
#MSG SAVE EXCLUSIVE ["V.RTG.TIMER[%d] = %f", P1, V.RTG.TIMER[P1]]
$ENDFOR
; Hauptprogramm beenden
M30
Achtung
Es sind nur synchrone #TIMER-Befehle erlaubt. Alle #TIMER-Befehle in Echtzeit-Zyklen müssen mit dem Schlüsselwort SYN als synchron markiert werden.