Inizializzazione delle variabili
Valore di inizializzazione predefinito
Il valore di inizializzazione predefinito è 0 per tutte le dichiarazioni, ma è possibile aggiungere valori di inizializzazione definiti dall'utente nella dichiarazione di ogni variabile e tipo di dati.
Valori di inizializzazione definiti dall'utente
L'inizializzazione definita dall'utente è data dall'operatore di assegnazione := e può essere qualsiasi espressione ST valida. Pertanto, per definire il valore di inizializzazione, è possibile utilizzare valori costanti e altre variabili o funzioni. Accertarsi che una variabile utilizzata per l'inizializzazione di un'altra variabile sia già inizializzata.
Esempi di inizializzazioni di variabili valide:
VAR
var1:INT := 12; * Integer variable with initial value of 12. *
x : INT := 13 + 8; * Integer value defined an expression with literal values.*
y : INT := x + fun(4); * Integer value defined by an expression containing a function call. NOTE: Be sure that any variables used in the variable initialization have already been defined. *
z : POINTER TO INT := ADR(y); * POINTER is not described by the IEC61131-3: Integer value defined by an address function; NOTE: The pointer will not be initialized if the declaration is modified online. *
END_VAR
Per maggiori informazioni, vedere le seguenti descrizioni:
oinizializzazione di array
oinizializzazione di strutture
oinizializzazione di una variabile con un tipo di sottocampo
NOTA: Le variabili degli elenchi di variabili globali (GVL) vengono inizializzate prima delle variabili locali di un POU.
NOTA: Da SoMachine versione 4.0, le variabili in un blocco funzione vengono inizializzate nell'ordine seguente: primo, le costanti in base all'ordine delle loro dichiarazioni, quindi le altre variabili in base all'ordine delle loro dichiarazioni.
Per ulteriori informazioni relative all'ordine di inizializzazione, consultare Attribute global_init_slot.