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 

User Event nur einmal ausführbar



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!

19.01.2010, 11:17
Beitrag #1

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
User Event nur einmal ausführbar
Hallo,

ich führe zum Zeitpunkt x ein User Event aus. Jedoch kann ich es nur einmal ausführen, ein zweites mal nicht mehr.
Wo ist hier der Haken?


Angehängte Datei(en) Thumbnail(s)
   

Grüsse
GT123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.01.2010, 11:24
Beitrag #2

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
User Event nur einmal ausführbar
Benutzerereignis außerhalb der äußeren Schleife erzeugen -> in ein Schieberegister der äußeren Schleife schicken -> außerhalb der Schleife das Schließen nicht vergessen


Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2010, 11:25
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
User Event nur einmal ausführbar
' schrieb:ich führe zum Zeitpunkt x ein User Event aus. Jedoch kann ich es nur einmal ausführen, ein zweites mal nicht mehr. Wo ist hier der Haken?
Eine Event-Struktur und eine While-Schleife laufen parallel in einer äußeren While-Schleife.

Für alle Elemente innerhalb einer While-Schleife gilt: Wenn alle Elemente abgearbeitet worden sind, wird der nächste Schleifendurchlauf gemacht. Demzufolge müssen die Elemente, die bereits abgearbeitet worden sind, mit der nächsten Abarbeitung solange warten, bis alle anderen Elemente innerhalb dieser While-Schleife auch abgearbeitet sind.

Wenn die Event-Struktur also einmal abgearbeitet wurde, so muss sie solange warten, bis auch die parallele While-Schleife abgearbeitet worden ist. Erst dann kann die Event-Struktur erneut starten. Da die papallele While-Schleife aber nie endet, wird die Event-Struktur kein zweites Mal gestartet.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2010, 11:32
Beitrag #4

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
User Event nur einmal ausführbar
' schrieb:Da die papallele While-Schleife aber nie endet, wird die Event-Struktur kein zweites Mal gestartet.

Wieso endet die nie? Das seh' ich nicht. Mellow

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2010, 11:40
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
User Event nur einmal ausführbar
' schrieb:Wieso endet die nie? Das seh' ich nicht. Mellow
Die Abbruchbedingung der (beiden) While-Schleife (roter Punkt unten rechts, Punkt ist rot => Abbruch bei True) ist mit False verdrahtet.

Und gleich noch zwei Hinweise:
Die Vorgehensweise bezüglich des Erstellens des Benutzerevents sollte auf jeden Fall so wie von dimitri84 vorgeschlagen gemacht werden. Möglicherweise gibt es sonst nämlich irgendwann Speicherüberlauf.
Außerdem kann die Verwendung der Variablen "Boolean" so wie gepostet zu RaceConditions führen !

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2010, 11:45
Beitrag #6

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
User Event nur einmal ausführbar
:wallOh man ... sry ich hab falsch geguckt.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2010, 11:56
Beitrag #7

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
User Event nur einmal ausführbar
Wenn ich eine Schleife um die Event Struktur lege dann läuft es.
Kann ich es so belassen ich meine wegen Speicherüberlauf... Das Event wird nie abgebrochen, da wenn das main.vi
schliesst wir alles mit exit beendet.


Angehängte Datei(en) Thumbnail(s)
   

Grüsse
GT123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2010, 12:10
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
User Event nur einmal ausführbar
' schrieb:Wenn ich eine Schleife um die Event Struktur lege dann läuft es.
Und zwar deswegen: jede While-Schleife läuft für sich => Die Event-Struktur läuft ständig.

Zitat:Kann ich es so belassen ich meine wegen Speicherüberlauf.
Die drei Elemente in der äußeren While-Schleife (generieren Benutzerevent, die zwei kleinen While-Schleifen) werden, so ist der Algorithmus, genau einmal ausgeführt. Die kleinen While-Schleifen laufen zwar ewig, das spielt aber für die Betrachtung der großen While-Schleife keine Rolle. Das Generieren des Benutzerevents wird nur ein einziges Mal gemacht => Du kannst das so lassen.
Wenn man sich das jetzt so überlegt, kommt man zu dem Ergebnis, dass man die außere While-Schleife einfach weg lassen kann.

Zitat:schliesst wir alles mit exit beendet.
Das ist schlecht, funktioniert aber.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2010, 12:15
Beitrag #9

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
User Event nur einmal ausführbar
Du solltest die große Whileschleife entfernen und nur die zwei kleinen, einzelnen stehen lassen. Dann wird nicht mehr ständig ein neues Event erzeugt und registriert, sondern nur einmal zu Programmstart. Allerdings solltest du dann bei der Erzeugerschleife (dort, wo du das Event setzt) mit Schieberegistern gearbeitet werden.

Generell solltest Du Dir vielleicht mal das Prinzip von Erzeuger und Verbraucher noch einmal anschauen (auch die Beispiele dazu in LV!), dann wird dir sicherlich einiges klar...

Edit: da war wieder einer schneller Big Grin Also lass wie wir alle sagen die Whileschleife aussen weg.

Tobias Brüggemann
Dipl.-Ing.(FH) Nachrichtentechnik/Elektronik
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2010, 12:57
Beitrag #10

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
User Event nur einmal ausführbar
Super, vielen Dank.
Ich habe es noch einmal upgedatet, für die Forumbesucher die es interessiert.

D.h., dass wenn ich mit Shift-Registern arbeite erstellt es keine neuen Registrierungen.
Ich dachte immer das nur das "Generate user event" dies macht...


Angehängte Datei(en) Thumbnail(s)
   

Grüsse
GT123
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
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 7.076 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Event in Eventsrtuktur bei Start einmal ausführen hansi9990 1 3.135 14.05.2017 15:32
Letzter Beitrag: GerdW
  Case Structure nur einmal durchführen McButch 5 5.641 30.05.2016 16:43
Letzter Beitrag: jg
  Bei Event Boolean ändern und bei erneutem Event resetten Shieva 4 4.586 07.07.2015 09:43
Letzter Beitrag: Lucki
  Event struktur: event triggern mit digital input Brainbug 11 9.339 26.03.2015 17:51
Letzter Beitrag: Lucki
  Case schleife einmal ausführen Alighieri 9 8.969 17.03.2015 08:24
Letzter Beitrag: Alighieri

Gehe zu: