Werte von Variablen auslesen und im Quellcode sichern

CST-LS

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich bin ein Neueinsteiger in TwinCAT,

es geht um Regalbediengeräte. Die einzelnen Positionen werden bei der Inbetriebnahme in der SPS gespeichert (Wert des Absolutwertgebers) damit das Fahrzeug die Positionen später selbstständig finden kann.

Dies muss in Retain Variablen geschehen, damit sie bei Spannungsausfall usw. nicht gelöscht werden. Stimmts?

Kann ich die Werte der Variablen auslesen und damit dann die entsprechenden Variablen in meinem Quellcode initialisieren? Für den Fall, dass die Steuerung mal getauscht werden muss o.ä.
Bei Step7 geht das. Da kann man sich den DB mit den Werten vom AG kopieren.

Vielen Dank
 
Hallo,

wenn sich die werte nicht ändern musst du sie nicht als retain speichern.

Du weist den Variablen einfach einen Fest wert zu.

z.B.: Regalfach1:=100;

gruß bonatus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja, ganz so einfach ist das nicht.
Bei der Inbetriebnahme faährt man die Position manuell an und drückt dann einen Knopf. Mit diesem Knopfdruck werden sämtliche Positionswerte in der Steuerung gespeichert. x-Wert, y-Wert (vom Absolutwertgeber), Positionseigenschaften usw. usw.
Das macht in der Regel auch kein Programmierer...

Und daher brauche ich Retain Variablen.
Diese will ich anschließend auslesen und offline in meinem Quellcode speichern. Als Backup für den Fall der Fälle...
 
Die Übergabe direkt in den Offline Quellcode ist meines Erachtens nicht möglich.

Du kannst dir deine Werte in eine Parameterdatei schreiben und bei bedarf auslesen.
 
Hallo CST-LS,

Ich nehme mal an, es handelt sich um ein CXxxx?

Als Stichworte für die Suche:
NOVRAM ------------------------------Nachteil: belastet sehr die CPU
RETAIN / PERSITENT ----------------Nachteil: USV notwendig, oder manuell bei Änderung triggern
-------- --------------------------------> FB_WritePersistentData

Gruß
Chräshe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke retain oder persistent sollte da ausreichen. Bei retain gibts halt nur Probleme wenn Twincat mal wieder der Meinung ist, selbst bei kleinen Änderungen am Programm, das ganze Projekt resetten zu müssen. Dann sind Retain-daten nähmlich auch weg.
Wie sieht es denn mit der Speichergröße aus? Bei meiner kleinen BX8000 ist der Retainspeicher nur 2 kB groß.
 
Die Variablen müssen als RETAIN und! PERSISTENT deklariert werden.
RETAIN verhindert das die Werte verlorengehen wenn die SPS abgeschaltet wird.
PERSISTENT verhindert das die Werte verlorengehen wenn das Projekt neu übertragen wird.
So steht es jedenfalls im Handbuch.

Wie ich die Werte der Variablen in meinen Quellcode bekomme könnt ihr mir auch nicht sagen? Offenbar gibt es keine elegante bekannte Lösung für mein Problem.
Wie würded ihr am ehsten geteachte Variablen sichern um eine "Zweit-Inbetriebnahme" nach einem SPS-Tausch etc. zu erleichtern?
Man könnte ja auch einfach die Ordner von der SPS kopieren und in die neue Steuerung übertragen. Nachteil ist halt, dass man da nicht reingucken kann.
 
Zurück
Oben