LabVIEWForum.de - Abbruch des SubVi's durch Knopfdruck

LabVIEWForum.de

Normale Version: Abbruch des SubVi's durch Knopfdruck
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo LV Community!

Bei einem Prüfstand wird mit dem Main.vi zuerst eingestellt,
welcher Ventilblock geprüft werden soll. Danach wird das entsprechende
SubVi aufgerufen.
Doch manchmal kommt es vor, dass irgendetwas undicht ist und früher
oder später der Not-Stop am Prüfstand gedrückt werden muss...

Leider muss man dann, die ganzen Vi's von Hand stoppen und schliessen
weil das Daqc-Rack, das die analogen und digitalen Werte einliest auch
kein Strom mehr hat.

Nun meineFrage: Gibt es irgend eine Möglichkeit einen Abbruch Knopf so zu
programmieren, dass beim drücken des Knofes das SubVi bei der State-Machine (unmittelbar
und direkt, obwohl noch ein While läuft oder Wartezeit ansteht) in einen bestimmten Zustand
geht (Entlastung)?
Somit wäre das Problem der "Stromunterbrechung" gelöst.

Bin schon lange am Suchen, habe bis jetzt leider noch nicht die
richtige Lösung gefunden..
Für eure Antworten danke ich euch im Voraus

Padsen
Hallo padsen,

das hängt von der Struktur Deines Programms ab.
Dein Programm scheint als Basis eine Statemachine zu verwenden.
In den einzelnen States sind dann SubVis, die den jeweiligen Programmcode des Prüfschritts enthalten. Habe ich das richtig verstanden?

Sicher kann man in den einzelnen Schleifen noch eine zusätzliche Abbruchbedingung einbauen. Ich denke aber, daß dies schon beim Entwurf der Software berücksichtigt werden sollte.

Aus dem Stehgreif könnte ich mir eine globale Variable vorstellen, die die übergeordnete Abbruchbedingung beinhaltet.

Verwendest Du in Deinem Programm auch Sequenzen die beendet werden müssen?
Gibt es Schleifen die aktuell in einem Interationsschritt längere Zeit verweilen?

Grüße
Andreas
Hallo Andreas,

vielen Dank für deine schnelle Antwort!

"Dein Programm scheint als Basis eine Statemachine zu verwenden.
In den einzelnen States sind dann SubVis, die den jeweiligen Programmcode des Prüfschritts enthalten. Habe ich das richtig verstanden?"

Das stimmt soweit.
Im Main VI wird das entsprechende SubVi mit einer Sate-Machine ausgewählt.
Und in den SubVi's selber werden die entsprechenden Prüfschritte auch mit einer State-Machine
automatisch ausgeführt.

"Verwendest Du in Deinem Programm auch Sequenzen die beendet werden müssen?
Gibt es Schleifen die aktuell in einem Interationsschritt längere Zeit verweilen?"

Auch dies trifft zu.
Drücke und Mengen werden in Sequenzen abgefragt und manchmal muss auch ein paar
Sekunden gewartet werden. Genaua das scheint das Problem zu sein.

Für einen besseren Eindruck habe ich 2 Vis hochgeladen.
(gibt sicherlich bessere Wege dies zu lösen, habe noch nicht so Erfahrung mit LV)

Vielleicht könntest du mir einen kleinen Anstoss geben, wie ich dies lösen könnte.

Gruss padsen
Referenz-URLs