Skip to main content

Retain-Variablen mit CODESYS Control SL

Standardverhalten

Das Standardverhalten von Retain-Variablen der CODESYS Control SL Produkte ist das Schreiben von Retain-Variablen als Datei beim Herunterfahren der Steuerung.

Um Retain-Variablen auch bei Stromausfall sicher speichern zu können, muss ein geregeltes Herunterfahren des Laufzeitsystems gewährleistet sein. Verwenden Sie beispielsweise eine unterbrechungsfreie Stromversorgung (USV).

Zusätzlich können die Retain-Variablen aktiv über die Applikation geschrieben und gelesen werden.

Beispiel 3. Beispiel
pApp : POINTER TO CmpApp.APPLICATION;
result : DINT;
pApp := CmpApp.AppFindApplicationByName('Application', ADR(result));

//Store values of retain and persistent variables to file
CmpApp.AppStoreRetainsInFile(pApp, '/your/retain/file.ret');

//Get values of retain and persistent variables from file
CmpApp.AppRestoreRetainsFromFile(pApp, '/your/retain/file.ret');


Retain-Variablen im Shared Memory

Alternativ kann ein Mechanismus eingeschalten werden, der Retain-Variablen zyklisch in einen Shared Memory schreibt. Für weitere Informationen siehe: Retain-Daten im Shared Memory

CmpRetainDoubleBufferedInFile

RetainDoubleBufferedInFile stellt einen weiteren Mechanismus dar, der für das Schreiben von Retain-Variablen verwendet werden kann. Wenn dieser Mechanismus aktiv ist, werden Retain- und Persistent-Variablen zyklisch auf den Datenträger geschrieben. Dabei wird immer wechselnd in zwei verschiedene Dateien geschrieben.

Grundsätzlich erfolgt die Aktivierung der RetainDoubleBufferedInFile über SHM durch eine Einstellungen in /etc/CODESYSControl_User.cfg auf dem Zielgerät. Ersetzen Sie in dieser Datei den Eintrag Component.X=CmpRetain unter der Sektion [ComponentManager] mit Component.X=CmpRetainDoubleBufferedInFile.

Beispiel 4. Beispiel
[ComponentManager]
Component.7=CmpRetainDoubleBufferedInFile


Für weiter Informationen zum Thema Retain-Variablen siehe Datenpersistenz.