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 

Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden



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!

27.03.2012, 15:06
Beitrag #1

KD Offline
LV-Anwender
*


Beiträge: 46
Registriert seit: Aug 2011

11.0.1
2011
DE


Deutschland
Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Hallo LV Gemeinde,

ich suche nach einer Möglichkeit, mit der ich über ein Main VI, das einige Sub VIs aufruft, diese SubVIs abbrechen kann.
Die SubVIs werden vom Main VI über Methodenknoten aufgerufen und sollen, falls sich ein SubVI mal aufhängen sollte, über
das Main VI beendet werden können.

Die einfachste Möglichkeit wäre, dies über eine globale Variable oder FGV zu tun, doch diese Varianten kommen nicht infrage.

Gibt es bessere Arten, dieses Problem zu lösen?

Danke im Voraus für eure Hilfe.


Lg David
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.03.2012, 15:12
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Hallo David,

Zitat:Die einfachste Möglichkeit wäre, dies über eine globale Variable oder FGV zu tun, doch diese Varianten kommen nicht infrage. Gibt es bessere Arten, dieses Problem zu lösen?
- Wieso kommt eine globale Variable nicht in Frage?
- Was willst du noch besseres als eine FGV?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2012, 15:16
Beitrag #3

KD Offline
LV-Anwender
*


Beiträge: 46
Registriert seit: Aug 2011

11.0.1
2011
DE


Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Hallo
erstmals danke für die schnelle Antwort.

Ja warum will ich keine globale variable und FGV verwenden?
Ich habe beide Varianten bereits ausprobiert, funktioniert ja auch gut.
Doch meine Teammitglieder glauben, das ist eine alte Vorgehensweise. Wobei ich sagen muss,
dass diese mehr C Programmer sind und nicht viel mit LV zu tun haben.

Gibt es eine andere Art der Programmierung, die villeicht professioneller ist?

Lg David
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2012, 15:17 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2012 15:17 von NWOmason.)
Beitrag #4

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Hallo David

(27.03.2012 15:06 )KD schrieb:  Die einfachste Möglichkeit wäre, dies über eine globale Variable oder FGV zu tun, doch diese Varianten kommen nicht infrage.

Warum kommt das nicht in Frage?

(27.03.2012 15:06 )KD schrieb:  Gibt es bessere Arten, dieses Problem zu lösen?

Über bessere (als FGV) lässt sich streiten, das kommt immer auf die generelle Implementierung an.

Möglichkeiten, die mir spontan sonst einfallen:
- Queues/Melder
- User Events
- Harter Abbruch (AbortVi)

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2012, 15:21
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
(27.03.2012 15:16 )KD schrieb:  Wobei ich sagen muss, dass diese mehr C Programmer sind und nicht viel mit LV zu tun haben.
Weshalb hörst du auf C-Programmierer? Vor allem, wenn sie von LV keine Ahnung haben?

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2012, 15:37
Beitrag #6

KD Offline
LV-Anwender
*


Beiträge: 46
Registriert seit: Aug 2011

11.0.1
2011
DE


Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Hallo Leute

wenn ich jetzt Abort VI verwende, kann ich das übergreifend auf alle SubVIs verwendet?
Idee wäre ja, dass wenn ich im Main den Button Abort betätige, dann sollen ja alle SubVIs, die gerade im RUN Modus sind,
beendet werden.

Ich habe das mit FGVs auch schon gemacht. Gibt es da ein Beispiel oder hat jemand eine Idee, wie ich das umsetzen kann?
Wenn ich Events nehme, brechen die dann die Sub VIs ab?

Im Anhang habe ich mal folgendes für euch:

Das Main, das ein SubVI aufruft, das im Leerlauf einer Whileloop ausgeführt wird.
Über den Abbrechen Button soll das SubVI beendet werden.

Wie kann ich das machen, ohne glob Var. zu verwenden?


Lg David


Angehängte Datei(en)
11.0 .vi  main.vi (Größe: 7,98 KB / Downloads: 177)

