COUNTER/POSI2
Beispiele
Zählerfreigabe
Der Zähler bleibt solange aktiv, wie die Variable „ EnableCounter_1" TRUE ist.
Term2_EnableCounter_1:=TRUE;
(*Freigabe des Zählers*)
Term2_Clockwise_1;
Zähler setzen / löschen
Die Übernahme des Wertes von „SetValue_1" in den Zähleristwert wird durch
eine steigende Flanke auf „ SetCounter_1" ausgelöst. Die Ausführung wird mit
„CounterSet_1=TRUE" angezeigt.
Wird „SetCounter_1" wieder auf FALSE gesetzt, wird auch „CounterSet_1" wieder FAL-
SE.
Term2_SetValue_1:=diCounterValue;
Term2_SetCounter_1:=TRUE;
Term2_CounterSet_1;
Vergleichswert setzen
Die in „Zähler 1 Optionen' gesetzten Konfigurationseinstellungen werden mit steigender
Flanke des Steuerbits „SetOptions_1" übernommen. Die erfolgreiche Übernahme der
Einstellungen wird mit dem Statusbit „OptionsSet_1" bestätigt, wie z. B. Vergleichswert-
funktion einstellen.
VAR
END_VAR
IF blnit THEN
(*Optionen wählen u. mit steigender Flanke v. „Set_Options" Übernahme auslösen*)
(* auf Übernahmebestätigung „OptionsSet" und „ CompareSet" warten*)
98
blnit_ BOOL :=TRUE;
Step: USINT;
CASE Step OF
0:
Term2_EnableCounter_1:=TRUE; (*Zählerfreigabe*)
Term2_EnableCompare_1:=TRUE; (*Vergleichsfunktion aktivieren*)
Term2_ControlOutput_1:=TRUE; (*Vergleichsfunktion setzt Ausgang*)
Term2_SetValue_1:=10000; (*Setzwert = 10000..*)
Term2_SetCompare_1:=TRUE; (*..als Vergleichswert übernehmen*)
Term2_SetOptions_1:=TRUE; (*Übernahme auslösen*)
(*Freigabe des Zählers*)
(*TRUE, wenn Zähler freigegeben ist*)
(*Zählrichtung, TRUE, wenn aufwärts*)
(*Wert ins Register schreiben*)
(* 0 = Löschen*)
(*und als Zähleristwert übernehmen*)
(*TRUE, wenn übernommen*)
Step:= 1;