!!

Willkommen Besucher...

...um das das LabVIEWForum.de als Benutzer in vollem Umfang nutzen zu können, ist eine kostenlose Registrierung nötig...
Registrierte Benutzer können Beiträge schreiben, Dateien uploaden, Beiträge lesen :) uvm.


Antwort schreiben 
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
11.02.2010, 16:28
Beitrag #1

fsg4u Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: May 2008

LV-Version: 8.6
LV-Erfahrung seit: 2008
LV-Sprachversion: de

PLZ: 23552
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
Moin moin,

Einfaches Szenario
Frontpanel 2 Buttons
Auf beiden Frontpanels liegt ein event.
Ich möchte nun, dass ich mit dem einen event das andere ausführen kann.
Leider wird das zweite event erst ausgeführt, wenn das erste zu Ende ist.
Wie kann man es machen, dass das zweite event direkt ausgeführt wird, wenn es gerufen wird?
Quasi eine Funktion aufrufen, aber KEIN Subvi.

Hoffentlich habt ihr ne Idee. Das wär toll
Ciao FSG

LabVIEW version ist 8.6


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  2events.vi (Größe: 9,64 KB / Downloads: 55)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
. .
11.02.2010, 17:22
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.246
Registriert seit: Feb 2005

LV-Version: .. 10.0
LV-Erfahrung seit: -
LV-Sprachversion: DE

PLZ: 97437
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
' schrieb:Frontpanel 2 Buttons
Auf beiden Frontpanels liegt ein event.
Wacko
Ein Event liegt nicht auf einem Frontpanel. Mit einem Bedienelement am Frontpanel kann man einen Event auslösen. Genauso, wie mit dem Property "Wert(signalisierend)".

Zitat:Ich möchte nun, dass ich mit dem einen event das andere ausführen kann.
Vom Vorgehen, innerhalb des einen Events einen anderen ausführen zu sollen, solange der eine noch nicht abgearbeitet ist, rate ich dringend ab. Ein solches Vorgehen wirft prinzipielle Probleme auf.

Ich sag jetzt einfach mal so:
Eine Event-Struktur ist nicht in der Lage, zweimal, also parallel, ausgeführt zu werden. Parallel? :wald:Parallel hieße ein zweiter Datenfluß. Da die Eventstruktur aber nur einmal dasteht, kann sie auch nur einmal ausgeführt werden.

Zitat:Wie kann man es machen, dass das zweite event direkt ausgeführt wird, wenn es gerufen wird?
Mach eine Queue:
Mach eine parallele While-Schleife, die den Code des zweiten Events enthält und der nur ausgeführt wird, wenn in der Queue ein entsprechender Befehl steht. Im ersten und im zweiten Event verschickt du eine Meldung per Queue an diese parallele While-Schleife. Eine parallele While-Schleife, gesteuert durch eine Queue, kann als "Event-Sequenz" interpretiert werden.

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
11.02.2010, 18:53 (Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2010 19:02 von Lucki.)
Beitrag #3

Lucki Offline
Guru-Simulator
LVF-Team

Beiträge: 5.534
Registriert seit: Mar 2006

LV-Version: ..2011prof.ohne Addons
LV-Erfahrung seit: 1995
LV-Sprachversion: DE

PLZ: 01108
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
' schrieb:Ich möchte nun, dass ich mit dem einen event das andere ausführen kann.
Leider wird das zweite event erst ausgeführt, wenn das erste zu Ende ist.
Bei Drücken von Taste 1 sollen also Code 1 + 2 parallel ausgeführt werden, bei Drücken von Taste 2 nur Code 2. Das ist ein legitimer Wunsch, aber so wie Du es versuchst hast geht es nicht.
Wie Ichselbst schon sagte, ist eine einzelne Ereignisstruktur - mit mehreren Ereigniscases - nicht in der Lage, zwei Ereignsisse parallel auszuführen. Andererseits wird oft der Wunsch bestehen, daß jedes anstehendes Ereignis möglichst sofort ausgeführt wird. Damit das tatsächlich der Fall ist, gibt es diese einfache Regel: In die Ereigniscases darf nichts reinkommen, was Zeit beansprucht. Damit ist gewährleistet, daß die Ereignisstruktur kurz nach einem Ereignis schon wieder in Wartestellung für ein neues Ereignis ist.
Der Code, der Zeit beansprucht, muß also ausgelagert werden, am besten in eine parallele unabhängige Schleife. Das Ereignis selbst sendet nur eine Mitteilung an diese Schleife, daß sie 1 Mal abgearbeitet werden soll.
Beispiel:
Lv86_img
Sonstige .vi  2eventsWa.vi (Größe: 11,91 KB / Downloads: 78)

