LabVIEWForum.de
Eventstruktur mit Taster - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Eventstruktur mit Taster (/Thread-Eventstruktur-mit-Taster)

Seiten: 1 2


Eventstruktur mit Taster - Trubba - 15.02.2011 08:43

Guten Morgen!

Ich kämpfe seit einiger Zeit mit der Ereignisstruktur.
Das Problem ist folgendes:
Wenn ich auf ein "normales" Ereignis - betätigen eines Schalters (Schaltverhalten: "beim Drücken schalten" wie im
VI der Button Steuerung EIN) - reagiert das Programm und funktioniert.

Allerdings muss ich für die Steuerung 4 Taster haben. (Stop, Ref.fahrt, Prog1, Prog2)
Diese habe ich beim Schaltverhalten auf Latch beim Loslassen eingestellt.

Die Ereignisstruktur reagiert bei den Schaltern beim Ein und Ausschalten.
Bei den Tastern wird allerdings nur das Einschalten registriert. Und wie beim Array zu erkennen ist, bleibt der Ausgang geschaltet.
Erst wenn eine anderes Event einsetzt wird der Ausgang zurück geschaltet.
Gibt es einen Trick, das der Taster sich selbst zurücksetzt?


Lv10


RE: Eventstruktur mit Taster - GerdW - 15.02.2011 09:10

Hallo Trubba,

Zitat:Latch beim Loslassen
Halte ich persönlich für ungünstig: wenn du Licht per Taster anschaltest, sollte das Licht angehen, sobald der Taster gedrückt wird und nicht erst beim Loslassen...

Zitat:Die Ereignisstruktur reagiert bei den Schaltern beim Ein und Ausschalten. Bei den Tastern wird allerdings nur das Einschalten registriert.
Hast du doch so eingestellt:
Ein Schalter ist bistabil und du bekommst jede (User-)Wertänderung per Event mit.
Ein Taster ist monostabil und (viel schlimmer) du hast "Latch beim Loslassen" eingestellt: du bekommst ein Event beim "Loslassen" des Tasters - und der Taster wird automatisch zurückgesetzt ("Latch"), was aber nicht per Event angeszeigt wird!

Zitat:Trick, das der Taster sich selbst zurücksetzt?
Der wird doch schon zurückgesetzt. Wieviel mehr Trick brauchst du noch? Smile

Im Ernst: mach einen Schalter draus, den du selbst zurücksetzt... Oder verwende Einzelevents für die einzelnen Schalter - man kann auch jeden Schalter/Taster eines Clusters einzeln einem Eventcase zuordnen...


RE: Eventstruktur mit Taster - cb - 15.02.2011 09:11

ja, zieh das Terminal des Schalters in die Event-Struktur.

It's no Bug, it's a Feature!
die RTE erkennt zwar, das der Schalter gedrückt wurde und feuer das entsprechende Event ab, in deinem Block-Diagramm - wenn der Schalter außerhalb der Event-Struktur liegt - wurde er aber entweder schon abgefragt, oder kommt erst noch an die Reihe, darum bleibt der Zustand so, bis er abgefragt würde, was aber unter Umständen gar nicht mehr passiert ...


RE: Eventstruktur mit Taster - GerdW - 15.02.2011 09:13

Hallo cb,

hast du dir das VI mal angeschaut? Das Terminal liegt schon im Eventcase...


RE: Eventstruktur mit Taster - Trubba - 15.02.2011 09:41

Danke, danke für die schnellen Antworten!

Ok, die Sache mit dem Latch ist halt so gewollt.
Ich hab mich evtl etwas falsch ausgedrückt. Der Taster wird natürlich zurückgesetzt, aber im Array bleibt die LED auch nach loslassen an... Und das will ich so nicht haben.
Im Array soll die LED wie der Taster reagieren. Nach Betätigung direkt wieder ausgehen, und nicht anbleiben.
Ich hoffe mein Problem ist klarer geworden =).


RE: Eventstruktur mit Taster - GerdW - 15.02.2011 10:08

Hallo,

Zitat:Im Array soll die LED wie der Taster reagieren. Nach Betätigung direkt wieder ausgehen, und nicht anbleiben.
Solange du nur ein einziges Event verwendest, wird sich am Verhalten nichts ändern.
Wie lange soll die LED im Array "an" bleiben? Diese Zeitdauer musst du irgendwo definieren und entsprechend programmieren!
Also entweder weitere Events programmieren oder das Array im (gut gewählten) TimeOut zurücksetzen...


RE: Eventstruktur mit Taster - cb - 15.02.2011 10:18

(15.02.2011 09:13 )GerdW schrieb:  Hallo cb,

hast du dir das VI mal angeschaut? Das Terminal liegt schon im Eventcase...

jetzt ja Big Grin

und das VI funktioniert genau so wie es soll. Bei einem Latching Boolean gibt es nur ein Event auf Value Change und je nach Ausgangs-Zustand des Booleans kommt dann entweder genau der Wert True oder False raus. Und da bis zum Drücken des nächsten Schalters kein weiteres Event ausgelöst wird bleibt der Wert des Arrays auf dem Wert den er beim letzten Event hatte --> auch genau so wie es soll.

Für die Ablauf-Steuerung ist das aber auch kein Problem, weil die Daten in dem Array quasi irrelevant sind: das Array ändert ja nur seinen Wert nicht, weil er erst beim nächsten Event aktualisiert wird, man speichert da quasi einen Zustand von vorgestern Big Grin

Ein Latching Boolean macht ja auch nur Sinn, wenn man damit eine einmalige Aktion triggert. Das kann man im Case "Steuerung" duraus abfangen, in dem man den Cluster aufdröselt und weiterverarbeitet (z.B. in einer Case Struktur). Beim nächsten Aufruf des Case "Steuerung" kann man sich sicher sein, dass der Wert des zuletzt gedrückten latching Booleans wieder auf False steht ...


RE: Eventstruktur mit Taster - Trubba - 15.02.2011 10:43

Mit euren Tips hab ich es jetzt so realisiert...
Ich sehe gar keinen Danke Button mehr...
Deshalb...
Dankeschön!!!


RE: Eventstruktur mit Taster - GerdW - 15.02.2011 10:53

Hallo,

oder auch so...


RE: Eventstruktur mit Taster - Trubba - 15.02.2011 11:01

Auch schön.
Danke