LabVIEWForum.de - SubVi im Hintergrund laufen lassen

LabVIEWForum.de

Normale Version: SubVi im Hintergrund laufen lassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi Leute,

ich stehe schon wieder vor einem Problem. Ich würde gerne aus einem Main.vi durch Knopfdruck auf "Messung starten/stoppen" ein SubVi starten, dass dann im Hintergrund läuft und Daten übergibt. Das Frontpanel des Main.vi soll aber trotzdem weiterhin bedienbar bleiben, also die Datenübergabe vom SubVi soll nebenbei im Hintergrund laufen. Wenn ich den Knopf erneut klicke, soll das SubVi beendet werden. Ich hab zu diesem Thema auch schon die Suchfunktion benutzt aber ich kriegs einfach nicht hin.

Ich habe jetzt mal ein kleines Testprogramm geschrieben, in dem ich das SubVi in einer Ereignisstruktur aufrufe. Um das SubVi wieder beenden zu können übergebe ich eine Referenz von "Messung starten/stoppen" als Abbruchbedingung an die While-Schleife im SubVi. Das funktioniert so weit auch, also wenn ich im Main den Knopf drücke läuft das SubVi los und wenn ich erneut drücke dann stoppt es. Allerdings blockiert die Ereignisstruktur irgendwie das ganze restliche Main.vi. Also z.B. funktioniert der Stop-Knopf des Main-Vi nicht mehr. Ich kann ihn zwar drücken, aber es passiert nichts. Sad

Kann mir jemand sagen was ich falsch mache?


[attachment=9356]


Danke + Gruß

Sumo
Hi!

Kann mir denn niemand helfen??? Sad Ich bräuchte einfach einen kurzen Anstoß wie man so was macht. Nochmal in Kurzfassung was ich machen möchte:

Ich klicke im Main.vi einen Button an --> SubVi soll im Hintergrund loslaufen
Ich klicke den Button erneut an --> SubVi soll beendet werden

So etwas hat hier doch bestimmt schon mal jemand realisiert. Ein paar Stichworte würden mir schon weiterhelfen. Muss man das evtl. über eine VI-Referenz lösen?



Gruß
Sumo
Hi,

eine Variante geht z.B. so

Andere Möglichkeit:
Pack dein SubVI einfach in eine Case-Struktur in den TRUE-Fall und schalte die Struktur mit deinem Button um! Du kannst das SubVI so konfigurieren, dass kein separates Frontpanel aufgeht (= Standard).

In deinem Screenshot-VI geht's nie automatisch weiter, weil die Eventstruktur EWIG auf das nächste Ereignis wartet. Schließ mal ne Timeoutzeit (z.B. 20ms) an. Dann startet dein SubVI zwar im Event...aber du kannst nicht weitermachen, weil die Struktur erst wieder bereit ist, wenn das SubVI im Eventcase beendet ist...also muss das SubVI aus der Eventstruktur raus und direkt in der Schleife (in nem Case...siehe oben) platziert werden!

A.
Referenz-URLs