(11.03.2016 15:33 )GerdW schrieb: [ -> ]Zitat:Anmerkung: Den Eigenschaftsknoten "Wert, signalisiernd" kennst Du doch hoffentlich? Damit kann man u.a. innerhalb eines Ereigniscases ein anderes Ereignis auslösen.
Dann aber immer "THINK DATAFLOW!" im Hinterkopf haben: der zweite Eventcase muss dann in einer anderen Eventstruktur in einer anderen Schleife abgearbeitet werden…
Hallo Gerd
Warum in einer anderen Schleife? Aber doch nur wegen der Wartezeit in dem einen Event? Im übrigen bin ich der Meinung, dass in einen Event keine Wartezeiten gehören.
Hallo IchSelbst,
Zitat:Warum in einer anderen Schleife? Aber doch nur wegen der Wartezeit in dem einen Event?
Weil während der Abarbeitung des gezeigten Eventcases ein anderes "Event" ausgeführt werden soll. Eine Eventstruktur kann eben nicht zwei Events gleichzeitig abarbeiten: THINK DATAFLOW!
Zitat:Im übrigen bin ich der Meinung, dass in einen Event keine Wartezeiten gehören.
Da gebe ich dir recht: der User sollte nicht merken, dass da ein Eventcase abgearbeitet wird.
Und merken tut man es ab Verzögerungen von ~50-100ms…
(11.03.2016 17:52 )IchSelbst schrieb: [ -> ]Warum in einer anderen Schleife? Aber doch nur wegen der Wartezeit in dem einen Event? Im übrigen bin ich der Meinung, dass in einen Event keine Wartezeiten gehören.
Volle Zustimmung. Wenn das so wäre wie Gerd sagt, dann hätte ich das schon 1000 Mal falsch gemacht, ohne dass es der Funktionalität der VIs geschadet hätte. Es widerspräche ja auch der Regel, pro VI möglicht nur eine Ereignisstruktur zu verwenden.
Hinweis für Anfänger: Mit "Wert, signalisierend" wird ein Ereignis unabhängig davon ausgelöst, ob dabei eine tatsächliche Wertänderung stattfindet. Man kann an den Eigensschaftknoten "Wert, signalisierend" z.B ein lokale Variable derselben Variablen anschließen. Dabei findet garantiert kein Wertänderung statt, und das Ereignis wird trotzdem ausgelöst.
Moin zusammen,
danke für die zahlreichen Antworten und sorry dass ich jetzt erst wieder schreibe. Erst krank und dann liegengebliebene Arbeit wegarbeiten zieht sich doch ein bisschen hin...
Ganz durchgestiegen bin ich durch eure Empfehlungen noch nicht, aber ich werde mich mal an die StateMachine wagen und gebe die Tage nochmal Rückmeldung wie ich damit zurecht gekommen bin
Beste Grüße
Jan
Moin zusammen,
also ich brauche hier noch einmal Hilfe... Ich möchte im Prinzip 2 Events mit einer Pause dazwischen abarbeiten. Mein ursprünglicher Gedanke, einfach ein drittes Event zu machen, in dem ich eine Sequenz mache, mit der ich die Events abarbeite, klappt ja nicht. Wie ich das nun mit einer State Maschine realisiere, raffe ich trotz Google und Youtube noch nicht so wirklich.
Ich habe jetzt mal ein neues VI gemacht, das auf das einfachste reduziert ist: Mit einem Event mache ich eine LED an und mit einem anderen Event mache ich sie wieder aus.
Ich möchte eine Möglichkeit haben, die Lampe mit einem Klick auszuschalten, 2 Sekunden zu warten und sie dann wieder einzuschalten.
Gedanklich ja recht simpel, aber ich kriege es nicht hin, das mit Labview zu realisieren
Ich würde mich freuen, wenn mir da nochmal jemand helfen kann!
Beste Grüße
Jan
Ich habe Dir mal eine wilde Lösung angehängt.
Man kann mit dem Timeout des Events spielen.
Gruß
Freddy
Bei der Variante kannst Du sowohl direkt einschalten oder es wird automatisch nach 2 sec. eingeschaltet.
Moin Freddy, danke erstmal für deine Lösung.
Mein Problem ist, dass ich ja noch wesentlich mehr in meinen Events habe und dafür den Timer bei 100ms, der soll so auch bleiben.
Ich möchte von allen Events nur 2 mit einem Klick nacheinander ausführen und dazwischen eine 2 sekündige Wartezeit.
So wie du es für mich gelöst hast, wäre der Wert für meinen Timer ja immer gleich der Wartezeit.
Also bei einer Struktur von bspw. 10 Events möchte ich mit einem Klick Event 3 auslösen, 2 Sekunden warten und dann Event 6 auslösen.
Ich habe die Befürchtung, dass ich nicht nur Probleme mit Labview habe, sondern auch dabei, mich verständlich auszudrücken.
Beste Grüße
Jan
Die Idee funktioniert nur, wenn Du einen Timout der einen Bruchteil von 2 Sec. ist.
Die Genauigkeit der 2 Sec. ist von diesem abhängig.
Ich würde das mit Queue lösen wollen (Meine Lieblings Lösungen sind Queue).
Da ganze Programm ist schon recht seltsam. Eine Lampe schaltet sich, immer wenn sie ausgeschalten wird, nach 2 Sek von selbst wieder ein - gut und schön. Aber wozu dann noch ein Bedienelement für des Einschalten der Lampe, wenn sie das doch automatisch tut?