03.03.2016, 13:43
Beitrag #1
|
marhi
LVF-Neueinsteiger
Beiträge: 7
Registriert seit: May 2015
13
2013
kA
|
Referenziertes VI stoppen
Hallo zusammen,
folgende Frage. Bei dem angehängten Schnipsel stoppe ich zeitgleich ein VI das ich über asynchronen Aufruf gestartet habe und überwache, wann das VI beendet ist. Merkwürdigerweise wird zwar in dem entsprechenden VI der Stoppbutton gedrückt, aber das VI bleibt auf Status-Running und auch der Pfeil Run zeigt dies an. Wenn ich allerdings die "Lampe" anschalte, gibt es kein Zeichen, dass das VI noch läuft (keine Bewegung hier). Hatte zuvor mit allgemeiner VI-Referenz gearbeitet, da funktionierte es. Leider wird der Code dann unübersichtlicher, weil ich vor dem VI Start einige Werte setzen muss. Verstehe nicht, warum es sich hier anders verhält. Hat jemand eine Idee?
danke, marhi.
|
|
|
03.03.2016, 13:47
Beitrag #2
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Referenziertes VI stoppen
Hallo marhi,
mit dem gezeigten Code setzt du ein Control namens "Stop" auf TRUE - nicht mehr, aber auch nicht weniger.
Interessant wäre jetzt allerdings, ob dein "referenziertes VI" dieses Control überhaupt (und wann) ausliest/auswertet…
Zitat:Wenn ich allerdings die "Lampe" anschalte, gibt es kein Zeichen, dass das VI noch läuft (keine Bewegung hier).
Das heißt nur, dass das VI gerade auf irgendetwas wartet.
Auch hier wäre es hilfreich, dieses ominöse VI zu sehen…
|
|
|
03.03.2016, 14:36
Beitrag #3
|
|
|
04.03.2016, 08:55
Beitrag #4
|
marhi
LVF-Neueinsteiger
Beiträge: 7
Registriert seit: May 2015
13
2013
kA
|
RE: Referenziertes VI stoppen
Hallo zusammen.
Zunächst einmal:Das aufgerufene VI wird nur an einer Stelle aufgerufen. Ich hänge einen Screenshot an. Es erzeugt ein TriggerSignal auf unbestimmte Zeit und schaltet dieses ab, wenn es per Stopp oder Fehler oder Stopp in anderen verknüpften VIs angehalten wird.
aufgerufenes VI
|
|
|
04.03.2016, 09:05
(Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2016 09:05 von GerdW.)
Beitrag #5
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Referenziertes VI stoppen
Hallo marhi,
dann lege doch mal einen Breakpoint in dein subVI, direkt vor die While-Schleife. Ab da dann per Highlighting beobachten, was das subVI macht und wie/ob es auf deinen Stop-Befehl reagiert…
Wieso musst du dieses subVI überhaupt asynchron starten? Warum nicht einfach parallel zur Hauptschleife aufrufen?
|
|
|
04.03.2016, 10:10
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Referenziertes VI stoppen
Mit aller Vorsicht:
Wenn ich mich richtig erinnere, dann haben auch Kollegen von mir ab/bei LabVIEW 2013 ein Problem mit dieser PropertyNode. Seltsamerweise wird immer der Status "Running" zurückgegeben, sobald das VI auch nur im Speicher ist.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
07.03.2016, 08:14
Beitrag #7
|
Lutzi
LVF-Grünschnabel
Beiträge: 12
Registriert seit: May 2006
2014
1996
EN
07778
Deutschland
|
RE: Referenziertes VI stoppen
Ein Vi besitzt dann den Status running, wenn es als Sub-Vi in einem running Vi sitzt.
Wenn ein Vi nur über Vi-Server aufgerufen wird und ausgeführt wird, dann besitzt es den Status 'running top level', ist lediglich die Referenz im Speicher, dann gilt der Status 'idle'.
Also, wenn ein Vi wirklich Stoppen soll (im Sinne von bearbeitbar), dann darf es in keinem anderen Vi als Unterfunktion eingehangen sein!
|
|
|
| |