LabVIEWForum.de
Ereignisstruktur in Parallelen Prozessen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Ereignisstruktur in Parallelen Prozessen (/Thread-Ereignisstruktur-in-Parallelen-Prozessen)



Ereignisstruktur in Parallelen Prozessen - mrstrom - 17.11.2011 11:39

Hallo Forum,

da mein aktuelles Programm zu umfangreich ist habe ich mal ein VI mit der prinzipiellen Funktion nachgebaut. Mein Problem ist nun das die untere while Schleife nicht mehr kontinuierlich weiterläuft wenn in dieser die Ereignisstruktur vorhanden ist. Entferne ich die Ereignisstruktur läuft alles super. Ich würde aber gerne auf Knopfdruck in der unteren Schleife noch weitere Aktionen auslösen können.

Kann mir jemand weiterhelfen?
lv09Lv09_img2


RE: Ereignisstruktur in Parallelen Prozessen - unicorn - 17.11.2011 11:43

Die Ereignisstruktur wartet bis ein Ereignis auftritt. Damit wird die untere Schleife mit jedem Ereignis genau einmal ausgeführt.

Damit die untere Schleife wieder läuft, müsstest Du
a) die Ereignisstruktur in eine dritte Schleife legen und die dort empfangenen und interpretierten Ereignissse über eine Queue verteilen.
b) Das timeout-Event nutzen. Dann wird die Ereignisstruktur regelmäßig ausgeführt. In diesem Fall solltest Du die untere Schleife noch mit einer Statemachine kombinieren, die zwischen Code und Ereignisstruktur wechselt.


RE: Ereignisstruktur in Parallelen Prozessen - M@rRy - 17.11.2011 11:48

Entweder du erstellst für deine Aktion ein event, beispielsweise auf Value Change des Tasters den du betätigen möchtest oder du gehst bei und setzt in die while zusätzlich zu dem event eine weitere Schleife. Falls du da lediglich einen Tast abfragst denk daran hier eine Wartezeit einzufügen ansonsten pollste mit voller Geschwindigkeit.

Gruß
Daniel


RE: Ereignisstruktur in Parallelen Prozessen - unicorn - 21.11.2011 21:56

(17.11.2011 11:48 )M@rRy schrieb:  .. oder du gehst bei und setzt in die while zusätzlich zu dem event eine weitere Schleife. ..
Das halte ich nicht für empfehlenswert. Denn solange die Ereignisstruktur wartet, kann die While-Schleife nicht erneut starten. Und die Ereignisstruktur kann keine neuen Ereignisse verarbeiten, solange die While-Schleife nicht abgelaufen ist. Drum Ereignisstruktur in While-Schleife, den restlichen Code in eine zweite Schleife, Informationsaustausch über eine Queue und nix drumherum. Stichwort Producer-Consumer-Struktur.