Inicialización de variables
El valor de inicialización estándar para todas las declaraciones es 0
. En la parte de declaración también puede especificar los valores de inicialización definidos por el usuario para cada variable y cada tipo de datos
La inicialización definida por el usuario comienza con el operador de asignación :=
y consiste en cualquier expresión válida del lenguaje de programación ST (texto estructurado). De este modo, se define el valor de inicialización con la ayuda de constantes, otras variables o funciones. Si usa una variable, también debe inicializarla
Tipo de datos | Inicialización |
---|---|
Cualquier tipo de datos numéricos |
|
Cada puntero |
|
|
|
| El valor de inicialización predeterminado de cada elemento |
Estructura | Si no se ha definido un valor explícito para los elementos individuales de la declaración, el valor predeterminado del tipo de datos es el valor de inicialización. |
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
Notas sobre el orden de inicialización
En primer lugar, las constantes
A partir de la versión 3.5.3.40 del compilador, las variables de un bloque de funciones se inicializan en el siguiente orden: en primer lugar, todas las constantes según el orden de sus declaraciones y, a continuación, todas las demás variables según el orden de sus declaraciones.
Variables globales antes que variables locales
En la versión 3.3.2.0 del compilador y posteriores, las variables de las listas de variables globales siempre se inicializan antes que las variables locales de una POU.
Para obtener más información, consulte: Declaración e inicialización de variables de estructura y pragma global_init_slot.