LabVIEWForum.de
Problem mit While Schleife und Ereignisstruktur - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Problem mit While Schleife und Ereignisstruktur (/Thread-Problem-mit-While-Schleife-und-Ereignisstruktur)



Problem mit While Schleife und Ereignisstruktur - Poncho - 07.05.2008 13:08

Hallo Leute, ich hab ein Problem, Mein Programm macht nicht was es soll.

aber erstmal was das VI machen soll, dann das ProblemSmile

Aufgabe: erste Version einfach nur einen Counter hochlaufen lassen, der über eine Variable start und stop-bar ist (später wird der Counter durch eine Messwertaufnahme ausgetauscht er ist erstmal nur zum experimentieren vorhanden) Eine Ereignisgesteuerte flache Struktur, die nichts anderes macht, als einen zustand zeit verzögert zu toggeln, sobald ein Ereignis eintritt, Anfangszustand soll dabei false sein. Damit wird später die oben genannte Messung gestartet und gestoppt.

Warum das ganze?
Messung von Analogen Spannungen, sobald eine Lichtschranke betätigt wurde, mit einer Zeitverzögerung t (und zwar ein wie ausschalt verzögert)


Problem:
Jede der beiden genannten Schleifen einzeln funktioniert, nur sobald ich sie zusammen in einem Vi verwende "verhakt" sich das ganze, sobald der counter gestoppt wird, kann er nicht mehr gestartet werden, und nach einer weiteren Weile "spielen an den Schaltern" stirbt dass ganze VI.

Wie unschwer zu erkennen sein dürfte, hab ich noch nicht all zu viel mit LabVIEW gemacht, aber ich versuche mich einzuarbeiten. Ich denke mal, es wird ein einfacher Denkfehler oder Fehler aus Unwissenheit um irgendeine Abhängigkeit sein, nur ich habe keine passende Lösung gefunden, darum wäre ich dankbar wenn sich dass jemand mal anscheuen könnte und mir den Fehler erklärtSmile

Grüße
Dirk

Lv85_img


Problem mit While Schleife und Ereignisstruktur - IchSelbst - 07.05.2008 21:16

' schrieb:wenn sich dass jemand mal anscheuen könnte und mir den Fehler erklärt
Ich hab mir das mal angekuckt. Siehe Anhang.

In While-Schleifen muss eine Zeitverzögerung eingebaut sein. Das kann automatisch gehen durch Task/Queue/Melder/Events-Abfragen oder eben durch eine explizite Zeit. Eine Millisekunde kann da schon ausreichend sein (manchmal sollte es aber auch in die 100 Millisekunden gehen).

Zweitens: Eine Eventstruktur muss immer abbrechbar sein. Entweder durch ein tatsächliches Event (Button etc) oder eben durch den Timeout. Bei einem Timeout muss aber die Sanduht oben links beschaltet sein.

Lv85_img