Vielleicht hilft jemand das auch weiter. Ich habe einige Zeit gebraucht, bis ich einen Überblick bekommen habe. Bin kein Experte und mit Infosys von Beckhoff wurde ich noch viel schlauer….
Sehr guter Ansatz:
http://www.sps-forum.de/beckhoff-codesys-iec61131/53344-beckhoff-retain-wirklich-so-umstaendlich-2.html„
1.Was sind die Unterschiede zwischen persistenten und retain Variablen?
1.1
Retain:- Retain Variablen werden durch das Schlüsselwort RETAIN gekennzeichnet.
- Retain Variablen liegen in einem speziellen Speichersegment
- Beim Shutdown von TwinCAT wird der Inhalt des Speichersegments binäre 1:1 auf die
Festplatte geschrieben (TwinCAT\Boot\TCPLC_R_x.wbp, x=1..4 Nummer LZS)
Vorteil- Laden und Speichern geht sehr schnell.
Nachteile- Wenn Bootprojekt und Retain-Datei nicht 100% zusammenpassen, dann kann das
TwinCAT System nicht starten!
Hinweis:
!! Wegen der Nachteile wird die Verwendung nicht empfohlen!!1.2 Persistent:-Persistente Variablen werden durch das Schlüsselwort PERSISTENT gekennzeichnet.
- Persistente Variablen liegen an ganz unterschiedlichen Stellen im Speicher.
- Beim Shutdown von TwinCAT werden die markierten Variablen gesammelt und in eine
strukturierte binäre Datei geschrieben (TwinCAT\Boot\TCPLC_T_x.wbp, x=1..4). Name
und Pfad, Größe und Wert der Variablen werden gespeichert .
Vorteil
- Beim Aufstarten werden alle Variablen geprüft. Wenn die Variablen entsprechende
Pendants im Projekt haben werden die Werte geladen. Wenn nicht, dann nicht.
Nachteile
- Laden und Speichern dauert etwas länger.
- Die persistent Variablendatei ist etwas größer.
Hinweis:
-Soll eine Variable einer Instanz eines FB oder einer Struktur gespeichert werden,
so wird die gesamte Struktur gespeichert.
- Bei XP/Win7 embedded : Der Ordner für die remanenten Daten darf nicht
von einem EWF oder FBWF geschützt sein!
„
Einen weiteren Vorteil sehe ich noch, dass ich aus dem SPS Programm die Persistente Variablen Speichern kann.
Nun stellt sich mir die Frage: Was ist der Grund, warum bei den Oscat Libs Retain benutzt wurde?
Danke