Les variables rémanentes peuvent être réinitialisées ou conserver leur valeur en cas de coupure de courant, de redémarrage, de réinitialisation ou de téléchargement de programme d'application. Il en existe plusieurs types : conservées (retain), persistantes (persistent) ou conservées-persistantes.
NOTE : Pour ce contrôleur, les variables déclarées persistantes fonctionnent comme les variables déclarées conservées-persistantes.
Le tableau suivant décrit le comportement des variables rémanentes dans différents cas :
Action |
VAR |
VAR RETAIN |
VAR GLOBAL RETAIN PERSISTENT |
---|---|---|---|
Changement en ligne du programme d'application |
X |
X |
X |
Modification en ligne appliquée à l'application de démarrage (1) |
– |
X |
X |
Arrêter |
X |
X |
X |
Mise hors tension, puis mise sous tension |
– |
X |
X |
Reset chaud |
– |
X(2) |
X |
Réinitialisation à froid |
– |
– |
X |
Réinitialisation origine |
– |
– |
– |
Téléchargement du programme d'application(3) |
– |
– |
X |
X La valeur est conservée. – La valeur est réinitialisée. (1) Les valeurs des variables conservées sont maintenues si une modification en ligne s'applique uniquement à la partie code de l'application de démarrage (par exemple, a:=a+1; => a:=a+2;). Dans tous les autres cas, les variables conservées sont réinitialisées. (2) Pour plus d'informations sur VAR RETAIN, consultez Effets de la commande de réinitialisation à chaud. (3) Si l'application est téléchargée à l'aide d'une carte SD, les variables conservées-persistantes utilisées par l'application sont réinitialisées. Si l'application est téléchargée à l'aide de EcoStruxure Machine Expert, les variables conservées-persistantes conservent leurs valeurs. Dans les deux cas, si l'application téléchargée contient les mêmes variables conservées-persistantes que l'application, les variables conservées existantes conservent leurs valeurs. |
NOTE : Les 1000 premières %MW sont automatiquement conservées et persistantes si aucune variable ne leur est associée. Leurs valeurs sont conservées après un redémarrage, une réinitialisation à chaud ou une réinitialisation à froid. Les autres %MW sont gérées comme des variables (VAR).
Par exemple, si votre programme contient :
VAR myVariable AT %MW0 : WORD; END_VAR
%MW0 fonctionne comme myVariable (non conservée et non persistante).
Ajout de variables conservées-persistantes
Étape |
Action |
---|---|
1 |
Dans l'arborescence Applications, sélectionnez le nœud Application. |
2 |
Cliquez sur le bouton droit de la souris. |
3 |
Sélectionnez Ajouter des objets > Variables persistantes. |
4 |
Cliquez sur Ajouter. Résultat : la fenêtre PersistentVars apparaît. |
Variables conservées et persistantes : impact sur la performance
Les variables conservées ou conservées-persistantes sont stockées sur une mémoire non volatile dédiée. À chaque accès à ces variables lors de l'exécution d'une POU (unité organisationnelle de programme), un accès à la mémoire non volatile se produit. L'accès à ces variables est plus lent que l'accès aux variables standard, ce qui peut avoir une incidence sur la performance. Cet élément est à prendre en compte lors de l'écriture de POU pour lesquelles la performance est cruciale.