Persistente Variablen

Ratoncito

Level-1
Beiträge
163
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

zu Beginn meiner Programmiererei hatte ich Probleme den Zustand von Funktionsbausteinen Typ SR so zu speichern, dass sie nach einem Neustart z.Bsp. nach Stromausfall den letzten Zustand behalten.

Die Lösung bestand darin, die FBs in einer separaten Liste zu speichern, in der der Gültigkeitsbereich VAR_GLOBAL_PERSISTENT eingestellt ist. Das funktioniert.

Da die Variablen nur im FB benutzt werden in dem sie erstellt werden, möchte ich die Variablen direkt im FB persistent deklarieren.

Frage:
Gibt es da irgendwelche Unterschiede ob sie global deklariert sind oder nicht?
Muss ich noch etwas beachten?

Danke für Eure Hilfe
 
Moin,
Variablen innerhalb eines FB sind nur Retain, wenn auch der FB Retain ist. Nur die interne Variable Retain deklarieren und den FB lokal reicht nicht. Gilt für CS2.3 und e!C.
Variablen, die Du im FB als Retain deklarierst müssen in e!C trotzdem in die die separate Retain-Liste (siehe rechte Maus, Referezierung aktualisieren (oder so ähnlich)).
Einfacher ist aber sicher, wenn du dir einen eigenen FB schreibst bei dem die speichernde Variable via IN_OUT nach außengeführt ist, dann brauchst Du nur die Variable Retain speichern und nicht den ganzen FB, und somit speicherschonender und übersichtlicher ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

die benötigten Variablen stehen zur Zeit in einem eigenen FB.

Mir ist nur aufgefallen, dass man Variablen in jedem FB mit dem Flag Persistent bzw. Retain versehen kann. Funktioniert dann aber wohl nicht. Wo ist eigentlich der Unterschied zwischen Retain und Persistent?

Ist eigentlich auch egal, denn ich lasse alles so wie es jetzt ist (separate Liste und Persistent)


Danke, noch ein schönes Wochenende und bleibt "negativ" ;-)
 
Wenn Du die Werte spannungsausfallsicher haben willst, sollte dir der Unterschied nicht egal sein. Persistent bedeutet, dass die Variablen bei einem Download nich neu initialisiert werden und retain, dass sie spannungsausfallsicher sind.
 
Zurück
Oben