Puede declarar variables:
a través del cuadro de diálogo Declarar variable
en un editor GVL
en el editor PersistentVars
El tipo (en el editor de declaraciones tabular se denomina editor de declaraciones textual, VAR
y END_VAR
incluyen la declaración de variables común.
Para obtener más información sobre los ámbitos de declaración de variables, consulte:
VAR_INPUT
VAR_OUTPUT
VAR_IN_OUT
VAR_GLOBAL
VAR_TEMP
VAR_STAT
VAR_INST
VAR_EXTERNAL
VAR_CONFIG
Las palabras clave del tipo de variable pueden complementarse con palabras clave de atributos.
Ejemplo: RETAIN (VAR_INPUT RETAIN)
Sintaxis de la declaración de variables:
<Identificador> {AT
<dirección>}:<tipo de datos> {:=<inicialización>};
Las partes que aparecen dentro de llaves {} son opcionales.
El identificador es el nombre de una variable.
Tenga en cuenta lo siguiente cuando defina un identificador.
No se permiten espacios o caracteres especiales.
No hay distinción entre mayúsculas y minúsculas: VAR1
, Var1
y var1
son la misma variable.
Reconocimiento del guion bajo: A_BCD
y AB_CD
se consideran dos identificadores distintos. No utilice más de un guion bajo en una misma fila.
Longitud ilimitada
No se permiten nombres de palabras clave, como VAR_GLOBAL
Uso múltiple (consulte la siguiente sección)
Consulte también el capítulo Recomendaciones sobre la nomenclatura de identificadores.
A continuación se especifican las normas relacionadas con el uso múltiple de identificadores:
No se permite el uso duplicado de identificadores localmente.
El uso múltiple de un identificador se permite globalmente: una variable local puede tener el mismo nombre que una global. En este caso, tendrá prioridad la variable local dentro del POU.
Una variable definida en una lista de variables globales (GVL) puede tener el mismo nombre que una variable definida en otra lista de variables globales (GVL). En este contexto, considere las funciones de extensión de la siguiente IEC 61131-3:
Operador de ámbito global: una ruta de instancia que empieza con un punto (.
) abre un ámbito global. De este modo, si existe una variable local, por ejemplo ivar
, con el mismo nombre que una variable global, .ivar
hará referencia a la variable global.
Puede utilizar el nombre de una lista de variables globales (GVL) como espacio de nombres de las variables incluidas. Puede declarar variables con el mismo nombre en distintas listas de variables globales (GVL). Se puede acceder específicamente a estas variables poniendo el nombre de la lista delante del nombre de la variable.
Ejemplo
globlist1.ivar := globlist2.ivar;
(* ivar de globlist2 se copia en ivar en la GVL globlist1 *)
Se puede acceder a las variables definidas en una lista de variables globales de una biblioteca incorporada según la sintaxis <espacio de nombres de la biblioteca>.<nombre del GVL>.<variable>.
Ejemplo:
globlist1.ivar := lib1.globlist1.ivar
(* ivar de globlist1 en la biblioteca lib1 se copia a ivar en GVL globlist1 *)
Asimismo, para una biblioteca, se define un espacio de nombres cuando se incorpora a través del
. Así que podrá acceder al módulo de una biblioteca o una variable mediante <espacio de nombres de la biblioteca>.<modulename|variablename>. Tenga en cuenta que, si se trata de bibliotecas anidadas, los nombres de espacios de todas las bibliotecas afectadas deben describirse sucesivamente.
Ejemplo: si Lib0
hace referencia a Lib1
, al módulo fun
que forma parte de Lib1
se accede a través de Lib0.Lib1.fun
:
ivar := Lib0.Lib1.fun(4, 5);
(* el valor de retorno de fun se copia a la variable ivar del proyecto *)
Lib
, también podrá accederse directamente al módulo fun
a través de Lib0.fun
.
Para acceder a las variables declaradas en GVL o POU del nodo "__POOL."
.
AT
<dirección>
Puede vincular la variable directamente a una dirección definida con la palabra clave AT
.
En los bloques de funciones, también puede especificar variables con instrucciones de direcciones incompletas. Para que dicha variable se pueda usar en una instancia local, tiene que existir una entrada para ello en la configuración de variables.
De manera opcional, puede añadir instrucciones pragma en la parte de la declaración de un objeto para la generación de códigos con distintos objetivos.
También es posible la declaración automática de variables.
Para introducir declaraciones más rápidamente, use la modalidad de acceso directo.