LabVIEWForum.de - Endlosschleife übergeordnet stoppen

LabVIEWForum.de

Normale Version: Endlosschleife übergeordnet stoppen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo werte Labview-Gemeinde,

mich beschäftigt seit kurzem folgendes Problem.
Innerhalb einer While Schleife habe ich ein SubVi, dass ein AktivX-Element ausführt. Dieses startet ein externes Bildverarbeitungsprogramm (SAC-COAKE, für diejenigen die das vllt. kennen). Das Programm, welches in dieser Software geladen wird, wird (unabhängig von Labview) in einer Endlosschleife ausgeführt (Die Endlosschleife ist hier leider wichtig, und kann nicht geändert werden).
Ich möchte nun dieses ActivX-Element bzw. das Subvi (rot markiert im Bild), qusai übergeordnet durch die Abbruchbedingung meiner While Schleife wieder beenden.
Leider werden die Befehle, in der While Schleife nicht erkannt, da Labview sich im Unterprogramm befindet.
Beim Aktivieren der Highlight Funktion ist im Unterprogramm dieser grüne Pfeil zu sehen, der die Ausführung dieses Vis erkennen lässt.

Habt ihr vllt Tipps wie man dieses Problem lösen kann.

Wünsche noch einen schönen Feiertag.

Grüße Christopher
pfffff...Feiertag am A****....;-)


Vermutlich wird man hier für diese Idee geschlachtet, aber hast es mal mit einer globalen Variable versucht?



PS: Guck dir mal die Signatur von Lucki an, sollte er hier etwas schreiben ;-)
Hi Soean,

die globale Variable findet hier schon Verwendung.
Bei der unteren Abbruchbedingung der While- Schleife handelt es sich um eine globale Varaible, die auf False gesetzt wird, solbad die Schleife abgebrochenwerden soll.
Labview bekommt aber wie gesagt diesen Wechsel nicht mit, da es weiterhin das Unterprogramm ausführt.
Evtl meinst du auch, dass ich diese Variable noch ins Unterprogramm integrieren soll ?!

habe die Signatur gelesen... Ich kann nur sagen:" Sequenzstrukturen rocken Smile"
Zeig doch mal dein Unterprogramm, das würde, denke ich, einiges erleichtern.
Hallo Christopher,

zeichnet sich eine Endlosschleife nicht dadurch aus, dass man sie nicht abbrechen kann?

Ansonsten: VI zeigen...
Ich habe heute leider keinen Zugriff mehr auf das Subvi.

Ich werde es dann morgen nachreichen, nachdem ich versucht habe die Abbruchbedingung in das Unterprogramm zu integrieren.

Grüße Christopher
Verfahrene Situation, das geht so überhaupt nicht. Das ganze Haupt-Programm ist blockiert, da kannst Du nichts mehr an das Sub-VI senden, mit globalen Variablen auch nicht. Normalerweise ist das gut so, der Fokus liegt dann auf dem Sub-VI, und du beendest es mit einem Knopf auf seinem eigenen FP.
Es gibt aber einen Methodenknoten zum Starten des VI, der funktioniert ohne dass man das SubVI-Ikon braucht. Und dort gibt es eine Option, die es bei Aufruf über das Ikon nicht gibt: "Warten bis beendet = false" Das wäre genau das Richtige für Dich. Mußt selbst mal suchen und Beipiele finden. Ich zeige mal nur einen Schnappschuss von etwas, was ich gerade zufällig in der Mache habe, damit Du nicht ganz ratlos dastehst:
[attachment=40091]
Referenz-URLs