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:
SA0180: Indexbereich deckt nicht das gesamte Array ab