SA0061 : Opération inhabituelle sur le pointeur
Détecte les opérations sur des variables de type POINTER TO
qui ne sont pas =
(égalité), <>
(inégalité), +
(ajout), ou ADR
.
Dans CODESYS, l'arithmétique de pointeur est généralement autorisée et peut également être utilisée de manière appropriée. Par conséquent, l'ajout d'un pointeur avec une valeur entière est considéré comme une opération courante sur les pointeurs. Cela permet d'utiliser un pointeur pour traiter un tableau de longueur variable. Toutes les autres opérations (inhabituelles) avec des pointeurs sont signalées avec SA0061.
Importance : Élevée
Règle PLCopen : E2 / E3
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
Sortie dans le messages voir:
SA0061 : Fonctionnement inhabituel sur le pointeur