The pragma prevents all local variables of a signature from being visible in the display of the 'List components' function, in the Input Assistant or in the declaration part in online mode. Moreover, these variables are hidden in the symbol configuration and therefore cannot be exported as symbols. The pragma is especially useful in library POUs to hide POU variables from users.
Affected features
-
Library management
-
Debugging
-
Input Assistant
-
Function "List components"
-
Monitoring
-
Symbol configuration
Syntax:
{attribute 'hide_all_locals'}
Insert location: First line above the declaration part of the POU
Example
The function block FB_MyB
uses the attribute:
{attribute 'hide_all_locals'} FUNCTION_BLOCK FB_MyB VAR_INPUT iInB : INT; {attribute 'hide'} xInvisibleIn : BOOL; xInit: BOOL; END_VAR VAR_OUTPUT iOutB : INT; END_VAR VAR iCounter : INT; xVar : BOOL; END_VAR
Two instances of the function block FB_MyB
are defined in the main program.
PROGRAM PLC_PRG VAR fbMyB1, fbMyB2: FB_MyB; iVar3: INT; iVar4: INT; END_VAR fbMyB1(iInB := 2, xInvisibleIn := TRUE, iOutB => iVar3); fbMyB2(iInB := 2, iOutB => iVar4); IF fbMyB2.iCounter > 100 THEN fbMyB2.xInit := TRUE; END_IF
Now when you download the program to the controller, start it, and switch to online
mode, the variables iInB
, xInit
, iOutB
, and xReset
are displayed in the declaration editor. However, the hidden local variables iCounter
and xVar
are not displayed.
See also