LabVIEWForum.de
LV newbie - SubVi und MainVi - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: LV newbie - SubVi und MainVi (/Thread-LV-newbie-SubVi-und-MainVi)



LV newbie - SubVi und MainVi - bender - 21.04.2008 14:36

Hallo

Ich bin Neueinsteiger in LV und habe ein Problem mit einem bereits geschriebenen vi. Um das eigentliche Problem zu beschreiben habe ich ein (stark) reduziertes Beispiel erstellt.

Prinzipiell geht es darum, dass mein SubVi eine While Schleife enthält und das SubVi über Bedienelemente gesteuert werden kann.
Füge ich das SubVi im MainVi ein und verbinde die Ein- und Ausgänge mit den gleichen Elementen zeigt sich nicht die gewünschte Funktionalität.

Ich habe bereits ein wenig rumgelesen und bin darauf gestoßen, dass so etwas wohl mit Referenzen gemacht werden muss - nur wirklich kapiert hab ich das dann doch nicht.

Auf das Frontpanel des SubVi's möchte ich eigentlich im MainVi nicht zugreifen können/müssen - also ohne UnterPanel (?) -> ich möchte alle elemente im MainVi neu anlegen und dort entsprechend ausrichten.
Wichtig ist noch, dass ich für das (eigentliche) SubVi unbedingt Taster im "Latch until pressed" Schaltverhalten brauche.

Kann mir da jemand weiterhelfen?

Gruß, bender

Lv82_img


LV newbie - SubVi und MainVi - MiHerr - 21.04.2008 14:59

Hi, habe selber erst vor kurzem mit LV angefangen.
Denke aber das Problem ist die Schleife, die Werte werden nur einmal beim Start der Schleife abgefragt, danach läuft die Schleife endlos und die Wertänderung wird nicht registriert.

Für den Stoppknopf kannst du auch eine Globalevariable verwenden.

Bei Refnum musst du Eigenschaftsknoten im Sub verwenden. Und im Main Refrenzen.
Hoffe hilft dir etwas.

Michael


LV newbie - SubVi und MainVi - blacky - 21.04.2008 15:22

Schleife im Sub Vi löschen und ins Haupt VI einbauen.

Das SubVI liest 1 mal die Daten ein und rennt dann ewig in der Schleife. Die Daten werden aber erst ausgegeben wenn das VI beendet ist.

mfg


LV newbie - SubVi und MainVi - bender - 21.04.2008 17:02

Hallo

Danke für die Schnelle Antwort....

@MiHerr:
Die Sache mit den Refnum mit Eigenschaftsknoten und den Referenzen hatte ich schon so halb hinbekommen - nur irgendwie komm ich da nicht weiter.
Eine Globale Variable für den Stopp-Knopf? Warum sollte das nicht auch über Referenzen gehen?

@blacky:
Das wollte ich ja gerade vermeiden - bei dem angegebenen Bsp. lässt es sich ja durchaus leicht umsetzen die Schleife in das MainVi zu bringen. Doch bei meiner Applikation nicht wirklich..

Ich häng an dem Prob schon ne Weile - ich glaub ich werds bald einfach ins MainVi reinkopieren.... (nieder mit der Lesbarkeit!)

Im Anhang mein aktueller Stand.... (LV 8.2; Zielsystem ist LV 7.1)

Hat noch jemand ne gute Idee?


LV newbie - SubVi und MainVi - jg - 21.04.2008 20:42

Das rote Sternchen bedeutet, das der Datentyp bei der Referenz mit übertragen wird (strict type reference).

Wie die LV-Onlinehilfe aber erklärt, geht das halt bei Latch-Booleans NICHT, basta.
[attachment=12131]

Die Referenz deiner LED muss natürlich auch ein Control (kein Indicator) sein. Du willst ja im Main-VI den Status der LED im SubVI anzeigen, also: Referenz der LED im Main-VI an das SubVI übergeben und dort den Wert per PropertyNode setzen.

Wenn du unbedingt beim Latch-Mechanismus bleiben willst (was gar nicht sein muss), dann kann man noch mit benutzerdefinierten Events "tricksen", so wie in folgenden VI's gezeigt. Bin aber nicht sicher, ob das schon in 7.1 ging.

Lv80_img
[attachment=12132]
[attachment=12133]

MfG, Jens


LV newbie - SubVi und MainVi - bender - 22.04.2008 12:48

Hallo

Es funktioniert - genau so wie ich es wollte! (Den Latch Mechanismus brauche ich doch nicht - somit hat es sich mit der Event-Steuerung erledigt).

Dais

Vielen Dank!