Skip to main content

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

ejemplo 25. Ejemplo
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:

  • sa_icon_message.png SA0013: La declaración de 'iVar1' oculta el símbolo 'GVL.iVar1'

  • sa_icon_message.png SA0013: La declaración de 'xVar3' oculta el símbolo 'GVL.xVar3'



ejemplo 26. Ejemplo

El FB_Pou El bloque de funciones tiene la ACT acción, la METH método y variables locales con los mismos nombres.

_san_rule_0013_fb.png
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:

  • sa_icon_message.png SA0013: La declaración de 'ACT' oculta el símbolo 'FB_Pou.ACT'

  • sa_icon_message.png SA0013: La declaración de 'METH' oculta el símbolo 'FB_Pou.METH'