LabVIEWForum.de - Rendevous Daq vereinfachen

LabVIEWForum.de

Normale Version: Rendevous Daq vereinfachen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Leute,

ich erzeuge einen Sprung den ich an eine el.Last über DAQmx schicke, das funktioniert auch soweit.
Um die Sprungantwort zu erhalten habe ich über Rendevous gleichzeitig analog den Strom ausgelesen, das hat auch super funktioniert. Da beides gleichzeitig gestartet wurde habe ich den Sprung im gleichen moment gelesen wie geschrieben.

Nun wollte ich zusätzlich auch noch die Leistung und Spannung in den gleichen Graphen einlesen. Um die Übersicht nicht zu verlieren habe ich das Auslesen in ein SubVI gepackt (siehe Bild). Doch irgendwie ist das ganze nun zu langsam und es wird nur noch wechselweise eines der Signale ausgelesen bzw. ausglesen werden eigentlich alle aber ich habe nur von einem der drei die Antwort auf den Sprung, die anderen Signale zeigen nur eine DC Horizontale im Bereich 0. Das heißt warscheinlich das die Messung einfach zu spät kam und bei den anderen der Sprung schon vorbei war.

Mein VI sieht allerdings auch ziemlich umständlich aus und die Initialisierung braucht man warscheinlich auch nicht 3mal machen?
Allerdings weiß ich nicht wie ich mehrere Analogeingänge (ai x) ein Kanal einlesen kann. Manche Geräte können das ja, doch hier kann man es zumindest nicht direkt über den I/O. Einen Task mit allen drei erstellen hat auch nicht funktioniert, danach wurde mir gar nichts mehr im Ausgabe-Graph angezeigt. Wisst Ihr eine Lösung?

Gruß Domi
Hallo domi,

du hast dir schon mal die DAQmx-Beispiel-VIs angeschaut?
Du hast dort gelernt, wie man mehrere Kanäle mit nur einem DAQmx-Task lesen kann?
Du hast schon mal mit der DAQmx-Kanal-Auswahl herumgespielt oder dir die Anleitung dazu durchgelesen?
Schon mal drei Kanäle wie "Dev1/ai0:2" verwendet?

Zitat:Einen Task mit allen drei erstellen hat auch nicht funktioniert, danach wurde mir gar nichts mehr im Ausgabe-Graph angezeigt
Hat dir schon mal jemand gesagt, dass "funktioniert nicht" keine gute Fehlerbeschreibung ist?
Welche Fehler wurden angezeigt? Was hast du beim Debugging mit Sonden und Highlighting herausgefunden?
Offtopic2
Bitte immer DAQ-Hardware angeben

On-Topic:
Auf Grund deiner anderen Threads gehe ich davon aus, dass du weiterhin mit der USB-6215 arbeitest.
Das ist eine Multiplexer-Karte, auf der kannst du nicht mehrere AI-Tasks parallel laufen lassen. Die werden dann hintereinander gestartet.
Erfasse die drei AI mit einem Task, und es sollte funktionieren.

Gruß, Jens
Argh ich muss mir mal eine Merkliste aufschreiben was ich alles angeben muss wenn ich hier ein Problem beschreibe Confused

Tut mir leid natürlich arbeite ich noch mit dem USB-6215. Doch das Higlighting hat bei mir nicht so funktioniert wie sonst, dabei kam im Gegensatz zu "Echzeit" überhaupt keine Sprungantwort, deshalb habe ich hier nicht weiter geforscht.

Ich werde es noch einmal mit einem im MAX erstellten Task probieren, wenn das für mit diesem Wandler funktionieren sollte, vielleicht waren nur ein paar Einstellungen im MAX nicht richtig Blink

Gruß Domi
Hallo domi,

wozu MAX?

Du brauchst in deinem Bild oben nur:
- die zwei unteren Sequenzen löschen
- in der oberen die Kanalangabe zu "dev1/ai0:2" ändern
- statt "1Chan NSamp" nun "NChan NSamp" lesen...
(19.11.2013 14:10 )GerdW schrieb: [ -> ]Hallo domi,

wozu MAX?

Du brauchst in deinem Bild oben nur:
- die zwei unteren Sequenzen löschen
- in der oberen die Kanalangabe zu "dev1/ai0:2" ändern
- statt "1Chan NSamp" nun "NChan NSamp" lesen...

Habe es jetzt so probiert (oben einfach direkt ins HauptVI) doch nun wird gar nichts mehr ausgelesen die drei Graphen bleiben leer.
Als Fehlermeldung erhalte ich nach dem DAQmx Read:

Error -200019 occurred at GEN_Lastsprung_V10.vi

Possible reason(s):

ADC conversion attempted before the prior conversion was complete.

Increase the period between ADC conversions. If you are using an external clock, check your signal for the presence of noise or glitches.

Task Name: _unnamedTask<84>


Ich verstehe leider nicht genau was mir das sagen soll, ich weiß auch gar nicht was eine ADC "Umsetzung"? heißen soll.
Oder fehlt da schon wieder etwas wie ein "Wait until Task is done"?
Hallo domi,

weiter oben hast du noch mit einer Samplerate von 83333 gearbeitet, nun mit 240kHz. Warum? Habe ich irgendwo geschrieben, du sollst die Samplerate ändern?
- Schafft deine Hardware das überhaupt?
- Zum Fehler: Wie schon gesagt benutzt du eine Multiplexed-DAQ-Karte. Ein ADC kümmert sich um alle AI-Kanäle. Du willst nun öfter einen neuen Wert lesen, als der ADC überhaupt zu samplen schafft...
Die Karte schafft 250 kS/sec

Allerdings wenn ich dich richtig verstehe darf ich bei der rate auch nur ein drittel davon einstellen? Da er sonst nicht möglichst gleichzeitig ai0:2 auslesen kann?

Habs probiert es hat funktioniert Cool
Ihr seid die besten! Danke
Hallo domi,

Rtmfx
Da gibt es Specs, die sagen "250kS/s aggregate for multiple channels" und es gibt ein Manual mit einem großen Absatz zur SettlingTime, die man auch beachten sollte.

Nochmal Rtmfx !!!
(19.11.2013 14:49 )dbuckl schrieb: [ -> ]Die Karte schafft 250 kS/sec

Allerdings wenn ich dich richtig verstehe darf ich bei der rate auch nur ein drittel davon einstellen? Da er sonst nicht möglichst gleichzeitig ai0:2 auslesen kann?
Genau richtig. Diese Karte kann 250kS/sec "aggregate". Das ist die "Gesamtrate" für alle AI zusammen, da sie als Multiplexer-Karte nur 1 A/D-Wandler hat.
Das heißt also:
Bei 1x AI kannst du das Ding mit max. 250 Khz auslesen.
Bei 2x AI mit max. 125 KHz.
Bei 4x AI mit max. 62,5 kHz.

Gruß, Jens
Seiten: 1 2
Referenz-URLs