SA0017: Asignación inusual a variable de puntero
Detecta asignaciones a punteros que no son direcciones (ADR operador, variables de puntero) ni constantes 0
Justificación: Si a un puntero se le asigna un valor que no es una dirección válida, la desreferenciación del puntero conduce a una "Excepción de infracción de acceso".
Importancia: Alta
ejemplo 30. Ejemplo
PROGRAM PLC_PRG
VAR
pInt : POINTER TO INT;
dwAddress : DWORD;
END_VAR
dwAddress := dwAddress + DWORD#1; pInt := dwAddress; // SA0017
Salida en el Mensajes vista:
SA0017: Asignación inusual a variable de puntero