INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Problem mit Sub VI



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

13.11.2009, 10:25
Beitrag #1

Mathias Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Aug 2006

8.5.1
2009
de

CH
Schweiz
Problem mit Sub VI
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


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  Ausdampfen.vi (Größe: 43,64 KB / Downloads: 184)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 10:45
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Problem mit Sub VI
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

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 10:57
Beitrag #3

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
Problem mit Sub VI
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:

Sonstige .vi  Statemachine_mit_Enum.vi (Größe: 9,58 KB / Downloads: 218)
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:

Sonstige .vi  Beispiel_Cluster.vi (Größe: 9,38 KB / Downloads: 214)
LabVIEW Version 8.5
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 10:58 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2009 11:01 von unicorn.)
Beitrag #4

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Problem mit Sub VI
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 11:07
Beitrag #5

Mathias Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Aug 2006

8.5.1
2009
de

CH
Schweiz
Problem mit Sub VI
' 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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 11:11
Beitrag #6

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
Problem mit Sub VI
Verwendest du eine Eventsstruktur um die Werteveränderungen auszulesen? Oder wann wird eine Wertveränderung bemerkt?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 11:13
Beitrag #7

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Problem mit Sub VI
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.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 11:13
Beitrag #8

Mathias Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Aug 2006

8.5.1
2009
de

CH
Schweiz
Problem mit Sub VI
' 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???
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 11:17 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2009 11:18 von Y-P.)
Beitrag #9

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Problem mit Sub VI
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:
       

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

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 11:19
Beitrag #10

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Problem mit Sub VI
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: