Step 7 Automatisches Backup Aktualdaten

StGo

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

ich hatte an einer CPU317TF in den letzten Monaten 2 mal einen Verlust der Aktualdaten (aktuelle CPU/aktuelle Firmware). Das sind bei meinem Kunden mühsam eingepflegte globale und formatspezifische Parameter. Mein Kunde wünscht sich jetzt am besten eine automatisierte Möglichkeit, die Aktualdaten der betreffenden 4 DB (Gesamt ca. 32kB) zu sichern und bei Bedarf wieder in die SPS zu laden. Eine Sicherung mit Step7 ist keine Option.
Gibt es ein Stück PC-Software fertig, dass so etwas macht?

Danke für Eure Unterstützung + Gruß
StGo
 
Wenn es nur um den Erhalt von Aktualdaten (z.B. für den CPU-Tausch nach Defekt) geht wäre es recht simpel auf die MMC zu sichern. Sieh dir dazu mal SFC184 an.

F1 schrieb:
Schreiben in einen Datenbaustein im Ladespeicher mit der SFC 84 "WRIT_DBL"

Mit der SFC 84 "WRIT_DBL" (write data block in load memory) übertragen Sie den Inhalt eines DB oder eines DB-Bereichs aus dem Arbeitsspeicher in einen DB oder einen DB-Bereich im Ladespeicher (Micro Memory Card). Der Quell-DB muß ablaufrelevant sein, d. h. er darf nicht mit dem Attribut UNLINKED erzeugt worden sein. Er darf jedoch per SFC 22 "CREAT_DB" erzeugt worden sein.
Wenn du nur sichern willst gibst du dem SFC einfach an SRCBLK und auch an DSTBLK den gleichen ANY mit dem gleichen DB.
Dann werden deine Aktualdaten vom DB im Arbeitsspeicher in den selben DB im Ladespeicher gesichert.
Beim nächsten Urlöschen oder Ziehen/Stecken der MMC werden dann die gesicherten Werte als Aktualwerte in den Arbeitsspeicher übernommen.
Gibt auch nen SFC zum rückladen.

Achtung: Der SFC läuft über mehrere Zyklen. Heißt also das du bei veränderlichen Daten eventuell Inkonsistenzen bekommst.
Es empfiehlt sich von den Daten vorher mittels UBLKMOV ein Abbild zu erstellen und dieses dann zu sichern.

Zu "Sichern mit PC-Programm" fällt mir das "Siemens Automation Tool" ein. Bin jetzt aber nicht 100pro ob dieses das kann, glaub aber schon. Aber halt nicht automatisch.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke, RONIN

Die Sicherung per SFC programmiere ich gerade, ich befürchte nur, dass dies unserem schwer verärgerten Kunden nicht genug ist.

Gruß
StGo
 
Man könnte z.B. Bei Wertänderung die Parameter auf die MMC schreiben und bei Bedarf zurück laden. Da gibt es eigene SFCs dafür. SFC 83 und 84 müssten das können. Wenn die SPS per Ethernet an einem PC hängt könnte man per libnodave die Aktualdaten rausholen und einspielen. Da müsste man aber vorher selbst ein Tool schreiben.Oder du schaust mal ob PLCGrabber das vlt. kann. Ist ein Freeware Tool http://asw.gmxhome.de/plcgrab.htm
Oder du googelst mal ein bisschen. Ich bin sicher das haben schon mehrere benötigt.. Wir haben selbst 2 Tools dafür aber die darf ich natürlich nicht weitergeben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast Du an der Anlage ein HMI/Panel? Ich würde sagen, Dein Problem ist ein typisches Anwendungsfeld für Rezepturen - die lassen sich im HMI auf Memorycards und andere Speicherorte speichern, relativ gut verwalten und automatisieren läßt sich das speichern auch.

Harald
 
Danke für Eure Rückmledungen.

@Gerhard Bäurle
Die mbsecbox (die überraschend preiswert ist) wäre mein Mittel der Wahl. Leider unterstützt sie das selektive Zurückspeichern ausgewählter DB nicht.

@PN/DP
ich hasse Rezepturen (schon seit Protool-Zeiten).
HMI = Siemens ComfortPanel: Per Skript sichern wir die Daten in ein lesbares CSV-File auf einem im Panel gesteckten USB-Stick. Auf das automatische Zurückspeichern per Skript haben wir aus Sicherheitsgründen bewusst verzichtet.
 
HMI = Siemens ComfortPanel: Per Skript sichern wir die Daten in ein lesbares CSV-File auf einem im Panel gesteckten USB-Stick.
Und warum brauchst Du da jetzt noch ein externes Tool zum sichern der Aktualdaten? Du brauchst doch nur Eure vorhandene Sicherungsroutine in der gewünschten automatischen Weise antriggern (bzw. noch ein Skript schreiben, was die kompletten 4 DB in eine csv-Datei schreibt. Achtung: die DB-Variablen mit der Systemfunktion GetDataRecordTagsFromPLC ins HMI lesen).

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und warum brauchst Du da jetzt noch ein externes Tool zum sichern der Aktualdaten? Du brauchst doch nur Eure vorhandene Sicherungsroutine in der gewünschten automatischen Weise antriggern (bzw. noch ein Skript schreiben, was die kompletten 4 DB in eine csv-Datei schreibt. Achtung: die DB-Variablen mit der Systemfunktion GetDataRecordTagsFromPLC ins HMI lesen).

