LabVIEWForum.de - Parallele Datenerfassung mit NI USB 6361

LabVIEWForum.de

Normale Version: Parallele Datenerfassung mit NI USB 6361
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich benötige eure Hilfe bei folgender Problematik:
Meine Aufgabe besteht in der Ansteuerung einiger zeitlich getriggerten analogen Input und Output Kanälen einer NI-USB-6361 DAQ- Box. Mit Hilfe eines künstlich erzeugten Rechtecksignals (bei mir im Moment noch ein Impuls) soll eine LED ein und ausgeschaltet werden. Im zweiten Schritt sollen 2 voneinander unabhängige Photodioden zeitlich durch das Rechtecksignal zum Auslesen angesteuert werden. Die Kanäle sollten parallel ausgelesen werden, also wenn Photodiode1 an, dann soll Ausgang Photodiode2 (PMT) aus sein und umgekehrt.
Folgende Probleme sind bei Programmierung aufgetaucht:
Wenn ich beide Photodioden parallel (einzelnInizialisiert. vi) auslesen will, tritt eine Fehlermeldung auf und es wird ausschließlich nur ein Kanal ausgelesen und angezeigt. Beim nächsten Durchlauf wechselt der Kanal. Auch ist hier der zeitliche Ablauf nicht genau definiert. Verschiedene Untervarianten mit zeitlich definierten Ablauf (Sequenz) haben auch nicht funktioniert.
Wenn ich beide Photodioden zusammen initialisiere (parallelInitialisiert.vi), bin ich dann später nicht in der Lage sie getrennt und zeitlich durch das Rechtecksignal getriggert auszulesen. Beide Auslesekanäle werden gleichzeitig eingeschaltet und nehmen sowohl das LED ON als auch LED OFF Signal mit auf.

Ich hoffe Ihr könnt mir dabei helfen??

Gruß
Unaij
Hallo Unaij,

es ist zwar schon eine Weile her, aber konnte dein Problem gelöst werden? Ich habe gerade ein ähnliches Problem.
Ich möchte 4 Photodioden direkt nacheinander absampeln. Das Sampling soll durch 4 unterschiedliche Trigger ausgelöst werden (4 Zähler die hintereinander ihre Pulse bringen). Sobald allerdings der zweite Task gestartet werden soll, bekommen ich den Fehler -50103 "Die gewünschte Ressource ist reserviert".
Wenn ich einem Task alle 4 physikalischen Kanäle übergebe, kann ich leider nicht die 4 unterschiedlichen Trigger verwenden.

Anbei die zwei VIs in denen die Tasks gestartet werden (samplingON) und das Signal ausgelesen werden soll (sampling_read).

Ich benutze LabVIEW Version 14.0 und bin ziemlicher Anfänger. Habt bitte Nachsicht. 2hands
Vielen Dank für eure Hilfe!

Gruß
Peter
Hallo Pete,

herzlich willkommen im Forum!

Zitat:konnte dein Problem gelöst werden? Ich habe gerade ein ähnliches Problem.
Wenn du auch eine NI6361 verwendest, dann besteht das Problem weiterhin…

Hintergrund: diese DAQ-Karte verwendet nur einen ADC mit einem MUX für alle AI-Kanäle. Und den einen einzelnen ADC kannst du nun mal nicht mit verschiedenen DAQmx-Tasks gleichzeitig beschäftigen!

Lösung: bessere (teurere) DAQ-Karte kaufen - nimm eine mit einem ADC pro AI-Kanal!
Lösung 2: alle 4 AI-Kanäle in einen DAQmx-Task mit einem Triggereingang konfigurieren. Dann deine 4 Triggersignale mit einem OR-Gatter auf einen PFI-Eingang legen…
(13.07.2016 08:04 )GerdW schrieb: [ -> ]Lösung: bessere (teurere) DAQ-Karte kaufen - nimm eine mit einem ADC pro AI-Kanal!
Lösung 2: alle 4 AI-Kanäle in einen DAQmx-Task mit einem Triggereingang konfigurieren. Dann deine 4 Triggersignale mit einem OR-Gatter auf einen PFI-Eingang legen…
Und wenn du wissen willst, wann welcher Kanal eigentlich ausgelöst werden sollte, dann die 4 Triggersignale noch auf weitere DI oder AI legen und ebenfalls mit aufnehmen. Dann kannst du nachträglich auswerten, wann der Trigger für welchen Kanal angeschlagen hat.

Gruß, Jens
(13.07.2016 08:04 )GerdW schrieb: [ -> ]Lösung 2: alle 4 AI-Kanäle in einen DAQmx-Task mit einem Triggereingang konfigurieren. Dann deine 4 Triggersignale mit einem OR-Gatter auf einen PFI-Eingang legen…

Danke für die Tipps! Mir hat eine Lösung für das Triggerproblem gefehlt. Habe es nun umgesetzt und funktioniert auch. Jetzt muss ich eben 3/4 der Daten wegwerfen die ich durch das mehrmalige Triggern und Sampeln erzeuge. Wahrscheinlich wir das dann mit Jens' Hinweis klappen (hoffentlich). Smile

jg schrieb:Und wenn du wissen willst, wann welcher Kanal eigentlich ausgelöst werden sollte, dann die 4 Triggersignale noch auf weitere DI oder AI legen und ebenfalls mit aufnehmen. Dann kannst du nachträglich auswerten, wann der Trigger für welchen Kanal angeschlagen hat.

Irgendwie scheint die Karte aber alle Eingänge beim sampeln zu verbinden, denn obwohl ich nur einen AI-Kanal verbunden habe, sehe ich das Signal an allen vier AIs. Blink
Habt ihr sowas schon mal gehabt?

Eine neue Karte kaufen kommt jetzt nicht mehr in Frage. Die 6361 habe ich erst neu gekauft. Ich dachte die Karte wäre mit ihrem MUX schnell genug beim Umschalten (von einem Trigger zum nächsten, die kommen nämlich nacheinander). Scheint aber so nicht realisierbar zu sein. Dann weiß ich jetzt wenigstens auch woran es liegt! Smile

Gruß
Peter
Hallo Pete,

Zitat:Irgendwie scheint die Karte aber alle Eingänge beim sampeln zu verbinden, denn obwohl ich nur einen AI-Kanal verbunden habe, sehe ich das Signal an allen vier AIs. Habt ihr sowas schon mal gehabt?
Ja, das kennen wir. Hat man so bei ziemlich jeder Karte mit einem MUX vor dem ADC: Am Sample&Hold bleibt das Spannungssignal des letzten "echten" Signals erhalten und erzeugt ein "Ghosting" auf nachfolgend abgetasteten, aber nicht beschalteten Messkanälen.
Das kommt so oft vor, das NI dazu einen KB-Eintrag bereitstellt!

Zitat:Eine neue Karte kaufen kommt jetzt nicht mehr in Frage. Die 6361 habe ich erst neu gekauft. Ich dachte die Karte wäre mit ihrem MUX schnell genug beim Umschalten
Wenn du etwas nur "denkst", dann hättest du dich vorher beraten lassen sollen. Dazu ruft man NI in München oder seinen lokalen Vertreter an und schildert dann seine konkrete Messaufgabe…
(Nur mal so als Hinweis, falls du mal wieder ein Messsystem aufbauen sollst.)
Referenz-URLs