INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Event Structure wird zweimal ausgeführt



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

03.02.2007, 22:46
Beitrag #1

Lebowski Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Mar 2006

8.0
2006
kA


Deutschland
Event Structure wird zweimal ausgeführt
Hallo,

ich habe eine event structure die beim Drücken eines Buttons (Value changed) ausgeführt werden soll. Dieser Event führt zuerst eine For-Schleife aus, in der dann ein Kommando über die GPIB-Schnittstelle gesendet wird. Drückt man den Button, wird dieses auch ordnungsgemäß ausgeführt. Nur wird der Button (Latched by pressed) während der Ausführung als gedrückt angezeigt. Ist die Aktion dann beendet, so "wird" der Button wieder losgelassen und die Schleife wird erneut ausgeführt. Wahrscheinlich liegt das daran, das sich der Wert wieder geändert hat. Ich habe aber auch ein Event, bei dem ein Kommando ohne For-Schleife gesandt wird, mit den gleichen Einstellungen, dort passiert dieses nicht. Gibt es irgend eine andere Option (anstatt Value changed) oder eine andere Lösung für dieses Problem?
Leider bin ich nicht im Institut, so das ich die Datei nicht posten kann, geht erst Mittwoch wieder.
Grüße und Danke im vorraus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2007, 23:55
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Event Structure wird zweimal ausgeführt
Der Knopf springt bei Latch von selbst wieder heraus, wenn er abgefragt wird. Damit er das wird, sollte sich der Anschluß im Ereignisscase befinden. Bei Dir ist das wohl nicht der Fall.
Die viel bessere Einstellung ist auch "Latch wenn released". Denn bei Deiner Einstellung springt er, (vorausgesetzt er befindet sich im Case), in derselben Mikrosekunde wieder heraus, in der Du ihn gedrückt hast, so daß, obwohl die Aktion ausgeführt wird, der Eindruck entsteht, er läßt sich überhaupt nicht drücken.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2007, 01:01 (Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2007 01:03 von Mr.T.)
Beitrag #3

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
Event Structure wird zweimal ausgeführt
Hallo!

Weiterhin möchte ich anmerken, dass es evtl. Sinn machen tutet, im EVENT abzufragen, in welche "Richtung" der Button seinen Wert ändert!
Also direkt AlterWert mit NeuerWert nach Laune Vergleichen und in einem CASE dann das Notwendige ausführen. Eine Wertänderung ist schliesslich auch da, wenn der Button losgelassen wird...


   


Gruß

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2007, 09:55 (Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2007 13:57 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Event Structure wird zweimal ausgeführt
' schrieb:Weiterhin möchte ich anmerken, dass es evtl. Sinn machen tutet, im EVENT abzufragen, in welche "Richtung" der Button seinen Wert ändert!
Im Prinzip hast Du da natürlich recht. Aber so wie ich es vorgeschlagen habe - Latch when released und Knopf innerhalb des Ereigenis-Case - ist es wirklich unnötig, und das ist der am häufigsten vorkommende Fall.
Der Knopf wird gedrückt - da findet noch keine Wertänderung statt. Erst wenn er losgelassen wird. geht die Wertänderung von false nach true. Der Knopf wird wird mit dem Auslesen im Ereignis-Case wieder zurück auf false gesetzt (das ist aber kein neues Bedienereignis). Man kann als Bediener am Knopf herumtricksen wie man will, es findet niemals eine Ereignis true-false statt und folglich muß der Fall auch nicht behandelt werden.

Der Spaß ist aber zu Ende, wenn man vom Schalter ein lokale Variable braucht. Dann läßt sich der Schaltmodus Latch nicht mehr verwenden, und dann hast Du recht. Aber: auch wenn man das nicht macht, bleibt die mögliche Katastrophe in vielen Fällen aus.
Beispiel: Stop-Button mit lokalen Variablen.
Man wird ihn, wenn er nicht als Latch programmiert war, programmgesteuert mit eine Lokalen Variablen wieder zurücksetzen
Fall 1: Der Knopf wird bei Initialisierung des Programms mit lokaler Variablen zurückgesetzt. Optisch unschön daran ist, daß der Knopf nach dem Beenden das Programm erst mal gedrückt bleibt. Es kann aber nicht vorkommen, daß im Ereignais-Case Stop ein true-false Case vorkommt, denn dar Knopf wird ja nur ein einziges Mal gedrückt.
Fall 2: Der Kopf wird bei Beendigung das Programms mit lokalere Variablen rückgesetzt. Hier ist - zumindest solange das Programm noch in Entwicklung ist - eine Komplikation denkbar. Man drückt den Stop-Knopf, das Programm wird aber wegen interner Fehler nicht beendet. Man stoppt daraufhin das Programm mit roher Gewalt. Das Kopf wird dann nicht rückgesetzt, und der nächste Programmstart beginnt mit gedrücktem Knopf. Das nächste Bedienereignis beim Betätigen das Stop-Knopfes ist dann der true-false Übergang. Wenn man die beiden Fälle nicht unterschieden hat, dann stoppt das Programm auch dann. Aber was ist schlimm daran, wenn jedes Herumfummeln am Stop-Knopf den Abbruch bewirkt? Wozu sonst ist der Knopf denn da?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sequenz wird zweimal durchlaufen mprocket 7 4.945 21.01.2018 18:59
Letzter Beitrag: mprocket
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 7.130 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Bekomme kein True aus Event Structure nixblicker 7 4.281 09.02.2017 09:52
Letzter Beitrag: nixblicker
  Wert aus Case Structure in While Schleife Squanchy 5 5.627 10.06.2016 13:57
Letzter Beitrag: Lucki
  Case Structure nur einmal durchführen McButch 5 5.649 30.05.2016 16:43
Letzter Beitrag: jg
  Bei Event Boolean ändern und bei erneutem Event resetten Shieva 4 4.618 07.07.2015 09:43
Letzter Beitrag: Lucki

Gehe zu: