Skip to main content

Initialisation des variables

La valeur d'initialisation standard pour toutes les déclarations est 0. Dans la partie déclaration, vous pouvez également spécifier des valeurs d'initialisation définies par l'utilisateur pour chaque variable et chaque type de données

L'initialisation définie par l'utilisateur commence par l'opérateur d'affectation := et se compose de toute expression valide du langage de programmation ST (texte structuré). Vous définissez ainsi la valeur d'initialisation à l'aide de constantes, d'autres variables ou de fonctions. Si vous utilisez une variable, vous devez également l'initialiser

Tableau 5. Valeurs d'initialisation par défaut

Type de données

Initialisation

N'importe quel type de données numérique

0

Chaque pointeur

0

BOOL

FALSE

ARRAY OF

La valeur d'initialisation par défaut de chaque élément

Structure

Si aucune valeur explicite n'a été définie pour les éléments individuels de la déclaration, la valeur par défaut du type de données est la valeur d'initialisation.



Exemple 13. Exemples
VAR
    var1:INT := 12;    //initialization value 12
    x : INT := 13 + 8;    //initalization value defined by an expression of constants
    y : INT := x + fun(4);    //initialization value defined by an expression,
                              //that contains a function call; notice the order!
    z : POINTER TO INT := ADR(y);   //not described in the standard IEC61131-3:
                                    // initialization value defined by an adress function;
                                    // Notice: In this case the pointer will not be initialized
                                    // during an Online Change *)
END_VAR


Remarques sur l'ordre d'initialisation

Tout d'abord, les constantes

À partir de la version 3.5.3.40 du compilateur, les variables d'un bloc fonctionnel sont initialisées dans l'ordre suivant : d'abord, toutes les constantes conformément à l'ordre de leurs déclarations, puis toutes les autres variables conformément à l'ordre de leurs déclarations.

Les variables globales avant les variables locales

Dans les versions 3.3.2.0 et ultérieures du compilateur, les variables des listes de variables globales sont toujours initialisées avant les variables locales d'un POU.

Pour plus d'informations, voir : Déclaration et initialisation des variables de structure et pragma global_init_slot.