LabVIEWForum.de - Problem mit DAQmx - Start-Trigger

LabVIEWForum.de

Normale Version: Problem mit DAQmx - Start-Trigger
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo alle zusammen!

Ich schreibe aktuell an meiner Bachelor-Thesis und versuche im zuge dessen meine ersten unbeholfenen Schritte mit Labview zu machen Smile Ziel soll es später einmal sein mittels LED und Photodiode die Absorption von Ozon zu messen, also einen Photostrom einzulesen und auszuwerten. Hierzu wird die LED mit einem PWM-Signal angetrieben.

Ich nutze eine hierzu eine NI PCI-6122 Karte.
Das PWM-Signal wird über "Dev1/ctr0" generiert.
Der Photostrom wird über "Dev1/ai0" ausgelesen.
Die PWM wird als Referenz direkt über "Dev1/ai1" ausgelesen.

Mein aktuelles Problem besteht darin, dass ich es zwar schaffe ein PWM-Signal zu erzeugen und einen vernünftigen Photostrom auszulesen (als Referenz wurde in einem zweiten Kanal das PWM-Signal direkt gemessen(roter Plot)).Allerdings schaffe ich es nicht die Peaks sinnvoll darzustellen. Wie im Bild "Veranschaulichung" dargestellt, möchte ich den ersten Peak vollständig am Anfang des Diagramms angezeigt bekommen.

Nun habe ich mich an dem DAQmx Trigger versucht und werde an dieser Stelle nicht ganz schlau aus seinen Funktionen.
Um den Peak vollständig darzustellen habe ich überlegt bei Steigender Flanke des Referenzstroms ab einem Schwellwert von 0,01 die Messdaten aufzunehmen (PWM-Signal=1Hz, duty cycle=0,5; nur zum testen...). Das Problem besteht darin, dass ich es nicht Schaffe die Quelle so zu definieren, dass ich auch den Referenzstrom triggern kann (und ich bin auch nicht sicher, ob das so überhaupt funktionieren kann). Wenn ich als Quelle "Spannung0" angebe ist es möglich den Photostrom auszulesen, dieser ist aufgrund des Einschwingens allerdins als Trigger nicht nütlzlich.

Hat jemand eine Idee, wie man dieses Problem lösen kann? Über Hilfen, Kritik oder sonst irgendwelche Anregungen würde Ich mich sehr freuen!

Mfg
André
Hallo André,

Zitat:Nun habe ich mich an dem DAQmx Trigger versucht und werde an dieser Stelle nicht ganz schlau aus seinen Funktionen.
Um den Peak vollständig darzustellen habe ich überlegt bei Steigender Flanke des Referenzstroms ab einem Schwellwert von 0,01 die Messdaten aufzunehmen (PWM-Signal=1Hz, duty cycle=0,5; nur zum testen...). Das Problem besteht darin, dass ich es nicht Schaffe die Quelle so zu definieren, dass ich auch den Referenzstrom triggern kann (und ich bin auch nicht sicher, ob das so überhaupt funktionieren kann). Wenn ich als Quelle "Spannung0" angebe ist es möglich den Photostrom auszulesen, dieser ist aufgrund des Einschwingens allerdins als Trigger nicht nütlzlich.
- Du gibst deinen AI-Signalen Namen, indem du "Spannung " als zuzuweisenden Namen anschließt. Lt. Hilfe wwird DAQmx hier die Namen aufnummerieren, d.h. "Spannung 0" & "Spannung 1" für deine beiden Kanäle verwenden. Als Triggerquelle verwendest du aber "Spannung0". Merke: Es ist immer ungünstig, irgendwelche (zusätzlichen) Leerzeichen in Namen zu verwenden!
- Es gibt Beispiel-VIs im Beispielfinder, die u.a. den Gebrauch eines Start-Triggers demonstrieren. Hast du dir mal angeschaut? Hier kann man die Signalerfassung an den Start der Signalausgabe koppeln…
- Wozu Signale in DDT umwandeln, wenn man auch ein IndexArray verwenden kann?
- Was unterscheidet (in deinem FP-Bild) die Flanke bei 2s von der bei 0s? Wieso denkst du, dein Trigger arbeitet nicht korrekt?
- Es gibt über DAQmx-Properties die Möglichkeit, auch Samples vor dem eigentlichen Trigger-Event zu erfassen - falls es das ist, was du brauchst…
Hallo Gerd!

Zunächstmal Danke für die schnelle antwort, die vielen Tipps und deine Mühen!


(28.04.2014 11:49 )GerdW schrieb: [ -> ]- Du gibst deinen AI-Signalen Namen, indem du "Spannung " als zuzuweisenden Namen anschließt. Lt. Hilfe wwird DAQmx hier die Namen aufnummerieren, d.h. "Spannung 0" & "Spannung 1" für deine beiden Kanäle verwenden. Als Triggerquelle verwendest du aber "Spannung0". Merke: Es ist immer ungünstig, irgendwelche (zusätzlichen) Leerzeichen in Namen zu verwenden!

Vielen Dank hierfür, das hat mir geholfen den Referenzstrom zu triggern.

(28.04.2014 11:49 )GerdW schrieb: [ -> ]- Es gibt Beispiel-VIs im Beispielfinder, die u.a. den Gebrauch eines Start-Triggers demonstrieren. Hast du dir mal angeschaut? Hier kann man die Signalerfassung an den Start der Signalausgabe koppeln…
- Wozu Signale in DDT umwandeln, wenn man auch ein IndexArray verwenden kann?

Auf jeden Fall nützliche Tipps (über deren Existenz ich noch nicht gestolpert war...)
Das Signal in DDT umzuwandeln war garnicht das Ziel...Das VI "Signale auswählen" war lediglich die erste Funktion, welche ich gefunden habe, die meinem Zweck gedient hat Wink

(28.04.2014 11:49 )GerdW schrieb: [ -> ]- Was unterscheidet (in deinem FP-Bild) die Flanke bei 2s von der bei 0s? Wieso denkst du, dein Trigger arbeitet nicht korrekt?

Am Trigger lag es nicht, der macht alles wie er es soll. Ich wollte den Trigger lediglich über den Referenzstrom laufen lassen, da dieser einen (fast) optimalen Rechteckimpuls erzeugt.

Beste Grüße,
André

Edit: War die Sequenzstruktur in diesem Fall eigentlich vollkommen überflüssig?
Hallo André,

Zitat:War die Sequenzstruktur in diesem Fall eigentlich vollkommen überflüssig?
So gut wie. Wenn man DATAFLOW nutzt, braucht man sie im Normalfall nicht. Deshalb habe ich die zweite DAQmx-Referenz auch durch die Schleife geführt…
THINK DATAFLOW!
Referenz-URLs