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 

Trotz Wait auf Events reagieren?



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!

06.06.2007, 08:00
Beitrag #1

Martin_München Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 83
Registriert seit: May 2007

8.2
2007
kA

82152
Deutschland
Trotz Wait auf Events reagieren?
Liebe Community,

nachdem ihr mir schon so super geholfen habt, möchte ich euch wieder mit meinem problemchen nervenWink

Ich habe so eine Art Zeitablauf eines Programms. Dort stehen die Wartezeiten in Sekunden drin. Nun habe ich mir überlegt, dass die genaueste Art diese Zeit einzuhalten über das Wait geht. Nun möchte der Benutzer allerdings vielleicht während des Wartens den Zeitablauf stoppen und drückt auf die Stop-Taste.
Dieses Stop Event, nimmt er leider erst nach dem Warten an. Wie kann ich das so realisieren, dass er auf das Stop reagiert?

Weitere kleine Frage:

Wenn ich jetzt einen Zeitbalken von 0-5 habe und ich möchte in 0,1er Schritten inkrementieren, warum geht das nicht? Kennt der nur ganzzahlige Schritte?

Viele Grüße

Martin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.06.2007, 10:11
Beitrag #2

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
Trotz Wait auf Events reagieren?
Hallo!

' schrieb:Wenn ich jetzt einen Zeitbalken von 0-5 habe und ich möchte in 0,1er Schritten inkrementieren, warum geht das nicht? Kennt der nur ganzzahlige Schritte?

Was hast Du denn als Zeitbalken verwendet? Der Datentyp der Verlaufsanzeige z.B. ist U8..da gehen keine Kommastellen. Anders bei Tank, Thermometer und Schiebereglern (die kann man ja auch in ein Anzeigeelement umwandeln. Da gehen DBL und somit auch Deine Nachkommastellen.Big Grin

' schrieb:Ich habe so eine Art Zeitablauf eines Programms. Dort stehen die Wartezeiten in Sekunden drin. Nun habe ich mir überlegt, dass die genaueste Art diese Zeit einzuhalten über das Wait geht. Nun möchte der Benutzer allerdings vielleicht während des Wartens den Zeitablauf stoppen und drückt auf die Stop-Taste.
Dieses Stop Event, nimmt er leider erst nach dem Warten an. Wie kann ich das so realisieren, dass er auf das Stop reagiert?

Da gäbe es spontan die Möglichkeit, den aktuellen Zeitwert auszulesen, anstelle der Wait Funktion, mit einem vorangegangenen vergleichen - wenn Differenzsoll erreicht, dann weiter im Programm - wenn nicht, ist somit das Event frei zum Stopptastendruck.
Wenn Du bei Wait bleiben möchtest, könntest Du via notifyer in eine parallelen Schleife die Zeit starten - bei Rückmeldung der Zeit weiter im Programm - da das quasiparallel stattfindet, ist Dein Main VI nicht in "WartezeitstelleungBig Grin" sondern die Eventstruktur oder whatever kann den Stoppbutton abfragen.

Da gibts aber bestimmt sogar noch was elegenateres...

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
06.06.2007, 10:26
Beitrag #3

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Trotz Wait auf Events reagieren?
' schrieb:Was hast Du denn als Zeitbalken verwendet? Der Datentyp der Verlaufsanzeige z.B. ist U8..da gehen keine Kommastellen. Anders bei Tank, Thermometer und Schiebereglern (die kann man ja auch in ein Anzeigeelement umwandeln. Da gehen DBL und somit auch Deine Nachkommastellen.Big Grin

Das stimmt. Einfach den Datentyp zu Double ändern.

' schrieb:Da gäbe es spontan die Möglichkeit, den aktuellen Zeitwert auszulesen, anstelle der Wait Funktion, mit einem vorangegangenen vergleichen - wenn Differenzsoll erreicht, dann weiter im Programm - wenn nicht, ist somit das Event frei zum Stopptastendruck.
Wenn Du bei Wait bleiben möchtest, könntest Du via notifyer in eine parallelen Schleife die Zeit starten - bei Rückmeldung der Zeit weiter im Programm - da das quasiparallel stattfindet, ist Dein Main VI nicht in "WartezeitstelleungBig Grin" sondern die Eventstruktur oder whatever kann den Stoppbutton abfragen.

Hier würde ich eine While-Schleife vorschlagen die z.B. statt 10 Sekunden 10 Schritte mit je 1 Sekunde macht und jede Sekunde unterbrochen werden kann. Ist mein Vorschlag nachvolziehbar?

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.06.2007, 12:55 (Dieser Beitrag wurde zuletzt bearbeitet: 06.06.2007 12:58 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
Trotz Wait auf Events reagieren?
' schrieb:Liebe Community,

nachdem ihr mir schon so super geholfen habt, möchte ich euch wieder mit meinem problemchen nervenWink

Ich habe so eine Art Zeitablauf eines Programms. Dort stehen die Wartezeiten in Sekunden drin. Nun habe ich mir überlegt, dass die genaueste Art diese Zeit einzuhalten über das Wait geht. Nun möchte der Benutzer allerdings vielleicht während des Wartens den Zeitablauf stoppen und drückt auf die Stop-Taste.
Dieses Stop Event, nimmt er leider erst nach dem Warten an. Wie kann ich das so realisieren, dass er auf das Stop reagiert?

Weitere kleine Frage:

Wenn ich jetzt einen Zeitbalken von 0-5 habe und ich möchte in 0,1er Schritten inkrementieren, warum geht das nicht? Kennt der nur ganzzahlige Schritte?
Das ist doch ganz einfach. Du mußt statt eines 5sec Waits eine While-Schleife (innerhalb der Haupt-While-Schleife) mit 100 Duchläufen erstellen, in der ein 50ms Wait steht. Die while-Schleife kannst Du vorzeitig stoppen. Bei Stop muß Du zwar immer noch warten, aber eben nur max. 50ms statt maximal 5s. Die while-Schleife kann gleichzeitig dazu dienen, während der Wartezeit einen Zeitbalken in 1% Schritten zu aktualisieren.
Tipp: Für genaue Zeitmessung den Metronom anstelle der Uhr verwenden.
Edit: Entschuldige, Eugen, Du hast das ja schon vor mir gesagt
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.06.2007, 13:28
Beitrag #5

Martin_München Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 83
Registriert seit: May 2007

8.2
2007
kA

82152
Deutschland
Trotz Wait auf Events reagieren?
' schrieb:Das stimmt. Einfach den Datentyp zu Double ändern.
Hier würde ich eine While-Schleife vorschlagen die z.B. statt 10 Sekunden 10 Schritte mit je 1 Sekunde macht und jede Sekunde unterbrochen werden kann. Ist mein Vorschlag nachvolziehbar?

eg

Liebe Community!

Ich habe es genauso gemacht. Ich habe die GesamtwarteZeit in einzelne "Häppchen" aufgeteilt und dann kann ich noch auf events bzw. dem Wert eine Stop Buttons reagieren...Ich habe einfach noch eine Case-Schleife um meine Warte-Zeit gemacht und es hat geklappt.

Das mit dem Wert auf Double stellen: Argh, man merkt, dass ich erst seit ein paar Wochen LabVIEW programmiereWink

Vielen Dank für eure Hilfe!

Klasse Forum hier, hier wird einem geholfenBig Grin

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.06.2007, 17:24
Beitrag #6

Martin_München Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 83
Registriert seit: May 2007

8.2
2007
kA

82152
Deutschland
Trotz Wait auf Events reagieren?
sorry, wenn ich hier alte kamellen aufwärmen muss, nur ist mir was komisches aufgefallen...

und zwar klappt das mit dem Stop-Button prima. Das Ablauf des Wartens wird unterbrochen. Doch sobald ich mit dem Mauszeiger ausserhalb des Programms gehe, oder mit dem Mauszeiger auf ein anderes Objekt klicke (zum Beispiel die Scrollbar meiner Liste) reagiert der Stop-Button und überhaupt das ganze Programm auf gar nix mehr...es läuft seelenruhig das Wait entlang...

erst nachdem das Warten fertig ist, wird der Klick angenommen. Wie kann das sein? Bekommt das Wait eine Präferenz gegenüber allem anderen? Verstehe das nicht...

Weitere Infos zu meinem VI:

- Das Wait wird über einen User-Event aufgerufen
- Das VI mit der Wait-Funktion soll ebenfalls auf Events von anderen VI's reagieren.

Was mir aufgefallen ist, dass wenn ich "manuell" bei den globalen Variablen die Stop-Variable betätige der Ablauf des Waits unterbrochen wird, obwohl ich es mit der Maus nicht mehr stoppen kann.

Ist meine While Schleife falsch? muss ich irgendwas am timeout-Event verändern?

Vielen Dank für eure Hilfe!

Anbei ein Bild meines Wait-Konstrukts...

Viele Grüße

Martin


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.06.2007, 07:54 (Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2007 07:56 von Lucki.)
Beitrag #7

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Trotz Wait auf Events reagieren?
' schrieb:sorry, wenn ich hier alte kamellen aufwärmen muss, nur ist mir was komisches aufgefallen...
Martin
Da Bild ist hier wenig hilfreich, da ist nichts Besonderes erkennbar. Man kann nur raten. Warum ist denn die Wait-Schleife in einem Case untergebracht? Klar ist z.B, wenn die Wait-Schleife läuft, daß die anderen Cases nicht gleichzeitig aktiv sein können. Ist etwas die Ereignisbehandlung in einem solchen Case????
Schaltverhalten Stop-Button: "Beim Drücken Schalten", Stop-Ereignis = "Wertänderung" (statt irgendwelche Mäusebewegungen). Bei Initalisierung des Programms den Stopp-Button mit lokaler Variablen auf false setzten nicht vergessen, denn das macht er bei Beenden das Programms nicht von alleine.
Keiner Tip: Wenn ich wissen will, ob ein Ereignis stattfindet oder nicht, dann füge ich mal schnell die Funktion Audio und Graphik/Signalton in den betreffenden Rahmen ein
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.06.2007, 08:35
Beitrag #8

Martin_München Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 83
Registriert seit: May 2007

8.2
2007
kA

82152
Deutschland
Trotz Wait auf Events reagieren?
' schrieb:Da Bild ist hier wenig hilfreich, da ist nichts Besonderes erkennbar. Man kann nur raten. Warum ist denn die Wait-Schleife in einem Case untergebracht? Klar ist z.B, wenn die Wait-Schleife läuft, daß die anderen Cases nicht gleichzeitig aktiv sein können. Ist etwas die Ereignisbehandlung in einem solchen Case????
Schaltverhalten Stop-Button: "Beim Drücken Schalten", Stop-Ereignis = "Wertänderung" (statt irgendwelche Mäusebewegungen). Bei Initalisierung des Programms den Stopp-Button mit lokaler Variablen auf false setzten nicht vergessen, denn das macht er bei Beenden das Programms nicht von alleine.
Keiner Tip: Wenn ich wissen will, ob ein Ereignis stattfindet oder nicht, dann füge ich mal schnell die Funktion Audio und Graphik/Signalton in den betreffenden Rahmen ein

vielen Dank für deine antwort lucki! leider bin ich immer noch nicht schlauerSad

also es verhält sich folgendermaßen. Mein programm geht eine Liste von oben nach unten durch und verarbeitet die Befehle sequentiell...wenn jetzt ein wait gefunden wird, dann wird ein user-event generiert, was dann in einer case abfrage endet...richtig ist, dass der stop-button ebenfalls ein user-event generiert. Dieses event sollter allerdings nichts mit der while schleife zu tun haben, sondern die while schleife nur unterbrechen, oder? wie gesagt, das ganze prorgramm reagiert überhaupt nicht mehr...erst nachdem die wait bedingung abgebrochen ist...

der code sieht leider nicht mehr so ordentlich aus, da ich viel rumprobiert habe...
ich hoffe das bild kann dir / und / oder den anderen helfen...

Viele grüße

Martin


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.06.2007, 10:07
Beitrag #9

Martin_München Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 83
Registriert seit: May 2007

8.2
2007
kA

82152
Deutschland
Trotz Wait auf Events reagieren?
weiß denn keiner rat? :/

argh, dieses LabVIEW macht einfach nicht, was ich will!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.06.2007, 10:09 (Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2007 10:11 von Lucki.)
Beitrag #10

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Trotz Wait auf Events reagieren?
' schrieb:vielen Dank für deine antwort lucki! leider bin ich immer noch nicht schlauerSad
Hier sieht man schon etwas mehr. Es scheint so, daß sich das ganze Programm inklusive der Wait-Schleife in in einem Ereignisrahmen befindet. Die Ereignisssruktur selbst ist hingegen ganz außen und befindet sich in gar keiner While-Schleife. Das funktioniert so nicht, denn solange der hier sichtbare Erebniscase abgearbeitet wird, kann kein anderes Ereignis abgearbeitet werden, und wenn das beendet ist, wird auch kein neues Ereignis abgearbeitet, weil mangels While-Schleife die Ereignsistruktur gar nicht wiederholt aufgerufen wird, sondern dann das Programm beendet wird.
Ich überlasse jetzt mal anderen die Hilfe, ich habe jetzt keinen Lust mehr, mich mit diesen jeweils gezeigten (flächenmäßig zwar großen) Häppchen herumzuschlagen. Da der Gesamtüberblick fehlt, ist vielleicht auch alles falsch was ich sage.
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
  Frage zur Architektur: Statemachine und Wait for Events tuhpon 6 2.874 18.03.2024 16:14
Letzter Beitrag: tuhpon
  Bedienelemente bündeln zum Auslösen eines Events Marcusius 12 7.590 03.09.2019 17:24
Letzter Beitrag: Marcusius
  Buttons reagieren nicht maxil 3 2.813 13.06.2019 11:44
Letzter Beitrag: maxil
  Wait und Wait-Until, seltsame Effekte, ich verstehs einfach nicht... catbull 3 2.967 24.09.2018 20:56
Letzter Beitrag: Lucki
  Mausrad bei Events/Casestrukturen Schwand 1 3.352 20.09.2016 08:30
Letzter Beitrag: Schwand
  Dynamische Events programmatisch auslösen AMueller 6 6.302 22.04.2016 07:43
Letzter Beitrag: GerdW

Gehe zu: