Die FOR
-Schleife verwenden Sie, um Anweisungen mit einer bestimmten Anzahl von Wiederholungen
auszuführen.
Syntax:
FOR <counter> := <start value> TO <end value> {BY <increment> } DO <instructions> END_FOR;
Der Abschnitt innerhalb der geschweiften Klammern {} ist optional.
CODESYS führt die <instructions>
solange aus, wie der <counter>
nicht größer, oder - bei negativer Schrittgröße increment
- kleiner als der <end value>
ist. Dies wird vor der Ausführung der <instructions>
geprüft.
Immer wenn die Anweisungen <instructions>
ausgeführt worden sind, wird der Zähler <counter>
automatisch um die Schrittgröße <increment>
erhöht. Die Schrittgröße <increment>
kann jeden ganzzahligen Wert haben. Wenn Sie keine Schrittgröße angeben, ist die
Standard-Schrittgröße 1
.
Beispiel
FOR iCounter := 1 TO 5 BY 1 DO iVar1 := iVar1*2; END_FOR; Erg := iVar1;
Wenn Sie iVar1
mit 1
vorbelegt haben, hat iVar1
nach der FOR-Schleife den Wert 32
.




VORSICHT

Der Endwert <end value> darf nicht den gleichen Wert erhalten wie die Obergrenze des Datentyps des Zählers.
Wenn der Endwert des Zählers gleich der Obergrenze des Datentyps des Zählers ist,
entsteht eine Endlosschleife. Beispielsweise entsteht im obigen Beispiel eine Endlosschleife,
wenn iCounter
vom Datentyp SINT
ist und der <end value>
gleich 127
ist, da der Datentyp SINT
die Obergrenze 127
hat.
In Erweiterung zum Standard IEC 61131-3 können Sie innerhalb der FOR
-Schleife die CONTINUE
-Anweisung verwenden.