Variabile: RETAIN
Le variabili di mantenimento sono dichiarate dalla parola chiave RETAIN
viene aggiunto negli oggetti di programmazione nell'ambito VAR
, VAR_INPUT
, VAR_OUTPUT
, VAR_IN_OUT
, VAR_STAT
, o VAR_GLOBAL
.
Sintassi per la dichiarazione
<scope> RETAIN <identifier>: <data type> ( := <initialization> )? // ( ... )? : Optional END_VAR <scope> : VAR | VAR_INPUT | VAR_OUTPUT | VAR_IN_OUT | VAR_STAT | VAR_GLOBAL
Un'assegnazione di ingressi, uscite o indirizzi di memoria con il AT
la parola chiave non è consentita.
In un POU
VAR RETAIN iVarRetain: INT; END_VAR
In un GVL
VAR_GLOBAL RETAIN g_iVarRetain: INT; END_VAR
Possibili posizioni di dichiarazione
Localmente in un programma | Solo la variabile si trova nell'area della memoria di ritenzione. NotaQuando si utilizza la ridondanza, l'intero programma con tutti i suoi dati si trova nell'area di memoria di ritenzione. |
Globalmente in un elenco di variabili globali | Solo la variabile si trova nell'area della memoria di ritenzione. NotaQuando si utilizza la ridondanza, l'intero elenco delle variabili globali con tutti i relativi dati si trova nell'area della memoria di ritenzione. |
Localmente in un blocco funzione | L'intera istanza del blocco funzione con tutti i suoi dati si trova nell'area di memoria Retain. Solo la variabile di conservazione dichiarata è protetta. |
Localmente in una funzione | La variabile non si trova nell'area di memoria ritentiva. Questa dichiarazione non ha alcun effetto. |
Localmente e persistentemente in una funzione | La variabile non si trova nell'area di memoria ritentiva. Questa dichiarazione non ha alcun effetto. |
Suggerimento
Quando possibile, evitare l'uso RETAIN
per contrassegnare le variabili di un blocco funzione.