SA0061: Operazione insolita sul puntatore
Determina le operazioni sulle variabili di tipo POINTER TOche non lo fanno = (Uguaglianza), <> (Disuguaglianza), + (aggiunta) o ADR sono.
In CODESYS L'aritmetica del puntatore è generalmente consentita e può anche essere utilizzata in modo ragionevole. L'aggiunta di un puntatore con valore intero è quindi classificata come una normale operazione sui puntatori. Ciò consente di elaborare un array con una lunghezza variabile utilizzando un puntatore. Tutte le altre operazioni (insolite) con i puntatori vengono riportate con SA0061.
Importanza: Alta
Regola PLCopen: E2 / E3
Esempio 72. Esempio
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
Uscita in Messaggi vista:
SA0061: Operazione insolita sul puntatore