TwinCat-PLC-HMI Parameter speichern

tisler

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich bin an der Programmierung einer kleinen Maschine.
Nun werden einige Maschinenparameter benötigt die ich übers HMI in die Variablen speichere. Damit sie beim Neustart erhalten bleiben habe ich Sie
als Remanent Persistent deklariert.
Das funktioniert so weit.
Nun ist mir das zu unsicher.
Wie kann ich diese Werte in eine Datei (txt oder xls) schreiben und bei Bedarf wieder zurückschreiben?

Alle meine Versuche mit Umwandeln in String und mit FB_FileWrite haben bis jetzt fehlgeschlagen. Ich bekomme diese Werte zwar in die Datei aber nicht mehr zurück.

Gibt es da eine Einfachere Variante dass die Variablennamen und die Werte in einer Datei gespeichert werden können.

Vielen Dank bereits jetz für eure Hilfe
 
Hallo tisler!
Vorab, ich bin zwar kein Profi aber falls ich dich richtig verstanden habe, hier mal mein Vorschlag:
Ich habe auf einem Beckhoff-CX eine Parametersicherung wie folgt realisiert:

1.
Speicherbereich für meine Parameter reserviert, wohin ich diese absolut adressiere.
zB.:
ParaData AT %MB0 :ARRAY [0..999] OF BYTE; (* Reservierter Parameter-Bereich !! ausbaufähig !! *)
Data0001 AT %MB0 : BYTE := 111; (* Beispiel Parameter-01 *)
Data0002 AT %MB1 : INT := 1010; (* Beispiel Parameter-02 *)
Data0003 AT %MB3 : DINT := 9974266; (* Beispiel Parameter-03 *)
ect.

2.
Dieses ARRAY habe ich mit den (dir bekannten!?) FB's FB_FileOpen,FB_FileRead,FB_FileWrite und FB_FileClose als *.bin Datei (definiert über nMode) von/auf die CF-Card vom CX gelesen bzw. geschrieben.

Damit brauche ich nur darauf zu achten, meine Parameter in das Array richtig einzubetten.
Nachteil ist halt das die *.bin-Datei nicht grade übersichtlich ist, was aber meiner Meinung nach egal ist, da es ja hier nur darum geht Daten extern zu sichern bzw. wieder zu laden!
Falls du Interesse hast kann ich dir event. ein Bsp.Projekt zukommen lassen.

Gruß, Christian!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Christian,

Das ist in etwa das was ich versucht habe.
Ich habe es aber als String in eine .txt abgespeichert.

Da habe ich immer noch irgendwelche 0.00. drin stehen obwohl sie
String 100% nicht drinstehen.

Wäre nett wenn du mir ein kurzes Beispiel zuschicken könntest,
vielleicht komme ich dann darauf was ich falsch gemacht habe.

Gruss tisler
 
Hi tisler,

anbei mal mein *.bin Projekt-Bspl.
Vielleicht hilfts dir ja.

Mit txt-File schreiben hab ich mal beschäftigt, um eine Art Protokoll zu erstellen (mittels FB's FB_FileOpen,FB_FilePuts und FB_FileClose), wobei ich immer String für String in die gleiche Datei rausgeschrieben habe.
Ob das die schlauste Art war, lasse ich mal dahingestellt -war halt im Ramen meiner Möglichkeiten :ROFLMAO:

Wie man eine txt wieder importiert, damit hab ich mich leider noch nie abgemüht.

Gruß
Christian
 

Anhänge

  • BackupRestore.zip
    890,7 KB · Aufrufe: 93
Dankeschön,
habs mal so ausprobiert, aber beim einlesen hats doch nicht so funktioniert wie erwünscht.
Habe mich nun auf die einfache Variante entschieden, ich sichere einfach die Datei wo die Retain Variablen gesichert sind. Ist zwar nicht lesbar, aber sichern und zurückspielen geht. ;-)
 
Zurück
Oben