LabVIEWForum.de - Erfassung von Mikrofondaten mit NI-DAQmx wie VI erstellen?

LabVIEWForum.de

Normale Version: Erfassung von Mikrofondaten mit NI-DAQmx wie VI erstellen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo dut,

hast du dir mal mein Bild Snippet oben angeschaut?
Der Teil:
Code:
if (current_measure == 20-1) {
current_measure = 0;
} else{
current_measure++;
wird durch ein i MOD 20 ersetzt.
Jetzt musst du nur das Schieberegister mit einem 2D-Array (Größe 20,20000) initialisieren und statt BuildArray nun ReplaceArraySubset verwenden. Fertig!

So sieht das als Bild aus:
[attachment=41961]
Ok ich hab jetzt schon einige Zeit versucht das zum Laufen zu kriegen nun erstmal so, wie auf dem "Snippet"!

Allerdings bleibt das Ausgangs-Array immer mit "0"en gefüllt und der Labview-Speicher läuft voll!???

In Array2 also Ausgang des Devices stehen aber die Messdaten an!
Also bei Anschluss eines einfachen 1x20000 Array in den Eingang Array an den Eingang des Element "in Array einfügen" wird der Inhalt dieses Arrays in das Gesamt-Array hinzugefügt.
Was kann mit den Daten aus dem DAQ falsch sein?
Hallo dut,

1) Du fügst ein Array of DBL in ein Array of INT ein. Das geht selbst in C meistens schief...
Wenn deine Messdaten als DBL vorliegen, solltest du dein Datenarray auch mit DBL initialisieren. Hatte ich auch so gezeigt!!!

2) 11. Gebot bei Arrayverwendung: Du sollst nicht einfügen, sondern ReplaceArraySubset nehmen!!! Smile
Hatte ich sowohl gezeigt als auch geschrieben!!!
sorry war zu blöd gleich replace array subset zu finden (heißt hier "Teil-Array ersetzen) so jetzt tritt zumindest der Fehler mit dem vollen LabView-Speicher nicht mehr auf!

Leider schreibt der das Array trotzdem noch nicht voll, sondern nur wenn ich direkt ein "Test-Array" erstelle und einfüge aber das mit den DAQ-Daten geht noch immer nicht es bleiben nur die initialisierten 0en stehen?
Hallo dut,

Zitat: war zu blöd gleich replace array subset zu finden (heißt hier "Teil-Array ersetzen)
Die Kontexthilfe zeigt auch die englischen Bezeichnungen an...

Zitat:Leider schreibt der das Array trotzdem noch nicht voll, sondern nur wenn ich direkt ein "Test-Array" erstelle und einfüge aber das mit den DAQ-Daten geht noch immer nicht es bleiben nur die initialisierten 0en stehen?
VI anhängen!?
hi hier mal die VI ich hoffe das hilft!
Hallo dut,

bitte für ältere LV-Version konvertieren, siehe mein Profil...
Ok hier für LV 8.6
- Dein 2D-Array innerhalb der While-Schleife ist weiterhin ein Arry of Integer.
- Am Anfang vom Thread stand mal, dass du immer 20000 Samples auf einmal aufnehmen willst. Wieso ist dann im DAQ-Assi unter SamplesToRead eine 3 eingetragen, und keine 20000 ?
- Wenn du immer 20k Samples ausliest, dann solltest du dein 2D-Array auf 20x20.000 vordefinieren, nicht 20x200.000 .

Gruß, Jens
Seiten: 1 2 3 4
Referenz-URLs