LabVIEWForum.de - Event löst in VI im Subpanel nicht aus :-(

LabVIEWForum.de

Normale Version: Event löst in VI im Subpanel nicht aus :-(
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hi,


ich habe folgendes Problem.
Ich habe ein Subpanel in das ich ein VI lade. Drücke ich nun einen Button im Main-VI soll ein Ereignis im Subpanel-VI ausgelöst werden. Leider ändert sich bei einer Wertänderung über das Main-VI ausschließlich der Wert des Elements - aber leider wird kein Ereignis verarbeitet.

Wie löse ich Events im Subpanel-VI aus?

Anbei findet ihr ein kleines Beispiel.


Gruß,
dragonos
Mal kurz aus der Hüfte geschossen...

Wie soll das SubVI denn ein Event aus dem überlagerten VI auch mitkriegen? Die entsprechende Eventstruktur ist ja gar nicht im SubVI...Ich hab noch keine SubPanels verwendet, aber man kann auch UserEvents programmatisch verschicken...hab ich auch noch nicht gemacht, gibt aber mindestens ein Beispiel in der Hilfe!

Damit es direkt funktioniert, müsstest du wahrscheinlich deinen Button direkt im Panel des SubVI (=SubPanel) platzieren...

Gruss
Achim
Anscheinend löst kein Event aus wenn ich Elemente eines VI von einem anderen VI aus ändere.
Gibt es eine andere Möglichkeit dies zu tun?

Vorgaben:
Es soll ein Main-VI geben, dass dynamisch VI ins Subpanel lädt.
Sobald ein anderes VI geladen werden soll muss an das zur Zeit geladene VI ein Event geschickt werden, damit z.B. eine ordentliche Terminierung ausgeführt wird (z.B. Dateien schließen, ...) ...
Hi,

das könntest du z.B. über die "VI Server"-Technik machen...guck dir mal das Beispiel hier als Anregung an:

http://www.LabVIEWforum.de/index.php...ost&p=28144

A.
' schrieb:Hi,

das könntest du z.B. über die "VI Server"-Technik machen...guck dir mal das Beispiel hier als Anregung an:

http://www.LabVIEWforum.de/index.php...ost&p=28144

A.

das könnte er nicht nur, das muss er sogar. VIs, die in einem SubPanel laufen müssen über VI Server gestartet werden. Wenn im SubPanel Events verarbeitet werden sollen (von Controls auf dem SubPanel), dann muss in dem SubPanel VI natürlich auch eine Event-Struktur vorhanden sein.
Hi,

habs jetzt hinbekommen über VI Server.
Danke für eure Hilfe.

Gruß,
dragonos
Da ich gerade an einem ähnlichen Problem sitze habe ich mir die Beispiel VIs oben mal angesehen (main.vi und umschalten.vi).

Meine Erklärung des Verhaltens: Beim Setzen des umschalten Buttons des SubVI über den Invoke Node im MainVI springt er im SubVI nicht in den entsprechenden Ereignis-Case da es kein Ereignis im Frontpanel des SubVIs ist.

Was wäre hier die Lösung? Wie kann im Blockdiagramm des MainVI ein Ereignis im SubVI auslösen? Stichwort Dynamische Ereignisregistrierung oder geht das noch einfacher?

Danke vorab!
Zitat:... oder geht das noch einfacher?
Klar geht das. Man will ja letztlich die LED im SubVI umschalten. Das kann man vom MainVI doch ganz direkt machen, ohne dass da im SubVI ein Ereigniscase getriggert werden muss. Damit geht dann allerdings der pädagogische Lehrwert der ganzen Veranstaltung den Bach runter Big Grin
alternativ könnte man auch komplett auf das Event verzichten und eine Nachricht über Melder, Queues etc. an das Sub-VI oder andere Teilnehmer verschicken.
Ich habe das so in einer größeren Applikation von mir gelöst. Zudem hat es den Vorteil, dass man sich schön strukturiert IDs vergeben kann bzw. in Aktionsnummernkreise unterteilen kann, wenn´s denn irgendwann mal komplexer wird.


Gruß, Marko
@Lucki: Danke für die VIs, dass das so geht ist mir schon bewusst, jedoch würde ich gerne dass das Ereignis im MainVI (also außerhalb des Subpanel) zu einem Ereignis im SubVI führt.
Analog zu diesem NI Beispiel, nur eben für ein SubVI im Subpanel..also irgendwie über VI-Server:
http://digital.ni.com/public.nsf/allkb/A...0D0066B91A

Ich habe es mal so mit dynamischen Ereignissen im SubVI probiert, jedoch wird im SubVI das entsprechende Ereignis Case "okref" nicht angesprungen. Jemand ne Idee?

[attachment=45233]
[attachment=45232]
Seiten: 1 2 3 4
Referenz-URLs