LabVIEWForum.de
Datenspeicherung aus parallelen While-Schleifen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Datenspeicherung aus parallelen While-Schleifen (/Thread-Datenspeicherung-aus-parallelen-While-Schleifen)



Datenspeicherung aus parallelen While-Schleifen - malo - 30.12.2010 16:47

Hallo

Ich arbeite noch nicht lange mit Labview und bekomme folgendes Problem nicht in den Griff:

Ich erfasse Daten aus zwei unterschiedlichen Quellen:

1. über RS232 ein GPS-Signal welches mit 10Hz abgetastet wird = erste While-Schleife
2. per WLAN (USB-Adapter) Messdaten von 3 Sensoren die mit 25,6kHz abgetastet werden = zweite While Schleife

Die Erfassung funktioniert separat einwandfrei. Ich möchte nun aber die Daten aus den beiden unabhängig laufenden While-Schleifen in eine Datei schreiben, um mir den enormen Synchronisierungsaufwand hinterher zu sparen.(es müssen Messungen von einer Stunde auf jeden Fall möglich sein, was bei 25,6khz Sampling zu größeren Datenmengen führt.)

Ich habe es schon mit lokalen Variablen sowie mit Queues(siehe VI im Anhang inkl. SubVI) versucht. In beiden Fällen schreibt er zwar beide Quellen in eine Datei die GPS-Daten allerdings nur noch unregelmäßig mit ca. 2-3hz.

Ich benutze Labview 2009.

Hat jemand eine Idee wo das Problem liegt bzw. wie es zu lösen ist?


Vielen Dank im Voraus für eure Mühe.

gruß Malo


Datenspeicherung aus parallelen While-Schleifen - Richard - 31.12.2010 00:01

Hallo malo,

es wird nur in die Datei geschrieben, wenn sowohl in den Queues Daten anliegen, als auch der DAQ-Assistent durchgelaufen ist. Damit ist die unregelmäßigkeit erklärt.

Dann zu deinem VI.

Fünf Queues zu nutzten ist in diesem Fall unnötig. Du kannst auch eine Queue mit einem Cluster(typedef) oder Array benutzten.

Deine SubVIs kannst du durch Scan from String ersetzen. Da ich das genaue Format des Strings nicht kenne musst du da nochmal drüberschaun, ob auch die richtigen Werte ausgelesen werden. Ein weiterer Vorteil davon ist, dass du dir die Format to blablabla sparst.

Ich hab dein VI ein wenig umgeschrieben. Was du mit den Errorverbindungen machst hab ich mir besser nicht so genau angeschaut-_-.
Bei Dequeue Element hab ich das timeout auf 0 gesetzt. Wenn nichts da ist soll die Schleife nicht Stoppen. Den Fehlerausgang musst du glaube ich nocht verbinden. Ich bin mir nicht sicher, ob ein Timeout als Warnung oder Fehler ausgegeben wird. Was dann in die Datei geschrieben wird musst du dir anschaun. Evtl. soll das Merge Signals nur ausgeführt werden, wenn Daten aus der Queue gekommen sind.
[attachment=31458]

Gruß Richard

Lv09_img2
[attachment=31455]
[attachment=31456]
[attachment=31457]


Datenspeicherung aus parallelen While-Schleifen - malo - 10.01.2011 13:40

Hallo Richard,

vielen Dank für die Tipps. Waren auf jedenfall sehr hilfreich. Ich hab nun den Puffer so eingestellt, dass mit der gleichen Frequenz gespeichert wird, wie GPS-Daten anliegen. Das funktioniert einwandfrei:-)

Deine restlichen Hinweise habe ich umgesetzt und die Sache ist nun wesentlich übersichtlicher.

Was ich mit den Errorverbindungen anfangen soll, weis ich meistens selbst nicht so genau. Solltest du mal noch ne freie Minute haben, kannste mir ja mal sagen wie man das grundsätzlich aufbaut.

Ansonsten nochmals Danke, hast mir sehr geholfen.

Viele Grüße

Malo