LabVIEWForum.de
LV reagiert nicht auf das Drücken eines Buttons - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: LV reagiert nicht auf das Drücken eines Buttons (/Thread-LV-reagiert-nicht-auf-das-Druecken-eines-Buttons)



LV reagiert nicht auf das Drücken eines Buttons - Chillchamp - 09.12.2010 13:26

Hallo,
ich habe ein Programm geschrieben, mit dem ich über VISA-Befehle mehrere Relais auf einer Platine steuere. Das soll Zeitgesteuert passieren. Dh. ich gebe eine Zeit an, in der die Relais auf Zustand A (Stringbefehl: 1 ) bleiben sollen und dann gebe ich eine Zeit an in der die Relais in Zustand B (stringbefehl: Q) bleiben sollen.
Das ganze ist in einer While Schleife, damit die Zeitschaltung wenn ich möchte die ganze Nacht durchlaufen kann. Die anderen Funktionen des Programms sind erstmal unwichtig.
Wie man im Frontpanel sieht, möchte ich die Zeitschaltuhr mit einem Button starten und stoppen können.
Das Programm funktioniert auch erstmal so wie es soll aber hier ist mein Problem:
Irgendwie reagiert Labview weder auf das Drücken des Buttons "Zeitschaltung starten/stoppen" noch auf irgendeinen anderen Button im Front Panel, sobald die Zeitschaltung gestartet ist. Was habe ich falsch gemacht?
Ich muss dazu sagen, dass ich mich erst seid ca. 2 Wochen mit LV beschäftige und deshalb denke, das es irgendein dummer Anfängerfehler ist.
Ich hoffe mir kann trotzdem jemand helfenSmile


LV reagiert nicht auf das Drücken eines Buttons - GerdW - 09.12.2010 13:30

Hallo champ,

dann guck dir mal die Event-Konfiguration genau an. Da hast du ein Häkchen, das darüber bestimmt, ob während der Event-Abarbeitung das UI blockiert wird!

Außerdem:
- Event-Cases sollten immer schnell abgearbeitet werden, um das von dir beschriebene Verhalten zu vermeiden. Alles, was längere Zeit benötigt, gehört nicht in den Event-Case!
- die lokale Variable liegt an der falschen Stelle im Code, sie gehört (m.M.n.) in die Schleife! Datenfluß beachten!
- Wozu überhaupt eine lokale Variable, wenn das Terminal unbenutzt im Blockdiagramm rumliegt?


LV reagiert nicht auf das Drücken eines Buttons - Achim - 09.12.2010 14:25

Eine Schleife in einem EVENT ist ein absolutes NoGo!

Das heißt nicht umsonst "Ereignis"...damit ist ein kurzzeitiger Vorgang gemeint (z.B. Flankenwechsel) und kein fortdauernder Zustand (Pegel dauernd high)!

A.


LV reagiert nicht auf das Drücken eines Buttons - Chillchamp - 09.12.2010 15:25

Ahh super vielen Dank Gerd, also doch ein Anfängerfehler;)Jetzt läuft es schonmal wie es soll.
Die Sache mit der Schleife im Event klingt ebenfalls logisch, allerdings bin ich nicht sicher wie ich das Programm anders auslegen soll.
Das war so schön strukturiert, für jeden Button ein Event anzulegen. Das genau dieser Button eine Schleife startet kann ich doch nicht wirklich vermeiden oder?
Wie wäre es denn üblich?


LV reagiert nicht auf das Drücken eines Buttons - abrissbirne - 09.12.2010 15:59

' schrieb:Das war so schön strukturiert, für jeden Button ein Event anzulegen. Das genau dieser Button eine Schleife startet kann ich doch nicht wirklich vermeiden oder?
Wie wäre es denn üblich?
Das Zauberwort heißt Erzeuger-Verbraucher-Architektur. Such mal nach diesem Begriff.