SA0013: Declaraciones con el mismo nombre de variable
Detecta variables con nombres que ya utilizan otras variables (por ejemplo, variables globales y locales con el mismo nombre). También se detectan variables cuyos nombres de funciones, acciones, métodos o propiedades se utilizan en el mismo rango de acceso. También se detectan variables que están declaradas en un GVL en el Dispositivos vista o en el grupo de POU. Para ello, sin embargo, la GVL de la POU La vista debe usarse en el programa de aplicación.
Justificación: los mismos nombres pueden ser confusos al leer el código y pueden causar errores si se accede al objeto incorrecto sin querer. Le recomendamos que utilice convenciones de nomenclatura para evitar estas situaciones.
Regla PLCopen: N5 / N9
Importancia: Media
VAR_GLOBAL xVar1 : BOOL; iVar3 : INT; END_VAR
PROGRAM PLC_PRG VAR xVar1 : BOOL; // SA0013 iVar3 : INT; // SA0013 END_VAR
xVar1 := NOT GVL.xVar1; iVar3 := iVar3 + INT#2; iVar3 := GVL.iVar3;
Salida en el Mensajes vista:
SA0013: La declaración de 'iVar1' oculta el símbolo 'GVL.iVar1'
SA0013: La declaración de 'xVar3' oculta el símbolo 'GVL.xVar3'
El FB_Pou
El bloque de funciones tiene la ACT
acción, la METH
método y variables locales con los mismos nombres.
![]() |
FUNCTION_BLOCK FB_Pou VAR ACT : UINT; // SA0013 METH : BYTE; // SA0013 END_VAR
PROGRAM PLC_PRG VAR fbPou : FB_Pou; END_VAR
fbPou();
Salida en el Mensajes vista:
SA0013: La declaración de 'ACT' oculta el símbolo 'FB_Pou.ACT'
SA0013: La declaración de 'METH' oculta el símbolo 'FB_Pou.METH'