Skip to main content

Atributo: hide

Importante

Usando el pragma {attribute 'hide'} Ocultar variables y POU no tiene el efecto deseado en la mayoría de los casos. En su lugar, deberías utilizar el {atributo 'show condicional'}. pragma.

El pragma impide que las variables y POU definidas con él se muestren en el CODESYS interfaz de usuario. Como resultado, puede ocultar intencionalmente estos identificadores sin restringir el acceso. Esto puede ser útil cuando desarrolla bibliotecas.

. Afecta características:
  • gestión de la biblioteca

  • depuración

  • Asistente de entrada

  • Función "Lista de componentes"

  • Supervisión

  • Configuración de símbolos

Las variables o POU definidas con el pragma no son visibles en el Administrador de biblioteca ni se sugieren en el Asistente de entrada o en la función "Lista de componentes". El pragma evita que esas variables decoradas se muestren en la configuración del símbolo. Como resultado, no puede exportar este tipo de variables como símbolos. Las variables también son invisibles en el modo en línea y, por lo tanto, sus valores no se pueden monitorear. Además, no puede usar ninguna funcionalidad de depuración y no tiene ningún soporte para verificar errores.

Si usted, el desarrollador de la aplicación, conoce la ruta de instancia exacta de las POU y variables ocultas, puede acceder a ellas en el código.

Sintaxis:

{attribute 'hide'}

Insertar ubicación: Para variables, arriba de la línea con la declaración de las variables. Para POUs, en la primera línea.

ejemplo 268. Variable oculta

El bloque de funciones FB_MyA contiene el atributo pragma {attribute 'hide'} para ocultar la variable local xInvisibleIn.

FUNCTION_BLOCK FB_MyA
VAR_INPUT
    iInA : INT;
    {attribute 'hide'}
    xInvisibleIn : BOOL;
    xInit: BOOL;
END_VAR
VAR_OUTPUT
    iOutA : INT;
END_VAR
VAR
    iCounter : INT;
END_VAR

Dos instancias del bloque de funciones FB_MyA se definen en el programa principal.

PROGRAM PLC_PRG
VAR
    fbMyA1, fbMyA2 : FB_MyA;
    xVar2 : BOOL;
    iVar1 : INT;
    iVar2 : INT;
END_VAR
fbMyA1(iInA := 1, xInit := TRUE, xInvisibleIn := TRUE, iOutA => iVar1);
fbMyA2(iInA := 1, xInit := TRUE, iOutA => iVar2);

Mientras que un valor de entrada para fbMyA1 ahora está implementada, la función 'Lista de componentes', que se abre al escribir fbMyA1. (en la parte de implementación de PLC_PRG), muestra las variables iInA, xInit, y iOutA, pero no la variable oculta xInvisibleIn.



ejemplo 269. POU de biblioteca oculta

FB_A es un bloque de función de la biblioteca HiddenFunctionality con el espacio de nombres predeterminado HIDDEN. Para ocultar el identificador y el código de la POU a los desarrolladores de aplicaciones, comience la declaración de la POU con el atributo pragma {attribute 'hide'}. Para ocultar las POU subordinadas (acciones, métodos, propiedades y transiciones) de la misma manera, también comience sus declaraciones con {attribute 'hide'}.

{attribute 'hide'}
FUNCTION_BLOCK FB_A
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    iA : INT;
    iCount : INT;
    iInvisible : INT;
END_VAR

{attribute 'hide'}
METHOD METH_Count : INT
VAR_INPUT
END_VAR
iCount := iCount + 1;

{attribute 'hide'}
METHOD METH_Invisible : BOOL
VAR_INPUT
END_VAR
iInvisible := iInvisible + 1;

{attribute 'hide'}
PROPERTY PUBLIC prop_iA : INT

Para usted, como desarrollador de aplicaciones, todas las POU son invisibles. Solo puede usarlos si conoce la ruta de la instancia.

PROGRAM PLC_PRG
VAR
        fbHidden : HIDDEN.FB_A; // Hidden function block from library HiddenFunctionality
        iCounter : INT;
END_VAR
fbHidden.METH_Invisible();
iCounter := fbHidden.iInvisible;

En el modo en línea, no se realiza ningún seguimiento.

_cds_img_hidden_pous.png


Sugerencia

Con el {atributo 'hide_all_locals'} pragma, puede ocultar todas las variables locales de un POU.