INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Event durch ein anderes Event triggern



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!

28.08.2009, 15:49 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 15:50 von Novgorod.)
Beitrag #1

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Event durch ein anderes Event triggern
Hiho,

ich habe eine zentrale event-struktur fürs user-interface.. es kommt aber ab und zu mal vor, dass ein event genau das gleiche macht wie ein anderes event, nur mit irgendeinem kleinen zusatz.. durch subvis lässt sich das nur umständlich lösen, weil viel auf inputs und outputs zugegriffen wird, die man alle durchschleifen müsste..
jedenfalls würde es sich doch anbieten, in ein bestimmtes event folgendes zu schreiben: "tu das und das, danach triggere event nr. x" - nur machts LabVIEW da einem nicht so einfachWink.. alle variablenänderungen o.ä., die man in einem event vornimmt, "vergisst" LabVIEW wieder, sobald das event ausgeführt ist - auf diese weise kann man also nicht anschließend (oder gar rekursiv) ein anderes event triggern..
also, gibts da eine möglichkeit oder muss ich subvis bzw. c&p machen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2009, 15:55 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 15:57 von schrotti.)
Beitrag #2

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
Event durch ein anderes Event triggern
Ich würde so ein Problem ja in weitem Bogen umgehen, indem ich eine Queued-State-Machine verwende. Guck mal in die Vorlagne unter File -> New.

' schrieb:alle variablenänderungen o.ä., die man in einem event vornimmt, "vergisst" LabVIEW wieder, sobald das event ausgeführt ist -

Bahn

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2009, 18:43
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Event durch ein anderes Event triggern
' schrieb:jedenfalls würde es sich doch anbieten, in ein bestimmtes event folgendes zu schreiben: "tu das und das, danach triggere event nr. x" -
Dann setzt du PropertyNode "ValueSignaling", und schon springst du in ein anderes ValueChange Event deiner Event-Structure. Oder benutzerdefinierte Events, die kannst du jederzeit selber auslösen.
' schrieb:nur machts LabVIEW da einem nicht so einfachWink.. alle variablenänderungen o.ä., die man in einem event vornimmt, "vergisst" LabVIEW wieder, sobald das event ausgeführt ist -
Das verstehe ich jetzt nicht, wenn du etwas neu setzt, dann wird das doch nicht "vergessen"?
' schrieb:auf diese weise kann man also nicht anschließend (oder gar rekursiv) ein anderes event triggern..
also, gibts da eine möglichkeit oder muss ich subvis bzw. c&p machen?
s.o.

Oder halt noch besser, schrotti's Vorschlag.

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2009, 18:52 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 18:55 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Event durch ein anderes Event triggern
Ich mache auch gelegentlich, und zwar so:
Angnommen, der Eventcase, den Du nach einem anderen Eventcase noch aktivieren willst, ist "Element1, Wertänderung". Dann kommt in den betreffenden Ereigniscase einfach noch das hinein:
   
Es findet zwar reale keine Wertänderung statt (die wäre ja auch nicht erwünscht), aber das Ereignis wird trotzdem aktiviert.
Gruß Ludwig
Edit: Jens war schneller..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2009, 19:43 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 19:43 von Novgorod.)
Beitrag #5

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Event durch ein anderes Event triggern
' schrieb:Ich mache auch gelegentlich, und zwar so:
Angnommen, der Eventcase, den Du nach einem anderen Eventcase noch aktivieren willst, ist "Element1, Wertänderung". Dann kommt in den betreffenden Ereigniscase einfach noch das hinein:
[attachment=48942:wertaenderung.png]
Es findet zwar reale keine Wertänderung statt (die wäre ja auch nicht erwünscht), aber das Ereignis wird trotzdem aktiviert.
Gruß Ludwig
Edit: Jens war schneller..

Hi,

genau das geht bei mir nicht - oder ich geh da falsch ran.. hier ein kleines beispiel:

LV 8.5.1:
Sonstige .vi  event_test.vi (Größe: 19,14 KB / Downloads: 322)


es werden 2 event cases behandelt - der erste event fügt nur eine zeile mit der uhrzeit an, der zweite event schaltet das lämpchen an/aus, soll aber ebenfalls den ersten event triggern und die aktuelle uhrzeit ausgeben..
getriggert wird der erste event durch den entsprechenden boolean button (value change), im zweiten event hab ich wie in deinem beispiel die wertzuweisung für den ersten button eingebaut (property -> value), das wird aber von LabVIEW ignoriert! auch wenn der wert wirklich geändert wird (z.b. mit einem "not" dazwischen), sieht man nur, dass der trigger 1 knopf (mit-)gedrückt wird, aber es wird nicht als event erkannt für den nächsten schleifendurchlauf!

das ist es auch was ich mit dem "vergessen" gemeint habe (etwas unglücklich ausgedrückt) - wenn man in einem event irgendeine variable verändert, die als trigger für ein anderes event benutzt wird, wird diese änderung nicht als event für den nächsten durchlauf hergenommen! (der geänderte wert bleibt natürlich)..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2009, 19:48 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 19:49 von eg.)
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Event durch ein anderes Event triggern
Am besten machst du dir ein SubVI, das in allen ähnlichen Events aufgerufen wird (der Speicherplatz bleibt ja gleich), bei diesem SubVI machst du alles was bei diesen ähnlichen Events gleich ist (du hast ja geschrieben, dass die fast das gleiche machen sollen). Und den Rest (das was bei den Events unterschiedlich ist) machst du im jeweiligen Event ausserhalb dieses SubVIs.

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2009, 19:55
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Event durch ein anderes Event triggern
Hast du Lucki's und meinen Beitrag genau angeschaut und durchgelesen? Offenbar nicht.

Du musst schon die richtige PropertyNode auswählen:
   

Value(Signaling), nicht Value. Das (Signaling) bedeutet, das diese Ausführung der PropertyNode als Event im Frontpanel interpretiert wird und somit den entsprechenden Fall in der Event-Structure auslöst.

Dass bei anderen Wertänderungen, z.B. bei Setzen einer lokalen Variablen aus dem Programm heraus KEIN Event ausgelöst wird, ist gut und richtig.

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.08.2009, 13:25 (Dieser Beitrag wurde zuletzt bearbeitet: 31.08.2009 13:30 von Novgorod.)
Beitrag #8

Novgorod Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2008

2016
2006
EN

0
Sonstige
Event durch ein anderes Event triggern
ach, signaling.. ok, alles klar, läuftWink

@eq: natürlich würde das auch mit subVIs gehen, ist allerdings aufwendiger, weil man alle inputs und outputs durchschleifen müsste - teilweise wird auch auf irgendwelche frontpanel-properties zugegriffen, was aus subVIs heraus zumindest schwierig wird.. so hab ich ein event-case als "funktion", die ich von überall triggern kann.. jetzt weiß ich ja auch endlich wieBig Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Asynchrone VIs mit Event Struktur sofort beenden Kiesch 4 1.321 26.04.2024 10:29
Letzter Beitrag: Kiesch
  LV crasht beim Editieren von Event-Loops Lime 1 1.187 22.03.2024 18:02
Letzter Beitrag: Martin.Henz
  Event Triggern über boolean Anzeige simcum 6 2.421 25.02.2023 14:57
Letzter Beitrag: simcum
  Stream-Libary anderes Verzeichnes LV-New 5 3.118 23.04.2021 07:11
Letzter Beitrag: GerdW
  Event Struktur Problem ache 9 3.741 17.09.2020 14:10
Letzter Beitrag: jg
  Enum gesteuertes Event ares2013 3 3.671 29.11.2019 19:03
Letzter Beitrag: Lucki

Gehe zu: