TIA Datenlogger

S7Anfänger

Level-2
Beiträge
301
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Das ist so wie ich sehe ein Basic HMI.
Man könnte es (falls möglich) gegen ein Comfort HMI austauschen und mithilfe eines VB-Skript die Daten speichern.

Für alle anderen Lösungen die mir einfallen (FTP, eingenes PC-Programm usw.) wird ein seperater PC benötigt.
 
Aufgabe: Auf Ereigniss (Störung) muss den gesammte E/A Prozessabbild gelogt werden, und diese Log muss man aus der Steuerung kopieren können ohne TIA. Korrekt ?

Ich glaube nicht dass es möglich ist mit ein Basic Panel.
Ein Problem wenn das Loggen von ein HMI gemacht wird, ist die Verzögerung zwischen die Ereigniss und das Lesen von die Daten, egal ob Basic oder Comfort Panel. Das lesen wird einige ms dauern, und bedeutet man bekommt nicht die genaue Zusammenhang von Fehlerereigniss und geloggte Daten.

Vielleicht auf die S7 CPU loggen und mittels Webserver kopieren ?
Auf Ereigniss, die gewünschte Daten in eine DataLog kopieren. Die DataLog kann man aus der Webserver kopieren.
Ein potentiellen Problem wäre den Anzahl Schreibzyklen auf das Flashkarte. Vielleicht kann man das kontern mit eine Zähler, wenn den Zählerwert zu hoch ist einfach das Loggen sperren.
 
Zunächst würde ich u.a. wegen der Datenkonsistenz einen SnapShot mit den Prozesswerten auf der SPS in einem DB anlegen. Per Button diesen Speicherbereich auf einen zweiten, vorher initialisierten Speicherbereich kopieren, um eine Wertänderung bei Tastendruck erkennen zu können. Diesen Bereich dann am KTP1200 bei Wertänderung archivieren. Archivieren kann man auf dem Basic-Panel nur auf einem USB-Medium und nur als Textdatei.
 

Anhänge

Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist so wie ich sehe ein Basic HMI.
Man könnte es (falls möglich) gegen ein Comfort HMI austauschen und mithilfe eines VB-Skript die Daten speichern.

Für alle anderen Lösungen die mir einfallen (FTP, eingenes PC-Programm usw.) wird ein seperater PC benötigt.
Das HMI lässt sich noch tauschen. das wäre nicht das Problem.
Einen separaten PC wird es nicht geben. es ist auch nur eine "Insel-Anlage" hat also keinerlei Anschluss an ein Netzwerk , Internet oder sonstiges.
Welches HMI würdest du denn empfehlen, mit dem sich die Anforderungen erfüllen lassen?
 
Aufgabe: Auf Ereigniss (Störung) muss den gesammte E/A Prozessabbild gelogt werden, und diese Log muss man aus der Steuerung kopieren können ohne TIA. Korrekt ?
So ist es.
Ich glaube nicht dass es möglich ist mit ein Basic Panel.
Ein Problem wenn das Loggen von ein HMI gemacht wird, ist die Verzögerung zwischen die Ereigniss und das Lesen von die Daten, egal ob Basic oder Comfort Panel. Das lesen wird einige ms dauern, und bedeutet man bekommt nicht die genaue Zusammenhang von Fehlerereigniss und geloggte Daten.
Vielleicht auf die S7 CPU loggen und mittels Webserver kopieren ?
Auf Ereigniss, die gewünschte Daten in eine DataLog kopieren. Die DataLog kann man aus der Webserver kopieren.
Ein potentiellen Problem wäre den Anzahl Schreibzyklen auf das Flashkarte. Vielleicht kann man das kontern mit eine Zähler, wenn den Zählerwert zu hoch ist einfach das Loggen sperren.
Wo die Daten nachher geloggt werden ist egal. Wichtig wäre nur, das man Sie mittels USB Stick und einem Schreibauftrag per Taste auf dem HMI auf den USB Stick geschrieben bekommt, um diese dann an irgendeinem PC auswerten kann.
Das ganze dann natürlich als .csv, so das man am ende eine hübsche Excel Tabelle hat. ;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zunächst würde ich u.a. wegen der Datenkonsistenz einen SnapShot mit den Prozesswerten auf der SPS in einem DB anlegen. Per Button diesen Speicherbereich auf einen zweiten, vorher initialisierten Speicherbereich kopieren, um eine Wertänderung bei Tastendruck erkennen zu können. Diesen Bereich dann am KTP1200 bei Wertänderung archivieren. Archivieren kann man auf dem Basic-Panel nur auf einem USB-Medium und nur als Textdatei.
Textdatei ist schon mal schlecht. Und nur auf USB Speichern wäre zwar ok, es besteht aber die Gefahr das jemand den Stick zieht und dann keine Daten mehr geloggt werden. Daher sollte es schon gern auf CPU oder HMI oder Speicherkarte geschrieben werden. USB Stick ist dann nur das Transportmedium von Steuerung zu irgendeinem PC um es auswerten zu können.
 
Eine CSV-Datei ist eine Textdatei ...
Du brauchst also ein Script-fähiges Panel für die Aufgabe. Für den Rest (also z.B. Kopieren oder Auslesen der Daten) gibt es hier im Forum einige Beispiele
 
Wichtig wäre nur, das man Sie mittels USB Stick und einem Schreibauftrag per Taste auf dem HMI auf den USB Stick geschrieben bekommt,
Genau so ist nicht möglich mit ein Basic Panel.
Das naheste wäre den Vorschlag von Onkel Dagobert.

