Ermittelt Operationen auf Variablen vom Typ POINTER TO
, die nicht =
(Gleichheit), <>
(Ungleichheit), +
(Addition) oder ADR
sind.
In CODESYS ist Pointer-Arithmetik grundsätzlich erlaubt und kann auch sinnvoll eingesetzt werden. Als übliche Operation auf Pointer wird daher die Addition eines Pointers mit einem Integerwert eingestuft. Damit ist es möglich, mit Hilfe eines Pointers ein Array mit variabler Länge zu bearbeiten. Alle anderen (unüblichen) Operationen mit Pointer werden mit SA0061 gemeldet.
Wichtigkeit: Hoch
PLCopen-Regel: E2 / E3
Beispiel
PROGRAM PLC_PRG VAR piTemp : POINTER TO INT; iTemp : INT; END_VAR iTemp := iTemp + INT#1; piTemp := ADR(iTemp); piTemp := piTemp * DWORD#5; // SA0061 piTemp := piTemp / DWORD#2; // SA0061 piTemp := piTemp MOD DWORD#3; // SA0061 piTemp := piTemp + DWORD#1; piTemp := piTemp - DWORD#1; // SA0061 --> SA0061: Unübliche Operation auf Pointer