LabVIEWForum.de
Anzeige und Erfassung von Prüfparametern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Anzeige und Erfassung von Prüfparametern (/Thread-Anzeige-und-Erfassung-von-Pruefparametern)



Anzeige und Erfassung von Prüfparametern - Fantinel - 03.01.2019 12:43

Hallo,

ich befasse mich seit einigen Tagen mit dem Bedienfeld eines Prüfstandes, welcher aus einer Hand voll Geräte besteht, die per Labview angesteuert werden. Um alle Parameter während der Prüfvorgänge zu erfassen, sammel ich diese mittels lokaler Variablen ein und lasse sie mir in einem Signalverlaufsdiagramm anzeigen bzw. speichere diese parallel, im 1 s-Takt, in einer Excel-Tabelle. Die grundlegende Funktion ist gegeben, jedoch kommt das ganze nach etwa 10 min ins stocken und die Erfassung wird immer langsamer, d.h. dass die Werte nur noch alle paar Sekunden aktualisiert bzw. gespeichert werden. Hat jemand Tipps, wie ich das Problem gelöst bekomme? (Das VI, auf das ich mich beziehe befindet sich im Anhang dieses Posts.)

Viele Grüße
Christopher


RE: Anzeige und Erfassung von Prüfparametern - GerdW - 03.01.2019 14:51

Hallo Fantinel,

ein Gesundes Neues Jahr und herzlich willkommen im Forum!

Zitat:Die grundlegende Funktion ist gegeben, jedoch kommt das ganze nach etwa 10 min ins stocken und die Erfassung wird immer langsamer, d.h. dass die Werte nur noch alle paar Sekunden aktualisiert bzw. gespeichert werden. Hat jemand Tipps, wie ich das Problem gelöst bekomme?
Oh mein Gott… Big Grin

So viele lokale Variablen.
So ein riesiger Cluster.
Dieser Cluster wird alle Sekunde nach den Namen der enthaltenen Elemente durchsucht: ändern die sich irgendwann mal, wenn das VI läuft? Reicht da nicht einmal aus?
Dieser Cluster wird in ein Array gewandelt, dieses dann nach DDT.
Jedem Wert in diesem DDT wird ein Signalname zugeordnet. In jeder Iteration erneut…
Jede Sekunde wird eine Excel-Datei geöffnet, etwas reingeschrieben und wieder geschlossen. Sekündlich muss Excel eine komprimierte XLSX öffnen und dekomprimieren, ein paar Werte hinzufügen, alles wieder komprimieren und abspeichern. Sekündlich!
Jede Sekunde werden diese Daten auch noch in einen Chart geschrieben. Mit einer Historienlänge von 86400 Einträgen. Wieviel Speicher macht das? Wieviele Daten müssen da sekündlich durch das RAM geschoben werden?

Ähm: das VI wird nach ~10min "etwas" langsamer?
Warum wohl??? Hmm

Vorschlag:
- Schreibe in eine CSV-Datei: wesentlich einfacher und schneller.
- Diese Datei nur einmal vor der Schleife öffnen und hinterher schließen!
- Du musst den Header mit den Signalnamen nur genau einmal erzeugen und in die Datei schreiben.
- Du benötigst keinerlei ExpressVIs und DDT-Drähte…
Außerdem:
- Reduziere die Anzahl der lokalen Variablen, z.B. durch Einsatz von Arrays, die ähnliche Werte zusammenfassen.
- Ersetze lokale Variablen, z.B. durch Notifier…
- Ab und zu mal AutoCleanup benutzen…
- Wenn du viele Messkanäle anhand ihres Messstellennamens verwalten willst, empfehle ich eine FGV mit einem Variant, in dessen Attributen du die Messdaten mit ihrem Namen ablegst. Schau mal hier… (Der VIPM bietet dafür auch fertige Implementierungen an!)


RE: Anzeige und Erfassung von Prüfparametern - Fantinel - 04.01.2019 09:08

Hallo GerdW,

danke für deine ausführliche Antwort.

Ich werde nun einmal schauen, dass ich das ganze, wie von Dir vorgeschlagen ohne Express-VIs bzw. den häufigen Abfragen der Eigenschaftsknoten realisiert bekomme.

Viele Grüße & ein frohes neues Jahr
Christopher


RE: Anzeige und Erfassung von Prüfparametern - Fantinel - 04.01.2019 12:36

Ich bin es noch einmal! Warnung1

Ich habe nun die Eigenschaftsknoten aus der eigentlichen Schleife entfernt und schreibe nun direkt in eine CSV-Datei, wodurch das ganze schon einmal etwas stabiler laufen sollte. Momentan habe ich jedoch keine Idee, wie ich den Zeitstempel der Messwerte mit geschrieben bekomme und wie ich die Messwerte in einem Diagramm dargestellt bekomme.

Gruß
Christopher


RE: Anzeige und Erfassung von Prüfparametern - GerdW - 04.01.2019 14:47

Hallo fantinel,

Zitat:Momentan habe ich jedoch keine Idee, wie ich den Zeitstempel der Messwerte mit geschrieben bekomme und wie ich die Messwerte in einem Diagramm dargestellt bekomme.
So in etwa:
[attachment=59676]

Das du jetzt auch noch doppelt so viele lokale Variablen verwenden willst, macht die Sache wirklich nicht besser…