SA0061: Funcionamiento inusual en el puntero
Detecta operaciones una variable de tipo POINTER TO
que no son =
(igualdad), <>
(desigualdad), +
(adición), o ADR
.
En CODESYS, la aritmética de punteros generalmente está permitida y también se puede usar apropiadamente. Por lo tanto, la adición de un puntero con un valor entero se considera una operación común en los punteros. Esto hace posible usar un puntero para procesar una matriz de longitud variable. Todas las demás operaciones (inusuales) con punteros se notifican con SA0061.
Importancia: Alta
Regla PLCopen: E2 / E3
ejemplo 72. Ejemplo
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
Salida en el Mensajes vista:
SA0061: Operación inusual en el puntero