TIA Datenlogger

Moin zusammen,

Wir sollen einen Datenlogger Programmieren, hierzu soll in einem Fehlerfall (z.B.: Sicherung hat ausgelöst) alles an Zuständen (Position, Last, Endschalter, ....) gespeichert werden, die zum Zeitpunkt des Fehlers anstanden.
Gespeichert werden soll dieses in eine .csv Datei auf der SPS, Speicherkarte oder HMI
Die .csv Datei soll dann mittels USB Stick ausgelesen werden können. Der USB Stick soll dazu in das HMI gesteckt werden und mittels Button im HMI wird die .csv Datei dann auf den Stick geschrieben.
CPU -> 6ES7 512-1SM03-0AB0
HMI -> 6AG1123-2MB03-2AX0

Fragen:
- Gibt es einen fertigen Baustein um die Daten bei einem Impuls (anstehendem Fehler) zu Loggen? Oder wie würdet ihr das realisieren?
- Wie und wo kann man die Daten abspeichern?
- Wie kann man es realisieren, das die Datei erst beim betätigen des Buttons auf dem HMI auf den USB Stick geschrieben werden?

Vielleicht hat eine/r von euch ja schon einmal so etwas gemacht.
Ps. Wir Programmieren in FUP

Beste Grüße
Hagen
Also ich löse sowas mittels ProgramAlarm und Begleitwerten. Damit kann ich die Werte zyklusgenau zur Meldung miterfassen.
Die Ausgabe geht dann mittels Get-Alarm, der die Meldeereignisse ausliest, in einen Textstring zusammenbaut und dann per TCP-Verbindung auf einen Logger sendet.
Als Logger eignen sich Syslog-Server, aber z.B. auch Linux-Devices die auf einem Netzwerkport Daten entgegennehmen und dann auf einen Stick schreiben. Wir vaben sowas bei unserer Embedded Linux Software am Laufen, in die Firmware der WLAN-Clients von Modas hab ich mir das auch mal einbauen lassen.
Zum lokalen Loggen und dann per USB rausschreiben, sodass die Daten auch noch einigermaßen aussagekräftig sind, sind die S7 Hausmittel imho ansonsten nicht geeignet.
Ein zusätzlich IPC hinstellen (die gibts um < 1k EUR) steht wohl kostenmäßig in keiner Relation zu dem Aufwand, den das Panel tauschen und tagelanges Basteln nach sich ziehen, es sei denn du kostest nichts.

Wenns drum geht Fehlermeldungen mit Logdaten zu begleiten musst du dir auch drüber Gedanken machen ob Werte zum Fehlerzeitpunkt überhaupt aussagekräftig sind und dich weiter bringen, oder ob du nicht Echtzeitdaten aus den letzten 5 Sekunden vor dem Auftreten des Fehlers brauchst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also wenn ich das alles so lese, gibt es viele Ideen aber umgesetzt hat es anscheinend noch niemand.
Aber ich schließe daraus, das ein Industrie PC doch die sicherste Variante wäre und dann auch relativ unabhängig zu CPU und HMI.
 
Also ich löse sowas mittels ProgramAlarm und Begleitwerten. Damit kann ich die Werte zyklusgenau zur Meldung miterfassen.
Die Ausgabe geht dann mittels Get-Alarm, der die Meldeereignisse ausliest, in einen Textstring zusammenbaut und dann per TCP-Verbindung auf einen Logger sendet.
Als Logger eignen sich Syslog-Server, aber z.B. auch Linux-Devices die auf einem Netzwerkport Daten entgegennehmen und dann auf einen Stick schreiben. Wir vaben sowas bei unserer Embedded Linux Software am Laufen, in die Firmware der WLAN-Clients von Modas hab ich mir das auch mal einbauen lassen.
Zum lokalen Loggen und dann per USB rausschreiben, sodass die Daten auch noch einigermaßen aussagekräftig sind, sind die S7 Hausmittel imho ansonsten nicht geeignet.
Ein zusätzlich IPC hinstellen (die gibts um < 1k EUR) steht wohl kostenmäßig in keiner Relation zu dem Aufwand, den das Panel tauschen und tagelanges Basteln nach sich ziehen, es sei denn du kostest nichts.

Wenns drum geht Fehlermeldungen mit Logdaten zu begleiten musst du dir auch drüber Gedanken machen ob Werte zum Fehlerzeitpunkt überhaupt aussagekräftig sind und dich weiter bringen, oder ob du nicht Echtzeitdaten aus den letzten 5 Sekunden vor dem Auftreten des Fehlers brauchst.
Kannst du mir da vielleicht nähere Infos geben? Das mit dem IPC lässt sich ja anscheinend nicht vermeiden
 
Also wenn ich das alles so lese, gibt es viele Ideen aber umgesetzt hat es anscheinend noch niemand.
Aber ich schließe daraus, das ein Industrie PC doch die sicherste Variante wäre und dann auch relativ unabhängig zu CPU und HMI.
Wenn du jetzt bei einem IPC bist dann geht doch von der PC-Runtime deiner Visu wieder alles ...
Du kannst alles an Scripten machen (wozu wir ja viele Beispiele haben).
Die Daten würde ich in der SPS einfangen (also zwischenpuffern) und mit der Visu dann abholen. Dieser Vorschlag wurde aber auch schon gemacht.
Weitere Experimente würde ich da nicht machen ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ProgramAlarm mit den „passenden“ Begleitwerten halte ich prinzipiell schon für einen guten Ansatz.

Im aktuellen Fall habe ich jedoch den Eindruck, dass überhaupt nicht bekannt ist, was gefunden werden soll. Dann ist ein permanentes Mitschreiben der Daten die praktikablere Lösung.

Ein fast beliebiger PC mit der Software ACCON-EasyLog könnte das einfach ohne Aufwand bewerkstelligen.
 
Daten von der CPU aktiv zu einem Datenlogger-PC senden hat den Vorteil, dass man sicher ist dass wirklich die gewünschten Werte am PC ankommen. Wenn man mit der HMI WinCC Runtime Daten aus der CPU holen will, dann muss man extra dafür sorgen, dass die Werte garantiert im HMI ankommen - das geht nur per Handshake, z.B. als Rezeptur und die Systemfunktion GetDataRecordTagsFromPLC. Doch das benötigt Skripte und viel Programmier-Aufwand. Wenn man sowieso einen kleinen PC in der Anlage hat, dann kann man auch fertige Third-Party-Tools verwenden (wie z.B. das genannte ACCON-EasyLog), die weniger Arbeit machen und schneller sind.
 
Zurück
Oben