Le variabili rimanenti possono essere reinizializzate o conservare il valore in caso di assenza di alimentazione, riavvio, azzeramento e download del programma applicativo. Vi sono tipi diversi di variabili rimanenti, dichiarate singolarmente come "ritentive" o "persistenti", o in combinazione come "ritentive-persistenti".
NOTA: Per questo controller, le variabili dichiarate come persistenti si comportano come le variabili dichiarate ritentive-persistenti.
Questa tabella descrive il funzionamento delle variabili rimanenti nei vari casi:
Azione |
VAR |
VAR RITENTIVE |
VAR GLOBALI RITENTIVE PERSISTENTI |
---|---|---|---|
Modifica online al programma applicativo |
X |
X |
X |
Modifica in linea che cambia l’applicazione boot (1) |
– |
X |
X |
Arresto |
X |
X |
X |
Ciclo di spegnimento-accensione |
– |
X |
X |
Riavvio a caldo |
– |
X(2) |
X |
Reset a freddo |
– |
– |
X |
Reset origine |
– |
– |
– |
Download programma applicativo(3) |
– |
– |
X |
X Il valore viene conservato. – Il valore viene reinizializzato. (1) I valori delle variabili ritentive vengono mantenuti se una modifica in linea cambia solo la parte di codice dell’applicazione boot (ad esempio a:=a+1; => a:=a+2;). In tutti gli altri casi, le variabili ritentive vengono reinizializzate. (2) Per ulteriori informazioni su VAR RETAIN, consultare Effetti del comando di Reset a caldo. (3) Se si scarica l'applicazione tramite una chiavetta di memoria USB, eventuali variabili ritentive-persistenti esistenti utilizzate dall'applicazione vengono reinizializzate. Se si scarica l'applicazione mediante EcoStruxure Machine Expert, tuttavia, le variabili ritentive-persistenti esistenti mantengono i rispettivi valori. In entrambi i casi, se l'applicazione scaricata contiene le stesse variabili ritentive-persistenti dell'applicazione esistente, le variabili ritentive esistenti mantengono i rispettivi valori. |
NOTA: Le prime 1000 %MW sono automaticamente ritentive e persistenti se ad esse non è associata alcuna variabile. I loro valori vengono conservati dopo un riavvio/reset a caldo/reset a freddo. Le altre %MW sono gestite come VAR.
Ad esempio, se nel programma si ha:
VAR myVariable AT %MW0 : WORD; END_VAR
%MW0 si comporta come myVariable (non ritentiva e non persistente).
Aggiunta di variabili ritentive-persistenti
Dichiarare i simboli ritentivi-persistenti (VAR GLOBALI RITENTIVE PERSISTENTI) nella finestra PersistentVars:
Passo |
Azione |
---|---|
1 |
Nella struttura Applicazioni, selezionare il nodo Applicazione. |
2 |
Fare clic con il pulsante destro del mouse. |
3 |
Scegliere Aggiungi oggetti > Variabili persistenti |
4 |
Fare clic su Aggiungi. Risultato: viene visualizzata la finestra PersistentVars. |
Variabili ritentive e persistenti: impatto sulle prestazioni
Variabili ritentive o ritentive-persistenti sono memorizzate in una memoria non volatile dedicata. Ogni volta che si accede a queste variabili durante l'esecuzione della POU (Programming Organization Unit), si accede alla memoria non volatile. Il tempo di accesso per queste variabili è più lento del tempo di accesso delle variabili regolari, il che influisce sulle prestazioni. Questo è un fattore di cui tenere conto durante la scrittura delle POU sensibili alle prestazioni.