Harald

Die Skripte mit dem automatischen Trigger und die CSV über alle Parameter gibt es schon. Dennoch muss man im Aktualdatenverlustfall die vielen Daten am HMI wieder eingeben.

Gruß
StGo
 
Dennoch muss man im Aktualdatenverlustfall die vielen Daten am HMI wieder eingeben.
Na, dann schreibe noch ein Skript fürs zurückschreiben von CSV in die SPS.

(Daten sichern und zurückschreiben gibt es auch schon fertig, mit Auswahl welche Sicherung zurückgeschrieben werden soll - das nennt sich Rezepturverwaltung ;) ich kann aber verstehen, daß man die Siemens-Rezepturverwaltung nicht mag. Für nur ein paar Datenpunkte mag die ja noch gehen, so auf die schnelle. Für größere Datenbestände schreibe ich mir allerdings eigene Skripte.)

Harald
 
Na, dann schreibe noch ein Skript fürs zurückschreiben von CSV in die SPS.

(Daten sichern und zurückschreiben gibt es auch schon fertig, mit Auswahl welche Sicherung zurückgeschrieben werden soll - das nennt sich Rezepturverwaltung ;) ich kann aber verstehen, daß man die Siemens-Rezepturverwaltung nicht mag. Für nur ein paar Datenpunkte mag die ja noch gehen, so auf die schnelle. Für größere Datenbestände schreibe ich mir allerdings eigene Skripte.)

Harald

Mir fehlt ein bisschen das Vertauen in die Skripterei um damit ernsthafte Parameter erst zu sichern und dann wieder in die SPS zurückzuschreiben.

Gruß
StGo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber du traust dem Bediener / Programmierer mehr, dass der keinen Fehler eintippt, als einem Programm, das ausgibig geteset werden kann?
Warum soll die Rezeptverwaltung nicht funktionieren?
Und was mir so einfällt: Warum verliert deine PLC die Daten?
Und dann nur die aus den Anwederdaten?
Wie werden die Daten generiert und wo?
Hast du nicht eher ein Problem mit der Programmierung?


bike
 
@bike
Wenn der Bediener einen Parameter falsch eingibt, ist er verantwortlich, nicht meine automatische Routine.
Die Rezeptverwaltung funktioniert bestimmt, wir verwenden sie aber nicht.
Meine Anwenderdaten sind am HMI manuell in DBs eingegebene Werte, die im SPS-Programm nur gelesen werden. Ich weiß nicht, warum meine SPS diese für die S7-300 eigentlich remanenten Werte vergisst. Wenn ich mir jedoch die Hinweise zu den Firmwareupdates für die S7-300 CPU so anschaue, werden bis heute noch Anlaufprobleme mit Aktualdatenverlust korrigiert.

Gruß
StGo
 
Ich weiß nicht, warum meine SPS diese für die S7-300 eigentlich remanenten Werte vergisst.
Schau in den Diagnosepuffer der CPU, da steht drin, warum die CPU die Aktualdaten verloren hat. Mit den Fehlereinträgen des Diagnosepuffers rufst Du den Siemens-Support an. Die müssten Dir dann sagen können, ob es ein bereits bekanntes Qualitätsproblem ist und ob ggf. ein Firmwareupdate existiert, oder ob vielleicht die MMC oder die CPU einen Hardware-Defekt hat. Vielleicht besteht auch noch Gewährleistung - dann lass' Dir eine Austausch-CPU liefern.

Wie oft ändern sich die Einstellwerte bzw. Daten in den 4 DB?
Hast Du den DB-Variablen schon im offline-Projekt vernünftige Aktualdaten gegeben oder mit den Anfangswerten initialisiert oder die Aktualdaten ins Projekt zurückgeladen und nochmal in die CPU geladen?
Mit welchem Step7 programmierst Du Deine CPU 317TF ?


Mir fehlt ein bisschen das Vertauen in die Skripterei um damit ernsthafte Parameter erst zu sichern und dann wieder in die SPS zurückzuschreiben.
Wozu sicherst Du dann überhaupt etwas, wenn Du der Speicherei grundsätzlich nicht traust?


Wenn der Bediener einen Parameter falsch eingibt, ist er verantwortlich, nicht meine automatische Routine.
Du könntest dem Bediener das Parameter eingeben aber sehr erleichtern, ohne gleich Verantwortung für Dein Produkt übernehmen zu müssen ;), wenn die Routine die Werte komplett zurückschreibt und der Bediener die Parameter nur noch kontrollieren muß statt mühsam eintippen.

Harald
 
Zurück
Oben