属性:hide
重要
使用编译指示 {attribute 'hide'}
在大多数情况下,隐藏变量和 POU 并不能达到预期的效果。相反,您应该使用 {属性'条件显示'}。杂注。
pragma 防止用它定义的变量和 POU 显示在 CODESYS 用户界面。因此,您可以有意隐藏这些标识符而不限制访问。这在您开发库时很有用。
图书馆管理
调试
输入助手
“列出组件”功能
监控
符号配置
用 pragma 定义的变量或 POU 在库管理器中既不可见,也不建议在输入助手或“列出组件”功能中。 pragma 防止那些修饰的变量显示在符号配置中。因此,您无法将这些类型的变量导出为符号。这些变量在在线模式下也是不可见的,因此无法监控它们的值。此外,您不能使用任何调试功能,并且在检查错误时没有任何支持。
如果您,应用程序开发人员,知道隐藏的 POU 和变量的确切实例路径,那么您可以在代码中访问它们。
句法:
{attribute 'hide'}
插入位置:对于变量,位于声明变量的行上方。对于 POU,在第一行。
功能块 FB_MyA
包含属性 pragma {attribute 'hide'}
隐藏局部变量 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
功能块的两个实例 FB_MyA
在主程序中定义。
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);
而输入值 fbMyA1
现在实现了“列表组件”功能,在键入时打开 fbMyA1.
(在执行部分 PLC_PRG
),显示变量 iInA
, xInit
, 和 iOutA
,但不是隐藏变量 xInvisibleIn
.
FB_A
是库的功能块 HiddenFunctionality
使用默认命名空间 HIDDEN
.要对应用程序开发人员隐藏标识符和 POU 代码,请使用属性 pragma 开始声明 POU {attribute 'hide'}
.要以相同的方式隐藏从属 POU(动作、方法、属性和转换),也要以它们的声明开头 {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
对于作为应用程序开发人员的您来说,所有 POU 都是不可见的。仅当您知道实例路径时才能使用它们。
PROGRAM PLC_PRG VAR fbHidden : HIDDEN.FB_A; // Hidden function block from library HiddenFunctionality iCounter : INT; END_VAR fbHidden.METH_Invisible(); iCounter := fbHidden.iInvisible;
在联机模式下,不执行任何监控。

提示
随着 {属性'hide_all_locals'}
pragma,您可以隐藏 POU 的所有局部变量。