Attribute namespace

Présentation

Combiné au attribute symbol, le pragma {attribute namespace} vous permet de redéfinir l'espace de noms des variables du projet. Vous pouvez l'appliquer à des POU complets, comme des GVL ou des programmes, mais pas à des variables individuelles. Les variables concernées seront exportées avec la nouvelle définition d'espace de noms vers un fichier de symboles. Une fois celui-ci téléchargé, elles seront disponibles sur le contrôleur.

Cette option vous permet en outre d'accéder à des variables à partir de POU ou de visualisations qui, à l'origine, étaient associés à un espace de noms différent. Par exemple, vous pouvez exécuter une visualisation EcoStruxure Machine Expert précédente dans un environnement EcoStruxure Machine Expert ultérieur.

Pour plus d'informations, reportez-vous à la description de la configuration de symbole. Un nouveau fichier de symboles est créé suite au téléchargement du projet ou à un changement en ligne. Ce fichier est téléchargé sur le contrôleur, avec l'application.

Syntaxe

{attribute 'namespace' := '<espace de noms>'}

Exemple de remplacement d'espace de noms pour les variables d'un programme

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

Auparavant accessible via App1.PLC_PRG.ivar, la variable iVar est désormais associée à l'espace de noms prog.ivar.

Autres exemples de remplacement

Espace de noms d'origine

Variable

Remplacement de l'espace de noms

Accès à la variable au sein du projet en cours

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

Les remplacements du tableau ci-dessus génèrent les entrées suivantes dans le fichier de symboles :

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