TIA CSV Datei auf IPC per Skript sichern und auf HMI per Diagramm anzeigen

Chris80

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

ich bekomme sage und schreibe alle 20 ms einen Wert für Spannung und Strom. (Es geht um schweißen ) Und das ganze dauert ca 3 Minuten. Also ich kann bis zu 8000 Werte (INT) bekommen.

1664994007252.png

Diese Werte schreibe ich dann über ein Skript weg.


1664994144289.png
.
.
.
1664994794900.png

Das funktoniert soweit aber mein PC bricht immer halb zusammen. Und ich brauche über 8000 Powertags.
Hat da vielleicht einer ne bessere idee? Und günstiger wegen den Powertags.

Jetzt soll die Kurve noch auf dem HMI dragestellt werden.

Gibt es da auch ne einfache Lösung?

Habe da sowas gefunden...

Vielen Dank für eure Antworten.
 

Anhänge

  • 1664994180867.png
    1664994180867.png
    23,3 KB · Aufrufe: 17
  • Datei_04.10.2022.zip
    26,6 KB · Aufrufe: 8
Moin Chris80,

Du könntest ja Werte in der SPS sammeln und jeweils einen Block an Werten in die Datei schreiben.
Machen wir bei einem Meßverfahren, bei dem wir alle paar ms einen Wert bekommen auch so.

Man muss ein bisschen gucken, wie lange es dauert, wenn man viele Werte in die Datei schreibt. Es muss halt schnell genug gehen, um den nächsten Block einzulesen. Aber vielleicht alle 10s (500 Meßwerte)?


Bemerkung am Rande:
Also ich kann bis zu 8000 Werte (INT) bekommen.

Anhang anzeigen 63929
Wenn Du 8000 Werte hast, brauchst Du entweder eine Schleife von 0-7999 oder 1-8000, wobei ich 0-7999 bevorzugen würde.
Bei einer Schleife 0-8000 schreibst Du 8001 Werte in die Datei. Du hast ja offensichtlich auch 8001 Powertags verwendet.

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was für eine SPS hast Du? Kannst Du die Werte da nicht in ein Datalog auf Speicherkarte schreiben?
Viele Werte mit der HMI WinCC Runtime aus der SPS auslesen funktioniert nur sicher mit Handshake (z.B. als Rezeptur, suche mal nach GetDataRecordTagsFromPLC ) Ohne Handshake wirst Du teilweise alte/nicht aktualisierte Werte der HMI-Variablen verwenden und in die csv-Datei schreiben.
Warum schreibst Du die Werte in eine csv-Datei? Soll die Datei archiviert/weitergegeben werden?

Um das Array mit den Werten (oder Werte-Paare ?) in einer Trendkurve anzuzeigen, schaue Dir mal die TIA Hilfe zu "Bitgetriggerte Kurven" an.

Harald
 
Was für eine SPS hast Du? Kannst Du die Werte da nicht in ein Datalog auf Speicherkarte schreiben?
Viele Werte mit der HMI WinCC Runtime aus der SPS auslesen funktioniert nur sicher mit Handshake (z.B. als Rezeptur, suche mal nach GetDataRecordTagsFromPLC ) Ohne Handshake wirst Du teilweise alte/nicht aktualisierte Werte der HMI-Variablen verwenden und in die csv-Datei schreiben.
Warum schreibst Du die Werte in eine csv-Datei? Soll die Datei archiviert/weitergegeben werden?

Um das Array mit den Werten (oder Werte-Paare ?) in einer Trendkurve anzuzeigen, schaue Dir mal die TIA Hilfe zu "Bitgetriggerte Kurven" an.

Harald
Hallo Harald vielen Dank für die Antwort.


Was für eine SPS hast Du? --> 1511C-1PN
Kannst Du die Werte da nicht in ein Datalog auf Speicherkarte schreiben? --> Ich habe einen IPC 277 dran. Die Daten wollen Sie dann per Stick runterholen oder dirket am Panel anschauen können.
Warum schreibst Du die Werte in eine csv-Datei? Soll die Datei archiviert/weitergegeben werden? -- Ja die wollen wissen wie eine Schweißung vor z.B. 6 Monaten war.
"Bitgetriggerte Kurven" Mache ich danke.
 
