Skip to main content

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.

Esempio 97. Esempio

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.

Nota

Quando 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.

Nota

Quando 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.