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