LabVIEWForum.de
Datenerfassungs sub.VI - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Datenerfassungs sub.VI (/Thread-Datenerfassungs-sub-VI)



Datenerfassungs sub.VI - Katha22 - 15.11.2010 12:41

Hallo,

ein Teil meiner Bachelorarbeit ist es, ein LabVIEW Programm für meinen aufgebauten Teststand zur Automatisierung zu schreiben. Mein Professor hat mich nun gebeten, zunächst ein Unterprogramm zur Datenerfassung zu entwickeln, das später jeder nutzen kann.
Das Programm ist noch in LabVIEW 7.1 geschrieben.
Zur Verifizierung meines VIs wollte ich nun eine Spannung mit einem Funktionsgenerator erzeugen und diese dann darstellen. Ich bekomme aber immer die Fehlermeldung (siehe Anhang).
Kann mir jemand helfen? Ich benutze die Messwerterfassungakrte NI PCI-MIO-E16 von National Instruments.
Im MAX habe ich für das Sinussignal folgendes eingestellt: Rate (Hs): 10000 und zu lesende Werte: 100

Ich bin dankbar für jede Antwort!

lg Katha


Datenerfassungs sub.VI - Y-P - 15.11.2010 16:29

Du solltest Deinen Task auch generieren und starten, bevor Du liest (und natürlich am Schluss auch beenden). Die Fehlermeldung sagt wohl, dass Deine Waveform leer ist. Hast Du da mal eine "Probe" und einen "Breakpoint" gesetzt?

Gruß Markus


Datenerfassungs sub.VI - jg - 15.11.2010 18:56

Tja, wenn das Datenerfassung_sub_VI.vi von irgendeinem VI aufgerufen wird, wäre es für weitere Analysen günstig, das auch hochzuladen. Da muss dann die Einstellung des DAQ-Tasks drin sein, über die wir momentan nur spekulieren können.Glas2

Gruß, Jens


Datenerfassungs sub.VI - Katha22 - 16.11.2010 21:23

Danke schon mal für die Antworten.
Ich habe jetzt noch ein VI entworfen, dass das Datenerfassungs_sub.VI aufrufen soll. Leider bekomme ich immer noch keine Werte.
Habe in LabVIEW leider noch nicht viel gemacht und kenne mich da noch nicht so gut aus mit der Datenerfassung.

schöne Grüße
Katha

Lv09_img2


Datenerfassungs sub.VI - Y-P - 17.11.2010 07:25

Arbeite Dich mal dort ein:
http://www.labviewforum.de/index.php?s=&am...ost&p=70372
Wenn Du danach noch ein Problem hast, dann immer her damit. Big Grin

Gruß Markus


Datenerfassungs sub.VI - Katha22 - 17.11.2010 13:06

Hallo,

ich glaube ich bin jetzt schon einen Schritt weiter, zumindest bekomme ich schon mal einen Sinus oder Rechteck oder so in LabVIEW rein. Allerdings möchte ich das Signal dann auch noch gefiltert darstellen. Auf dem Graphen für das gefilterte Siganl bekomme ich dann allerdings keine Anzeige mehr, woran kann das liegen?
Im Anhang sind noch mal meine VIs. Das Datenerfassung_funktionsgenerator.vi ist das Hauptprogramm, das Signale zunächst mal von einem Funktionsgererator darstellen soll.

Vielen Dank noch mal für die Hilfe bisher!!!

schöne Grüße
Katha


Datenerfassungs sub.VI - Katha22 - 17.11.2010 13:10

Hab noch was vergessen.
Die hochgeladenen VIs sind noch in LabVIEW 7.1 geschrieben. Hab in der Hochschule leider noch keine aktuellere Version.

lg Katha


Datenerfassungs sub.VI - Matze - 17.11.2010 13:11

Hallo Katha

' schrieb:Allerdings möchte ich das Signal dann auch noch gefiltert darstellen. Auf dem Graphen für das gefilterte Siganl bekomme ich dann allerdings keine Anzeige mehr, woran kann das liegen?
So wie du es umgesetzt hast, wird das gefilterte Signal schon dargestellt, jedoch nur beim Verlassen der Schleife also beim Programmende.
Wenn du beide Graphen innerhalb deiner While-Schleife platzierst, dann solltest du beide Signale während der Erfassung sehen können.

Nachtrag: Ach ne verguckt, sorry. Außerhalb ist ja nochmals eine Schleife.
Ich habe mich durcheinanderbringen lassen, weil du einen Graphen in der inneren Schleife platziert hast und einen in der äußeren.
Ich würde Start-Task, Timing etc. komplett außerhalb der Schleife platzieren, denn den Task musst du eigentlich nicht fortlaufend neu konfigurieren/starten, sondern nur bei Programmstart (und nach Verlassen der Schleife beenden).
Es reicht dann, die Erfassung in die Schleife zu nehmen. Dann kommst du auch mit einer While-Schleife aus, wenn ich das richtig sehe.

Wie äußert sich das Ganze denn aktuell, bleibt der Graph leer?


Datenerfassungs sub.VI - Katha22 - 18.11.2010 11:33

Hallo,

also der Graph bleibt komplett leer, aber auch wenn ich task/channels in und error in außerhalb der Schleife plaziere.

lg Katha


Datenerfassungs sub.VI - jg - 18.11.2010 20:38

Du hast einen Eingang "Trigger ein/aus" an deinem SubVI definiert, da aber nichts angeschlossen.

Beim Aufruf des SubVI wird deshalb dieser Wert mit seinem Standardwert belegt, in deinem Fall False. Im Fall False gibst du aber ein leeres Signal weiter. Das halte ich für sub-optimal...

Gruß, Jens