11.0 .vi  VI im leelauf.vi (Größe: 5,21 KB / Downloads: 158)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2012, 19:49
Beitrag #7

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
(27.03.2012 15:37 )KD schrieb:  wenn ich jetzt Abort VI verwende, kann ich das übergreifend auf alle SubVIs verwendet?
Idee wäre ja, dass wenn ich im Main den Button Abort betätige, dann sollen ja alle SubVIs, die gerade im RUN Modus sind,
beendet werden.

Natürlich. Per Event auf 'Value Change' des Abort-Buttons reagieren und alle SubVIs beenden.


(27.03.2012 15:37 )KD schrieb:  Ich habe das mit FGVs auch schon gemacht. Gibt es da ein Beispiel oder hat jemand eine Idee, wie ich das umsetzen kann?

Du hast es schon mit FGVs gemacht? Funktioniert es? Wozu brauchst du noch ein Beispiel?

(27.03.2012 15:37 )KD schrieb:  Wenn ich Events nehme, brechen die dann die Sub VIs ab?

Wenn du im SubVI ein Event auslösen lässt, dass dieses dann beendet, dann JA!

(27.03.2012 15:37 )KD schrieb:  Wie kann ich das machen, ohne glob Var. zu verwenden?

Wie gesagt, ganz hart mit AbortVI. Sonst mit den bereits erwähnten Methoden Wink

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.03.2012, 07:46
Beitrag #8

KD Offline
LV-Anwender
*


Beiträge: 46
Registriert seit: Aug 2011

11.0.1
2011
DE


Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Guten Morgen,

zu deiner Aussage: "Natürlich. Per Event auf 'Value Change' des Abort-Buttons reagieren und alle SubVIs beenden"Könntest du mir da ein Beipiel zeigen wie das aussieht?

Danke wäre echt super.

Lg David
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.03.2012, 08:15 (Dieser Beitrag wurde zuletzt bearbeitet: 28.03.2012 08:17 von NWOmason.)
Beitrag #9

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
(28.03.2012 07:46 )KD schrieb:  Könntest du mir da ein Beipiel zeigen wie das aussieht?

Bitteschön:

   


10.0 .vi  Main.vi (Größe: 10,55 KB / Downloads: 159)

10.0 .vi  Sub.vi (Größe: 6,09 KB / Downloads: 150)


Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.03.2012, 08:21
Beitrag #10

KD Offline
LV-Anwender
*


Beiträge: 46
Registriert seit: Aug 2011

11.0.1
2011
DE


Deutschland
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Danke für das hilfreiche Beispiel.

Wie ich gesehen habe, beziehst du dich über eine Referenz auf das SubVI.

Nur kleine Preisfrage: Wie kann ich das machen, wenn ich zB 100 SubVIs habe?
Und es muss flexibel gestaltet sein, also ich muss das main für 10,30,50 oder 150,.... SubVIS ausführen können.
Das macht as ganze wieder komplexer´, da ich im Code nichts ändern sollte.

Lg David
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Radiobutton steuern von main.vi aus in While-Schleife tatanka 1 2.711 18.11.2016 08:59
Letzter Beitrag: GerdW
  Oberfläche von SubVI in Main Programm einbinden sara2211 13 7.832 17.11.2016 08:41
Letzter Beitrag: sara2211
  Main Frontpanel ausblenden Pythagoras 9 8.369 21.03.2016 19:17
Letzter Beitrag: jg
  VIs aus Main VI starten Chris88 6 4.219 09.10.2014 11:39
Letzter Beitrag: GerdW
  Eigenschaftsknoten aus SubVi in Main Vi übernehmen Mel 2 3.834 24.05.2013 11:59
Letzter Beitrag: Mel
  wie kann ich einen Programmierten Vi mehrmals in einem Vi benutzen? Mourad 3 3.114 08.05.2013 16:52
Letzter Beitrag: Mourad

Gehe zu: