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!
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.
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?
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
27.03.2012, 15:17 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2012 15:17 von NWOmason.)
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!
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?
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
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!
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
28.03.2012, 08:15 (Dieser Beitrag wurde zuletzt bearbeitet: 28.03.2012 08:17 von NWOmason.)
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.