Attribute namespace

Überblick

In Verbindung mit dem attribute symbol können Sie mit dem pragma {attribute namespace} den Namespace von Projektvariablen neu definieren. Das Pragma kann auf komplette POUs, wie z. B. GVLs oder Programme, aber keine besonderen Variablen angewendet werden. Die betroffenen Variablen werden mit einer neuen Namespace-Definition in eine Symboldatei exportiert und sind nach einem Download dieser Datei auf der Steuerung verfügbar.

Das ermöglicht den Zugriff auf Variablen aus POUs oder Visualisierungen, die ursprünglich unterschiedliche Namespaces haben. So können Sie beispielsweise eine vorherige EcoStruxure Machine Expert Visualisierung auch in einer späteren EcoStruxure Machine Expert Umgebung ausführen.

Weitere Informationen hierzu finden Sie in der Beschreibung der Symbolkonfiguration. Bei einem Download oder dem Online Change des Projekts wird eine neue Symboldatei erstellt. Diese Datei wird zusammen mit der Anwendung auf die SPS heruntergeladen.

Syntax

{attribute 'namespace' := '<Namespace>'}

Beispiel einer Namespace-Ersetzung für die Variablen eines Programms

{attribute 'namespace':='prog'}
PROGRAM PLC_PRG
VAR
  {attribute 'symbol' := 'readwrite'}
  iVar:INT;
  bVar:BOOL;
END_VAR

Wenn der Zugriff auf iVar zuvor beispielsweise über App1.PLC_PRG.ivar erfolgt ist, steht er anschließend über prog.ivar zur Verfügung.

Weitere Ersetzungsbeispiele

Ursprünglicher Namespace

Variable

Namespace-Ersetzung

Zugriff auf die Variable innerhalb des aktuellen Projekts

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

Die in der Tabelle aufgeführten Ersetzungen bewirken die nachstehenden Einträge in der Symboldatei:

<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>