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 

mehrere Event Cases gleichzeitig laufen lassen



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!

20.07.2009, 08:28
Beitrag #1

Oli_N Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2006

9.0
2006
kA

3053
Schweiz
mehrere Event Cases gleichzeitig laufen lassen
Hallo zusammen..

Ich hätte da eine Frage zu den "Event Structures".
Ich habe mehrere Buttons, welche je einen Event auslösen. In einem dieser Events (Haupt-Event) werden einige dieser Buttens so gesetzt, dass diese ebenfalls ausgelöst werden. Im Haupt-Event befindet sich eine Warteschleife, in welcher gewartet werden soll, bis die anderen Events abgearbeitet sind. Mein Problem ist nun, dass ich in der Warteschleife im Haupt-Event hängen bleibe, da die anderen Events garnicht gestartet werden. Ich neme mal an, dass das daran liegt, dass Events immer nur nacheinander abgearbeitet werden.
Ist es irgendwie möglich, dass Events ausgelöst werden können, während sich das Programm noch in einem anderen befindet?

Vielen Dank schon mal!

Gruss
Oli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 08:37
Beitrag #2

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
mehrere Event Cases gleichzeitig laufen lassen
Theoretisch kannst du eine Eventstruktur in eine andere Eventstruktur rein packen. Dabei muss man allerdings aufpassen, dass nicht beide Strukturen auf die selben Events reagieren. Und wirklich sauber ist das nicht. NI warnt vor solchen Methoden, meines Erachtens nicht grundlos.

Wenn du dein VI mal hochlädst, kann man evtl deutlicher sehen, was du da vor hast und welche Alternativen es gibt.

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 09:00 (Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2009 09:20 von TSC.)
Beitrag #3

Oli_N Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2006

9.0
2006
kA

3053
Schweiz
mehrere Event Cases gleichzeitig laufen lassen
Ich habe mein Problem kurz in einem separaten, einfachen VI aufgebaut, damit das Ganze etwas übersichtlicher ist.
Das Problem ist nun, dass das Programm im Event "Button 1-3" hangen bleibt.

Lv86_img
Sonstige .vi  Test_Event_Structures.vi (Größe: 48,06 KB / Downloads: 253)


EDIT:
Bei Uploads bitte immer die LV-Version mit angeben (vgl. LVF-Regeln)!!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 09:29
Beitrag #4

Morpheus Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 205
Registriert seit: Jul 2009

2019 SP1, 2020 SP1
2005
EN

8000
Schweiz
mehrere Event Cases gleichzeitig laufen lassen
Hallo Oli.

Warum trennst Du den Event-Case nicht vom ausführenden Code?
Vielleicht hilft dir mein Beispiel? (in LabVIEW 8.6 erstellt)


Gruss Chris


Angehängte Datei(en)
Sonstige .vi  Test_Event_Structures.vi (Größe: 50 KB / Downloads: 275)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 09:30
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
mehrere Event Cases gleichzeitig laufen lassen
Z.B so würde es funktionieren:
Lv86_img
Sonstige .vi  Test_Event_Structures_wa.vi (Größe: 47,85 KB / Downloads: 312)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 09:35
Beitrag #6

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
mehrere Event Cases gleichzeitig laufen lassen
oder so:

Lv86_img
Sonstige .vi  Unbenannt_1.vi (Größe: 11,45 KB / Downloads: 260)

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 10:32
Beitrag #7

Oli_N Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Oct 2006

9.0
2006
kA

3053
Schweiz
mehrere Event Cases gleichzeitig laufen lassen
Zuerst einmal vielen Dank für eure Beiträge!
Neben meinen Event Structures habe ich eigentlich noch eine Schleife mit meinem übrigen Code (Hauptprogramm). Darin möchte ich eine Art Initialisierung aufrufen, welche verschiedene Knopfdrücke simuliert (routine 1, routine 2, routine 3) und dessen Events ausführt. Weiter soll im Hauptprogramm gewartet werden, bis die Initialisierung abgeschlossen ist. Dazu hatte ich vor solange zu warten, bis der Button "Initialisierung" wieder gelöscht ist. Das Problem ist nun also, dass der Button "Initialisierung" gelöscht werden muss, sobald "routine 1", "routine 2" und "routine 3" abgeschlossen sind.


Sonstige .vi  Test_Event_Structures_2.vi (Größe: 51,72 KB / Downloads: 233)
(in LabVIEW 8.6 erstellt)

@ Chris: Da ich mein Hauptprogramm neben der Event Structure habe geht das so nicht^.

@Lucki: In deiner Variante wird ja nun alle 100ms der Timeout case ausgeführt (braucht alles immer Zeit). Und der Button "Initialisieren" wird nicht unbedingt unmittelbar nach Beenden der routinen gelöscht.

@TSchAC Der Button "Initialisieren" wird nicht unbedingt unmittelbar nach Beenden der routinen gelöscht.

Ich denke das einfachste ist es, wenn ich den Button "Initialisieren" einfach in der routine3 (oder die, welche als letztes ausgeführt wird) wieder lösche (so, wie das Chris eigentlich hat).
Ich hatte mir gedacht, dass es ev. anders geht.

Nochmals Danke an alle!!

Gruss
Oli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 13:29
Beitrag #8

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
mehrere Event Cases gleichzeitig laufen lassen
' schrieb:@Lucki: In deiner Variante wird ja nun alle 100ms der Timeout case ausgeführt (braucht alles immer Zeit). Und der Button "Initialisieren" wird nicht unbedingt unmittelbar nach Beenden der routinen gelöscht.
Ein Timeout (Wartezeit) von 100ms ist nicht so schlimm wie kein Wait in den whileschleifen (= 100% Prozessorbelastung), wie Du es machst, oder Timeout=-1 (unendlich, = nicht angeschlossen) bei einer Ereignsistruktur, die in der Hauptschleife liegt (=hängenbleiben)
In dem VI, welches ich von Dir modifiziert habe, gab es gar keinen Knopf "initialisieren", also wieso argumentierst Du hier mit diesem nicht existierendem Knopf, daß er hatte gelöscht oder nicht gelöscht hätte werden müssen?
Brauchst aber nicht zu antworten, ich klinke mich hier aus.
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
  Mehrere Tests parallel laufen lassen Minako 21 4.807 22.10.2024 09:44
Letzter Beitrag: Kiesch
  2 Motoren Synchron laufen lassen 911tom 5 9.496 22.12.2017 08:50
Letzter Beitrag: kpa
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 8.223 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Bei Event Boolean ändern und bei erneutem Event resetten Shieva 4 5.330 07.07.2015 09:43
Letzter Beitrag: Lucki
  Event struktur: event triggern mit digital input Brainbug 11 10.306 26.03.2015 17:51
Letzter Beitrag: Lucki
  Sinnvolle Cases MoJoJo 6 5.184 07.01.2015 11:09
Letzter Beitrag: MoJoJo

Gehe zu: