LabVIEWForum.de - Stromstärke und Spannung mit NI USB-6259 messen und darstellen

LabVIEWForum.de

Normale Version: Stromstärke und Spannung mit NI USB-6259 messen und darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi,

ich muss im Rahmen meiner Bachelorarbeit einen Versuchsaufbau zur Temperaturmessung mit LabVIEW steuern und bin mit diesem Programm noch nicht allzu vertraut.

Ich regele über die analogen Ausgänge die Stromstärke und Spannung und möchte diese über die analogen Eingänge zur Kontrolle einlesen und in einem Chart darstellen. Hierbei habe ich vollgendes Problem:

Wenn ich die Stromstärke oder Spannung einzelnd auslese, sprich den zweiten Einlesevorgang aus dem Programm nehme, erscheint eine stetige Linie, die mit dem Gerätewert übereinstimmt. Möchte ich allerdings beide Werte auslesen springen die beiden Graphen immer zwischen Null und dem eingestellten Wert hinundher. Gibt es eine Möglichkeit dieses zu umgehen, bzw wo liegt hier die Ursache. Ich vermute bei dem gleichzeitgen Einlesen der beiden analogen Eingänge, ich hab nur leider keinen blaßen Schimmer wie ich das schöner machen kann. Ich hoffe ihr könnt mir helfen.

Vielen Dank schon mal, und hier noch meine VI


[attachment=46902]
Lad mal das VI hoch, bei dem du versuchst, Spannung & Strom zu messen.

Gruß, Jens
Upps, danke!
Hier ist das richtige:

[attachment=46905]
Hallo Christian,

das Problem bei DAQmx-Tasks, die im MAX definiert werden, ist, dass deren Einstellungen nur auf dem Entwicklungsrechner zur Verfügung stehen...

Kannst du uns auch mitteilen, wie die DAQmx-Tasks parametriert sind?

- Warum gibt es 4 Tasks, wenn du eigentlich nur 2 Tasks (einen AI, einen AO) benötigst? Kannst du die Tasks nicht zusammenfassen und jeweils 2 Kanäle pro Task lesen/schreiben?
- Wenn du wirklich mit 1kHz Samplerate arbeiten willst, solltest du den Tasks ein entsprechendes Timing verpassen. Beispiele dazu gibt es im Examplefinder. Die jetzige Konstruktion mit einem 1ms-Wait wird laufen, aber garantiert nicht im 1ms-Takt...
- Ich persönlich finde es blöd, wenn ein Chart gelöscht wird, wenn man das Programm beenden will. Du etwa nicht?
Hi Gerd,

vielen Dank für deine schnelle Antwort.
Ich hoffen mit den beiden Screenshots im Anhang kann ich deine erste Frage beantworten. Sonst kann ich mit parametriert nicht so viel anfangen.

Zu der zweiten muss ich sagen, dass ich gedacht habe dass ich jeden Ein- bzw. Ausgang mit einem eigenen Task ansteuern muss. Ist das auch anders möglich?

Die Wartezeit habe ich normalerweise auf 10ms eingestellt, aber zum Rumprobieren variabel auch mal aus nur 1ms verringert, um zuschauen ob sich hierbei was verändert.

Da habe ich mir noch gar keine Gedanken drum gemacht, vielleicht nehme ich das auch wieder raus und lasse zu Anfang den Chart löschen.

[attachment=46923][attachment=46924]
Die Tasks Spannung_Erzeugen und Spannung_Lesen sind identisch, nur der physikalische Kanal ändert sich.
Hallo Christian,

Zitat:gedacht habe dass ich jeden Ein- bzw. Ausgang mit einem eigenen Task ansteuern muss. Ist das auch anders möglich?
Wenn du mal auf deine eigenen Bilder schaust, dann siehst du ein "+"-Icon bei der Kanalauswahl. Welche Bedeutung mag das wohl haben?
Außerdem: Hast du dir schon mal die vielen Beispiel-VIs zu DAQmx angeschaut?

Zitat:lasse zu Anfang den Chart löschen
Das würde ich als "normale Vorgehensweise" bezeichnen... Big Grin

Zitat:Die Wartezeit habe ich normalerweise auf 10ms eingestellt
Dann kannst du dem AI-Task auch eine Samplerate von 100Hz verpassen (Modus: "kontinuierlich"), dann brauchst du keine extra Wartezeit mehr in der Schleife...
HI Gerd,

das Lesen mache ich jetzt über einen Task mittels multiple channels, single samples; 1D Waveform und beide Graphen werden stetig dargestellt. (ohne Fehlermeldung)

Aber beim Schreiben benutze ich weiterhin jeweils einen, da ich Spannung und Stromstärke mit seperaten Regelern steuern möchte. Wahrscheinlcih könte ich das über ein Array auch mit der Multiple Channel Version, aber ist das besser? Funktioniert doch auch so schon (;

Vielen Dank für deine Hilfe!
Hallo Christian,

Zitat:Aber beim Schreiben benutze ich weiterhin jeweils einen, da ich Spannung und Stromstärke mit seperaten Regelern steuern möchte. Wahrscheinlcih könte ich das über ein Array auch mit der Multiple Channel Version, aber ist das besser? Funktioniert doch auch so schon (;
Funktionieren wird es auch so...
Ob es besser ist, nur einen Task statt zweier zu nehmen? Musst du selbst entscheiden: du sparst dir einen DAQmxWrite-Aufruf. Dass du separate Regler nimmst, ist dabei unerheblich (solange beide ca. gleich schnell arbeiten): es werden zwei Messwerte gelesen, separat verarbeitet und die Rechenergebnisse dann mit einem einzigen DAQmxWrite ausgegeben.
Referenz-URLs