LabVIEWForum.de
Kontinuierliche Datenerfassung mit NI PXI-5922 - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Kontinuierliche Datenerfassung mit NI PXI-5922 (/Thread-Kontinuierliche-Datenerfassung-mit-NI-PXI-5922)



Kontinuierliche Datenerfassung mit NI PXI-5922 - T-M - 25.02.2011 10:52

Hallo liebe Forumsnutzer!

Ich habe ein Problem mit der kontinuierlichen Erfassung von Daten.
Einige Beispiele habe ich zwar gefunden, aber irgendwie verwenden die alle die DAQmx-tools, die bei der von mir eingesetzten Karte nicht funktionieren. Außerdem habe ich anscheinend ein grundsätzliches Verständnisproblem, was ich im Folgenden auch noch erklären werde.

Aufgabenstellung:
- Fortlaufende Datenerfassung mit Abtastraten von einigen 100kHz bis 1MHz.
- Aufzeichnungsdauer im Bereich mehrerer 10 Minuten bis zu 2 Stunden
- Daten sollen auf Festplatte geschrieben werden (Write to spreadsheet)
- die letzten Daten (z.B. die letzten 30 sec) sollen imemr in einem Diagramm angezeigt werden.
- das ganze soll für 2 Kanäle laufen
- die Aufgenommenen Daten sollen vor Anzeige/Speicherung umgerechnet werden (Verstärkungsfaktor und ähnliches)

Verwendete Hardware:
- NI PXI-1036 DC (über Glasfaser mit dem PC verbunden)
- Messkarte: NI PXI-5922


Mein Vorgehen:

Als erstes habe ich eine Vi gebaut, die:
- die Messkanäle 0 und 1 initialisiert
- die gewünschte Abtastrate und die Verstärkung des Vorverstärkers abfragt
- einen Zeitstempel mit Datum und Uhrzeit des Programmstarts bereitstellt
- Daten einliest, umrechnet und in eine Datei schreibt

Dabei ist das Problem aufgetreten, das der Speicher voll gelaufen ist.

Als Modifikation habe ich dann das Daten einlesen in eine While-schleife gepackt und die Ausgangsdaten in einem Schieberegister gepackt. Damit ging es besser.


Nach einigem weiteren Probieren kam ich zu dem Problem, wegen dem ich jetzt hier poste:

Die Datenerfassung läuft nicht kontinuierlich und die beiden Kanäle werden nicht einmal zeitgleich abgetastet!

Um das Problem zu verdeutlichen habe ich meine VI von allem befreit was zum Zeigen des Kernproblems nicht notwendig ist. Ich dachte das die VI (Anhang) eigentlich beide Kanäle gleichzeitig abtastet und die Daten in das jeweilige Schieberegister schreibt. Dabei bin ich davon ausgegangen, das es höchstens durch das Umrechnen der Daten (im Beispiel auf eine einfache Division reduziert, im Endausbau soll da etwas mehr erfolgen) einen Zeitversatz geben würde, den ich ja vermeiden könnte, wenn ich die Berechnung später, nach abgeschloßener Erfassung, oder sogar erst nach fertigem Schreiben in die Ausgabedatei mache.

Ich habe mal einen Screenshot von dem Frontpanel angefertigt, der ganz gut zeigt was ich für ein Problem sehe. Hierbei sind die beiden Kanäle mit einem Signalgenerator verbunden, der eine 1kHz Sinusschwingung ausgibt. Beide Kanäle sollten also das selbe Signal zeigen, nämlich eine ununterbrochene Sinuskurve mit 1kHz. Da ich die numSamples auf 1000 gestellt habe bei 1MHz Abtastrate dauert ein Durchlauf der While-Schleife 1ms. Wie man auf dem Bild sieht gibt es nach jedem Schleifendurchlauf eine Pause in der Datenerfassung (die Pause verschwindet auch nicht wenn ich die Division entferne). Die Pause liegt bei etwas weniger als einer Periodendauer, wenn ich das richtig sehe. Außerdem sind die Signale der beiden KAnäle nicht gleich, obwohl die eingänge über ein T-Stück mit dem selben Signalgeneratorausgang verbunden sind. Ich schließe darausdas die beiden Kanäle nacheinander aufgezeichnet werden und nicht (wie ich eigentlich erwartet hatte) parallel (das ist das Verständnisproblem, das ich oben erwähnte).

Die Speicherung der Daten auf Festplatte habe ich indem Beispiel nicht drin, weil ich denke das ich das Problem hinterher lösen kann, aber wenn das nicht so ist wäre ich dankbar füreinen entsprechenden Hinweis.
Der Beispielsucher in LabView war übrigends keine große Hilfe, weil ich auch da nichts gefunden habe was diesen zeitversatz nicht hat.

So, das war ein recht langer Post, aber ich fürchte wenn ich es kürzer fasse fallen wichtige Informationen hinten runter....

Wäre schön wenn jemand eine Idee anbringen könnte wie ich das Problem lösen kann, ich sitze da jetzt nämlich schon zwei Tage dran fest, ohne weiterzukommen.

Liebe Grüße
T-M


Danke an alle, die schon drauf gesehen haben!

Gerade ist ein Kollege vorbei gekommen und hat mir gezeigt wie man Daten Mit diesem System puffern kann. Das sollte (in Verbindung mit einer anderen Datenerfassungsfunktion ) helfen

Ich werde die Lösung (wenn sie funktioniert) hier posten für alle anderen die über so etwas stolpern.

Grüße
T-M


RE: Kontinuierliche Datenerfassung mit NI PXI-5922 - T-M - 04.03.2011 11:42

Hallo nochmal!

Problem ist gelöst, wenn auch anders als ich erst dachte.

Hier wie versprochen meine Lösung, für die die nach mir auch an sowas hängen.

Zur Ergänzung noch ein Hinweis:
Wenn man mit 500kHz über einen längeren Zeitraum (z.B. 15 Minuten) abtastet werden die Dateien auch mal 9GB groß, was beim Einlesen Probleme macht.