Und übrigens: Das ist sowieso ein guter Programmierstil: Ein Schleife für das Hauptprogramm und parallel dazu eine weitere Schleife nur für die Ereignisbehandlung.

Den Labview-Beginner erkenne ich am deutlichsten an der exzessiven Verwendung der Sequenzstruktur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2010, 09:10 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2010 09:24 von fsg4u.)
Beitrag #4

fsg4u Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: May 2008

LV-Version: 8.6
LV-Erfahrung seit: 2008
LV-Sprachversion: de

PLZ: 23552
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
Danke für Eure Anregungen. Könntet ihr mein Beispiel einmal mit Queues realisieren? Das wär klasse.
Danke FSG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2010, 10:21
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.246
Registriert seit: Feb 2005

LV-Version: .. 10.0
LV-Erfahrung seit: -
LV-Sprachversion: DE

PLZ: 97437
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
' schrieb:Danke für Eure Anregungen. Könntet ihr mein Beispiel einmal mit Queues realisieren? Das wär klasse.
Ich würde sagen, wir mach das andersherum: Du baust dir zur Übung die Queue selbst ein, hilfst dir dabei selbst mit der Onlinehilfe und den Onlinemustern, und stellst dann das VI hier ein - falls etwas nicht so geht wie gedacht.

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
15.02.2010, 12:06
Beitrag #6

fsg4u Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: May 2008

LV-Version: 8.6
LV-Erfahrung seit: 2008
LV-Sprachversion: de

PLZ: 23552
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
Habs jetzt über die Occurences gelöst. das klappt ganz gut.
danke fsg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
.. .
15.02.2010, 18:30 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2010 18:31 von Lucki.)
Beitrag #7

Lucki Offline
Guru-Simulator
LVF-Team

Beiträge: 5.534
Registriert seit: Mar 2006

LV-Version: ..2011prof.ohne Addons
LV-Erfahrung seit: 1995
LV-Sprachversion: DE

PLZ: 01108
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
' schrieb:Habs jetzt über die Occurences gelöst. das klappt ganz gut.
Ja, ich hatte es im Beispiel ja auch so gemacht. Aber vielleicht sollte man erwähnen, daß NI von der Verwendung von Occurences abrät. Man soll statt dessen Melder verwenden. Ich vermute, daß der Grund der ist, daß in der Version LabVIEW 2020 :mellow:die Occurences abgeschafft werden sollen.

Den Labview-Beginner erkenne ich am deutlichsten an der exzessiven Verwendung der Sequenzstruktur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2010, 18:44
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.246
Registriert seit: Feb 2005

LV-Version: .. 10.0
LV-Erfahrung seit: -
LV-Sprachversion: DE

PLZ: 97437
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
' schrieb:Ich vermute, daß der Grund der ist, daß in der Version LabVIEW 2020 :mellow:die Occurences abgeschafft werden sollen.
Occurrences sind nicht abbrechbar und können daher das Gesamtsystem lahmlegen (Deadlock).

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
16.02.2010, 10:08
Beitrag #9

fsg4u Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: May 2008

LV-Version: 8.6
LV-Erfahrung seit: 2008
LV-Sprachversion: de

PLZ: 23552
Land: Deutschland
anderes Event ausführen, obwohl Hauptevent noch nicht fertig ist
moin. Danke für die Hinweise. Bin dann selber auch auf die Notfications gekommen. Da kann ich direkt noch ne Nachricht mitschicken.
Das find ich am besten.
Danke für Eure Tipps. Nun läuft alles so, wie ich es gern hätte!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: