Mit Event Cases zyklisch durchlaufen lassen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Mit Event Cases zyklisch durchlaufen lassen (/Thread-Mit-Event-Cases-zyklisch-durchlaufen-lassen) Seiten: 1 2 |
Mit Event Cases zyklisch durchlaufen lassen - Wendigo - 23.10.2012 16:36 Ich probiere gerade was mit Boolean Werten in Schieberegistern aus. Leider nur mit mäßigen Erfolg. Ich möchte mittels Schieberegistern Rechenoperation vorerst der Reihenfolge nach durchführen. Soweit alles kein Problem. Nun möchte ich allerdings, dass die Rechenoperationen erst durch das einmalige Betätigen des "Start"Buttons zyklisch durchgearbeitet werden. Das Betätigen des Buttons soll ein Event auslösen und die zyklische Durcharbeitung so starten. Bisher bekomme ich dieses zyklische Durcharbeiten nur hin, wenn ich den Button nach jeder Rechenoperation einmal betätige. RE: Mit Event Cases zyklisch durchlaufen lassen - GerdW - 23.10.2012 16:42 Hallo Wendigo, Zitat:Das Betätigen des Buttons soll ein Event auslösen und die zyklische Durcharbeitung so starten. Bisher bekomme ich dieses zyklische Durcharbeiten nur hin, wenn ich den Button nach jeder Rechenoperation einmal betätige.Du hast ein Event, welches auf einen Knopfdruck wartet. Deine Schleife wartet auf ein Event. Ergo: Einaml Knopfdrücken bedeutet ein Schleifendurchlauf... Zitat:Nun möchte ich allerdings, dass die Rechenoperationen erst durch das einmalige Betätigen des "Start"Buttons zyklisch durchgearbeitet werden.Dann packe deine Abarbeitung in eine (FOR-)Schleife. Noch besser: Schau dir an wie Statemachines funktionieren. Am besten hier wohl Event-Driven-Queued-State-Machines... RE: Mit Event Cases zyklisch durchlaufen lassen - Wendigo - 24.10.2012 09:57 Zu deinem Vorschlag habe ich dieses Thema im Forum gefunden. http://www.labviewforum.de/Thread-queued-state-machine-timeout?highlight=Event+driven Von der Idee her ganz nett, aber da komme ich um eine For Schleife doch nicht herum, wenn ich dieses "Start" Button Problem umgehen will, oder? RE: Mit Event Cases zyklisch durchlaufen lassen - GerdW - 24.10.2012 10:46 Hallo Wendigo, Zitat:aber da komme ich um eine For Schleife doch nicht herumWas spricht denn gegen eine FOR-Schleife? Vor allem, wenn man deine geschilderte Aufgabenstellung in Betracht zieht!? Dein Button soll einen Ablauf starten, der von einem Array gesteuert wird: die einfachste Lösung stellt in LabVIEW dann eine FOR-Loop dar! RE: Mit Event Cases zyklisch durchlaufen lassen - Wendigo - 24.10.2012 12:20 (24.10.2012 10:46 )GerdW schrieb: Hallo Wendigo, Bei einer Master Slave Architektur würde der Typ von State Machine ja ganz nett aussehen, aber ansonsten benötige ich es doch bei der jetztigen Konstellation von meinem Progrann nicht, oder? RE: Mit Event Cases zyklisch durchlaufen lassen - GerdW - 24.10.2012 13:23 Hallo Wendigo, , kann's mir nicht anschauen... RE: Mit Event Cases zyklisch durchlaufen lassen - Wendigo - 24.10.2012 13:35 (24.10.2012 13:23 )GerdW schrieb: Hallo Wendigo, Pardon RE: Mit Event Cases zyklisch durchlaufen lassen - GerdW - 24.10.2012 13:41 Hallo Wendigo, nein, momentan brauchst du kein Producer-Consumer-/Queue-/Master-Slave-Overhead. Aber jetzt weißt du, das es möglich wäre Ich würde mir noch einen Stopp-Button für das VI wünschen, der ebenfalls in der Event-Struktur eingebunden ist... RE: Mit Event Cases zyklisch durchlaufen lassen - Wendigo - 24.10.2012 13:55 (24.10.2012 13:41 )GerdW schrieb: Hallo Wendigo, Ich mir auch Allerdings hakt es daran, dass bei Betätigen des Stopp Buttons erst nach der Rechenoperation bzw. nach der Durchführung eines Cases abgebrochen werden soll und nicht mittendrin. Die Beendigung der While Schleife scheidet ja daher schon mal aus. RE: Mit Event Cases zyklisch durchlaufen lassen - GerdW - 24.10.2012 14:08 Hallo Wendigo, Zitat:Allerdings hakt es daran, dass bei Betätigen des Stopp Buttons erst nach der Rechenoperation bzw. nach der Durchführung eines Cases abgebrochen werden soll und nicht mittendrin. Die Beendigung der While Schleife scheidet ja daher schon mal aus.??? Die Eventstruktur wird nur einmal pro Iteration der While-Schleife aufgerufen. Du kannst in deinem jetzigen Programm weder die Berechnung in der FOR-Loop noch die Abarbeitung der Case-Struktur abbrechen. Einfach den Stopp-Button als neues Event einfügen und gut ist... |