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,
erst mal vorweg: ich bin neu hier im Forum und in LabView auch ganz neu habe vorgestern angefangen mich ein wenig einzuarbeiten!

Nutze dazu das Buch von Georgi/Metin "Einführung in LabView" ISBN:
978-3-446-41560-7

Das ganz soll dann auch kein Thread a la "ich sage was ich will und jemand gibt mir ne Lösung"!

Also
ich möchte mit meiner Wandlerkarte..... NI PCI-4462 , die mir für meine Messungen glücklicherweise zur Verfügung steht, Mikrofondaten erfassen.

Die Karte kann 220ksample/s!

Also ich hab hier jetzt gerade den "Measurement & Automation Explorer offen! --->
Die Karte ist ordnungsgemäß installiert ich kann auch "Tasks" zur analogen Erfassung erstellen und Daten erfassen. Also Analoge Daten werden auch tatsächlich erfasst!

Die Karte an sich funktionert also:

jetzt frage ich mich wie ich das Gerät PCI-4462 in ein VI unterbringen kann?

in diesem VI wollte ich gerne per Tastendruck jeweils 20k samples bei einer sample rate von 200ksamples/s
abspeichern.
diese Werte sollen dann in ein Array (Dimension: 20k x Anzahl der Messungen) gespeichert werden.

so dass mir nachher n mal 20k Abtastwerte zur Verfügung stehen, die ich dann z.B. in eine Datei exportieren kann?!?!

Ok ich hab in dem Buch nicht so viel genaues zu der Erstellung solcher VIs gefunden (Seite 313)

Ich benötige also einen Virtuellen Kanal, muss die Task starten, die Daten lesen, den Task stoppen und den Task zurücksetzen?

Wie ist denn der erste Ansatz um die Messergebnisse einfach zu ermitteln, ohne jeden "letzten Kniff" von LabView beherrschen zu können?


Viele Grüße

duti
Hallo duti,

der erste Ansatz besteht darin, den Beispielfinder (im Startfenster oderim Hilfemenü) zu starten und sich passende Beispiele anzuschauen...
das habe ich schon gemacht und es waren keine geeigneten dabei, die dann auch liefen, ohne dass irgendwelche weiteren Dateien etc. nicht gefunden werden konnten?
Hallo dut,

es ist keine Beispiel dabei, bei dem man Samplerate und Anzahl der Samples einstellt und dann einmalig Daten aufnimmt? (Einmalig, weil du ja auch "nur" bei Knopfdruck einmal Daten einlesen willst.)

Wie man Array aufbaut, lernt man im Basics-Kurs (siehe Link in meiner Signatur).
wie man Arrays speichert auch, aber auch da findest du Beispiele...
Hmmh schaue mir nun das folgende Tutorial von NI an:

http://www.ni.com/white-paper/2744/en


Leider kann ich bei meiner LV Version den DAQ Assist nicht finden (V 2012) ?
(19.10.2012 11:52 )dut42 schrieb: [ -> ]Leider kann ich bei meiner LV Version den DAQ Assist nicht finden (V 2012) ?

Das ist nicht schlimm, wenn Du den nicht findest.
Aber die DAQmx Palette ist vorhanden?

Falls das nicht so wäre (sollte aber wenn MAX da ist) mußt Du den DAQmx Treiber neu installieren.

Grüße
Andreas
Unter der Funktionspalette sollte die DAQ mx Palette sein?

Kann ich leider auch nicht finden!
also DAQ mx Treiber neuinstallieren!
ok DAQ Assist ist nun vorhanden... irgendwie wurde zunächst eine ältere Version installiert nun ist die Version 9.5.5 von DAQ drauf
Hallo ich versuche nun den DAQ-Assistenten zu nutzen um meine Messdaten zu erfassen.

Ich habe ja nun einen Block "DAQ-Assistent"
mit diversen Eingängen z.B. kann dort die sample rate oder sample-anzahl eingestellt werden.
Als Ausgang erhalte ich dann die abgetasteten Werte.

Leider läuft das Teil permanent?
d.h. wenn ich es in eine For-Schleife lege werden permament Messwerte erfasst also in "Daten" ausgegeben?
In der While-Schleife verhält es sich unabhängig davon, ob die Bedingung der While-Schleife erfüllt ist oder nicht, genauso?

Ich verstehe jetzt nicht genau wie der DAQ-Assistent meine Werte genau ausgibt, jedes sample nacheinander oder immer ein array mit allen samples, die erfasst werden sollten?
Hallo dut,

Zitat:Leider läuft das Teil permanent?
d.h. wenn ich es in eine For-Schleife lege werden permament Messwerte erfasst also in "Daten" ausgegeben?
In der While-Schleife verhält es sich unabhängig davon, ob die Bedingung der While-Schleife erfüllt ist oder nicht, genauso?
Mal ein paar Programmierfragen, ganz unabhängig von LabVIEW:
- Welchen Zweck hat eine FOR-Loop, die genau einmal laufen soll?
- Du hast eine While-Loop mit einer Stopp-Bedingung und rufst darin den DAQ-Assi auf - ohne diesen wiederum in irgendeiner Art und Weise mit der Stopp-Bedingung zu verknüpfen. Jetzt wunderst du dich, dass der DAQ-Assi in jeder Iteration Daten ausgibt!? Ist das in irgendeiner Programmiersprache etwa anders?

Zitat:Ich verstehe jetzt nicht genau wie der DAQ-Assistent meine Werte genau ausgibt
Das ist das Schöne an ExpressVIs: man weiß nie genau, welche Daten in diesem DDT-Draht drinstecken...
Hast du dir einmal die mit LabVIEW mitinstallierten Beispiele angeschaut? Einmal den Beispielfinder geöffnet? Fast alle dieser Beispiele kommen ohne ExpressVI aus, so z.B. "Acq&Graph Voltage-Int Clk.vi"...
Da du "20k Werte" konfiguriert hast, wirst du wohl ein Array mit 20000 Samples bekommen.
Seiten: 1 2 3 4
Referenz-URLs