Skip to main content

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 et AB_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 et var1 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é par Lib0, puis le POU func dans Lib1 est adressé par Lib0.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.

Exemple 304. Exemple
PROGRAM PLC_PRG
VAR
    var1 : INT;
    ´var1´: INT;
END_VAR

var1 := var1 + 1;
´var1´ := 12;