LabVIEWForum.de - kontinuirliche Messdatenerfassung Programmgesteuert

LabVIEWForum.de

Normale Version: kontinuirliche Messdatenerfassung Programmgesteuert
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi,

Da stehe ich wieder vor einer Herausforderung:
Die Messdaten sollen kontinuirlich eingelesen werden (damit keine Daten verloren gehen) und programmspezifisch sollen dann die Daten vom Zwischenspeicher der DAQ-Karte ausgelesen werden.
Wenn ich die ganze Angelegenheit bisher richtig verstanden habe, wartet die Read-Funktion solange, bis der Zwischenspeicher die Daten freigibt.
Ich hätte es jedoch gern so, dass eine Funktion sagt, dass sie die Daten als Form eines bsp. Array genau "jetzt" aus dem Zwischenspeicher haben möchte und anschließend gleich den Zwischenspeicher wieder leert, so dass beim nächsten Aufruf wieder nur die aktuellesten Daten vorhanden sind und nicht noch die alten Daten.

Gibt es dafür eine Möglichkeit?
Über die Funktion 1Sampel (ON Demand) will ich es nicht machen, weil mir da zuviele Messdaten bei der Ausführung verloren gehen.
Einfach so, und du bekommst bei jedem Read-Aufruf alle Samples im Buffer.
[attachment=33681]
Gruß, Jens
Hi jp,

danke erstmal für die schnelle Antwort!
Wenn ich es richtig verstanden habe, wartet nun aber das Programm drauf, bis alle Samples eingetroffen sind, erst dann kann es weiter gehen? Ist dies so richtig?
Aber der Hinweiß von Dir hat mich auf eine sehr gute Spur geschickt....
Über den Eigenschaftsknoten, kann man wohl alle vorhandene Sampels lesen auf True setzen, woraufhin nicht mehr gewartet wird, bis wirklich alle Sampels da sind, sondern es werden einfach die bereits vorhandenen ausgwertet.
Das ist eigentlich dies was ich suche, denn ich will ja mit dem Aufruf von Read die gesamten Sampels aus dem Datenpuffer gleich verarbeiten.
Dies führt nun jedoch zu 2. weiteren Fragestellungen, wenn ich bis hierher alles richtig verstanden habe (wenn nicht unbedingt korregieren!).

1. Ist es wie im Bild richtig Konfiguriert (muss der Eigenschaftknoten evtl. in die Schleife, was jedoch wenig Sinn macht, weil ich es ja nur einmal einstellen will.).
2. Was ist nun mit den "alten" ausgelesenen Werte,w erden Sie automatisch aus dem Datenpuffer entfernt? D.h das ich beim nächsten Aufruf auch wirklich nur nicht bereits gelesene Werte bekomme?

Wenn hier mir nun noch jemand eine Antwort geben könnte, könnte ich verknügt ins Wochenende gehen Hopper
Wenn du eine -1 am Eingang Samples anschließt und den Timeout auf Null setzt (wobei, müsste auch ohne Timeout Null gehen), dann gibt dir DAQmx-Read alle gerade vorhandenen Samples zurück. Kein Warten IMHO.

Und logischerweise werden alle 1x gelesenen Samples aus dem internen FIFO-Puffer entfernt. Wäre schlimm, wenn es anders wäre.

Gruß, Jens
Referenz-URLs