LabVIEWForum.de - DAQ Assistent misst nicht korrekt

LabVIEWForum.de

Normale Version: DAQ Assistent misst nicht korrekt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Forum,

ich habe ein sehr nerviges Problem.

Über den DAQ Assistenten will ich Spannungen über 30 (analoge) Ports messen. In einer meiner alten Versionen vom VI, misst er richtige eine einzelne Spannung. Jetzt wollte, ich dass er mehrere Spannungen misst, da ich alle 30 Ports in Zukunft nutzen möchte.
Leider misst er jetzt gar nichts mehr richtig. Nur absurde Spannungen von 5,34..V obwohl der Bereich bei +-2V gesetzt wurde.

Anbei liegen beide VI Versionen. Version A ist meine aktuelle Version (die die nicht funktioniert). Version B ist die alte, die funktioniert.

Ich vermute es liegt irgendwie an den Einstellungen das DAQ:
Die Ports wurden richtig verbunden, als Test habe ich eine Batterie angeklemmt.
Als "Terminal Configuration" habe ich "Differential" gesetzt, da es später im Versuch eine Differenz messen soll.
Die "Timing Settings" sollen eigentlich von außerhalb kommen, wäre aber erstmal froh, wenn er erfolgreich die Spannung misst.

Weiteres:
Version B berechnet erstmal überhaupt nicht, da ich weiter hinten im Programm noch eine Menge Pointer und Array Probleme habe. Dies ist aber kein Problem, ich brauche bloß erstmal eine richtige Spannung

Danke für eventuelle Anregungen im Voraus.

MfG
Fiesco
1) Du hast deinen DAQ-Assi so konfiguriert, dass er einen AI-Eingang misst. Wie sollen da dann mehrere AI-Kanäle herauskommen? Nur das AI-Read auf N Channels umstellen hilft da nicht, du musst den Task, bzw. den DAQ-Assi schon richtig konfigurieren.
Zur Einführung in DAQmx sei hierauf verwiesen: http://www.labviewforum.de/Thread-Gettin...h-NI-DAQmx

2) Was für eine Messhardware hast du im Einsatz? 30 Analog-Ins im Differential Modus messen, das können nur wenige Karten.

3) In LabVIEW gibt es (im Prinzip) keine Pointer!

Gruß, Jens
Zu 1) Ich werde mich mal dort beslesen, danke für den Hinweis.

Zu 2) Ich bin gerade nicht mehr am Arbeitsplatz. aber Ni Gerät Name: USB 6229 (evt daq davor) ein gerät welches 31 analoge und 30 Digitale IO'S hat. Ziemlich teures aber sehr sehr schönes Ding

Zu 3) Über Pointer greife ich auf gewissen Stellen im Array zu. Die bezeichne ich auch als Pointer.
Die USB-Karte hat zwar 32 Eingänge, aber Single Ended. Sprich Differentiell gibt's nur 16...
richtig, da hab ich mich wahrscheinlich nicht korrekt ausgedrückt. 15 Messtellen werden mal später genutzt
Hallo,

also ich bin noch mal neu rann gegangen und hab eine sehr praktische Funktion gefunden, die meine ehemalige Arbeit unnütz und überflüssig macht. Was fürs leben gelernt....

Ich hab jetzt mal mehr nach dem Tutorial von NI gearbeitet.
http://www.ni.com/swf/devzone/ai/
Es misst anfangs realistische Werte, jedoch steigen die nach ein paar Durchgängen an, auf werte die nicht sinnvoll sind. Siehe Screenshot

Ich habe als Quelle 2 Batterien messen lassen, also sollte sowas wie 1,3-1,5V raus kommen.

Mein Messgerät: NI USB-6229 Pinout

Falls jemand noch einen Tipp hat, wäre ich sehr dankbar.

MfG
Fiesco
desweiteren würde ich mich noch dafür interessieren, ob man die Ports, zwischen denen gemessen wird, über lbaview umstellen kann?
zum Beispiel zwischen ai0 und ai8 zu ai0 und ai4

MfG
Fiesco
Nein, die Analog-In-Anschlüsse kannst du nicht frei routen.
Es gelten somit die Anschlussbelegungen aus http://www.ni.com/pdf/manuals/371022k.pdf, Seite 4-5.
Wenn du also AI0 im differentiellen Modus misst, dann musst du deine Kabel an AI0 und AI8 anschließen.

Zwecks deiner Frage davor, was hast du denn jetzt wie/wo angeschlossen?

Gruß, Jens

Offtopic2

1) Bitte nicht alles klein schreiben ( vgl. LVF-Regeln )
2) Versuche in Zukunft die richtigen LV-Fachbegriffe anzuwenden. Wir hatten ja schon den Pointer. Mag ja sein, dass du aus C gewohnt bist, per Pointer auf Array-Elemente zuzugreifen. In LabVIEW gibt es für alle Array-Operationen die entsprechenden Funktionen/VIs. KEINE Pointer. Ähnlich ist es mit dem Begriff Port, in Zusammenhang mit NI-DAQ-Karten bezeichnet Port die Zusammenfassung mehrerer DIO-Lines. Eine AI/AO Anschlussklemme als Port zu bezeichnen, kann sehr verwirrend sein.
Angeschlossen habe ich erstmal so, wie es vorgeschrieben ist. Also Differentiell ai0 (+) und ai8 (-) sowie ai4 (+) mit ai12 (-).
Mein Script soll den Mittelwert und die Standartabweichung berechnen. Beim ersten durchlaufen funktioniert das auch. Wenn man jedoch dies mehrmals durchlaufen lässt, ändern sich die Mittelwert von rund 1,5V auf 5,33V welches absolut nicht sein kann, da eine normal Baterrie angeschlossen ist.

P.s. Deinen Hinweis habe ich registriert.
Hallo Fiesco,

Jens schrieb: "Versuche in Zukunft die richtigen LV-Fachbegriffe anzuwenden."
Du schreibst: "Mein Script..."
Siehst du den Widerspruch? In deinem Blockdiagramm findet sich kein Script...

Zitat:Beim ersten durchlaufen funktioniert das auch. Wenn man jedoch dies mehrmals durchlaufen lässt,
- Hört sich nach einem Problem aufgrund fehlerhaft genutzter FeedbackNodes an. Du solltest mal deine aktuelle Version des VIs anhängen.
- Wenn ich mir deine "Version B" aus Beitrag #1 anschaue, sehe ich etliche Dinge, die mangelndes Verständnis offenbaren (wie: nicht autoindizierende FOR-Schleifen, umständliche RubeGoldberg-Berechnung des Mittelwerts, Nutzung des "N"-Eingangs bei FOR-Loops, geschachtelte Case-Strukturen obwohl eine ausreicht, generell schlechter Programmierstil etc.). Hier etwas nachzuarbeiten, kann auch nicht schaden...
Seiten: 1 2
Referenz-URLs