Detecta las declaraciones AT en direcciones directas
Justificación: El uso de direcciones directas en el código es problemático porque la dirección aparece entonces en varias ubicaciones: primero en la configuración del controlador, donde se define la asignación de un objeto físico a una dirección, y segundo en el programa, donde se asignan variables a estas direcciones. Si las direcciones se reubican porque se cambia la configuración, entonces hay que reasignar variables a direcciones en un lugar completamente distinto del programa. Esto es causa de error y da lugar a una peor legibilidad y mantenimiento del código. Por lo tanto, es mejor realizar todas las asignaciones en la asignación de E/S del editor de dispositivos.
Importancia: Alta
Regla PLCopen: N1 / CP1
Nota: Le recomendamos que utilice direcciones directas SÓLO en la pestaña «I/O Mapping» del editor de dispositivos.
Ejemplo
PROGRAM PLC_PRG VAR xVar1 AT %IX0.0 : BOOL; byVar1 AT %IB1 : BYTE; xVar2 AT %QX0.0 : BOOL; END_VAR --> SA0048: Declaration uses direct address '%IX0.0' --> SA0048: Declaration uses direct address '%IB1 --> SA0048: Declaration uses direct address '%QX0.0'