Ich hätte da eine mutmaßlich einfache Frage:
Nachdem ich mit "Open VI Reference" eine Referenz zu einem Subvi erstelle, wie kann ich abfragen, ob dieses Subvi läuft?
Problem ist nämlich: Wenn ich es mit der Invoke-Methode Run VI starten will, aber es schon läuft, gibt es eine Fehlermeldung. Oder kann ich wenigstens diese unterdrücken?
Danke schonmal!
' schrieb:Ich hätte da eine mutmaßlich einfache Frage:
Die Frage ist wirklich nicht schwer...

...die Antwort schon eher....
Du könntest im SubVI eine (funktionale) globale Variable setzen, wenn das VI gestartet wird und diese abfragen, wenn (aus Versehen?) noch mal gestartet werden soll. Wenn die Variable TRUE ist, wird "Run VI" nicht mehr durchgeführt...
Man könnte auch die VI- Porperty: "Execution:State Property" verwenden.
' schrieb:Die Frage ist wirklich nicht schwer...
...die Antwort schon eher....
Du könntest im SubVI eine (funktionale) globale Variable setzen, wenn das VI gestartet wird und diese abfragen, wenn (aus Versehen?) noch mal gestartet werden soll. Wenn die Variable TRUE ist, wird "Run VI" nicht mehr durchgeführt...
Die Idee hatte ich auch schon. Kann nur passieren, daß bei nicht ordnungsgemäßem Ende des Subvi diese Variable immer noch auf true steht. :-(
Das gleiche Problem besteht bei Abort vi. Wenn es nicht läuft -> Fehlermeldung.
Ich würde das subvi bei Start des Hauptprogramms starten wollen und bei Ende des Hauptprogramms beenden. Aber es kann ja immer mal vorkommen, daß es vorher sich schon selbst beendet...
Na, gut, also wenn es diese m.M. einfache Abfrage, ob es gerade läuft oder nicht, nicht gibt... dann werden mir schon Workarounds einfallen.
Vielen Dank!
' schrieb:Man könnte auch die VI- Porperty: "Execution:State Property" verwenden.
Ach, super. Genau das hatte ich doch gesucht. Schwer zu finden, wenn man nicht weiß, wie es heißt.
Vielen Dank!
hi
geht ganz einfach ... wie von RoLe vorgeschlagen ...
einfach nen Property node mit execution.state an die Referece des Vis ran und diese auswerten .. fertig ...
[
attachment=14529]
Toaran
edit .. zu spät das war die Erkentnis schneller
