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 

Eventstruktur im HauptVi und SubVi möglich?



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!

28.09.2011, 14:51
Beitrag #1

Topia Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Jun 2011

2011
2008
DE


Deutschland
Eventstruktur im HauptVi und SubVi möglich?
Also das man zwei Eventstrukturen in einem Vi nicht verwenden soll ist mir klar wobei man vorallem jedoch aufpassen soll nicht die gleichen Events zu beobachten.

Kann ich jetzt aber ein MainVi mit einer Eventstruktur haben die mir den Quit Button, Init etc überwacht UND eine weitere Eventstruktur in einem SubVi? Dieses wird durch das MainVi aufgerufen und soll die Werte in einem Typedefcluster updaten. Z.Z mache ich dies durch eine WhileSchleife was aber eine hohe Prozessorauslastung bedeutet. Lieber wäre mir ein Update nur wenn der User einen Wert im Typedefcluster geändert hat.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 15:32
Beitrag #2

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Eventstruktur im HauptVi und SubVi möglich?
(28.09.2011 14:51 )Topia schrieb:  Also das man zwei Eventstrukturen in einem Vi nicht verwenden soll ist mir klar wobei man vorallem jedoch aufpassen soll nicht die gleichen Events zu beobachten.

Kann ich jetzt aber ein MainVi mit einer Eventstruktur haben die mir den Quit Button, Init etc überwacht UND eine weitere Eventstruktur in einem SubVi? Dieses wird durch das MainVi aufgerufen und soll die Werte in einem Typedefcluster updaten. Z.Z mache ich dies durch eine WhileSchleife was aber eine hohe Prozessorauslastung bedeutet. Lieber wäre mir ein Update nur wenn der User einen Wert im Typedefcluster geändert hat.

Wird das SubVI dem User dargestellt? Falls ja spricht eigentlich nicht viel dagegen. (Der Typedefcluster ist schon ein Control im SubVI oder??)

Vorallem musst du darauf achten, dass das Event nicht in zwei verschiedenen Eventstrukturen abgearbeitet werden kann.

Das SubVI musst du dann aber in eine eigene Schleife legen, ansonsten wird das Hauptvi blockiert bis das SubVI abgearbeitet ist (was durchaus auch erwünscht sein kannWink)

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 15:52
Beitrag #3

Kiesch Offline
LVF-Stammgast
***


Beiträge: 401
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Eventstruktur im HauptVi und SubVi möglich?
Frage zum Verständnis: Nutzt man zwei Eventstrukturen (die auf das gleiche Event lauschen) in einem VI, dann treten Racing Conditions auf und es ist nicht klar welches von beiden Abgearbeitet wird?
Oder ist das Problem ausschließlich der Potentielle Deadlock durch ineinander verschachtelte Events?

Sprich: In zwei verschiedenen Schleifen in einem VI kann man mit beiden Eventstrukturen auch das gleiche Event abrufen (weil durch das parrallel laufen der Deadlock vermieden wird)?

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
28.09.2011, 16:43
Beitrag #4

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: Eventstruktur im HauptVi und SubVi möglich?
Also von NI ausdrücklich nicht empfohlen sind mehrere Eventstrukturen in einer Schleife. Wenn aber ein VI aus mehreren parallelen, unabhängig laufenden Schleifen besteht, dann läßt sich eher darüber reden. Zu empfehlen ist es aber trotzdem nicht. Man kann vieles machen, wenn man die Funktionsweise der Eventsrukturen zutiefst verinnerlicht hat - aber das ist sehr oft nicht der Fall, und da kann man nur raten: Finger weg von solchen Strukturen.

Das gleiche Ereignis in mehreren Strukturen zu behandeln, dafür gibt es absolut keine Notwendigkeit. Wenn es doch gemacht würde: Wettlauferscheinungen gibt es da nur indirekt. Solche Ereignisse werden in jeder der beiden Strukturen registriert und wenn es in Struktur 1 behandelt wurde, dann liegt es in Struktur 2 trotzdem noch an und wartet ebenfalls auf die Behandlung. Und diese 2. Behandlung kann in manchen Fällen kompliziert oder umöglich sein, weil die Behandlung davon abhängen kann, ob das Ereignis bereits in Struktur 1 behandelt wurde oder nicht - wovon Struktur 2 aber nichts weiß.

Die Verwendung von Ereignisstrukturen im Haupt- und in jedem SUB-VI ist hingegen völlig unkritisch. Denn die Ereignisse beziehen sich ja immer auf Elemente im selben VI, in dem sich die Struktur befindet. Von daher gibt es keine Überschneidungen. Wenn allerdings mit Referenzen gearbeitet wird, um an die Elemente des jeweils anderen VIs ranzukommen, dann kann es komplizierter werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 17:37
Beitrag #5

Topia Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Jun 2011

2011
2008
DE


Deutschland
RE: Eventstruktur im HauptVi und SubVi möglich?
(28.09.2011 16:43 )Lucki schrieb:  ...Wenn allerdings mit Referenzen gearbeitet wird, um an die Elemente des jeweils anderen VIs ranzukommen, dann kann es komplizierter werden.

Ich werde morgen ein Beispiel hier reinsetzen. Aber ja, der Typedef Control im HauptVi wird als Referenz an das SubVi übergeben wo ich zuerst mit dem Eigenschaftsknoten "Elemente[]" Zugriff auf die Elemente mir hole und dann diesen Elementarray an "Für Ereignisse registrieren" an Wertänderung anschließe um dann mittels dynamisches Event dies in der Eventstruktur zu registrieren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.09.2011, 08:33
Beitrag #6

Kiesch Offline
LVF-Stammgast
***


Beiträge: 401
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Eventstruktur im HauptVi und SubVi möglich?
@Lucki

Schon nen Stop Button kann Sinn machen in zwei Schleifen als Event abzufragen (und daraufhin beide Schleifen zu beenden). Sicher kann man das auch über ne Lokale Variable machen - nur dann ist man auf den Timeout Case der zweiten Schleife oder ein weiteres Event angewiesen. Entsprechend gibt es sinnvolle Anwendungen dafür. Meine Frage bezog sich eigentlich nur darauf ob ein Event sich ähnlich wie ein Bool auf Latch Verhält (einmal ausgelesen ist es "weg" / abgearbeitet) oder eben für jede Eventstruktur "separat" generiert wird.
Das man ansonsten natürlich schauen muss, dass man die Racing Conditions vermeidet die generell durch Parrallelläufigkeit entstehen können ist natürlich selbstverständlich.

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
29.09.2011, 09:25 (Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2011 09:28 von Lucki.)
Beitrag #7

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: Eventstruktur im HauptVi und SubVi möglich?
(29.09.2011 08:33 )Kiesch schrieb:  Meine Frage bezog sich eigentlich nur darauf ob ein Event sich ähnlich wie ein Bool auf Latch Verhält (einmal ausgelesen ist es "weg" / abgearbeitet) oder eben für jede Eventstruktur "separat" generiert wird.

Die Frage hatte ich ja beantwortet: Das Ereignis wird für jede Struktur separat generiert und muß separat behandelt werden, so, als ob zwei verschiedene Ereignisse aufgetreten wären.

Zitat:Schon nen Stop Button kann Sinn machen in zwei Schleifen als Event abzufragen (und daraufhin beide Schleifen zu beenden).

Da gebe ich Dir Recht, und wenn ich etwas anderes gesagt habe, dann geschah das nur aus Feigheit und Angst Big Grin Es ist nämlich so, daß die Empfehlungen von Labview zur Mehrfachverwendung von Ereignisstrukturen - so wie auch die Empfehlungen zu lokalen Variablen - hier im Forum oftmals überinterpretiert werden. Wenn man sich dieser Überinterpretation nicht anschließt, läuft man Gefahr, eine ganze Meute auf sich zu hetzen und einen langen, schon x-mal gehabten Thread mit den immer gleichen Argumenten loszutreten. Das wollte ich auf alle Fälle vermeiden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.09.2011, 09:33
Beitrag #8

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Eventstruktur im HauptVi und SubVi möglich?
(29.09.2011 09:25 )Lucki schrieb:  
(29.09.2011 08:33 )Kiesch schrieb:  Meine Frage bezog sich eigentlich nur darauf ob ein Event sich ähnlich wie ein Bool auf Latch Verhält (einmal ausgelesen ist es "weg" / abgearbeitet) oder eben für jede Eventstruktur "separat" generiert wird.

Die Frage hatte ich ja beantwortet: Das Ereignis wird für jede Struktur separat generiert und muß separat behandelt werden, so, als ob zwei verschiedene Ereignisse aufgetreten wären.

Zitat:Schon nen Stop Button kann Sinn machen in zwei Schleifen als Event abzufragen (und daraufhin beide Schleifen zu beenden).

Da gebe ich Dir Recht, und wenn ich etwas anderes gesagt habe, dann geschah das nur aus Feigheit und Angst Big Grin Es ist nämlich so, daß die Empfehlungen von Labview zur Mehrfachverwendung von Ereignisstrukturen - so wie auch die Empfehlungen zu lokalen Variablen - hier im Forum oftmals überinterpretiert werden. Wenn man sich dieser Überinterpretation nicht anschließt, läuft man Gefahr, eine ganze Meute auf sich zu hetzen und einen langen, schon x-mal gehabten Thread mit den immer gleichen Argumenten loszutreten. Das wollte ich auf alle Fälle vermeiden.

Verbrennt den Ketzer! Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.09.2011, 10:14
Beitrag #9

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
RE: Eventstruktur im HauptVi und SubVi möglich?
Hallo Topia,

ich halte es so wie Ludwig und versuche nur eine Eventstruktur zu verwenden.
Aus der Überlegung heraus, sollte eine Eventstruktur in einem SubVI sich nicht an der in dem aufrufenden VI stören und umgedreht.
Mir ist das aber schon passiert, daß ich ein SubVI in einem Subpanel im MainVi eingeblendet habe.
Dort wird es nur zu bestimmten Zeiten ausgeführt und in den anderen Zeiten läuft eben das MainVI.
Wenn das SubVI nicht lief, reagierte seltsamer Weise aber trotzdem die Eventstruktur darin wenn ich ein Control bediente und hängte damit das Programm auf. Nur das entfernen der Eventstruktur im SubVI löste die Probleme.

Grüße
Andreas

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Eventstruktur im SubVI - Datenaustausch TpunktN 5 2.881 01.07.2021 07:15
Letzter Beitrag: Zelos
  Eventstruktur in Sub VI Ingo2 1 3.209 20.07.2015 13:27
Letzter Beitrag: GerdW
  Eventstruktur mit 2 Events Großer_Stein 3 3.765 11.06.2015 10:11
Letzter Beitrag: Großer_Stein
  SUB-VI über Referenzen - Elemente im HauptVI goekhan1985 5 5.221 07.04.2015 20:37
Letzter Beitrag: GerdW
  Übergabe einer Referenz vom HauptVI in das SubVI alan 1 3.383 09.03.2015 16:11
Letzter Beitrag: jg
  Eventstruktur lola2014 12 8.552 26.01.2015 16:28
Letzter Beitrag: GerdW

Gehe zu: