与 '符号'属性 ( ⇘ “符号属性”结合 ,指令 {attribute 'namespace'} 能够重新定义项目变量的命名空间。他能应用在一个完成的POUs如GVLs或指令,但是不在特殊的变量。相关变量将被同一个新的命名空间输出,给一个符号文件定义并且在一个控制器上文件下载可用后。
这使得访问从POUs或原始有不同的命名空间的可视化的变量可用。例如它允许运行 CoDeSys V2.3还可用在 V3 环境。
关于“符号配置“信息,参见 ⇘ “符号配置 ”。一个新的符号文件将被创建在一个下载或在线更改的项目。他被同应用程序一起下载到控制器。
句法:
{attribute 'namespace' := '<namespace>'}
程序变量的命名空间替代例子
{attribute 'namespace':='prog'} PROGRAM PLC_PRG VAR {attribute 'symbol' := 'readwrite'} iVar:INT; bVar:BOOL; END_VAR
如果 iVar之前被 "App1.PLC_PRG.ivar" 访问,现在通过 "prog.ivar"访问。
更多替代例子
原始命名空间 |
变量 |
命名空间替代 |
在当前工程访问变量 |
---|---|---|---|
App1.Lib2.GVL2 |
Var07 |
{attribute 'namespace':=''} |
.Var07 |
App1.GVL2 |
Var02 |
{attribute 'namespace':='Ext''} |
Ext.Var02 |
App1.GVL2.FB1 |
Var02 |
{attribute 'namespace':='App1.GVL2''} |
App1.GVL2.Var02 |
表格中显示的替代导致了符号文件中的以下输入:
<NodeList> <Node name=""> <Node name="Var07" type="T_INT" access="ReadWrite"> </Node> </NodeList> <NodeList> <Node name="Ext"> <Node name="Var02 " type="T_INT" access="ReadWrite"></Node> </Node> </NodeList> <NodeList> <Node name="App1"> <Node name="GVL2"> <Node name="Var02 " type="T_INT" access="ReadWrite"></Node> </Node> </Node> </NodeList>