Werte eines Array dauerhaft speichern

Impact84

Level-1
Beiträge
8
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich schreibe gerade ein Programm, was auf CX9010 laufen soll. Im Programm soll ich ein ARRAY mit der Daten (Einstellungen für Servoregler) erstellen und diese Daten mussen dauerhaft gespeichert werden d.h. nach Ausschalten der SPS mussen die Daten in Array beibehalten werden. Wie speicherm man die Werte remanent ?

Hier ist die Quellcode:

TYPE SETTINGS :
STRUCT
SACHNUMMER :USINT;
ACCELERATION :UDINT;
DECELERATION :UDINT;
SPEED :DINT;
POSITION :DINT;
BESCHREIBUNG:STRING;
END_STRUCT
END_TYPE



SERVOREGLER_EINSTELLUNGEN:ARRAY[1..20] OF SETTINGS;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

Sollte funktionieren wenn du das Array als RETAIN PERSITANT deklarierst.
Aber nur, wenn man Windows herunterfährt. Meistens wird so ein CX jedoch einfach durch Ausschalten des Hauptschalters gestoppt, und dann funktioniert RETAIN PERSISTANT nicht.
Ich würde die Daten im NOVRAM speichern, der ist beim CX9010 mit 128 kByte ja recht grosszügig bemessen. Zum Lesen/Schreiben eignen sich die FB's ADSREAD und ADSWRITE aus der
TcSystem.lib.
 
RETAIN PERSISTENT?
Bitte nicht.......

Wenn schon, dann PERSISTENT. Keine Kombination aus Beidem. Das führt erfahrungsgemäß nur zu Problemen.
Darüber hinaus gibt es einen Baustein FB_WritePersistentData den man z.B. bei Änderung der remanten Daten (Paramterwerte für einen der Servo-Regler) anstoßen kann. Dait umgehet man zumindest das "Ausschaltproblem"
 
Zurück
Oben