LabVIEWForum.de
Problem mit Sub VI - Druckversion

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

Seiten: 1 2


Problem mit Sub VI - Mathias - 13.11.2009 10:25

Hallo zusammen

Ich bin ein rechter Grünschnabel im Thema LabVIEW. Für eine Prüfsoftware, habe ich zusätzlich ein Sub VI geschrieben "Ausdampfen" welche ich im normalen Ablauf aufrufe "siehe Bild". Jetzt ist es so, der normale Ablauf ist zeitlich gesteuert und das Sub VI auch. Ich vermute, dass es hier ein Problem gibt. Aber wie kann ich das lösen?

Anhang: Sub Vi (LV 8.5.1) + Aufruf (Bild)

Danke für eure Hilfe

Grüsse Mathias


Problem mit Sub VI - Y-P - 13.11.2009 10:45

Ein paar Infos mehr wären nicht schlecht. Was erwartest Du für Probleme?
Noch was: Schließ' doch die Controls und Indicators direkt an und keine lokalen Variablen. Die sind in diesem Fall sowas von überflüssig.

Gruß Markus


Problem mit Sub VI - M Nussbaumer - 13.11.2009 10:57

Ich hab mir dein SubVI angesehen und würde dir Enums anstatt Zahlen empfehlen, erhöht die Lesbarkeit wesentlich und verringert den Dokumentationsbedarf ^_^
Die Frage ist ob du das SubVI parallel zu deinem Aufruf laufen soll, oder ob der Aufruf dein SubVI starten und anschliessend immer wieder starten soll?
Evtl wäre das VI mit dem Aufruf auch noch interessant für die Problemlösung

Also hier mal ein kleines Enum-Beispiel:
[attachment=22487] LabVIEW Version 8.5

Zudem ist dein SubVI ziemlich schwer zu verbinden, grundsätzlich sollte man das 4x2x2x4 Pattern verwenden. Wenn man mehr Daten übergeben will so verwendet man Cluster:

Hier ein kleines Cluster Beispiel:
[attachment=22489] LabVIEW Version 8.5


Problem mit Sub VI - unicorn - 13.11.2009 10:58

Nur mal so eine Vermutung aus der Namensgebung der lokalen Variablen:
Die Werte für Weiter1, Wiederholen1 und Abbruch1 stehen bei Aufruf des SubVI fest. Eine Änderung nach Beginn der Ausführung des SubVI hat keinen Einfluss auf die Ausführung des SubVI.


Problem mit Sub VI - Mathias - 13.11.2009 11:07

' schrieb:Nur mal so eine Vermutung aus der Namensgebung der lokalen Variablen:
Die Werte für Weiter1, Wiederholen1 und Abbruch1 stehen bei Aufruf des SubVI fest. Eine Änderung nach Beginn der Ausführung des SubVI hat keinen Einfluss auf die Ausführung des SubVI.

Nein eigentlich ist es so gedacht, dass ich mit diesen Variabeln auch während dem Aufruf die Steuerung des VI übernehmen kann. Ist das nicht möglich???

Das Sub VI soll auch die Anweisungen an das Haupt VI hoch geben und das Haupt VI soll es dann an den Benutzer weitergeben.


Problem mit Sub VI - M Nussbaumer - 13.11.2009 11:11

Verwendest du eine Eventsstruktur um die Werteveränderungen auszulesen? Oder wann wird eine Wertveränderung bemerkt?


Problem mit Sub VI - Y-P - 13.11.2009 11:13

Um während der Laufzeit Daten zwischen HauptVI und SubVI auszutauschen brauchst Du Referenzen. Hier im Forum gibt's einige Bsp. dazu.

Gruß Markus

' schrieb:Nein eigentlich ist es so gedacht, dass ich mit diesen Variabeln auch während dem Aufruf die Steuerung des VI übernehmen kann. Ist das nicht möglich???

Das Sub VI soll auch die Anweisungen an das Haupt VI hoch geben und das Haupt VI soll es dann an den Benutzer weitergeben.



Problem mit Sub VI - Mathias - 13.11.2009 11:13

' schrieb:Ich hab mir dein SubVI angesehen und würde dir Enums anstatt Zahlen empfehlen, erhöht die Lesbarkeit wesentlich und verringert den Dokumentationsbedarf ^_^
Die Frage ist ob du das SubVI parallel zu deinem Aufruf laufen soll, oder ob der Aufruf dein SubVI starten und anschliessend immer wieder starten soll?
Evtl wäre das VI mit dem Aufruf auch noch interessant für die Problemlösung

Also hier mal ein kleines Enum-Beispiel:
[attachment=50700:Statemac...mit_Enum.vi] LabVIEW Version 8.5

Zudem ist dein SubVI ziemlich schwer zu verbinden, grundsätzlich sollte man das 4x2x2x4 Pattern verwenden. Wenn man mehr Daten übergeben will so verwendet man Cluster:

Hier ein kleines Cluster Beispiel:
[attachment=50702:Beispiel_Cluster.vi] LabVIEW Version 8.5

Danke erstmal für die Infos. Der Aufruf startet das Sub VI und die Variabeln vom Aufruf sollen vom Sub VI ausgeführt werden. Bsp. Die Variabel "Weiter1" ist ein Button vom Haupt VI für die Eingabe des Benutzers. Im Schritt 24 soll jetzt der Sub VI Ausdampfen gestartet werden und auch mit dem Button "Weiter 1" bedient werden können. Aus diesem Grund verschalte ich die Variabel Weiter 1 mit der Variabel im Sub VI Weiter. Funktioniert das nicht??? wie kann ich das den sonst lösen???


Problem mit Sub VI - Y-P - 13.11.2009 11:17

Hier ist so ein Bsp. zu den Referenzen. Es sollte Dir halt noch jemand runterspeichern auf LabVIEW 7.1.

Aber hier sind schon mal die Screenshots:
[attachment=22491][attachment=22492]

Gruß Markus

' schrieb:Um während der Laufzeit Daten zwischen HauptVI und SubVI auszutauschen brauchst Du Referenzen. Hier im Forum gibt's einige Bsp. dazu.

Gruß Markus



Problem mit Sub VI - unicorn - 13.11.2009 11:19

Wenn Du gleichzeitig ein LabVIEWprogramm über das Userinterface steuern und Messdaten aufzeichen/verarbeiten möchtest, benötigst Du zwei Parallele Schleifen (Zwei Schleifen, die gleichzeitig abgeabeitet werden). Die eine Schleife steuert das UI, die die Datenverarbeitung. Die Kommunikation zwischen beiden findet über Queues statt. Das ist das sogenannte Producer-Cosumer-Pattern. Kann man sich bei den LV-Beispielen ansehen.

Sorry, dass ich nur die englischen Namen parat habe. Ich arbeite mit der englischen LV 8.6 Version.