10.05.2010, 10:52
Beitrag #1
|
schurzgasschweisser79
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Apr 2010
8.6
2010
de
Deutschland
|
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?
Danke
|
|
|
10.05.2010, 10:59
Beitrag #2
|
|
|
10.05.2010, 12:10
Beitrag #3
|
|
|
10.05.2010, 12:25
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
10.05.2010, 12:31
(Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2010 13:23 von dimitri84.)
Beitrag #5
|
|
|
10.05.2010, 14:59
(Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2010 15:18 von Lucki.)
Beitrag #6
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
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.
|
|
|
10.05.2010, 15:18
Beitrag #7
|
|
|
10.05.2010, 15:34
Beitrag #8
|
schurzgasschweisser79
LVF-Gelegenheitsschreiber
Beiträge: 86
Registriert seit: Apr 2010
8.6
2010
de
Deutschland
|
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.)
Beitrag #9
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
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.)
|
dimitri84
Astronaut
Beiträge: 1.496
Registriert seit: Aug 2009
2020 Developer Suite
2009
DE_EN
53562
Deutschland
|
Event B automatisch starten lassen, nachdem Event A eingetreten ist ?
' schrieb:... an einem simplen Beispile mal gezeigt würde, wie Methode A überhaupt funktioniert
Ein Beispiel ... ich glaub von Markus.
Dynamisches_Event.vi (Größe: 12,91 KB / Downloads: 729)
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)
|
|
|
| |