En combinación con el attribute symbol, el pragma {attribute namespace} sirve para redefinir el espacio de nombres de las variables del proyecto. Puede aplicarlo a los POU completos, como GVL o programas, pero no a variables particulares. Las variables afectadas se exportarán con la nueva definición del espacio de nombres a un archivo de símbolos cuando se pueda descargar este archivo en el controlador.
Esto le permitirá acceder a las variables de los POU o las visualizaciones que tuviesen originalmente espacios de nombres diferentes. Por ejemplo, también permite ejecutar una visualización previa de EcoStruxure Machine Expert en un entorno de EcoStruxure Machine Expert posterior.
Para obtener más información, consulte la descripción de la configuración de símbolos. Se creará un nuevo archivo de símbolos en una descarga o cambio en línea del proyecto. Se descarga en el controlador junto a la aplicación.
{attribute 'namespace' := '<espacio de nombres>'}
Ejemplo de una sustitución de espacios de nombres para las variables de un programa
{attribute 'namespace':='prog'}
PROGRAM PLC_PRG
VAR
{attribute 'symbol' := 'readwrite'}
iVar:INT;
bVar:BOOL;
END_VAR
Si antes se accedía a iVar, por ejemplo, mediante App1.PLC_PRG.ivar, ahora se accede a través de prog.ivar.
Espacios de nombres originales |
Variable |
Reemplazo de espacios de nombres |
Acceso a la variable dentro del proyecto actual |
---|---|---|---|
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 |
Las sustituciones que aparecen en la tabla se convierten en las siguientes entradas del archivo de símbolos:
<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>