Ermittelt Additionen von Pointern.
Begründung: In CODESYS ist Pointer-Arithmetik grundsätzlich erlaubt und kann auch sinnvoll eingesetzt werden. Allerdings ist es auch eine Fehlerquelle. Deswegen gibt es Programmiervorschriften, die Pointer-Arithmetik grundsätzlich verbieten. Eine solche Vorschrift kann mit diesem Test überprüft werden.
Wichtigkeit: Mittel
Beispiel
PROGRAM PLC_PRG VAR iTest:INT; ariTest:ARRAY[0..10] OF INT; {attribute 'analysis':='-111'} piTest:POINTER TO INT; i:INT; END_VAR piTest := ADR(ariTest[0]); // OK piTest^:= 0; piTest := ADR(ariTest) + SIZEOF(INT); // SA0064 piTest^:= 1; piTest := ADR(ariTest) + 6; // SA0064 piTest^:= 3; piTest := ADR(ariTest[10]); FOR i:=0 TO 10 DO piTest^ := i; piTest := piTest + 2; // SA0064 END_FOR --> SA0064: Addition eines Pointers