Reglas
Un identificador no debe contener espacios ni caracteres especiales.
Se reconoce el guión bajo.
Por ejemplo,
A_BCD
yAB_CD
se tratan como dos identificadores diferentes.No se permiten varios guiones bajos consecutivos.
No hay distinción entre mayúsculas y minúsculas.
Por ejemplo,
VAR1
yvar1
referirse a la misma variable.La longitud de un identificador no está restringida.
Le recomendamos aplicar el Recomendaciones además de los elementos que debes considerar específicamente para la declaración de variables. De esta manera se consigue la mejor armonización posible a la hora de asignar nombres.
Un identificador no debe declararse dos veces localmente.
Un identificador se puede utilizar más de una vez a nivel mundial.
Si una variable local tiene el mismo nombre que una variable global, entonces la variable local tiene prioridad dentro de la POU.
No se permite que un identificador sea idéntico a una palabra clave.
Ejemplo: Alcance de
VAR_Global
Una variable declarada en una lista de variables globales puede tener el mismo nombre que una variable definida en otra GVL.
CODESYS proporciona funciones que amplían el estándar para el espacio de nombres o el alcance de las variables:
Operador de espacio de nombres global
Una ruta de instancia que comienza con un punto siempre abre un espacio de nombres global. Si hay una variable local (por ejemplo,
ivar
) que tiene el mismo nombre que una variable global, se refiere a la variable global como.ivar
.El nombre de una lista de variables globales puede definir el espacio de nombres de forma única para las variables de inclusión. Por lo tanto, puede declarar variables con el mismo nombre en diferentes listas de variables globales y aún así hacer una referencia única anteponiendo el nombre de la lista.
Ejemplo:
globlist1.ivar := globlist2.ivar; (* ivar from GVL globlist2 is copied to ivar in GVL globlist1 *)
Las variables que se definen en la lista de variables globales de una biblioteca incluida en el proyecto se pueden direccionar de forma única de acuerdo con la siguiente sintaxis:
<name scope library>.< GVL name>.<variable name>
Ejemplo:
globlist1.ivar := lib1.globlist1.ivar (* ivar from GVL globlist1 in library lib1 is copied to ivar in GVL globlist1 *)
Al insertar una biblioteca, también utiliza el Administrador de bibliotecas para definir un espacio de nombres. De esta forma, puede hacer referencias únicas a una POU de biblioteca o variable de biblioteca
<namespace library >.<POU name\|variable name>
. Tenga en cuenta que cuando las bibliotecas están anidadas, debe hacer referencia a los espacios de nombres de todas las bibliotecas en sucesión.Ejemplo: Si
Lib1
es referenciado porLib0
, entonces la POUfunc
enLib1
es abordado porLib0.Lib1.fun
:ivar := Lib0.Lib1.fun(4, 5); (* return value from func is copied to variable ivar in the project *)
Identificadores de comillas invertidas
Al utilizar comillas invertidas, también se pueden utilizar caracteres en identificadores que normalmente no están permitidos en identificadores, como caracteres especiales. El carácter de acento agudo se utiliza para las comillas invertidas: ´ (Unicode: U+02CA)
Se recomienda el uso de comillas invertidas para poder utilizar los mismos identificadores en CODESYS como en otros lenguajes de programación o documentos, como diagramas de circuitos.
Se puede utilizar cualquier carácter entre dos comillas graves, excepto saltos de línea y otras comillas graves. También se permiten palabras clave como identificadores entre comillas invertidas.
Ejemplos:
´Variable+9´
´INT´
Las comillas invertidas son parte de cada identificador y por lo tanto var1
y ´var1´
Son dos identificadores diferentes.
PROGRAM PLC_PRG VAR var1 : INT; ´var1´: INT; END_VAR var1 := var1 + 1; ´var1´ := 12;