SA0061: Operazione insolita sul puntatore
Determina le operazioni sulle variabili di tipo POINTER TO
che 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