Welches HMI würdest du denn empfehlen, mit dem sich die Anforderungen erfüllen lassen?
Comfort Panel. Aber die Comfort Panele sind abgekündigt. Kostet Viel und Ersatzteile werden in die Zukunft sehr teuer.
IPC mit WinCC RT Advanced V17. Wenn die Powertags sich niedrig hällt, dann kostet ungf. wie ein Comfort Panel. Hat man viele Powertags, dann kostet es !
Unified Panel. Habe damit keine Erfahrung. Musste machbar sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

vielleicht hilft das hier.
Wir betreiben Datalogging mit Hilfe des SPS internen WebServers.

Könnte hier wie folgt aussehen:
Fehler -> Datalog Trigger -> Zeitstempel mit allen aktuellen Werten (nach Wunsch) -> Log als CSV wird auf SPS/SD Karte abgelegt und ist über den Webserver (Browser) abruftbar.

Das ausgeben als CSV Datei könnte auch von einem Button auf dem HMI getriggert werden, bis dahin werden die Fehlerfälle (je nach Trigger) in die gleiche CSV Datei geschrieben.

Hierfür gibt es auch schon vorgefertigt Bausteine.

VG
 
Hallo,

vielleicht hilft das hier.
Wir betreiben Datalogging mit Hilfe des SPS internen WebServers.

Könnte hier wie folgt aussehen:
Fehler -> Datalog Trigger -> Zeitstempel mit allen aktuellen Werten (nach Wunsch) -> Log als CSV wird auf SPS/SD Karte abgelegt und ist über den Webserver (Browser) abruftbar.

Hierfür gibt es auch schon vorgefertigt Bausteine.

VG
Das hört ich auch gut an, nur haben wir keinen Zugriff mittels PC, Netzwerk oder Internet auf die SPS.
Oder funktioniert das Trotzdem? Habe mit dem Webserver noch nie gearbeitet.
 
Würde auch ohne gehen, nur muss man um an die Daten zukommen die SD Karte aus der CPU entfernen und das wird zu einem Stop der Steuerung führen, was man halt nicht ebenmal im Prozess macht.

Auf der SD Karte befindet sich meines Wissens ein Ordner /Datenprotokolle worin dann die CSV Dateien rauskopiert werden können, hab ich jedoch immer nur über den Webserver gemacht.

VG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Verfahren mit DatenLog und Webserver wäre akseptabel wenn man sich vor-ort anstöpseln konnte ?
Z.B. mit ein RJ45 in die Schaltshranktür.
1754912554838.png
Dann hat man auch Zugang zu die CPU Diagnosepuffer, eventuelle Beobachtungstabellen, ...
 
Würde auch ohne gehen, nur muss man um an die Daten zukommen die SD Karte aus der CPU entfernen und das wird zu einem Stop der Steuerung führen, was man halt nicht ebenmal im Prozess macht.
Eine Steuerung in Stop ist nie gut. zumindest nicht im laufenden Prozess
Auf der SD Karte befindet sich meines Wissens ein Ordner /Datenprotokolle worin dann die CSV Dateien rauskopiert werden können, hab ich jedoch immer nur über den Webserver gemacht.

VG
Ok. danke für die Info.
 
Die Verfahren mit DatenLog und Webserver wäre akseptabel wenn man sich vor-ort anstöpseln konnte ?
Z.B. mit ein RJ45 in die Schaltshranktür.
Anhang anzeigen 89898
Dann hat man auch Zugang zu die CPU Diagnosepuffer, eventuelle Beobachtungstabellen, ...
Das müsste ich mit dem Kunden klären. Der Wunsch war halt der USB Stick um es einigermaßen "Idioten-" sicher zu machen. USB stecken -> Taste drücken zum Daten kopieren -> USB ziehen -> fertig
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mit USB muss man etwas spielen.

Grad mal etwas durch geguckt, wenn mich nicht alles täuscht könntest du auf dem HMI ein Archiv mit allen Variablen machen, diese "Auf Anforderung" archivieren.
Dann ein SR in der Steuerung einfügen und darauf alle "Fehler" schalten, danach die SR Variable auf einen Schiebeschalter im HMI setzen und als Ereignis "Umschalten EIN" die Systemfunktion "Variable archivieren" triggern, dann im Prinzip das Ereignis Copy+Paste und für alle beliebigen Variablen-Archive machen. Kann alles auf einen Schiebeschalter.

Bräuchtest dann noch eine Quitt. Funktion für das SR Glied nach dem Fehlerfall, aber so könntest du es wenn mich nicht alles täuscht aus realisieren mit einwenig Basteln.

Die Datei gibt es so aber trotzdem "nur" als TXT auf den USB Stick.

Bin mir grad nur noch unsicher ob Ereignisse nur über die HMI Bedienung getriggert werden oder auch wenn ein Schalter per Variable umgeschalten wird, das teste ich mal bei Gelegenheit. (PS: Auf dem Unified Panel scheint das zu funktionieren mit dem Schiebeschalter und dem Ereignis)

VG
 
Zuletzt bearbeitet:
Normal kann man Archive des HMI "auf Knopfdruck" am HMI-Panel auf USB-Stick kopieren (mit der Systemfunktion ArchiviereProtokolldatei). Basic Panels haben allerdings nur 1x USB-Schnittstelle und die wäre schon für das Archiv belegt und der USB-Stick dürfte nicht so einfach abgezogen werden. Kopieren auf zweiten USB-Stick ginge so gar nicht. Mit Basic Panel wird das also nix. Man bräuchte etwas "besseres".

Bei nur wenigen Datensätzen könnte bei Basic Panel ein Weg über Rezepturen gehen.
 
Zurück
Oben