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 

Werte aus Sub VI im Haupt VI anzeigen



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!

22.09.2006, 10:46
Beitrag #1

Myjestic Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2006

8.00
2004
kA


Deutschland
Werte aus Sub VI im Haupt VI anzeigen
Hallo,

Habe ein Sub VI gebaut, indem eine While Schleife abgearbeitet wird.
Diese Sub VI binde ich nun in mein Haupt VI ein.

Welche Möglichkeiten gibt es, dieses Sub VI zu beeinflussen. Mein Problem ist ja, dass die While Schleife im SubVI erst bis zur Abbruchbedingung durchgeführt wird, bevor etwas anderes geschehen kann.

Ich würde gerne aktuelle Werte aus diesem Sub VI ins Haupt VI übernehmen und auch z.B. von außen eine Stopanweisung schicken können.

Vielen Dank
Myjestic
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.09.2006, 10:57
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Werte aus Sub VI im Haupt VI anzeigen
Globale Variablen, Queues, Notifier...

Such mal im Forum...

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.09.2006, 11:06
Beitrag #3

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
Werte aus Sub VI im Haupt VI anzeigen
Hallo!

Der Antwort von Achim füge ich noch die Referenzen hinzu!
Ist noch nicht allzulange her, da haben wir einen ähnliche Frage hier gehabt!
Such mal danach!

Gruß
Andreas

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2006, 11:05
Beitrag #4

Myjestic Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2006

8.00
2004
kA


Deutschland
Werte aus Sub VI im Haupt VI anzeigen
<div align="left">Hallo, danke für die Hinweise, ich habe es mit den von Euch genannten Möglichkeiten versucht, leider verstehe ich nur die Verwendung von globalen Variablen.

Ich habe mal ein SubVI und ein MainVI angefügt.

Könnt Ihr bitte mal so nett sein und diese VIs so umschreiben, dass ich im MainVI bei laufendem Programm die I32 Werte aus dem SubVI sehen kann. Des Weiteren soll der Stop Button aus dem MainVI die Schleife im SubVI stoppen. (mittels Notifier, Occurence und Reference)

Vielleicht verstehe ich es endlich anhand eines Beispiels.

Vielen Dank.

</div>


Angehängte Datei(en)
Sonstige .vi  SubVI.vi (Größe: 7,3 KB / Downloads: 593)

Sonstige .vi  MainVI.vi (Größe: 6,63 KB / Downloads: 573)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2006, 11:24
Beitrag #5

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Werte aus Sub VI im Haupt VI anzeigen
Hi,

was hast du denn eigentlich vor? Wie du schon richtig gesagt hast, läuft das übergeordnete VI nicht, wenn erst mal ins SubVI gesprungen wurde. Da wird auch kein Abbruchbefehl mehr akzeptiert, es sei denn, dieser wird direkt im SubVI gegeben. Da geht allerdings nur wenn

1. ...das Frontpanel des SubVIs geöffnet ist und dort z.B. ein Stop-Button verfügbar ist

oder

2. ....das SubVI in einer parallel zur Hauptschleife liegenden While-Schleife abgearbeitet wird. Dann kann man aus der Hauptschleife heraus z.B. einen Befehl über ein globale Variable oder über eine Queue etc. verschicken!

Alternativ könntest du die Abarbeitung des SubVI auch in einem immer wiederkehrenden Schritt einer State Machine abarbeiten.

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2006, 11:44
Beitrag #6

StefanHH Offline
LVF-User
*


Beiträge: 35
Registriert seit: Aug 2006

7.0, 8.21, 8.5, 2013
2006
DE_EN

21220
Deutschland
Werte aus Sub VI im Haupt VI anzeigen
<div align="left">Hallo Myjestic,

ich habe Dir das Programm auf die Anwendung mit Referenzen abgeändert.
Ein weiterführendes Beispiel hatte ich zum Ende der letzten Woche gepostet.
--> http://www.LabVIEWforum.de/index.php?showtopic=3615

Vielleicht hilft es Dir ja weiter.

Schöne Grüße,
Stefan


Sonstige .vi  MainVI.vi (Größe: 7,52 KB / Downloads: 1078)


Sonstige .vi  SubVI.vi (Größe: 11,2 KB / Downloads: 940)


</div>

Unter Intuition versteht man die Fähigkeit gewisser Leute,
eine Lage in Sekundenschnelle falsch zu beurteilen.
-Friedrich Dürrenmatt-
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2006, 11:47
Beitrag #7

Myjestic Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2006

8.00
2004
kA


Deutschland
Werte aus Sub VI im Haupt VI anzeigen
<div align="left">Mein Vorhaben ist folgendes. Ich habe einige Regelalgorithmen entwickelt, die ich jeweils in ein SubVI verpackt habe. Diese würden auch autonom laufen. (Diese Algorithmen direkt ins Hauptprogramm zu packen würde eine übles Durcheinander verursachen) Jetzt möchte ich ein Hauptprogramm erstellen, in dem einer der von mir erstellten Regelalgortihmen angewählt werden kann.

