LabVIEWForum.de
Eventstruktur - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Eventstruktur (/Thread-Eventstruktur--18950)



Eventstruktur - ToFu - 11.05.2011 08:07

Hallo Leute.

Heute nen wahrscheinlich triviales Problem.
Ich hab ein vorhandenes Programm samt Code bekommen und soll dieses wiederverwenden.
Das Programm ist während eines Praktikums entstanden. Praktikant war LabVIEW-Neuling und hat fleißig Case Strukturen in eine Endlosschleife gelegt um Buttons auf dem Frontpanel abzufragen und zu reagieren.
Der Übersichtlichkeit wegen habe ich diese ganzen Abfragen jetzt in eine Eventstrucktur verfrachtet.
Diese läuft immernoch in der Endlosschleife (while-Schleife).
Neben den ganzen Buttons habe ich aber auch noch Code, der Tatsächlich als Endlosschleife laufen soll.
Da gehts darum ne serielle Schnittstelle abzufragen und den Wert in eine Ausgabe zu schreiben.
Dieser Code läuft aber im Moment nicht dauerhaft, obwohl er ausserhalb der Eventstrucktur in der while-schleife liegt.

Hat da jemand ne Idee?


Danke und Gruß
ToFu


RE: Eventstruktur - jg - 11.05.2011 08:24

Wenn der RS232-Code in derselben Schleife liegt wie die Eventstruktur, dann wird er immer nur dann abgearbeitet, wenn ein Event eintritt. Schließlich wartet die Event-Struktur im Normalfall auf ein Event.

Mgl. Lösungen:
1) Einen Timeout-Wert an den Timeout-Case der Eventstruktur anschließen.
2) Oder IMHO noch besser: RS232-Code in eine eigene parallele Schleife verfrachten.

Gruß, Jens


RE: Eventstruktur - Lucki - 11.05.2011 09:06

Jens hat es ja schon gesagt: du hast in der Event-Struktur entweder den Timeout-Case herausgelöscht oder hast vergessen, dort einen Wert anzuschließen.
Der Timeout ersetzt das Wait in der Haupschleife, also keinesfalls dort noch eine Wait-Funktion einbauen.
Falls ich nicht eine parall zur Haupschleife arbeitende Eventbehandlungs-Schleife verwende, mache ich es so:
Das ganze Hauptrogramm läuft läuft im Timeout-Case der Event-Struktur. Das macht sich raumaufteilungmäßig besser: Hauptprogrammprogramm-Code und Eventstruktur sind dann nicht parallel auf dem Bildschirm, sondern gewissermassen übereinander gestapelt. Man macht dann natürlich die Eventsruktur so groß wie es die Hauptschleife erlaubt.