Skip to main content

SA0180: Indexbereich deckt nicht das gesamte Array ab

Ermittelt Arrays mit nicht vollständig abgedecktem Indexbereich

Arrays werden oftmals in Schleifen behandelt, wobei der Schleifenindex das Array so indiziert, dass alle Komponenten des Arrays lückenlos angesprungen werden. Das ist dann gegeben, wenn der Schleifenindex und der Arrayindex in allen Dimensionen gleich sind. Wenn der Indexbereich das Array nicht vollständig abdeckt, weist das auf nicht behandelte Komponenten im Array hin.

Wichtigkeit: Mittel

Beispiel 131. Beispiel
{attribute 'do-analysis'}
PROGRAM PLC_PRG
VAR
    a : INT;
    arWord : ARRAY [0..100] OF WORD;
END_VAR
//Implementation
FOR a := INT#1 TO INT#100 BY 1 DO //SA0180: Lower range is not reached
	arWord[a] := INT_TO_WORD(a);
END_FOR;
;

Ausgabe unter Ansicht Meldungen:

  • sa_icon_message.png SA0180: Indexbereich deckt nicht das gesamte Array ab