LabVIEWForum.de
Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! (/Thread-Beenden-einer-Schleife-im-SUBVi-vom-uebergeordneten-Vi-aus)



Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - mazell - 13.06.2012 11:19

Hi,

ich möchte mein Programm über ein Bool Button im Haupt Vi beenden in dem ich eine Schleife im untergeordneten SUBVi beende.
Die Frage ist jetzt, wie geht das?

Einmal in der Schleife drin, reagiert das SUBVi ja nicht mehr auf Veränderungen von außen.


Danke im vorraus Wink


[attachment=40167]
[attachment=40166]


RE: Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - GerdW - 13.06.2012 11:49

Hallo mazell,

was ist dein subVI, was ist dein mainVI? Bei deinen Attachments ist das nicht zu erkennen, es fehlen einfach zu viele subVIs...

Quick&Dirty-Lösung:
Globale Variable, die in einer parallelen Schleife (!) gesetzt wird...


RE: Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - Kiesch - 13.06.2012 12:47

Alternativ Referenz auf deinen Bool Button ans Sub VI geben und über Eigenschaftsknoten auslesen.


RE: Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - mazell - 13.06.2012 13:44

Signalgenerator ist die Main, und Ablauffunktion_Delayzeiten 2.schleife.vi ist mein subvi.

dazwischen liegt noch ein Subvi, hab ich noch mit angefügt.

Ja das dass irgendwie mit Referenzen geht hab ich auch schon gelesen, allerdings ist meine Version hier auf englisch und irgendwann bringt mich die Hilfe auch nicht mehr weiter.

[attachment=40180]


RE: Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - GerdW - 13.06.2012 13:54

Hallo mazell,

mit dem dritten VI bekommt man wenigstens mal die Grundstruktur mit...
Die aber ist gräßlich. Ich würde zu einer ordentlichen Statemachine raten, die ihre Befehle aus einer Queue erhält. Dann kann man immer mal einen Break-Befehl dazwischenschieben oder die Befehlsqueue löschen...

Jetzt hast du natürlich eine FOR-Loop, die alle Werte des Arrays abarbeitet, dazu noch gebremst durch 2s Wartezeit ganz tief unten drin. Da jetzt einen Stop-Button reinzupfriemeln macht dein Programm weder hübscher noch besser zu warten noch übersichtlicher!

Zitat:allerdings ist meine Version hier auf englisch
Dann solltest du dein Profil ändern...


RE: Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - Kiesch - 13.06.2012 16:13

Grundsätzlich nochmal zu den Referenzen: Rechtsklick auf das Boolsche element --> erstellen --> Referenz

Da kriegst du deine Referenz her. Die dann bis ins Sub VI verkabeln und dort dann eine Property node benutzen und damit die Value auslesen *Property node findest in der Palette Applikationssteuerung (ka wie das auf englisch heißt*


RE: Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - mazell - 19.06.2012 11:55

ah danke,

das mit der propertynode hatte ich nicht gewusst.


RE: Beenden einer Schleife im SUBVi vom übergeordneten Vi aus?! - Y-P - 19.06.2012 13:34

"Application Control" Big Grin

Gruß Markus

(13.06.2012 16:13 )Kiesch schrieb:  Applikationssteuerung (ka wie das auf englisch heißt*