LabVIEWForum.de
Ereignisstruktur: im Ereignis gestartete Whileschleife mit Button wieder beenden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Ereignisstruktur: im Ereignis gestartete Whileschleife mit Button wieder beenden (/Thread-Ereignisstruktur-im-Ereignis-gestartete-Whileschleife-mit-Button-wieder-beenden)



Ereignisstruktur: im Ereignis gestartete Whileschleife mit Button wieder beenden - An23 - 15.05.2008 08:57

Hallo,

ich benötige ein ereignisgesteuertes Vi.
Das ist soweit kein Problem,
allerdings scheint es so zu sein, dass solange ein Ereignis noch nicht abgearbeitet ist, kein neues Ereignis erfasst werden kann.

Wenn ich also in einem Ereignis meine Messung starte, ist es anscheinend nicht möglich, diese mit einem "Messung stoppen"-Button wieder zu beenden.(?)
(Ich kann zwar andere Abbruchbedingungen definieren, mir ist es aber wichtig, dass die Messung auch manuell gestoppt werden kann)

Also:
Wie kann mann die in einem Ereignis gestarte While-Schleife (Messung) mit einem Buttonklick wieder stoppen?

Zur Veranschaulichung habe ich ein kleines Ersatz-Vi (Ereignisstruktur) erstellt, das sich auf das beschriebene Problem beschränkt.

Ich hoffe, dass es eine Möglichkeit gibt
und ihr mir helfen könnt...
(LabVIEW 8.2.1)


Ereignisstruktur: im Ereignis gestartete Whileschleife mit Button wieder beenden - oenk - 15.05.2008 09:07

IMO Stichwort:
Design Pattern: Producer/Consumer Design Pattern (Events)

zu finden:
File -> New -> From Template -> Frameworks -> Design Patterns

Somit kannst du zwei Aufgaben parallel abarbeiten. Du musst die Consumer-Loop jedoch entsprechend anpassen, damit du dort drin deine Messroutine stoppen kannst...


Ereignisstruktur: im Ereignis gestartete Whileschleife mit Button wieder beenden - oswald - 22.04.2009 12:48

Hallo zusammen,

ich habe im Moment das selbe Problem. Allerdings kann ich mit der hier gegebenen Antwort noch nicht so viel anfangen.
Ich will auch nicht zwei Prozesse parallel abarbeiten. Sondern einer soll einen bereits laufenden Prozess abbrechen. Damit würde ich auch gerne
aufs Polling über Variablen oder Eigenschatsknoten verzichten. Ich kann mir noch gar nicht vorstellen, wie das über eine Queue funktionieren soll?!
Ein Ereignise, was über eine Queue zu einem Zustandsautomaten gesendet wird, muss dort doch auch erst einmal vollständig abgearbeitet werden, bevor ein neues Element aus der Queue zum tragen kommt, oder nicht?

Grüße