Daten aus DB von S7-SPS in csv-Dateien exportieren ist eine so häufige Aufgabe, daß es schon ...zig mal diskutiert wurde und es schon viele fertige Tools gibt, die das viel besser können als man selber an einem Tag skripten kann.
z.B. Traeger S7-to-CSV, PI S7-Datenlogger, DELTA LOGIC ACCON-EasyLog, ...
Hier werden auch ein paar Möglichkeiten genannt:

Das Hauptproblem bei Skripten im HMI ist (was Siemens in seinen FAQs leider verschweigt), wie man die Daten sicher und konsistent aus der SPS ins HMI bekommt. Die WinCC Comfort oder Advanced Runtime ist da keine gute Basis, da geht das eigentlich nur relativ umständlich als Rezeptur. Jedes externe Tool mit eigener Kommunikation kann das viel besser, und deshalb gibt es schon eine Menge fertige Tools s.o.

Jetzt soll die Kurve noch auf dem HMI dragestellt werden.

Gibt es da auch ne einfache Lösung?

Habe da sowas gefunden...
Der von Dir gefundene FAQ (hier der Link für die deutsche Version) behandelt f(x)-Kurvenanzeigen.
Willst/musst Du wirklich Deine Wertepaare als f(x)-Kurve darstellen? Oder brauchst Du den zeitlichen Verlauf der Werte?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bitgetriggerte Kurven, das sind Real-Zeit Kurven wo man die Aufzeichnung ein oder ausblenden kann. Dies so dass ein Zeitfenster wo die Variabelwerte kein Sinn macht in die Kurve nicht aufgezeichnet wird und deswegen auch nicht verwirrt.
Ein bitgetriggerte Kurve ist nicht in ein SPS-Array gespiechert.

Eine bitgetriggerte und gepufferte Kurve ist aber in ein SPS-Array gespeichert. Ich denke dies ist was Chris80 eventuell verwenden kann, allerdings um die gepufferte Werte als eine Kurve auf die HMI aufzuzeichnen.

Eine F(x) ist eine Aufzeichnung von X und Y Werte-Paaren. Dies ist normal eine Real-Zeit Kurve, aber kann mittels eine Krücke in eine gepufferte X/Y Kurve gewandelt werden. Ich denke nicht dass dies für Chris80 für den gewünchte Aufzeichnung verwendet werden kann.
 
Ja, ich meinte den Kurventyp "Puffer bitgetriggert"

PS: Kommt man eigentlich an die einzelnen Werte der Kurvenanzeige "Puffer bitgetriggert" im HMI heran? Dann könnte man die Übertragung des Kurvenpuffers für den konsistenten csv-Export verwenden.

Harald
 
Zuletzt bearbeitet:
PS: Kommt man eigentlich an die einzelnen Werte der Kurvenanzeige "Puffer bitgetriggert" im HMI heran? Dann könnte man die Übertragung des Kurvenpuffers für den konsistenten csv-Export verwenden.
Die Daten sind sowieso als Array-Variabel vorhanden. Für die Konsistenz muss man gut überlegen was man macht.

N.B. Ich wurde auch die Array durchschleifen und nicht 8000 Zeilen programmieren wie in 1. Beitrag.
Egal ob einzelne Zeilen oder eine Schleife, man muss damit rechen dass den Panel mitlerweilig einfriert wenn das Skript aufgerufen wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Daten aus DB von S7-SPS in csv-Dateien exportieren ist eine so häufige Aufgabe, daß es schon ...zig mal diskutiert wurde und es schon viele fertige Tools gibt, die das viel besser können als man selber an einem Tag skripten kann.
z.B. Traeger S7-to-CSV, PI S7-Datenlogger, DELTA LOGIC ACCON-EasyLog, ...
Hier werden auch ein paar Möglichkeiten genannt:

Das Hauptproblem bei Skripten im HMI ist (was Siemens in seinen FAQs leider verschweigt), wie man die Daten sicher und konsistent aus der SPS ins HMI bekommt. Die WinCC Comfort oder Advanced Runtime ist da keine gute Basis, da geht das eigentlich nur relativ umständlich als Rezeptur. Jedes externe Tool mit eigener Kommunikation kann das viel besser, und deshalb gibt es schon eine Menge fertige Tools s.o.


Der von Dir gefundene FAQ (hier der Link für die deutsche Version) behandelt f(x)-Kurvenanzeigen.
Willst/musst Du wirklich Deine Wertepaare als f(x)-Kurve darstellen? Oder brauchst Du den zeitlichen Verlauf der Werte?

Harald
Ich brauche nur den zeitlichen Verlauf der Werte grafisch dargestellt
 
Zurück
Oben