LabVIEWForum.de - Schalterverhalten während Timeout bei Eventstruktur

LabVIEWForum.de

Normale Version: Schalterverhalten während Timeout bei Eventstruktur
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo LabVIEW-Gemeinde,
ich kommuniziere mit einem Gerät über RS232 und frage in einer
Eventstruktur im Timeout ein Bit ab, welches einen Schalter am Frontpanel über eine Lokale Variable einstellt.
Über ein Event selber kann man das Bit am Gerät beliebig setzen.
Das Problem:
Schalter wird bedient --> Timeout wird trotzdem noch zu Ende durchlaufen --> deshalb wird das Bit ja noch mal ausgelesen
--> der Schalter springt deshalb zurück --> im Event wird Bit gesetzt --> Schalter springt jetzt in die richtige Position
Hätte jemand einen Tip oder hat jemand schon mal das gleiche Problem gehabt?
Grüße,
Simon
' schrieb:Schalter wird bedient --> Timeout wird trotzdem noch zu Ende durchlaufen --> deshalb wird das Bit ja noch mal ausgelesen
--> der Schalter springt deshalb zurück --> im Event wird Bit gesetzt --> Schalter springt jetzt in die richtige Position

Du könntest zwei Bedinelemente nehmen: eins zum Setzen des Bits (Schalter oder Button) und eins zum Anzeigen (z.B. LED), dann siehst du auch gleich ob das Gerät dein Setzbefehl verstanden hat oder nicht.

eg
Danke schonmal für die Antwort,
wäre ne Möglichkeit, hab aber ne Vorgabe wie
es optisch aussehen muss und kann es deshalb nicht so machen.
Gibts auch eine programmatische Lösung? Mit nem Timeout erhöht man leider nur
die Chance, dass das Phänomen nicht auftritt...
Gruß Simon
Lade doch mal Dein VI hoch, dann kann man sich besser was darunter vorstellen....

Gruß Markus

' schrieb:Hallo LabVIEW-Gemeinde,
ich kommuniziere mit einem Gerät über RS232 und frage in einer
Eventstruktur im Timeout ein Bit ab, welches einen Schalter am Frontpanel über eine Lokale Variable einstellt.
Über ein Event selber kann man das Bit am Gerät beliebig setzen.
Das Problem:
Schalter wird bedient --> Timeout wird trotzdem noch zu Ende durchlaufen --> deshalb wird das Bit ja noch mal ausgelesen
--> der Schalter springt deshalb zurück --> im Event wird Bit gesetzt --> Schalter springt jetzt in die richtige Position
Hätte jemand einen Tip oder hat jemand schon mal das gleiche Problem gehabt?
Grüße,
Simon
Das ist noch klar genug, schick doch mal das VI
Zitat:Schalter wird bedient --> Timeout wird trotzdem noch zu Ende durchlaufen --> deshalb wird das Bit ja noch mal ausgelesen
Das ist nicht klar genug, schick doch mal das VI
Wahrscheinlich hast Du etwas im Timeout, was eine gewisse Zeit dauert.
Du must eben dafür sorgen, daß die lokale Variable ganz am Anfang ausgelesen wird. Z.B: Timeout=0 einstellen, 2 Sequenzen einfügen: Sequenz1 = Auslesen der lokalen Variablen, Sequenz 2: warten x ms. So wie es jetzt läuft ist es wahrscheinlich genau umgekehrt.
Hallo, bin jetz ausm Urlaub zurück.
Möglichkeit wäre auch, das der Schalter erst umspringt, wenn das Event ausgeführt wird.
Wäre das machbar?
Gruß Simon

(VI LV 8.5)
' schrieb:Wäre das machbar?
Also da muß ich wirklich passen. Trotzdem: "Herzlichen Glückwunsch!" (Dafür, daß Du der erste bist, der sein VI als V8.5 hochlädt)
Lösung:
Wenn der Schalter gedrückt wird, kurz nachdem das VI in das Timeout springt und den Schalterstatus abfrägt,
wird der Event auch von der zweiten Eventstruktur erkannt und nicht upgedated.
Nur wenn nichts ausgelöst wird (Timeout der zweiten Eventstruktur), dann werden die Schalter aktualisiert.
Spricht was dagegen, in einem VI zwei Eventstrukturen zu verwenden?!
Gruß Simon[attachment=35753:Namenlos.gif]
' schrieb:Spricht was dagegen, in einem VI zwei Eventstrukturen zu verwenden?!

Nicht "was", aber "wer"! Nämlich ich!Tongue

Das ist ganz schlechter Programmierstil...und führt bei weiterer Verwendung über kurz oder lang zu Konflikten! Das ist darum unbedingt zu vermeiden! Es gilt: Nur eine Eventstruktur pro Blockdiagramm! Siehe dazu hier bzw. spezieller hier...

Gruss
Achim
Das Problem liegt nur dadrin, dass ich sonst nicht weiter weiß. Und ich verwende die Eventstruktur nicht parallel.
Ich verwende lediglich zwei identische Eventstrukturen ineinander. Persönlich weiß ich jetz nicht, wie das Programm
damit ein Problem haben könnte...
Seiten: 1 2
Referenz-URLs