Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
Hallo,
wie kann ich denn einen Case eines Eventhandlings automatisch ablaufen lassen, nachdem ein anderer Eventcase durch eine Userinteraktion ausgelöst und abgearbeitet worden ist?
Also gibts irgendwie eine Funktion in LabVIEW, die sowas wie "erzwinge Event Case nr. x" macht?
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
Möglichkeit A) Benutzerdefiniertes Ereignis.
Möglichkeit B) Du machst dir ein Dummy Control (außerhalb des sichtbares Bereiches). Und fährst das Case über die Node Wert(signalisierend) an.
Ich mach meistens B.
Gruß dimitri
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
' schrieb:Möglichkeit A) Benutzerdefiniertes Ereignis.
Möglichkeit B) Du machst dir ein Dummy Control (außerhalb des sichtbares Bereiches). Und fährst das Case über die Node Wert(signalisierend) an.
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
Dann schmeißen wir noch Möglichkeit C in den Ring:
Producer-Consumer-Struktur!
Der Producer reagiert auf die Events, und sagt dem dem Consumer, was zu tun ist. Da kann man dem Consumer natürlich auch sagen, er soll 2 Sachen abarbeiten.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
Ich nehme immer B, nur muß man dafür doch nicht extra eine Dummy Variable erstellen, eine lokale Variable tuts doch auch.
Beispiel: Bedienelement E1 löst soll Events E1 und E2 auslösen. Bedienelement E2 nur Event E2.
Dann platziere ich einfach im Eventcase E1 eine lokale Variable des Bedienlementes E2 und füttere damit den Ereignisknoten von E2/Wert signalisierend.
Dasselbe mache ich - und das ist eine recht häufige Anforderung - wenn bei der Initialisierunge eines Programms ein Event auch ohne Betätigung des Bedienelementes 1x feuern soll. Dann einfach das obige Konstrukt im Initialisierungsteil mit unterbringen.
Der Wert von E2 wird mit dieser Art Wertzuweisung garantiert nicht geändert. Der Eigenschaftknoten "Wert, signalisierend" löst aber immer ein Ereignis aus, wenn er gelesen wird, eine Wertänderung muß also gar nicht sein.
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
' schrieb:Ich nehme immer B, nur muß man dafür doch nicht extra eine Dummy Variable erstellen, eine lokale Variable tuts doch auch.
Beispiel: Bedienelement E1 löst soll Events E1 und E2 auslösen. Bedienelement E2 nur Event E2.
Dann platziere ich einfach im Eventcase E1 eine lokale Variable des Bedienlementes E2 und füttere damit den Ereignisknoten von E2/Wert signalisierend.
[attachment=54945:clip.png]
Dasselbe mache ich - und das ist eine recht häufige Anforderung - wenn bei der Initialisierunge eines Programms ein Event auch ohne Betätigung des Bedienelementes 1x feuern soll. Dann einfach das obige Konstrukt im Initialisierungsteil mit unterbringen.
Dann ist dein Dummy E2, weshalb ich immer A verwende.
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
Danke euch allen!!
A und C kapier ich nicht auf die Schnelle...bzw. A und C helfen mir zu realisieren, dass ich irgendwie nichts Mächtiges über LabVIEW weiß- ich glaub solche Momente braucht man abundan im Leben..
B ist glaub ich ausreichend toll.
Besonderes Danke an Lucki für das Beispiel!
10.05.2010, 15:50 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2010 11:52 von Lucki.)
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
' schrieb:Dann ist dein Dummy E2, weshalb ich immer A verwende.
Also ich gebe zu, daß ich die Ereignisstruktur immer nur als Reaktionen auf Bedienereignisse verwendet habe und mich mit "Benutzerdefinierten Ereignissen" nicht auskenne. D.h. bei meinen anfängerhaften Ereignsistrukturen stecken hinter jedem Ereigniscase wirkliche Bedienelemente als Auslöser. Auf das Beispiel bezogen ist Bedienelement E2 real existierend und wir echt bedient, es ist kein Dummy. Es wird bedient, wenn nur das Ereignis E2 ausgelöst werden soll.
Ich wäre dankbar, wenn an einem simplen Beispile mal gezeigt würde, wie Methode A überhaupt funktioniert - ich weiß es nämlich nicht.
10.05.2010, 22:21 (Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2010 22:51 von dimitri84.)
Edit: Die LV Beispiele zeigen auch wie der Datentransfer geht.
' schrieb:D.h. bei meinen anfängerhaften Ereignsistrukturen stecken hinter jedem Ereigniscase wirkliche Bedienelemente als Auslöser. Auf das Beispiel bezogen ist Bedienelement E2 real existierend und wir echt bedient, es ist kein Dummy.
Ich hab' öfter Verwenung für 2-3 Frames die ich unkompliziert programmatisch anfahren kann, ohne das diese je von "echten" Bedienereignissen ausgelöst werden. Wenn's nur ein Frame ist, könnte man auch den Timeout in Betracht ziehen.
Gruß dimitri
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)