Skip to main content

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:

  • sa_icon_message.png SA0061: Operación inusual en el puntero