LabVIEWForum.de
Sub-VI Zusammenbauen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Sub-VI Zusammenbauen (/Thread-Sub-VI-Zusammenbauen)

Seiten: 1 2 3


Sub-VI Zusammenbauen - dbuckl - 26.09.2013 15:09

Hi Leute,

ich versuche gerade mein erstes selbstgeschriebenes Labview Programm aus den einzelnen Sub-VI's zusammen zu setzen.
Die VI's funktionieren einzeln mitlerweile ohne Probleme und/oder Fehlern.

Doch wenn ich sie in ein VI setzen erhalte ich zwar kein Fehler aber es wird weder etwas gelesen noch geschrieben.
Mir ist klar das ich, da das alles unabhängige Programme sind irgendeinen Zeitlichen Ablauf definieren muss.
Ich habe es schon mit einer dreiteiligen Sequenz versucht doch das hat auch nicht genützt.
Vorallem war der erste Teil der Sequenz das analoge einlesen, das allerdings kein ende hat sondern kontinuierlich passiert,
weshalb die Sequenz dann schonmal nicht weiter lief.

Ich hoffe ihr könnt mir villeicht ein paar Tipps geben, ich habe schon einiges probiert aber komme einfach nicht weiter gerade Undecided

Die Bilder von FP und BD sind im Anhang

Gruß Domi


RE: Sub-VI Zusammenbauen - GerdW - 26.09.2013 15:55

Hallo dbuckl,

das mit dem zeitlichen Ablauf ist nicht so einfach, oder? Big Grin

Pseudocode:
Code:
INIT Schnittstelle
INIT Gerät
Loop
   Measurement
End Loop
DeINIT Gerät
CLOSE Schnittstelle
Bei dir läuft alles parallel, das kann nicht funktionieren. Insbesondere, wenn du die VISA-Referenz schließt...


RE: Sub-VI Zusammenbauen - dbuckl - 26.09.2013 21:17

Danke! Jetzt wo ich das lese meine ich das sogar schon in einer meiner ersten C Vorlesungen
gelernt zu haben Big Grin

Werde es morgen gleich einmal testen auf der Arbeit

Gruß Domi


RE: Sub-VI Zusammenbauen - dbuckl - 27.09.2013 07:08

Also bei mir funktioniert das nicht Huh
Ich versteh das aber auch nicht ganz, ich kann die drei ja quasi gar nicht verbinden.
Also muss ich sie als Sequenzen ablaufen lassen? Außerdem wie Deinitialisiert man den das Gerät?

Habe mal ein Bild hochgeladen von meinem Versuch und das Projekt auch als .zip Sad
Vill kann sichs jemand mal kurz ansehen oder mir noch weitere Tipps geben?

Gruß Domi

lv13_img


RE: Sub-VI Zusammenbauen - GerdW - 27.09.2013 08:02

Hallo dbuckl,

Zitat:Vill kann sichs jemand mal kurz ansehen oder mir noch weitere Tipps geben?
Sobald du es für eine ältere LV-Version bereitstellst. Die allerneueste ist noch nicht so verbreitet.

Tipp: Genau dafür werden die Profilangaben jedes Users hier links vom Beitrag dargestellt... Big Grin

Zitat:ich kann die drei ja quasi gar nicht verbinden.
Laut deinem Bild haben die subVIs alle einen ErrorIn/Out-Anschluss. Warum sollte man sie also nicht verbinden können und damit den DATAFLOW sicherstellen?


RE: Sub-VI Zusammenbauen - Y-P - 27.09.2013 08:16

Für Gerd: Big Grin
[attachment=46507]
Lv80_img

Gruß Markus

(27.09.2013 08:02 )GerdW schrieb:  Hallo dbuckl,

Zitat:Vill kann sichs jemand mal kurz ansehen oder mir noch weitere Tipps geben?
Sobald du es für eine ältere LV-Version bereitstellst. Die allerneueste ist noch nicht so verbreitet.

Tipp: Genau dafür werden die Profilangaben jedes Users hier links vom Beitrag dargestellt... Big Grin

Zitat:ich kann die drei ja quasi gar nicht verbinden.
Laut deinem Bild haben die subVIs alle einen ErrorIn/Out-Anschluss. Warum sollte man sie also nicht verbinden können und damit den DATAFLOW sicherstellen?



RE: Sub-VI Zusammenbauen - dbuckl - 27.09.2013 08:20

Hier in LV9 Happy
hast recht, bei Windows würde ich auch nie die neuste Version verwenden Angel_not

