Vous pouvez déclarer des variables :
odans la vue Variables du catalogue de logiciels,
odans l'éditeur de déclaration d'un POU,
oà partir de la boîte de dialogue Déclarer une variable,
odans un éditeur de GVL.
Le type (ou domaine de validité dans l'éditeur de déclaration tabulaire) des variables à déclarer est indiqué par les mots clés délimitant la déclaration d'une ou plusieurs variables. Dans l'éditeur de déclaration textuel, la déclaration des variables est généralement délimitée par VAR et END_VAR.
Pour connaître les autres domaines de validité de déclaration de variables, reportez-vous aux mots clés suivants :
oVAR_INPUT
oVAR_OUTPUT
oVAR_IN_OUT
oVAR_GLOBAL
oVAR_TEMP
oVAR_STAT
oVAR_EXTERNAL
oVAR_CONFIG
Les mots clés de type de variable peuvent être remplacés par des mots clés d'attribut.
Exemple : RETAIN (VAR_INPUT RETAIN)
Syntaxe pour la déclaration d'une variable :
<Identificateur> {AT <adresse>}:<type de données> {:=<initialisation>};
Les parties entre accolades {} sont facultatives.
L'identificateur correspond au nom de la variable.
Tenez compte des informations suivantes lors de la définition d'un identificateur :
oLes espaces et caractères spéciaux sont interdits.
oAucune distinction n'est faite entre les majuscules et les minuscules (VAR1, Var1 et var1 représentent la même variable).
oLe trait de soulignement est reconnu (A_BCD et AB_CD sont deux identificateurs distincts). N'utilisez pas plus d'un trait de soulignement par ligne.
oLa longueur est illimitée.
oUsage multiple (voir recommandations au paragraphe suivant)
Reportez-vous également aux conseils du chapitre Recommandations relatives à la dénomination des identificateurs.
Usage multiple des identificateurs (espaces de noms)
Voici les règles liées à l'usage multiple des identificateurs :
oL'identificateur créé ne doit pas être identique à un mot clé.
oIl est interdit de dupliquer un identificateur localement.
oUn même identificateur peut être utilisé plusieurs fois au niveau global. Ainsi, une variable locale peut avoir le même nom qu'une variable globale. Dans ce cas, la priorité revient à la variable locale du POU.
oUn même nom peut servir à identifier deux variables définies dans des listes de variables globales (GVL) différentes. Dans ce cas, tenez compte des fonctions d'extension IEC 61131-3 suivantes :
oOpérateur de domaine de validité global : un chemin d'instance commençant par un point (.) ouvre un domaine de validité global. Lorsqu'une variable locale (ivar, par exemple) porte le même nom qu'une variable globale, cette dernière est désignée par .ivar.
oIl est possible d'utiliser un nom de liste de GVL comme espace de noms pour les variables incluses. Vous pouvez déclarer des variables sous le même nom dans des GVL distinctes. Pour accédez à chaque variable, vous devrez alors faire précéder son nom par celui de la liste correspondante.
Exemple
globlist1.ivar := globlist2.ivar;
(* la variable ivar de la liste globlist2 est copiée vers ivar dans la GVL globlist1 *)
oLes variables définies dans une liste de variables globales d'une bibliothèque incluse sont accessibles via la syntaxe <espace de noms de la bibliothèque>.<nom de la GVL>.<variable>.
Exemple :
globlist1.ivar := lib1.globlist1.ivar
(* la variable ivar de la liste globlist1 dans la bibliothèque lib1 est copiée vers ivar dans la GVL globlist1 *)
oL'espace de noms d'une bibliothèque est défini après inclusion de cette dernière via le gestionnaire de bibliothèques. Vous pouvez donc accéder à une variable ou un module de bibliothèque via la syntaxe <espace de noms de la bibliothèque>.<nom du module|nom de la variable>. Dans le cas de bibliothèques imbriquées, indiquez successivement les espaces de noms associés.
Exemple : pour accéder au module Lib1 de la bibliothèque Lib0, fun étant référencé par Lib1, utilisez la syntaxe Lib0.Lib1.fun, comme illustré ci-après :
ivar := Lib0.Lib1.fun(4, 5); (* la valeur renvoyée par fun est copiée vers la variable ivar dans le projet *)
NOTE : Une fois que vous avez coché la case Afficher tous les symboles CEI dans le projet, comme si cette référence avait été directement intégrée ici dans la boîte de dialogue Propriétés de la bibliothèque référencée Lib, le module fun devient également accessible directement via Lib0.fun.
oIl est possible d'accéder aux variables déclarées dans les GVL ou les POU du nœud Global de l'arborescence Applications en utilisant l'opérateur "__POOL." comme préfixe.
Le mot clé AT permet de lier directement la variable à une adresse définitive.
Dans les blocs fonction, vous pouvez également indiquer des variables avec des instructions d'adresse incomplète. Pour que ces variables puissent être utilisées comme instance locale, leur configuration doit inclure une entrée en ce sens.
Type de données valide, auquel est éventuellement ajouté :=< initialisation>.
L'ajout d'instructions pragma dans la partie déclaration d'un objet permet d'affecter la génération de code à différentes fins.
Vous pouvez aussi déclarer automatiquement les variables.
Le mode raccourcis accélère le processus de déclaration.