Frage:
Wie können Variablen vom Typ PERSISTENT angelegt werden?
Antwort:
Die Servo PLC (ab V6.3) und das ECS Achsmodul (ab V6.5) besitzen einen Speicherbereich PERSISTENT (siehe dazu Beitrag
Implementierung der Speicherklasse VAR Persistent; Dok-ID 20034021). Es handelt sich dabei um einen netzausfallsicheren Speicherbereich, der im Gegensatz zum Speicherbereich RETAIN auch beim Download eines Projekts nicht initialisiert wird. Der Speicherbereich PERSISTENT kann nur im Online-Modus mit dem Menüpunkt
Online>Reset (Ursprung) gelöscht werden.
RETAIN-Variablen müssen zwischen den Schlüsselwörtern
VAR RETAIN und
END_VAR deklariert werden. Beispiel:
VAR RETAIN
dnVarRetain : DINT;
END_VAR
Der Zugriff auf den Persistent-Speicher erfolgt über den Systembaustein
VAR_Persistent. Der Systembaustein ist dazu in die
Steuerungskonfiguration (Registerkarte
Ressourcen) anzuhängen (Menübefehl
Einfügen>Unterelement anhängen,
VAR_Persistent auswählen).
Als persistente Variable kann dann entweder eine, der im Systembaustein
VAR_Persistent enthaltenen Systemvariablen genutzt werden oder es kann eine Variable mit der absoluten Adresse dieses Systembausteins deklariert werden. Beispiel:
VAR
dnVarPersistent AT %QD171.0 : DINT;
END_VAR
Hinweis:
Bei der Deklaration von Variablen mit absoluter Adresse ist darauf zu achten, dass nicht mehrere Variablen ungewollt den gleichen absoluten Speicherbereich verwenden.