与 '符号'属性 ( ⇘ “符号属性”结合 ,指令 {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>