LabVIEWForum.de
Filtern einer Tabelle - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Filtern einer Tabelle (/Thread-Filtern-einer-Tabelle)



Filtern einer Tabelle - Ehead - 27.02.2013 13:09

Hallo,
ich habe bei einer Messung leider eine falsche Einstellung in meiner Messhardware gehabt. Nun möchte ich mit Hilfe von LabVIEW die Messwerte korrigieren. Dazu wollte ich denselben Filtern nutzen den ich auch bei meiner Messung verwende. Doch leider habe ich folgendes Problem:

ich möchte 9 Versuche mit je einem v-Wert und einem t-Wert auslesen, umrechnen und dann glätten. Lese ich nun die 6 u 7 Spalte in meiner Tabelle aus bekomme ich noch eine Beschleunigung. Nachdem b durch den Filter geht ist der Wert unendlich(INF).

Was mache ich falsch oder muss ich beachten?

Viele Grüße
E

EDIT jg: VI entfernt (Grund, s. nächster Beitrag, neues VI, s. Beitrag #3)


RE: Filtern einer Tabelle - jg - 27.02.2013 13:48

Offtopic2
- Wieso lädst du eine Excel-Datei hoch, wenn du in deinem VI eigentlich eine csv-Datei einliest? Müssen wir uns jetzt die Arbeit machen, um das wieder so zurückzuformatieren, um dann dein VI wirklich zu testen?
- Ist es dir egal, dass deine Dateipfad-Konstante mglw. persönliche Infos enthält?

Gruß, Jens


RE: Filtern einer Tabelle - Ehead - 28.02.2013 10:38

Danke Jens für die Hinweise. Habe es jetzt geändert.


RE: Filtern einer Tabelle - jg - 28.02.2013 21:59

Lass mich raten:
In deiner csv-Datei sind verschiedene Messreihen abgespeichert, die aber unterschiedlich lang waren!

Messreihe 1 (Spalte 0 & 1) war scheinbar 2 Sekunden lang, Messreihe 2 (Spalte 6 & 7) aber nur 1 Sekunde.

Da aber offenbar erst einmal alles in LabVIEW gesammelt wurde und dann als 2D-Array abspeichert wurde, wurden ab Messreihe 2 die fehlenden Werte mit Nullern aufgefüllt. Wall

Dadurch kommst an der Stelle, an der du ein dt-Array berechnest, ein Array heraus, das zur Hälfte aus Nullen bestehst.
An zwei Stellen teilst du durch dieses Array (also häufig durch Null), das Ergebnis enthält also massig "Inf"-Werte. Das war es dann.

Wenn bei Auswertung 2 nur die ersten 100 Zeilen ausschneidest, sieht es schon deutlich besser aus.

Gruß, Jens


RE: Filtern einer Tabelle - Ehead - 01.03.2013 10:07

Hallo Jens,
also müsste es auch funktionieren wenn ich die letzten 100 zeilen lösche und so alle Arrays die selbe Größe haben?!

Dann hätte ich noch eine Frage: Ich nutze zum Datenaufnehmen eine zeitgesteuerte While-Schleife welche ich auf 1s eingestellt habe. Immer im ersten Versuch nimmt diese 2s auf und dann alle 8 anderen bricht sie wie gewollt nach 1s ab. Was muss man da noch beachten?

Gruß
Erhard


RE: Filtern einer Tabelle - jg - 01.03.2013 10:45

Ja

und kA, zeig dein VI.

Gruß, Jens

P.S.: Wall Das Datenerfassungs-VI ist also schon fehlerhaft.


RE: Filtern einer Tabelle - Ehead - 01.03.2013 11:11

Also fehlerhaft.. weiss nicht. Die Geschwindigkeitswerte in Labview stimmen mit durch parallel Messung erreichten Messergebnissen bei dem selben Versuch über ein. Es ist nur so wenn ich das Programm starte läuft meine erste Schleife halt immer 2s nicht wie eingestellt 1s. Bei meinem Programm nutze ich Lv-link zum auslesen, weil ich eine Messbox von DataTranslation habe. Desweitern erzeugt mir die SubVi vom LV-link immer wieder Fehlermeldungen die ich nicht so richtig deuten kann.. Das Programm läuft aber trotzdem..


RE: Filtern einer Tabelle - jg - 06.03.2013 19:30

Sorry für die späte Antwort, hier einige Kommentare:
1) Da dein Programm im ersten Durchlauf unerwünscht 2 Sekunden anstatt 1 Sekunde Daten erfasst, kann man IMHO schon von einem Fehler sprechen.
2) Wo ist in deinem VI eine Timed-Loop
3) Das mit der Schleife brauchst du doch gar nicht. Wenn ich das richtig interpretiere, konfigurierst du dein AI-Task doch schon auf 1 Sekunde Datenerfassung. Somit sollte 1x das Auslesen von N Samples langen.

Gruß, Jens