LabVIEWForum.de - Dynamische Events programmatisch auslösen

LabVIEWForum.de

Normale Version: Dynamische Events programmatisch auslösen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
möchte in einer Eventstruktur Events sowohl mit einem Button als auch programmatisch ansprechen.
In den Beispiel gibt es drei Buttons.
Druckluft Ein/Aus
Leistung Ein/Aus
Exit -> Schaltet Druckluft und Leistung aus und soll das Programm beenden

Mit der Sufu bin ich auch schon ein Stück weiter gekommen, bin mir aber nicht sicher ob ich es richtig umsetze.
Das Zweite Event : Druckluft aus, wird nicht als dynamisches Eriegniss angezeigt, wenn ich es als Benutzerereigniss als Ereignissquelle hinzufügen will.
Das Event: Leistung Ein/Aus funktioniert einwandfrei sowohl per Button als auch als Exit-Befehl.

Wahrscheinlich fehlt mir nur der richtige Weg die beiden registrierten Ereignisse auf den dynamischen Ereignissregistrierer zu schalten.

Vielen Dank
Eine Antwortet hättest Du mit einem echten VI im Anhang längst bekommen, aber so...
Ich gehe auf Deinen Lösungsversuch nicht ein, weil ich überzeugt bin, daß die Beste aller Strukturen, eine Queue-Driven-Ereignisstruktur, auch hier die beste Lösung ist. Habe das mal für Dein Problem aufbereitet.
[attachment=55735]
Hallo,
vielen Dank für die Antwort. Was bietet die Queue-Driven-Ereignisstruktur für Vorteile?
Ich finde es minimal unübersichtlicher, weil eine weitere While-Schleife dabei kommt, statt alls in den bekannten Events zu erledigen.

Die Antowrt auf mein Problem habe ich heute morgen gefunden.
Die Events müssen alle in einem Block registriert werden.

Im Anhang dann mal das VI.
Ist in der Programmierung irgendein anderer schwerwiegender Fehler?
Ich arbeite mich gerade in die Event-Struktur ein und bin über Tipps sehr dankbar.

Gruß
Andre

PS: Den Button: Exit-Funktion außer Betrieb auf True setzen ;-)
Programmierung ist auch Geschmackssache, da gibt es immer mehrere - manchmal gleichwertige - Möglichkeiten.
Ein Programmabbruch mit der "Exit"-Funktion gilt aber gemeiniglich als unprofessionell. Das entspricht, wie es hier im Forum mal formuliert wurde, dem Anhalten eines Autos durch Fahren gegen einen Baum.
Hallo AMueller,

Zitat:Ist in der Programmierung irgendein anderer schwerwiegender Fehler?
- Warum lokale Variablen statt Drähten, um die Event-Referenz weiterzugeben?
- Warum wird das Event nach erstmaliger Erzeugung gelöscht? Ist dies so gewollt? Da deine While-Loop unendlich läuft, doch wohl kaum…
- Wenn du die Events nur im EXIT-Case ausführen willst, sollte auch ein einfacher Melder ausreichen, um den anderen Routinen/Schleifen den neuen Zustand zu signalisieren!
- Ich liebe ja gerade Drähte, da fließen die Daten viel leichter! Stichwort "Styleguide"…
Okay. Danke.
Wie programmiere ich denn ein langsames abbremsen und ausschalten des Autos statt dem Baum?Construction
Klar ist, alle Parameter usw. dementsprechend verändern und stellen, bevor ich da Fenster schließe.
Aber wie schließe ich das VI dann elegant?
Hallo AMueller,

Zitat:Aber wie schließe ich das VI dann elegant?
Am Anfang eines Programms steht fast immer irgendeine Art der Initialisierung. Und am Ende eines Programmes sollte dann die De-Initialisierung stattfinden: alles aufräumen, alle Prozesse geordnet beenden. Und dann irgendwelche Fenster schließen…
Referenz-URLs