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_GLOBALUn'assegnazione di ingressi, uscite o indirizzi di memoria con il AT la parola chiave non è consentita.
In un POU
VAR RETAIN
iVarRetain: INT;
END_VARIn un GVL
VAR_GLOBAL RETAIN
g_iVarRetain: INT;
END_VARPossibili 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.