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.
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.
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
.
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.

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