Die Werte des jeweiligen Reglers, sprich ISTwerte etc. möchte ich gerne in meinem MainVI angezeigt bekommen. Und durch ein Stopbutton soll der jeweilige Regelalgorithmus gestoppt werden. Das ist eingentlich schon alles.</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2006, 12:13 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2006 12:24 von Achim.)
Beitrag #8

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Werte aus Sub VI im Haupt VI anzeigen
@ Stefan:

Irgendwie hab ich's nicht geblickt! Was bringt die Verdrahtung ins SubVÌ? Wenn im SubVI die Schleife läuft, wird das HauptVI, welches das SubVI enthält, auf jeden Fall so lange angehalten, bis das SubVI beendet ist. D.h. es werden vom HauptVI keine Eingaben ins SubVI übernommen!

Kleiner Tip: Wenn du die Referenz des "stop from mainVI" mit gedrückter Strg-Taste vom Blockdiagramm des HauptVI aufs Frontpanel des SubIV ziehst, erhälst du eine "strict refnum" (sichtbar am Sternchen auf dem FP) und du kannst dir die "Variant to Data"-Wandlung sparen!

Gruss
Achim


EDIT: Schau mal das Beispiel an:

http://www.LabVIEWforum.de/index.p...ost&p=11922

So ne ähnliche State Machine könntest du auch aufbauen, und in nem State "regeln" könntest du die VIs immer wieder ablaufen lassen...dazu könntest du z.B. die While-Schleife im jeweiligen Regler-VI nur genau 1x pro "Durchgang" laufen lassen (ne F-Konstante an den "Continue if true"-Anschluss der Schleife), und Parameter, die du von Regelzyklus zu Regelzyklus in deinem VI benötigst über nicht initialisierte Schieberegister durchschleifen. Wenn von außen "Regelung aus" betätigt wird, springst du den Fall "regeln" einfach nicht mehr an.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2006, 13:28
Beitrag #9

Myjestic Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2006

8.00
2004
kA


Deutschland
Werte aus Sub VI im Haupt VI anzeigen
<div align="left">Also die Variante von StefanHH funktioniert soweit erstmal, danke dafür.

@Achim
natürlich interessiert mich, wie Du das genau realisieren willst, mit dem Beispiel im Link komme ich nicht ganz klar.

Angenommen in meiner While Schleife im SubVI habe ich eine Variable XX. Diese wird in jedem Schleifendurchgang um 1 Inkremetiert. Durch ein Shiftregister wird der Wert in den nächsten Schleifendurchgang überführt. Wie meinst Du das, dass die Schleife nur einmal durchlaufen werden soll (im SubVI). Demnach müsste ich (wenn ich das richtig verstanden habe) dieses SubVI dann im MainVI wieder in eine While Schleife packen. Wie aber übergebe ich dann die "alten" Werte des SubVI Schleifedurchlaufs an den nächsten ohne das diese verloren gehen?

Kannst Du mir bitte ein simples Beispiel dafür geben?</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2006, 14:26
Beitrag #10

Myjestic Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2006

8.00
2004
kA


Deutschland
Werte aus Sub VI im Haupt VI anzeigen
<div align="left">@ Achim

Okay hat sich erledigt.

Ich habe wie Du gesagt hast, im SubVI nur einen Schleifendurchlauf. Alle Parameter die in den folgenden Schleifendurchlauf müssen habe ich gebundled und als Ausgang definiert. Diese Bundle kommt auch wieder als Eingang ins SubVI rein.

Im MainVI habe ich jetzt eine while-Schleife um mein SubVI gelegt mit Shiftregistern durch das, das Bundle durchgeführt wird. So kann ich jederzeit via unbundle by name die gewünschten Werte rausziehen, die ich angezeigt bekommen möchte.
Manchmal braucht man halt für ein einfaches Problem ein paar einfache Denkanstöße.

Vielen Dank nochmal an alle.</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Haupt-VI zu mehrfach gleichzeitig ausführbaren Sub-VI machen mez15 5 4.038 14.02.2017 08:32
Letzter Beitrag: GerdW
  Durch Schließen des SubVIs reagiert das Haupt VI nicht mehr?! C.Maier 2 3.538 07.10.2016 07:52
Letzter Beitrag: Lucki
  Öffnen des Haupt-VI's nach Initialisierungsfenster mit Ladebalken antonym 2 3.354 20.07.2015 09:39
Letzter Beitrag: antonym
  Mehrere Sub VI's in einem "Haupt" VI verwenden Timo86 4 4.152 05.11.2013 15:00
Letzter Beitrag: Timo86
  Werte anzeigen vor Programmausführung Philmo 1 2.573 06.05.2012 15:15
Letzter Beitrag: jg
  Werte eines Clusters im Array anzeigen lassen Flogge154 3 4.326 26.03.2012 15:31
Letzter Beitrag: jg

Gehe zu: