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 

Dieses Thema hat akzeptierte Lösungen:

Reihenfolge bei Abarbeitung von Events



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!

18.11.2014, 11:36
Beitrag #1

Oli_N Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2006

9.0
2006
kA

3053
Schweiz
Reihenfolge bei Abarbeitung von Events
Hallo zusammen

Ich habe eine Frage zu den Ereignisstrukturen.
Wenn ich innerhalb eines Events mehrere andere Events auslöse, werden diese zu 100% in der Reihenfolge abgearbeitet, in welcher ich sie auslöse (z.B. durch setzen von Buttons)?
Oder kann die Reihenfolge varieren?
Besten Dank im Voraus für jegliche Hilfe!


Gruss
Oli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.11.2014, 12:03 (Dieser Beitrag wurde zuletzt bearbeitet: 18.11.2014 12:17 von Lucki.)
Beitrag #2

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Reihenfolge bei Abarbeitung von Events

Akzeptierte Lösung

Die Ereignisse kommen in eine Queue und werden in dieser Reihenfolge abgearbeitet. Wenn man eine bestimmte Reihenfolge wünscht, muß man bereits bei der Entstehung der Ereignisse dafür sorgen, dass eine "falsche" Reihenfolge nicht möglich ist. Z.B durch programmgesteuerte Aktivierung/Dekativierung von Bedienelementen, oder durch dynamische Ereignis-Registrierung.
Wenn Du also innerhalb eines Ereignisses mit "Wert, signalisierend" mehrere andere Ereignisse in bestimmter Reihenfolge auslösen willst, dann einfach eine Sequenzstruktur verwenden.
Die vollendetste Möglichkeit, um solche Probleme mit unterschiedlichen Reihenfolgen spielend zu lösen, ist aber "QSM"-Struktur - die Queue-gesteuerte State-Machine mit Ereignsisstruktur. --> googeln.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.11.2014, 12:37
Beitrag #3

Oli_N Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2006

9.0
2006
kA

3053
Schweiz
RE: Reihenfolge bei Abarbeitung von Events
Hallo Lucki

Besten Dank für deine rasche Antwort!
Genau so möchte ich es machen, mit einer Sequenzstruktur verschiedene Events in einer bestimmten Reihenfolge abarbeiten.
Wenn die Eventaufrufe wie du geschrieben hast in einer Queue landen müsste das so klappen.
QSM werde ich mir mal anschauen, danke für den Tip!

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2014, 08:36
Beitrag #4

Kiesch Offline
LVF-Stammgast
***


Beiträge: 412
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Reihenfolge bei Abarbeitung von Events
NI rät allerdings meine Wissens typischerweise davon ab. Man könnte dadurch nämlich sehr schnell einen Deadlock erzeugen. Potentiell geht das ganz gerne wenn "Frontpanel blockieren während Event abgearbeitet wird" (oder so ähnlich) aktiviert ist. Triggerst du dann das innere Event, wird es nicht abgearbeitet weil das äußere noch wartet; das äußere hingegen kann zumindest durch Nutzerinteraktion auch nichtmehr ausgeführt werden.

Ich nehme mal an, das gleiche wird dir auch passieren, wenn Frontpanel blockieren nicht aktiv ist.

Will sagen: Man muss bei geschachtelten Events extrem vorsichtig zu Werke gehen, da man sehr leicht unerwünschtes Verhalten kriegen kann.

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2014, 10:32 (Dieser Beitrag wurde zuletzt bearbeitet: 21.11.2014 13:43 von Lucki.)
Beitrag #5

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Reihenfolge bei Abarbeitung von Events
(21.11.2014 08:36 )Kiesch schrieb:  Will sagen: Man muss bei geschachtelten Events extrem vorsichtig zu Werke gehen,
Hier liegt bei Dir ein Missverständnis vor - oder bei mir.
Wenn Oli schrieb: "Wenn ich innerhalb eines Events mehrere andere Events auslöse...", so ist das doch nicht so zu verstehen, dass innerhalb dieses Event-Cases eine andere Eventstruktur hineingeschachtelt werden soll. (Mich wundert sehr, dass NI davor warnt - auf so eine verrückte Idee so etwas zu machen kann man doch gar nicht kommen, hätte ich gedacht).
Nein, es ist lediglich die Rede davon, dass inerhalb diese Ereignissescases ein oder mehrere weitere Ereignise aktiviert werden sollen - und zwar solche, die in derselben Ereignisstruktur als Cases angelegt sind. Von "Schachtelung" von Ereignissen kann also gar keine Rede sein.

Zusatzinformation für Newbies: Anfänger werfen manchmal Ereignisse mit Interrupts in einen Topf. Ja, das Aktivieren eines Ereignisses löst zwar einen sofortigen systeminternen Interrupt aus. Der bewirkt aber nur, dass das Ereignis in die Ereignis-Warteschlange hineinkommt. Die eigentliche Ereignisbehandlung erfolgt dann aber nicht als Interrpt, sondern ganz normal bei der Programmabarbeitung, wenn die Ereignisstruktur an der Reihe ist. Dabei werden nicht mal alle Ereignisse behandlet, sondern nur das eine, welches in der Warteschlange vorn liegt.
Hier bedeutet das: Wenn in einem Ereignsicase ein neues Ereignis aktiviert wird, so wird nicht etwa die Abarbeitung dieses Cases unterbrochen. Dieses neue Ereignis wird erst behandelt, wenn die Ereignisstruktur im Programmablauf wieder mal an der Reihe ist. Sehr oft ist das aber gleich der Fall, vor allem wenn sich die Ereignisstruktur innerhalb einer eigenen parallelen while-Schleife befindet.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2014, 13:05
Beitrag #6

Kiesch Offline
LVF-Stammgast
***


Beiträge: 412
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Reihenfolge bei Abarbeitung von Events
@Lucki

8:36 ist vielleicht doch noch nicht so ganz meine Zeit, besonders Freitags. Nach deinem Hinweis verstehe ich grad auch nicht wie ich Olis Text anders verstehen konnte Big Grin Da sind wohl einfach die Alarmglocken mit mir durchgegangen.

Gruß Kiesch

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Frage zur Architektur: Statemachine und Wait for Events tuhpon 6 4.498 18.03.2024 16:14
Letzter Beitrag: tuhpon
  Bedienelemente bündeln zum Auslösen eines Events Marcusius 12 9.306 03.09.2019 17:24
Letzter Beitrag: Marcusius
  Mausrad bei Events/Casestrukturen Schwand 1 3.822 20.09.2016 08:30
Letzter Beitrag: Schwand
  Dynamische Events programmatisch auslösen AMueller 6 7.043 22.04.2016 07:43
Letzter Beitrag: GerdW
  Abbildung der Reihenfolge im String ichmaglachs 10 9.560 19.12.2015 23:40
Letzter Beitrag: ichmaglachs
  Eventstruktur mit 2 Events Großer_Stein 3 4.213 11.06.2015 10:11
Letzter Beitrag: Großer_Stein

Gehe zu: