Persistente Variablen deklarieren

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.

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/200801805/0/
Kontaktformular