Der Wert remanenter Variablen kann im Fall von Stromausfällen, Neustarts, Resets und Anwendungsdownloads entweder reinitialisiert oder beibehalten werden. Es gibt zahlreiche Typen von remanenten Variablen, die jeweils einzeln als „Retain“ oder „Persistent“ oder kombiniert als „Retain-Persistent“ deklariert werden.
HINWEIS: Bei dieser Steuerung weisen als "Persistent" deklarierte Variablen dasselbe Verhalten auf wie solche, die als "Retain-Persistent" deklariert wurden.
Diese Tabelle beschreibt das Verhalten von remanenten Variablen in den einzelnen Fällen:
Aktion |
VAR |
VAR RETAIN |
VAR GLOBAL RETAIN PERSISTENT |
---|---|---|---|
Online Change am Anwendungsprogramm |
X |
X |
X |
Online-Change zum Ändern der Bootapplikation (1) |
– |
X |
X |
Stoppen |
X |
X |
X |
Aus- und Einschalten |
– |
X |
X |
Reset Warm |
– |
X(2) |
X |
Reset Kalt |
– |
– |
X |
Reset Ursprung |
– |
– |
– |
Download des Anwendungsprogramms(3) |
– |
– |
X |
X Der Wert wird beibehalten. – Der Wert wird neu initialisiert. (1) Die Werte von Retain-Variablen werden beibehalten, wenn ein Online-Change nur den Code-Teil der Bootapplikation ändert (beispielsweise a:=a+1; => a:=a+2;). In allen anderen Fällen werden die Retain-Variablen reinitialisiert. (2) Weitere Details zu VAR RETAIN finden Sie in den Auswirkungen des Befehls „Reset (warm)“. (3) Wenn die Anwendung über einen USB-Speicherstick heruntergeladen wird, werden alle vorhandenen, von der Anwendung genutzten Retain-Persistent-Variablen neu initialisiert. Beim Download der Anwendung mit EcoStruxure Machine Expert behalten die Retain-Persistent-Variablen jedoch ihren jeweiligen Wert. Wenn die heruntergeladene Anwendung dieselben Retain-Persistent-Variablen wie die vorhandene Anwendung enthält, behalten die vorhandenen Retain-Variablen in beiden Fällen ihren Wert. |
HINWEIS: Die ersten 1000 %MW sind automatisch vom Typ "Retain" und "Persistent", wenn mit ihnen keine Variable verknüpft ist. Ihre Werte bleiben nach einem Neustart/warmen Reset/kalten Reset erhalten. Die übrigen %MW werden als VAR verwaltet.
Beispiel: Ihr Programm enthält Folgendes:
VAR myVariable AT %MW0 : WORD; END_VAR
%MW0 verhält sich wie myVariable (wird nicht beibehalten und ist nicht persistent).
Hinzufügen von Retain-Persistent-Variablen
Retain-Persistent-Symbole (VAR GLOBAL PERSISTENT RETAIN) werden im Fenster PersistentVars deklariert:
Schritt |
Aktion |
---|---|
1 |
Wählen Sie in der Anwendungsbaumstruktur den Knoten Anwendung aus. |
2 |
Klicken Sie auf die rechte Maustaste. |
3 |
Wählen Sie Objekte hinzufügen > Persistente Variablen aus. |
4 |
Klicken Sie auf Hinzufügen. Ergebnis:Das Fenster PersistentVars wird angezeigt. |
Retain- und Persistent-Variablen: Auswirkungen auf die Leistung
Retain- oder Retain-Persistent-Variablen befinden sich in einem dafür vorgesehenen nicht flüchtigen Speicher. Jedes Mal, wenn bei der POU-Ausführung (Programming Organization Unit) auf diese Variablen zugegriffen wird, erfolgt der Zugriff auf den nicht flüchtigen Speicher. Die Zugriffszeit dieser Variablen ist langsamer als die Zugriffszeit regulärer Variablen. Dies kann die Leistung beeinträchtigen. Dies ist eine wichtige Tatsache, die beim Schreiben leistungsabhängiger POUs zu berücksichtigen ist..