命名空间属性

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