LabVIEWForum.de
Express VI oder DAQ Module?? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Express VI oder DAQ Module?? (/Thread-Express-VI-oder-DAQ-Module)



Express VI oder DAQ Module?? - KD - 12.07.2012 07:52

Hallo Zusammen,

ich möchte wissen, was mehr Vorteile hat: Express VIs oder eine selbst programmierte Signalerfassung.

Ich habe folgendes PRoblem: ich möchte 2 Spannungen vom NI DAQ Chassis 9188 einlesen über die Messkarte 9205.
Jetzt habe ich 2 Varianten: Mit einem Express VI erhalte ich ein genaues Ergebnis, das mit meinen Sollwerten übereinstimmt.
Mache ich es aber mit den NI DAQ Modulen, dann ist die Messung eher ungenau und für mich nicht brauchbar.

Was ich wissen möchte: Habe ich was vergessen oder könnte man das mit den DAQ Modulen verbessern?

Habe euch mal 2 Bilder angehängt, die zeigen sollen, was ich meine.

Danke für eure Hilfe im Voraus.

Gruss David


RE: Express VI oder DAQ Module?? - Schwand - 12.07.2012 08:24

Moin,

ich bin mir nicht sicher, aber bei deiner DAQ-Version mit den lokalen Variablen könnte es sein, dass du dir nen Fehler durch Race-Conditions reinholst. Du könntest entweder die Summe mit einem Schieberegister durch die einzelnen Schleifen schleifen(!!) oder gleich 100 Samples aufnehmen...Vielleicht ist das auch der Fehler, dass du bei dem Beispiel (geringfügig) länger für die Messung benötigst als das ExpressVI und daher sich ein Fehler einschleicht, zumal erst der erste Kanal 100 Samples misst und dann der zweite, beim ExpressVI misst er die Kanäle abwechselnd...glaub ich. Und du könntest noch die Abtastrate usw. mit dem SampleClock.vi einstellen.

Grüßle
S.


RE: Express VI oder DAQ Module?? - jg - 12.07.2012 08:34

Offtopic
Kein Doppelposting derselben Frage! Rulez

Parallel-Thread gelöscht.

Danke, Jens


RE: Express VI oder DAQ Module?? - GerdW - 12.07.2012 08:51

Hallo David,

neben dem Hinweis zur Verwendung der Hardwaretaktung der Messung:
- Man kann hier auch Bilder direkt anhängen (vorzugsweise im PNG-Format). Erst alles nach PDF zu verpacken, ist eher umständlich...
- Man kann auch die Messwerte per Tunnel in ein Array packen und davon den Mittelwert berechnen, z.B. mit der Mean-Funktion...
- Statt lokaler Variablen in einer Schleife sollte man ein Schieberegister nehmen.
- Ja, du hast eine RaceCondition: Dein Initialisieren der lokalen Variablen muss nicht unbedingt vor Ausführung der Messchleife stattfinden. D.h. die Summenbildung könnte dadurch nachträglich noch gestört werden. Ließe sich aber mit dem Schieberegister und dem Verzicht auf lokale Variablen vermeiden...
- Man kann in einem DAQmx-Task auch mehrere Kanäle zusammenfassen, sodass man keine 2 parallelen Schleifen bräuchte...
- Was auch einen Unterschied machen dürfte: Das Softwaretiming von 1ms wird unter Windows nie korrekt eingehalten werden. Du bist dir nie sicher, wann genau dadurch Samples aufgenommen werden. Außerdem: du hast zwei parallele DAQmx-Zugriffe, denen du jeweils ein Timing von 1ms verpasst. Ich bin mir nicht sicher, ob der DAQmx-Treiber so schnell solche Zugriffe verarbeiten kann! Siehe Hinweis oben: Hardware-Timing verwenden!

- Bei der ExpressVI-Variante: man muss das DDT-Signal nur einmal in ein Array umwandeln - oder machen die zwei Konvertierungen etwas unterschiedliches?
- Bei der ExpressVI-Variante: man kann das IndexArray aufziehen und zwei Werte mit einmal indizieren. Auch muss man nicht "0" und "1" an den Index anschließen...


RE: Express VI oder DAQ Module?? - KD - 12.07.2012 10:10

Hallo GerdW,
ich habe die lokalen Variablen durch ein Schieberegister ersetzt.
Nur habe ich noch das Problem, dass ich immer noch nicht die richtigen werte habe.
Muss ich die Elemente " Trigger" und " Timing" auch verwenden?

Lg David


RE: Express VI oder DAQ Module?? - GerdW - 12.07.2012 12:55

Hallo David,

Zitat:Muss ich die Elemente " Trigger" und " Timing" auch verwenden?
Ich kenne weder den aktuellen Stand des VI noch die Einstellungen, dir du im ExpressVI vorgenommen hast...

Zitat:Problem, dass ich immer noch nicht die richtigen werte habe.
Was sind "richtige" Werte, wie äußern sich "falsche" Werte?

Wenn dein Beispiel mit dem ExpressVI wirklich gut funktioniert und du wissen willst, wie man das gleiche mit den "normalen" DAQmx-Funktionen programmiert: Einfach das ExpressVI öffnen! Dann fragt dich LabVIEW, ob du es in ein "normales" VI konvertieren willst, was du dann mit "Ja, ich will!" beantwortest... Smile