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:

Simple Event Struktur



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!

21.06.2016, 18:57
Beitrag #31

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Simple Event Struktur
Ich bin verwirrt - was willst du mit dem Code-Schnippsel, den du gepostet hast, erreichen? Nur dafür brauchst du keine Queues, dafür langt auch eine State-Machine. Warum, fragst du dich? Dann erkläre ich mal, was bei deinem Code passiert:

Bei Start des VI wartet das "Dequeue Element" beim ersten Aufruf 50 ms, wenn bis dahin nichts kommt, wird der Default-Wert des Enum zurückgegeben, selbst wenn kein Element in der Queue ist. Das VI springt in den Case "Initialize Front US". Dort wird das Element "Left..." in die Queue geschoben. Im nächsten Schleifendurchlauf gibt "Dequeue" sofort das Element "Left..." zurück, das VI springt in den Case "Left...". Dort wird "Right..." in die Queue geschoben. Nächster Schleifendurchlauf, Dequeue gibt "Right..." zurück, springt in den "Right..." Case. Dort wird wieder "Front..." angehängt. Usw. usw. usw., ab diesem Zeitpunkt beginnst du also wieder von vorne, das quasi ohne Wartezeit und entsprechender Auslastung der CPU. Für diesen Ablauf langt es auch, wenn du einfach in einer State-Machine von Case zu Case springst.

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
23.06.2016, 17:45
Beitrag #32

berlinfatih Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Apr 2016

2015
2014
EN



RE: Simple Event Struktur
Hallo Jg,
danke für die schnelle Antwort.

(21.06.2016 18:57 )jg schrieb:  Ich bin verwirrt - was willst du mit dem Code-Schnippsel, den du gepostet hast, erreichen? Nur dafür brauchst du keine Queues, dafür langt auch eine State-Machine. Warum, fragst du dich?
Mit der Gedanke habe ich auch schon die ganze Zeit gespielt, nur auf State-Maschine zu setzen. Weil das reicht, wie du schon meintest, für meine Bedürfnisse aus.
Zuerst wollte ich ja mit Event-Struktur programmieren, GerdW hat mir empfohlen nicht mit Events zu Programmieren (da ich myrio verwende) sondern mit Queue zu Programmieren. Seine Gedanke war sicherlich, wenn auch Queue nötig ist Big GrinBig Grin

(21.06.2016 18:57 )jg schrieb:  Dann erkläre ich mal, was bei deinem Code passiert:

Bei Start des VI wartet das "Dequeue Element" beim ersten Aufruf 50 ms, wenn bis dahin nichts kommt, wird der Default-Wert des Enum zurückgegeben, selbst wenn kein Element in der Queue ist. Das VI springt in den Case "Initialize Front US". Dort wird das Element "Left..." in die Queue geschoben. Im nächsten Schleifendurchlauf gibt "Dequeue" sofort das Element "Left..." zurück, das VI springt in den Case "Left...". Dort wird "Right..." in die Queue geschoben. Nächster Schleifendurchlauf, Dequeue gibt "Right..." zurück, springt in den "Right..." Case. Dort wird wieder "Front..." angehängt. Usw. usw. usw., ab diesem Zeitpunkt beginnst du also wieder von vorne, das quasi ohne Wartezeit und entsprechender Auslastung der CPU. Für diesen Ablauf langt es auch, wenn du einfach in einer State-Machine von Case zu Case springst.

Was bei den Programm so abläuft, war mir schon bekannt Big GrinBig Grin. Das Programm bestant eigentlich aus eine Event-Struktur, wo auf bestimmte Tasten reagiert, die halt je nach welche Taste gedrückt wird, die dazugehörige Queue abläuft.
Wie gesagt, wollte ich Stur mit Queue Programmieren, was in meinen Fall nicht nötig war.
Werde mein Programm dementsprechend ändern und nochmal posten.Box

Danke für die Unterstützung.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.06.2016, 18:53
Beitrag #33

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Simple Event Struktur
Prima, wenn dir alles klar war. Ich wollte sichergehen, dass du nicht von irgendwo anders noch Kommandos einschleust, dann wärst du irgendwann ins schleudern gekommen.

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Asynchrone VIs mit Event Struktur sofort beenden Kiesch 4 9.658 26.04.2024 10:29
Letzter Beitrag: Kiesch
  Event Struktur Problem ache 9 5.112 17.09.2020 14:10
Letzter Beitrag: jg
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 8.256 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Event-Struktur: Timeout während der Eventabarbeitung kwakz 4 5.494 04.09.2015 17:21
Letzter Beitrag: Lucki
  Bei Event Boolean ändern und bei erneutem Event resetten Shieva 4 5.357 07.07.2015 09:43
Letzter Beitrag: Lucki
  Simple Formel in LabView+Grafik PotatoJim 1 2.947 15.06.2015 13:40
Letzter Beitrag: jg

Gehe zu: