Des règles
Un identifiant ne doit pas contenir d'espaces ni de caractères spéciaux.
Le trait de soulignement est reconnu.
Par example,
A_BCD
etAB_CD
sont traités comme deux identifiants différents.Plusieurs traits de soulignement consécutifs ne sont pas autorisés.
Les majuscules et les minuscules ne sont pas distinguées.
Par example,
VAR1
etvar1
font référence à la même variable.La longueur d'un identifiant est illimitée.
Nous vous recommandons d'appliquer le Recommandations en plus des éléments que vous devez prendre en compte spécifiquement pour la déclaration des variables. Ainsi, vous obtenez la meilleure harmonisation possible lors de l’attribution des noms.
Un identifiant ne doit pas être déclaré deux fois en local.
Un identifiant peut être utilisé plus d'une fois dans le monde.
Si une variable locale a le même nom qu'une variable globale, alors la variable locale a la priorité dans la POU.
Un identifiant ne doit pas être identique à un mot-clé.
Exemple : Portée de
VAR_Global
Une variable déclarée dans une liste de variables globales peut avoir le même nom qu'une variable définie dans une autre GVL.
CODESYS fournit des fonctionnalités qui étendent la norme pour l'espace de noms ou la portée des variables :
Opérateur d'espace de noms global
Un chemin d'instance qui commence par un point ouvre toujours un espace de noms global. S'il existe une variable locale (par exemple,
ivar
) qui a le même nom qu'une variable globale, alors vous vous référez à la variable globale comme.ivar
.Le nom d'une liste de variables globales peut définir l'espace de noms de manière unique pour les variables d'inclusion. Par conséquent, vous pouvez déclarer des variables portant le même nom dans différentes listes de variables globales et toujours les référencer de manière unique en ajoutant le nom de la liste.
Exemple:
globlist1.ivar := globlist2.ivar; (* ivar from GVL globlist2 is copied to ivar in GVL globlist1 *)
Les variables définies dans la liste des variables globales d'une bibliothèque incluse dans le projet peuvent être adressées de manière unique selon la syntaxe suivante :
<name scope library>.< GVL name>.<variable name>
Exemple:
globlist1.ivar := lib1.globlist1.ivar (* ivar from GVL globlist1 in library lib1 is copied to ivar in GVL globlist1 *)
Lors de l'insertion d'une bibliothèque, vous utilisez également le gestionnaire de bibliothèque pour définir un espace de noms. De cette manière, vous pouvez créer des références uniques à une POU de bibliothèque ou à une variable de bibliothèque en
<namespace library >.<POU name\|variable name>
. Notez que lorsque les bibliothèques sont imbriquées, vous devez référencer les espaces de noms de toutes les bibliothèques successivement.Exemple : Si
Lib1
est référencé parLib0
, puis le POUfunc
dansLib1
est adressé parLib0.Lib1.fun
:ivar := Lib0.Lib1.fun(4, 5); (* return value from func is copied to variable ivar in the project *)
Identificateurs de backtick
En utilisant des backticks, des caractères peuvent également être utilisés dans des identifiants qui ne sont normalement pas autorisés dans les identifiants, tels que les caractères spéciaux. Le caractère d'accent aigu est utilisé pour les backticks : ' (Unicode : U+02CA)
L'utilisation de backticks est recommandée afin de pouvoir utiliser les mêmes identifiants dans CODESYS comme dans d'autres langages ou documents de programmation, tels que les schémas de circuits.
N'importe quel caractère peut être utilisé entre deux backticks, à l'exception des sauts de ligne et autres backticks. Les mots-clés sont également autorisés comme identifiants entre les backticks.
Exemples:
´Variable+9´
´INT´
Les backticks font partie de chaque identifiant et donc var1
et ´var1´
sont deux identifiants différents.
PROGRAM PLC_PRG VAR var1 : INT; ´var1´: INT; END_VAR var1 := var1 + 1; ´var1´ := 12;