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
Type de données | Initialisation |
---|---|
N'importe quel type de données numérique |
|
Chaque pointeur |
|
|
|
| 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. |
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.