LabVIEWForum.de
Button entweder drücken oder gedrückt halten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Button entweder drücken oder gedrückt halten (/Thread-Button-entweder-druecken-oder-gedrueckt-halten)

Seiten: 1 2


RE: Button entweder drücken oder gedrückt halten - NWOmason - 12.03.2013 16:19

(12.03.2013 16:04 )Golan schrieb:  Ich habe nun versucht über Eigenschaftsknoten die Buttons zu deaktivieren während die Messung läuft, jedoch kann ich selbst auf einen ausgegrauten und deaktivierten Button drücken und es wird danach ausgeführt.

Also wenn ein Button deaktiviert und ausgegraut ist, dann werden auch keine Events registriertet/asgewertet (zumindest keine Klicks).

(12.03.2013 16:04 )Golan schrieb:  PS: VI ohne die Eigenschaftsknoten

Mit Eigenschaftsknoten wäre es besser gewesen, dann hätte man evtl. sehen können woran es hackt.

(12.03.2013 16:04 )Golan schrieb:  Der Motor soll an einen bestimmten Punkt angefahren werden und mittels eines weiteren Button wird eine Messung vorgenommen. Diese Messung wollte ich nun über eine While-Schleife in der Event-Struktur realisieren (klappt ansich auch) nur ist die Sache, dass wenn während der Messung jemand die anderen Buttons drückt diese danach ausgeführt werden (d.h. jemand drückt auf Motor anfahren Button, fährt der Motor sofort nach der Messung weiter).

Das schreit schon fast nach einer kleinen State-Machine Smile

Bzw. Producer/Consumer-Konzept fürs Eventhandling (Wie es Gerd schon erwähnt hat).


Beste Grüße,
NWO


RE: Button entweder drücken oder gedrückt halten - Lucki - 12.03.2013 19:15

(12.03.2013 16:19 )NWOmason schrieb:  Das schreit schon fast nach einer kleinen State-Machine Smile
Bzw. Producer/Consumer-Konzept fürs Eventhandling (Wie es Gerd schon erwähnt hat).
Alles richtig, nur hätte ich dann für das Beispiel (s. unten) 10 min länger gebrauchtBig Grin


RE: Button entweder drücken oder gedrückt halten - Golan - 13.03.2013 12:58

Hallo zusammen,

danke für die vielen Tipps.
Ich habe nun die While-Schleife in eine State-Machine ausgelagert. Klappt soweit auch alles ganz gut nur das Ausblenden der Buttons stimmt noch nicht so ganz.
Button wird ausgeblendet und wenn ich trotzdem drauf drücke passiert auch nichts. Wenn ich jedoch einen doppel Klick mache (selbst wenn zwischen beiden Klicks ne Sekunde Zeit ist) wird der Button wieder ausgeführt.

„Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen.“

Eine Ahnung an was es liegen könnte oder habe ich wieder den Fehler gemacht Sad

Grüße
Christian


RE: Button entweder drücken oder gedrückt halten - GerdW - 13.03.2013 13:03

Hallo Golan,

der einzige Button, der bei mir ausgegraut wird, ist der RECHTS-Button im Fall SWEEP. Und das auch nur für 500ms, da kann man gar nicht mehr als 1s für einen Doppelklick warten...

Was soll ein Timeout von 0 bewirken? Die Abtastrate 100k wird umgerechnet mit 1000/100k=0,01, und das wird beim Timeout-Eingang dank des roten CoercionDots zu 0 gerundet...


RE: Button entweder drücken oder gedrückt halten - Golan - 13.03.2013 13:21

Hallo GerdW,

mit Timeout 0 wusst ich nicht, dass er dort auf 0 rundet.

Der rechts Button soll auch ausgegraut werden (zusätzlich der linke ich wollte eben das nur als Beispiel bringen) und der sollte ausgegraut werden (500 ms lang soll die Zeit sein die der Piezo den ich ansteuer zum schwingen hat) und dann wird die Schwingung des Piezos gemessen für 2 Sekunden (über die While-Schleife). So müsste der Button 2,5 Sekunden ausgegraut sein.
Ich habe das Programm einmal mit einer 2 Sekunden Dauer der While-Schleife ersetzt.

Grüße
Christian


RE: Button entweder drücken oder gedrückt halten - GerdW - 13.03.2013 13:26

Hallo Golan,

das Problem sind die von dir verwendeten Events!
Mausklicks werden immer detektiert, egal ob das Control disabled ist oder nicht. Du dagegen willst aber Wertänderungen erfassen: dann mach das auch. Ich habe dein VI mal für den Button RECHTS angepasst (und habe auch dessen Schaltmodus geändert!). Evtl. musst du noch etwas an den Events oder Button-Schaltmodi schrauben...


RE: Button entweder drücken oder gedrückt halten - Golan - 13.03.2013 14:08

Hallo GerdW,

super jetzt klappt alles Smile
Vielen Dank.

An den Events musste ich nichts mehr ändern (außer Links anpassen) nur die Zeit noch korrigieren (Die wurde über das Event nicht weitergegeben und so ging das Motorsignal immer auf 0 egal was der Sensor sagte).

Danke nochmal.

Grüße
Christian