LabVIEWForum.de
Wie eigene User Events erzeugen? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Wie eigene User Events erzeugen? (/Thread-Wie-eigene-User-Events-erzeugen)



Wie eigene User Events erzeugen? - cabua - 30.08.2009 11:48

Hallo,

Ich teste derzeit die Events und hänge bei dem erstellen von eigenen User Events. Leider brachte mich die Hilfe von LabVIEW auch nicht weiter. Bin mir auch nicht sicher, ob das überhaupt möglich ist in LabVIEW.

Es geht um folgendes einfaches Beispiel:


Ich habe ein SubVI und eine Main. Das SubVI berechnet irgendetwas und soll dann ein Event ("Fertig") auslösen.
Die entsprechende Eventstruktur im Main, soll dann in dem EventCase "Fertig" springen.
[attachment=20909]
Wie man sieht, hat das SubVI keinen Output.

Was ich einfach nicht verstehe ist, wie man ein eigenen UserEvent erstellt und im EventCase registriert. Bzw. dann auch noch ein UserEvent selbst auslöst.

Falls es gar nicht ohne "Output" geht, würde ich es auch noch mittels einem Output realisieren, jedoch darf der Output auf dem Main kein Bedien/Anzeigeelement sein, sondern man müsste die Daten abfragen -- Event auslösen.

Wer kann mir helfen?


Danke und schönes Weekend noch.

LV:8.6


Wie eigene User Events erzeugen? - cabua - 30.08.2009 14:28

Kurze Ergänzung:
Ziel soll es später sein, dass ich wie bei einem Anzeigelement, einem EventCase einfach von einem SubVI das Event ("Berechnung Fertig") hinzufügen kann.

Genauso wie ich bei jedem DrehknopfElement oder BooleanElement "Wertänderung" auswählen kann, ohne irgendwelche Datenflüsse in das EventCase zu ziehen.
Irgendwo müssen ja diese ganzen Events gespeichert sein, wenn man sie einfach so auswählen kann. Das muss doch auch mit eigenen Funktionieren.

Es müsste doch möglich sein ein User Event in einem SubVI zu erstellen und es in einem EventCase in der Main auszuwählen. Bisher konnte ich immer nur die Events (Maus geklickt, Maus drüber, Wertänderung,...) von Anzeigeelemente/Bedienelemente auswählen, die auf dem FP von Main sind.


Wie eigene User Events erzeugen? - Y-P - 30.08.2009 14:45

Vielleicht hilft Dir ein dynamisches Event.

Gruß Markus


Wie eigene User Events erzeugen? - cabua - 30.08.2009 16:49

Also dein Dynamisches Event verstehe ich eigentlich als typisches eigenes User Event. Bei entsprechender Änderung der Daten wird es ausgeführt bzw. gefeuert.

Was ich brauche später wäre eine zentrale Eventstruktur, bei der ich auch Events abfangen kann, die aus anderen Vis kommen. Geht das?


Wie eigene User Events erzeugen? - thomas.sandrisser - 30.08.2009 19:24

such nach dynamisches registrieren von events - das gibt dir einen anhaltspunkt wie du alles in einer eventstruktur zentralisieren kannst


Wie eigene User Events erzeugen? - IchSelbst - 30.08.2009 20:30

' schrieb:Was ich brauche später wäre eine zentrale Eventstruktur, bei der ich auch Events abfangen kann, die aus anderen Vis kommen. Geht das?
Klar, geht das.

Guckst du möglicherweise das hier, auf jeden Fall das da:Lv85_img


Wie eigene User Events erzeugen? - cabua - 31.08.2009 07:07

Guten Morgen,

vielen Dank für die hilfreichen Beiträge.
Also was ich so sehe bedeutet also, dass man immer das Datenlfusskonzept aufrecht erhalten muss.

Ohne Draht, keine Verbindung Big Grin.

Ich hatte gedacht, ob man nicht sowas wie ein globales Event registrieren kann. Man benötigt ja für vorinstallierte Anzeigelemente keine Verbindung zum Eventcase um deren Events zu registrieren/abzufangen. Man kann diese ja einfach über EventCase hinzufügen, indem man sie in der Auswahlliste markiert.

Schön wäre es gewesen, dieses auch mit eigenen erstellten Events zu realisieren und dazu auch noch in SubVis. Jedes mal einen Datenfluss zu zeichen/ziehen wollte ich eigentlich vermeiden mit so einer zentralen Struktur, die alle Events abfangen kann.


Es folgen 2 Bilder, so wie ich es mir vorgestellt hatte. Ich habe die Bilder mit MSPaint bearbeitet und entsprechen somit einer Wunschvorstellung. Wie man sieht fehlen die Verbindungen zum Case. So wie es optimal wäre für mich.
[attachment=20911]
[attachment=20912]


Wie eigene User Events erzeugen? - schrotti - 31.08.2009 07:33

Geht auch ohne Datenfluss. Du musst nur irgendwie an die Refernce des Controls kommen, dessen Events du handlen willst. Da gibts verschiedene Möglichkeiten. Anbei ein Beispiel zum Spielen.

Lv86_img[attachment=20913]
[attachment=20914]


Wie eigene User Events erzeugen? - IchSelbst - 31.08.2009 07:51

' schrieb:Also was ich so sehe bedeutet also, dass man immer das Datenlfusskonzept aufrecht erhalten muss.
Das gilt im Prinzip immer - und muss auch immer beachtet und prinzipiell aufrechterhalten werden.

Zitat:Ohne Draht, keine Verbindung
Hier gibt es eine Einschränkung:
Referenzen, Melder, Queues, Events etc sind alles imaginäre Verbindungen, also Verbindungen ohne Drähte, auf denen Informationen ausgetauscht werden. Beachten muss man halt: Da diese Strukturen im Datenfluss respektive der in der Datenweitergabe nicht sequenziert (d.h. zeitlich gesehen asynchron) sind, muss mit RaceCondidions gerechnet werden (respektive muss man Maßnahmen ergreifen diese zu vermeiden).


Wie eigene User Events erzeugen? - cabua - 31.08.2009 10:00

Danke euch zwei.
Ich werd mir das mal zur Gemüte führen. Wird sicherlich eine Weile dauern. Vielen Dank.