LabVIEWForum.de - Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden

LabVIEWForum.de

Normale Version: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo KD,

Zitat:Das macht as ganze wieder komplexer´, da ich im Code nichts ändern sollte.
Was ist denn das nun wieder für eine Aussage?
Nichts im Code ändern, aber neue Dinge einführen/unterstützen? Da passt was nicht zusammen...

Zitat:Wie kann ich das machen, wenn ich zB 100 SubVIs habe?
Schon mal von "Arrays" gehört? Und das man auch Arrays of Refs bilden kann?
Skalierbar = Array! Also anstatt nur einer Refnum, merk dir ein Array von Refnums.

Gruß, Jens
(28.03.2012 08:21 )KD schrieb: [ -> ]Wie ich gesehen habe, beziehst du dich über eine Referenz auf das SubVI.

Eine Referenz brauchst natürlich immer. In meinem Beispiel ist diese zur Veranschaulichung statisch. Man kann aber natürlich genauso dynamisch VIs per Referenz laden (zur Laufzeit des Mains).


(28.03.2012 08:21 )KD schrieb: [ -> ]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.

- Statt einer Refeferenz, Array von Referenzen verwenden
- Zu Sicherheit: Vor dem Abbrechen das VI abfragen, ob es läuft
- Pfade lassen sich dynamisch zur Laufzeit erstellen
- VIs lassen sich dynmisch zur Laufzeit laden

Hier das Konzept zum Referenzarray:

[attachment=39268]

Beste Grüße,
NWO
Wie oft haben wir dieses Thema eigendlich schon durchgekaut?
Hallo Leute,

ich versuche krampfhaft eine Lösung zu finden, doch ich bin leider schon so ausgebrannt, dass mir nichts mehr einfällt.
Das Problem ist, dass ich zB ein laufendes VI, das bereits ausgeführt wird, beenden möchte via Main VI.
Ich brauche den Aufbau aber so, dass er flexibel bleibt, also nicht nur für ein VI -> da weiß ich, dass ich Referenzen nehmen kann.
Nur wie geht das, dass ich übergreifend für alle VIs, ohne jetzt den Code im Main für jede einzelne SUBVI Datei zu ändern, ein VI beenden kann, das zB sich aufgehängt hat oder nicht mehr reagiert?

Wie könnte ich das lösen?


Danke für eure Hilfe.

Lg David

Ich will ja nichts sagen aber alles was ich bis jetzt gefunden habe, kann ich für meine Applikation nicht gebrauchen, da meine Applikation komplexer ist.

Sorry sonst hätte ich sicher schon eine Lösung parat.
Hallo KD;

Zitat:ein VI beenden kann, das zB sich aufgehängt hat oder nicht mehr reagiert?
Du willst ein Programm, das nicht mehr reagiert, programmatisch aus dem subVI heraus reagieren lassen?
Henne-Ei-Problem?

Zitat:Ich will ja nichts sagen aber alles was ich bis jetzt gefunden habe, kann ich für meine Applikation nicht gebrauchen, da meine Applikation komplexer ist.
Die Komplexität ist mir bisher nicht aufgefallen...
Ja es soll so sein, dass ich über das Main das Sub VI beende, sofern dieses nicht mehr reagiert oder zu lange braucht um abgeschlossen zu sein.
(28.03.2012 13:11 )KD schrieb: [ -> ]Ja es soll so sein, dass ich über das Main das Sub VI beende, sofern dieses nicht mehr reagiert
Geht nicht! Wie schon erwähnt wurde...Henne-Ei!

(28.03.2012 13:11 )KD schrieb: [ -> ]oder zu lange braucht um abgeschlossen zu sein.
Geht! Aber du musst in deinem bestehenden Code neuen einpflegen, um die Referenzen auf die SubVI's zu erfassen!
(28.03.2012 12:51 )KD schrieb: [ -> ]Nur wie geht das, dass ich übergreifend für alle VIs, ohne jetzt den Code im Main für jede einzelne SUBVI Datei zu ändern, ein VI beenden kann, das zB sich aufgehängt hat oder nicht mehr reagiert?

Rufst du die SubVIs so auf wie im von dir gezeigten Demo? Dann musst du doch nur an den Stellen, wo du den Pfad für das zu öffnende VI angibst, die Referenz an ein Array anhängen und dir irgendwie die Position im Array merken, damit du weißt, welche wann zu verwenden ist.

Aber ganz ohne neuen Code kanns nicht gehen...es sei denn, du kennst Bibi Blocksberg...Hexhex!

A.
Hallo NWOmason

danke für den Hinweis.
Hab die Lösung jetzt fürs Problem gefunden.

Danke Danke.....

Noch was: Wenn ich Abort VI verwende, dann ist das ja nicht so die elegante Lösung bzw mit dieser Funktion wird das VI gestoppt oder?
Seiten: 1 2
Referenz-URLs