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 

Sub-VI über globale Variable schließen



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!

05.12.2011, 12:32
Beitrag #1

smozart Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Oct 2011

2011
2011
DE


Deutschland
Sub-VI über globale Variable schließen
Hallo zusammen,
ich habe ein kleines Problem. Undzwar befindet sich in meinem VI ein Sub-VI, das über die serielle Schnittstelle in einer while-Schleife Daten ließt, so lange bis ein bestimmtes Zeichen kommt. Nun möchte ich die Möglichkeit haben diesen Vorgang aus dem Haupt-VI zu beenden. Ich hab gelesen, dass das über eine globale Variable möglich ist, nur klappt dies bei mir nicht so recht.

Meine Idee war, dass der Stopp-Button in meinem Haupt-VI die globale Variable (ist bei mir auch ein Stopp-Button) anspricht und diese globale Variable dann in der While-Schleife des Sub-VI die Abbruchbedingung ist. Das Problem ist nun, dass wenn das Sub-VI läuft, ich den Stopp-Button in meinem Haupt-VI nicht bedienen kann. Woran liegt das? Was mache ich falsch?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.12.2011, 12:46
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Sub-VI über globale Variable schließen
Hallo smozart,

Zitat:Woran liegt das?
Du lässt beide wohl nicht parallel laufen...

Zitat:Was mache ich falsch?
Du zeigst uns weder ein Bild noch ein VI, so können wir nur raten...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.12.2011, 13:01
Beitrag #3

smozart Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Oct 2011

2011
2011
DE


Deutschland
RE: Sub-VI über globale Variable schließen
Ich kann leider kein Bild posten, aber grob den Aufbau meines Programms beschreiben. Zunächst habe ich eine Sequenz, in dessen ersten Rahmen ich meine Variablen initialisiere. Im nächsten Rahmen wird dann das eigentliche Programm ausgeführt. Hier habe ich eine Eventstruktur umgeben von einer While-Schleife. Mit dem Betätigen des Stopp-Buttons wird das "Stopp-Event" ausgelöst und die While-Schleife bzw. das komplette Programm beendet.
Über einen weiteren Button wird ein Event ausgelöst, welches besagtes Sub-VI startet. Nun, wie schaff ich es, dass ich den Stopp-Button überhaupt drücken kann, solange das Sub-VI läuft?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.12.2011, 13:09 (Dieser Beitrag wurde zuletzt bearbeitet: 05.12.2011 13:10 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Sub-VI über globale Variable schließen
Hallo smozart,

Zitat:wie schaff ich es, dass ich den Stopp-Button überhaupt drücken kann, solange das Sub-VI läuft?
1. Eventstruktur parallel abarbeiten
2. Eventabarbeitung auf "nicht blockierend" umstellen
3. subVI nicht direkt im Event aufrufen (s. 1.)
Was die Glas1 so hergibt bei dieser Beschreibung...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.12.2011, 18:00 (Dieser Beitrag wurde zuletzt bearbeitet: 05.12.2011 18:01 von LouiJo.)
Beitrag #5

LouiJo Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Apr 2009

7.1
2008
de

79252
Deutschland
RE: Sub-VI über globale Variable schließen
Hallo smozart,

ich hatte vor kurzem ein ähnliches Problem, habe das dann aber nicht über globale Variablen gelöst, sondern über Notifier bzw. mit Hilfe des Property Nodes. Die Lösungen dazu kannst du unter folgendem Link finden:

http://www.labviewforum.de/Thread-Sub-VI...-abbrechen

Mit globalen Variablen sollte das aber auch funktionieren, allerdings brauche auch ich mehr Informationen bevor ich dir weiterhelfen kann.

LG
LuiJo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2011, 10:53 (Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2011 11:04 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Sub-VI über globale Variable schließen
Es nützt Dir nicht viel, wenn das Sub-VI nicht direkt im Event-Case aufgerufen wird. Solange das Sub-VI nicht beendet ist, blockiert es im Haupt-VI immer die Schleife, in der es aufgerufen wurde. Du kannst also im HaupVI trotzdem nichts bedienen.
Um aus diesem Dilemma herauszukommen, sehe ich nur diese beiden Möglichkeiten:
1. Parallele Ausführung des SUB-Vis.
Es muß dazu auf dem BD frei im Raum, neben dem Hauptprogramm-Code, platziert sein. Kommunikation mit dem Hauptprogramm z.B. über Melder.
Wenn es nicht erwünscht ist, das das SubVI gleich von Anfang an aktiv ist, kann man es so machen, das es im SubVI einen Zustand "Idle" gibt. Das SubVI wird dann, wenn es gebraucht wird, nicht aufgerufen - das ist es schon - sondern von Zustand "Idle" in den aktiven Zustand gebracht - Steuerung z.B. über Melder.
2. Aufruf des SubVI über Methodenknoten.
Bei diesem Aufruf gibt es die Möglichkeit, die ansonsten defaultmäßige Eigenschaft "Warten bis beendet" auf false zu stellen. Das SubVI blockiert dann nicht. Darüber hinaus hat man über Methodenknoten eine Steuerungsmöglichkeit auf alle Bedienelemente. Diese müssen nicht mal mit dem SubVI-Ikon verdrahtet sein, ja sogar nicht mal auf dem FP sichtbar sein. Z.B ist es dann ganz einfach, das SubVI mit seinem eigenen Stop-Knopf vom HauptVI aus zu beenden, ohne dass dafür z.B ein Melder benötigt wird. Beispiel für einen solchen Aufruf:
   
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
  Globale Variablen Edi70 7 3.216 08.10.2021 17:01
Letzter Beitrag: GerdW
  Boolean als globale Variable ares2013 12 9.822 06.09.2019 13:57
Letzter Beitrag: GerdW
  Übergabe Anzeigeelement zwischen VIs (Referenz/globale Variable?) lipster 1 3.840 03.02.2017 14:27
Letzter Beitrag: GerdW
  Vi schließen Pansonia 6 5.566 24.03.2015 10:13
Letzter Beitrag: GerdW
  globale Konstanten? Nordvestlys 6 5.102 20.02.2015 09:35
Letzter Beitrag: Nordvestlys
  Debugging - Panel schließen ohne es zu schließen NoWay 5 5.018 11.11.2014 15:07
Letzter Beitrag: Lucki

Gehe zu: