SA0072: Ungültige Verwendung einer Zählervariablen
Funktion | Ermittelt Schreibzugriffe auf eine Zählervariablen innerhalb einer FOR-Schleife. |
Begründung | Eine Manipulation der Zählervariablen in einer FOR-Schleife kann leicht zu einer Endlosschleife führen. Um die Ausführung der Schleife für bestimmte Werte der Zählervariablen zu unterbinden, arbeiten Sie mit CONTINUE oder einfach mit einem IF. |
Wichtigkeit | Hoch |
PLCopen-Regel | L12 |
Beispiel:
PROGRAM MAIN
VAR_TEMP
nIndex : INT;
END_VAR
VAR
aSample : ARRAY[1..10] OF INT;
nLocal : INT;
END_VARFOR nIndex := 1 TO 10 BY 1 DO
aSample[nIndex] := nIndex; // no error
nLocal := nIndex; // no error
nIndex := nIndex - 1; // => SA0072
nIndex := nIndex + 1; // => SA0072
nIndex := nLocal; // => SA0072
END_FOR