Ja die Error Ein/Ausgänge wollte ich sowieso noch verbinden, allerdings wollte ich dazu noch ein VI schreiben
das bekannte fehler erkennt und dem User dazu einen vertändlichen Debug text in einem kleinen Textfenster am FP ausgibt.
Das Gerät hat nämlich immer die gleichen fehler, den man mit neustart des gerätes oder schließen und neustarten von Labview und Max beheben kann.
Scheinbar dürfen nicht zwei Programme gleichzeitig zugreifen.
Und sobald das Gerät einen Fehler im Speicher hat kann man es oft gar nicht mehr ansteuern, deshalb dann Neustart.

EDIT: oh danke Y-P da warst du wohl schneller als ich Tongue


RE: Sub-VI Zusammenbauen - GerdW - 27.09.2013 08:29

Hallo Domi,

zum einfachen Verbinden:
[attachment=46509]

Ich halte es für sehr ungünstig, zum Konfigurieren eines DAQmx-Gerätes den DAQ-Assistenten zu verwenden. Entweder nutzt du üerall den Assistenten (also vor allem bei der Messung) oder du nutzt überall die "einfachen" DAQmx-Funktionen. Mixen geht gern schief...

Außerdem:
[attachment=46510]
Was soll das Umwandeln in DDT?
Wozu fragst du "N Samples" ab, wenn du hinterher nur einen einzelnen Wert haben/speichern willst?
Der Kommentar zur Wartezeit ist "Blödsinn": wenn man einen Verlauf erkennen will, sollte man eine graphische Anzeige nutzen...
Und vor allem: was erwartest du für Messwerte im zweiten Durchlauf der Schleife, wenn du im ersten Durchlauf den DAQmx-Task löscht? Hmm

Wie war das oben mit dem Pseudocode zum zeitlichen Ablauf?


RE: Sub-VI Zusammenbauen - dbuckl - 27.09.2013 09:00

Vielen Dank! Ich werde es dann gleich mal probieren...

Du hast total Recht und ich hatte zuerst auch zwei DAQ Assistenten verbaut.......doch ich wollte eigenlich versuchen die beiden zu verbinden So das vor dem SettingControl das Gerät eingelesen wird und danach gleich der passende auslese Task an das Display.vi weitergegeben wird. Deshalb habe ich zuerst im Display.vi eine Labview funktion genutzt die aus dem DAQ Assistenten automatisch DAQ Bausteine einsetzt die angeblich passen sollen, dabei worde auch der Clear Task gesetzt........den ich dann nciht weiter beachtet habe, den ich aber für ein gesamt VI scheinbar herausnehmen muss?!

Das mit der Wartezeit der angabe habe ich nur deshalb gemacht, da der Wert der leistung ständig um bis zu +-10 an allen Stellen geschwankt hat, da ja quasi in Echtzeit (also Gerätespezifisch 250kS/s) abgetastet wird und sich die Ziffern so schnell verändert haben das man nicht erkennen konnte ob die Leistung gerade z.B. 85 oder 91 Watt ist. (so sieht das aus, siehe Bild)

Was meinst du mit umwandeln in DDT? weiß leider nicht was die Abkürzung heißt :blink
N Samples weil ich wie auf dem Gerätedisplay laufend die Änderungen der Werte abfragen möchte.

Ich bin leider wirklich noch etwas unerfahren, verzeiht mir bitte wenn ich die grundlegenden Labview Strukturierungen
und Regeln noch nicht so drauf habe Wacko

Gruß Domi


RE: Sub-VI Zusammenbauen - GerdW - 27.09.2013 09:06

Hallo Domi,

Zitat:Was meinst du mit umwandeln in DDT?
DAQmxRead liefert ein 1D-Array von Waveforms. Du verwendest danach SplitSignal und erzeugst so DDT (DynamicDataType). Warum nicht einfach IndexArray verwenden, wenn man die einzelnen Elemente eines Array haben will?

Zitat:da ja quasi in Echtzeit (also Gerätespezifisch 250kS/s) abgetastet wird
Aha.
Und was machst du aus diesen Messwerten? Alle 150ms werden ca. 37500 Messwerte abgefragt und nur ein einziger davon weiterverwendet!
Wozu stellst du deine Samplerate dann überhaupt so hoch ein? Hmm

Zitat:den ich dann nciht weiter beachtet habe
Hmm
Schon mal die Kontexthilfe aufgemacht und gelesen?

Zitat:den ich aber für ein gesamt VI scheinbar herausnehmen muss?!
Ja, zumindest aus der Schleife...

LabVIEW bringt so viele fertige Beispiele mit. Hast du sie dir schon mal angeschaut?
Ich kann mich nicht erinnern, in den Beispielen irgendwo den DAQ-Assi gesehen zu haben. Stattdessen wird dort immer der korrekte Gebrauch der DAQmx-Funktionen erläutert.
Außerdem: hast du die Links in meiner Signatur beachtet?