INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Referenziertes VI stoppen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

03.03.2016, 13:43
Beitrag #1

marhi Offline
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.

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.03.2016, 13:47
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
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…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.03.2016, 14:36
Beitrag #3

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Referenziertes VI stoppen
Hallo marhi,
wird das VI noch von einem anderen VI benutzt, bekommst Du nie den Status Idle.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2016, 08:55
Beitrag #4

marhi Offline
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2016, 09:05 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2016 09:05 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
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?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.03.2016, 10:10
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.03.2016, 08:14
Beitrag #7

Lutzi Offline
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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.03.2016, 12:07
Beitrag #8

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Referenziertes VI stoppen
(04.03.2016 10:10 )jg schrieb:  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

Das ist nicht erst seit LabVIEW 2013 so. Ein VI bekommt den Status running, sobald es in irgendeiner Hierarchy benützt wird die running ist. Auch wenn eine strikte VI Server Referenz darauf offen ist. Der State Property kennt nur bad", "idle", "running", "run top level" und sonst nichts. Um unterscheiden zu können op ein VI wirklich gerade running ist oder nur Teil einer running Hierarchy und/oder mit einer offenen strikten VI Reference müsste der State "running" aufgeteilt werden in "reserved for running" und "running" aber das hätte weitreichende Folgen für die Backwardskompatibilität von bestehenden Applikationen.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Schleife stoppen in subVI illy777 31 13.504 14.09.2020 18:00
Letzter Beitrag: illy777
  While Schleife stoppen itz_me 4 5.881 13.04.2017 14:47
Letzter Beitrag: itz_me
  X Bildlaufleiste bei Signalverlaufsdiagram stoppen Carp 18 10.510 10.06.2016 09:57
Letzter Beitrag: Carp
  Frage zu Lauflicht stoppen(vorübergehend) fuego50 4 4.328 23.05.2016 17:05
Letzter Beitrag: fuego50
  Parallele Schleifen beliebig stoppen/neustarten buettnerstefan 3 4.929 03.06.2015 15:23
Letzter Beitrag: buettnerstefan
  while-Schleife mit Referenz stoppen Pral 5 5.633 11.12.2014 22:17
Letzter Beitrag: Lucki

Gehe zu: