LabVIEWForum.de
Ereignisstruktur auslösen verhindern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Ereignisstruktur auslösen verhindern (/Thread-Ereignisstruktur-ausloesen-verhindern)



Ereignisstruktur auslösen verhindern - Moeseph - 16.02.2012 11:33

Hallo an alle Experten!

Gibt es eine Möglichkeit zu verhindern, dass eine Ereignisstruktur mehrfach ausgelöst wird? Der Fall ist Folgender:

Ich habe eine Ereignisstruktur, die zur Abarbeitung eine bestimte Zeit benötigt. Die Struktur wird durch die Wertänderung eines Schalters getriggert. Wenn ich jetzt allerdings den Schalter nochmal drücke während die Ereignisstruktur noch läuft, dann läuft die Struktur nochmal ab, sobald sie das erste Mal beendet wurde. Gibt es eine Möglichkeit, den Schalter, der die Struktur triggert solage zu deaktivieren, bis die Struktur abgerabeitet ist, ohne gleich das ganze Frontpanel zu sperren?

Oder vielleicht genereller: Lassen sich Controls auf dem Frontpanel an bestimmten Punkten im Verlaufe des Programms für den Benutzer sperren und wieder entsperren?


RE: Ereignisstruktur auslösen verhindern - Hook1986 - 16.02.2012 12:38

Hallo moseph,

JA. Das kannst du per Eigenschaftsknoten machen. Da gibt es die Möglichkeit Controls zu disablen.
Zur Veranschaulichung hier noch ein kleines Bildbeispiel.

MfG Carsten


RE: Ereignisstruktur auslösen verhindern - abrissbirne - 16.02.2012 12:56

Einfach mal die SuFu zu nutzen hätte dir auch geholfen.Lvfsearch


RE: Ereignisstruktur auslösen verhindern - Lucki - 16.02.2012 14:39

Es müsste vielleicht reichen, wenn Du in dem betreffenden Ereigniscase das Häkchen "Benutzereingriffe auf dem FP (erst) verarbeiten, wenn der Ereignis-Case abgeschlossen ist"
Die Aussage ist nämlich durch das von mir in Klammern gesetzte Wörtchen "erst" irreführend. Nicht gesetztes Häkchen bedeutet jedenfalls: Benutzereingriffe auf dem FP werden während der Ausführung des Ereignisses für immer ignoriert. Es wird also genau das getan (oder besser: nicht getan) was du willst.


RE: Ereignisstruktur auslösen verhindern - jg - 16.02.2012 15:56

Ich setze gerne die Maus auf "busy":
http://www.labviewforum.de/Thread-SystemExec-geoeffnete-Applications?pid=133371#pid133371
Gruß, Jens


RE: Ereignisstruktur auslösen verhindern - phylin - 16.02.2012 16:43

(16.02.2012 12:38 )Hook1986 schrieb:  Hallo moseph,

JA. Das kannst du per Eigenschaftsknoten machen. Da gibt es die Möglichkeit Controls zu disablen.
Zur Veranschaulichung hier noch ein kleines Bildbeispiel.

MfG Carsten

so ähnlich mache ich das auch immer. Aber wenn du parallel noch andere Aufgaben ausführen willst, würde ich dir ein Producer-Consumer-Modell nahe legen:
http://expressionflow.com/2007/10/01/labview-queued-state-machine-architecture/

Mit so einem Modell verhinderst du, dass die Eventstruktur ständig belegt ist, weil du komplexen/langsamen code in ihr abläufen lässt.


RE: Ereignisstruktur auslösen verhindern - Moeseph - 17.02.2012 14:27

Vielen Dank!


RE: Ereignisstruktur auslösen verhindern - Y-P - 18.02.2012 08:00

Hier ist noch ein Bsp. zu "Set Busy" und "Unset Busy", was Jens auch vorgeschlagen hat:
http://www.labviewforum.de/Thread-Ereignis-struktur-vs-While-schleife-mit-case-auswahl?pid=70565#pid70565

Gruß Markus