16.05.2024, 15:16
Hallo Zusammen,
Vorab: das Thema beschäftigt mich schon eine halbe Ewigkeit und irgendwie bin ich mit meinen bisherigen Lösungen nicht zufrieden. Ich habe leider auch keine passende Lösung
gefunden und hoffe, dass es jemand gibt, der hier etwas tolles hat
Worum geht's?
In einem Case-gesteuerten Ablaufprogramm (Statusmaschine) muss für eine gewisse Zeit der Folgeschritt aufgehalten werden. Z.B. um einen DO auf high und danach wieder auf low zu
setzen. Nach Ablauf dieser Zeit soll es mit dem nächsten Case weiter gehen. Dabei darf die Hauptschleife nicht stoppen, da paralell z.B. die Datenerfassung per DAQ läuft.
Meine Applikation ist recht groß deshalb habe ich versucht, ein sinnvolles Beispiel zu machen. Ist angehängt.
Ablauf:
CASE 0 wartet bis Starttaste gedrückt wird. Start drücken dann
CASE 1 startet das VI "verstrichene Zeit". nach 2 Sekunden geht es weiter mit
CASE 2 startet das VI "verstrichene Zeit". nach 2 Sekunden geht es weiter mit
CASE 3 startet "wait" für 2 Sekunden [Mainwhile steht --> darf nicht sein dann
CASE 4 (nur zu Darstellungszweck der LED)
CASE 5 beendet den Durchlauf.
Das ganze funktioniert nur bei Neustert des VIs. Beim erneuten Starten der Schleife per Button ist irgendwie alles Essig
Letzt endlich soll es dauerhaft so funktionieren wie es beim ersten Durchgang.
Herzlichen Dank
Vorab: das Thema beschäftigt mich schon eine halbe Ewigkeit und irgendwie bin ich mit meinen bisherigen Lösungen nicht zufrieden. Ich habe leider auch keine passende Lösung
gefunden und hoffe, dass es jemand gibt, der hier etwas tolles hat
Worum geht's?
In einem Case-gesteuerten Ablaufprogramm (Statusmaschine) muss für eine gewisse Zeit der Folgeschritt aufgehalten werden. Z.B. um einen DO auf high und danach wieder auf low zu
setzen. Nach Ablauf dieser Zeit soll es mit dem nächsten Case weiter gehen. Dabei darf die Hauptschleife nicht stoppen, da paralell z.B. die Datenerfassung per DAQ läuft.
Meine Applikation ist recht groß deshalb habe ich versucht, ein sinnvolles Beispiel zu machen. Ist angehängt.
Ablauf:
CASE 0 wartet bis Starttaste gedrückt wird. Start drücken dann
CASE 1 startet das VI "verstrichene Zeit". nach 2 Sekunden geht es weiter mit
CASE 2 startet das VI "verstrichene Zeit". nach 2 Sekunden geht es weiter mit
CASE 3 startet "wait" für 2 Sekunden [Mainwhile steht --> darf nicht sein dann
CASE 4 (nur zu Darstellungszweck der LED)
CASE 5 beendet den Durchlauf.
Das ganze funktioniert nur bei Neustert des VIs. Beim erneuten Starten der Schleife per Button ist irgendwie alles Essig
Letzt endlich soll es dauerhaft so funktionieren wie es beim ersten Durchgang.
Herzlichen Dank