Attribute namespace

概述

通过与 attribute symbol 组合使用,pragma {attribute namespace} 使您可以重新定义项目变量的命名空间。您可以对完整 POU(如 GVL 或程序)应用命名空间,但不能对特定变量应用命名空间。相关的变量将以新的命名空间定义导出到符号文件,并且在下载此文件后,将在控制器上可用。

这还将使您可以通过最初具有不同命名空间的 POU 或视图访问变量。例如,它使您可以在EcoStruxure Machine Expert之后的某个环境中运行视图EcoStruxure Machine Expert

有关更多信息,请参阅符号配置的描述。将在下载或在线修改工程时创建一个新的符号文件。该符号文件将与应用程序一起下载到控制器。

语法

{attribute '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>