LabVIEWForum.de - Sample Anzahl lesen / Timing

LabVIEWForum.de

Normale Version: Sample Anzahl lesen / Timing
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich vermute ich habe im Moment mit einem kleinen Verständnisproblem zu kämpfen. Ich bestimme am DAQmx-Timing eine Samplerate von 5 kHz und einen Sampleanzahl von 5000. Leider verstehe ich nicht genau wozu ich jetzt am DAQmx lesen noch einmal eine Sampleanzahl einstellen muss.

Wodurch wird denn nun bestimmt wieviele Samples wirklich von der Hardware ausgelesen werden. Ich hoffe ihr könnt mir den Unterschied der beides VI's erklären.

Danke

Samuel
Steht eigentlich alles in der Doku. Rtmfx

1. Fall: Erfassungsart "Finite Samples": Durch die Sampleanzahl legst du fest, wieviele Datensätze du mit dem Task erfassen willst.
2. Fall: Erfassungsart "Continuous Samples:" Jetzt bestimmst du die Größe des Buffers für DAQmx-Read.

Gruß, Jens
Hallo,

entweder du verstehst mich nicht richtig oder ich dich nicht. Es geht um zwei unterschiedliche VI's welche beide die Festlegung einer Sampleanzahl zulassen.

1.Vi: DAQmx Timing: ich kann eine Samplerate und eine Sampleanzahl einstellen.
2.VI: DAQmx lesen: hier kann ich nochmal die Sampleanzahl einstellen.

So und nun? Welche Sampleanzahl bewirkt was?

Gruß
Hallo Samual,

beim DAQmxTiming legst du das fest, was dir Jens freundlicherweise aus der Kontexthilfe kopiert hat. Rtmfx

Beim DAQmxRead legst du fest, wieviele Samples du mit diesem Aufruf lesen willst. Rtmfx

Das sind zwei unterschiedliche Dinge - auch wenn beide Funktionseingänge "Sampleanzahl" heißen. "Name" ist nicht gleich "Bedeutung"!
Oke, allerdings ist meine Frage immernoch nicht ganz beantwortet. Mal ein Beispiel was mein Problem ist.

DAQmx Timing: Sampleanzahl 1000 Samplerate 1000

DAQmx lesen: Samplerate 100

Werden jetzt 1000 Samples mit der Frequenz von 1000 Hz aus der Hardware entnommen und irgendwo zwischengelagert bis diese von DAQmx read ausgelesen werden?

Sry wenn ich das nicht verstehe. Aber die Hilfe beantwortet die Frage mmn. nicht wirklich.

Ich hab unten mal mein SubVi zum auslesen der Messwerte angehängt. Mein Problem ist, dass ich ja mit DAQmx lesen nur 100 Werte hole und dann das VI verlassen. Wenn ich dann nachher wieder in das VI gehe um die nächsten 100 Werte zu holen, beginnt der von DAQmx Timing festgelegte Wert von 1000 ja wieder von vorne oder?

Gruß
(11.02.2014 10:51 )samuel schrieb: [ -> ]Oke, allerdings ist meine Frage immernoch nicht ganz beantwortet. Mal ein Beispiel was mein Problem ist.

DAQmx Timing: Sampleanzahl 1000 Samplerate 1000

DAQmx lesen: Samplerate 100

Werden jetzt 1000 Samples mit der Frequenz von 1000 Hz aus der Hardware entnommen und irgendwo zwischengelagert bis diese von DAQmx read ausgelesen werden?
Ja! Genau richtig.

Mit dem ersten Read holst du nur 100 Werte aus dem Buffer ab.

Gruß, Jens
Hallo samuel,

du musst bedenken: du hast "endliche Anzahl" beim DAQmxTiming eingestellt!

Also legst du fest, wieviele Samples nach dem DAQmxStart aufgenommen werden.
Wenn du aber von den 1000 Samples nur 100 liest, dann ist das einzig und allein dein Problem!

Du kannst doch DAQmx nicht dafür schuldig machen, dass du nicht alle Samples liest, die du gemessen haben möchtest…

Zitat:Wenn ich dann nachher wieder in das VI gehe um die nächsten 100 Werte zu holen, beginnt der von DAQmx Timing festgelegte Wert von 1000 ja wieder von vorne oder?
Ja, das beginnt wieder von vorn.
Es zwingt dich doch niemand, den Task erneut zu starten, nur weil du weitere Samples von den schon gelesenen geliefert haben möchtest!?
Ich danke euch beiden! Jetzt kommt langsam Licht ins dunkle.

Jetzt stellt sich nur die Frage wie ich mein Vi umbauen muss, dass auch nach Wiedereinstieg aus dem Buffer von 1000 gelesen wird.

Also, beim ersten ausführen werden 1000 Werte in den buffer gelegt. In der selben Ausführung werden die ersten 100 Werte an mein mainVI weitergegeben.

Im Anschluss an die Verarbeitung dieser 100 Werte im mainVI möchte ich wieder in mein Messen SubVI um die nächten 100 Werte aus dem Buffer zu lesen.

Gruß
Hallo samuel,

ich dachte, das wäre nach dem letzten Post klar…

Einfach DAQmxRead aufrufen, nur ohne DAQmxStart davor!
ist somit erledigt. Ich danke euch allen!
Seiten: 1 2
Referenz-URLs