LabVIEWForum.de
Programm hängt - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Programm hängt (/Thread-Programm-haengt)



Programm hängt - Tetriandoch - 21.09.2006 09:02

Hallo Forum,

ich vermute ich habe ein Problem mit Event Strukturen. Ich habe sie in eine While Schleife gepackt. Diese Schleife wartet aber ab, bis die Eventstruktur ausgeführt wurde und startet dann erst erneut.

Ich schicke euch mal das Vi, auch wenn ihr es nicht ausführen könnt weil da Daten erfasst werden.


Programm hängt - eg - 21.09.2006 09:26

Ich habe dein VI nicht angesehen, aber ich vermute stark, dass du den Timeout links oben von Event-Struktur vergessen hast. Defaultmässig steht es auf -1, also únendlich warten. Schliesse da eine 200, dann ist es ok.

Gruss, Eugen


Programm hängt - Tetriandoch - 21.09.2006 09:38

' schrieb:Ich habe dein VI nicht angesehen, aber ich vermute stark, dass du den Timeout links oben von Event-Struktur vergessen hast. Defaultmässig steht es auf -1, also únendlich warten. Schliesse da eine 200, dann ist es ok.

Gruss, Eugen


Danke es funktioniert. Kann man also sagen, dass man immer einen Event Timeout braucht?


Programm hängt - eg - 21.09.2006 09:43

Nein, hier ein Beispiel (ein Trick, den ich bei jemand gesehen habe):

Stell dir vor, du brauchst ein Dialog mit nur einem Eingabefenster und ohne OK-Button. Dann machst du keine While-Schleife um die Event-Struktur, sondern machst den Timeout auf unendlich. Sobald der Wert deines Eingabefensters geändert wird, kommst du aus dem Dialog raus. Und wie gesagt, alles ohne While-Schleife und OK-Buttons.

Gruss, Eugen


Programm hängt - Kvasir - 21.09.2006 09:44

edit: Eugen hat alles schon so schön gesagt, da lösch ich meinen Post doch wieder.


Programm hängt - Achim - 21.09.2006 10:07

Hi,

Hossa! Zwei Event-Strukturen in einem VI? Das ist aber nicht die feine englische Art...

Wusstest du nicht, dass man die Event-Struktur erweitern kann, d.h. mehrere Events damit abarbeiten kann? Mach mal nen Rechtsklick auf den Rahmen der Struktur! Da gibts "Add Event Case"! Schmeiß eine der Strukturen raus und füg den Case der anderen Struktur hinzu. Und pack auch den Stop-Button als separaten Case in die Struktur!

Gruß
Achim


PS: Die von eugen empfohlene Timeout-Zeit von 200ms empfinde ich als ein bisschen lang...mehr als 50ms sollten sollten es bei einem VI, dass fortlaufend was anzeigt, nicht sein, weil größere Werte die Darstellung schon unangenehm verzögern! Teste das mit nem Dummy-VI mal aus (nur ein Button in ner Eventstruktur), und du wirst den Unterschied deutlich merken (auch wenn 200ms "eigentlich" sehr kurz sind)!


Programm hängt - eg - 21.09.2006 10:24

@Achim,

was hat Eventstruktur mit Anzeige zu tun?
Die Anzeige kann sich in einer separaten Task sein und nicht in der Eventstruktur.

Gruss, Eugen