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 

Erkennung direkter Aufruf oder SubVI-Aufruf



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!

12.05.2009, 13:11
Beitrag #1

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
Mein Problem ist: ein Sub-VI ist für den Datenaustausch zwischen einem µController und dem Haupt-VI über eine serielle Schnittstelle zuständig.
Für Testzwecke soll es aber auch bei direktem Aufruf funktionieren.
Der Unterschied ist: Bei direktem Aufruf sollen die auf dem Frontpanel einstellbaren Schnittstellenparameter gelten.
Bei SUB-VI-Aufruf sollen die Paramter gelten, die in der Datei LV.ini stehen.
Kein Problem, so etwas zu programmieren, aber: wie kann man erkennen, ob das VI direkt oder als SubVI gestartet wurde?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.05.2009, 13:16
Beitrag #2

kpa Offline
LVF-Stammgast
***


Beiträge: 385
Registriert seit: Mar 2007

2019
2002
DE

88***
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
Hallo Lucki,

vielleicht kannst Du Deinem SubVi bei Aufruf einen Text mitgeben der auf dem FP angezeigt wird.
Wird das VI nicht aus einem anden VI aufgerufen erscheint auf dem VI der Default-Text.

Grüße

kpa
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2009, 13:26 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2009 13:31 von RoLe.)
Beitrag #3

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Erkennung direkter Aufruf oder SubVI-Aufruf
call chain, Aufrufkette.
Wenn nur der eigene VI-Name dann direktaufruf.


Angehängte Datei(en) Thumbnail(s)
   

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2009, 13:37
Beitrag #4

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
Du kannst es über Property-Nodes herausfinden:
1. Execution-State:
Wenn dein VI als Sub VI gestartet wird ist der Execution-State Running, wenn nicht als Sub VI ist der Execution-State Run top level.

2. Callers Name:
Es wird dir der Name des VI's ausgegeben, welches dein Sub VI ausführt.

Gruß, abrissbirne
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2009, 13:39
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
' schrieb:vielleicht kannst Du Deinem SubVi bei Aufruf einen Text mitgeben der auf dem FP angezeigt wird.
Wird das VI nicht aus einem anden VI aufgerufen erscheint auf dem VI der Default-Text.

Danke, aber das ist gerade das Problem, daß ich beim Sub.VI-Aufruf über die Eingänge nichts mitgeben kann. Wenn ich das könnte, würde ich die Parameter ganz normal über die SUB-VI-Eingänge übergeben.
Ich rufe das SUB-VI so auf:
   
und erreiche damit, daß der Aufruf nicht das Haupt-VI blockiert, wärend das Sub-VI läuft (Das Sub-VI soll parallel zum Haupt-VI laufen)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2009, 13:53 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2009 13:58 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
' schrieb:call chain, Aufrufkette.
Wenn nur der eigene VI-Name dann direktaufruf.
' schrieb:Du kannst es über Property-Nodes herausfinden:
1. Execution-State:
Wenn dein VI als Sub VI gestartet wird ist der Execution-State Running, wenn nicht als Sub VI ist der Execution-State Run top level.
2. Callers Name:
Es wird dir der Name des VI's ausgegeben, welches dein Sub VI ausführt.
Danke, das funktioniert bestimmt alles Dreies, so daß ich jetzt nur noch die Qual der Wahl habe.
Habe auch einen dilletantischen Veruch gemacht, das VI mit Eingangsparameteren aufzurufen, ohne daß es während der Ausführungszeit alles andere blockiert. Dann brauchte ich die LV.ini für diesen Zweck nicht und das Sub-VI würde einfacher.
Mein Versuch sah so aus:
   
Die Funktion "Aufruf über Referenz" (ganz rechts) wartet aber hier, bis das VI beendet ist, d.h alles wird blockiert. Es ist also alles genau so, als wenn ich das VI direkt als Sub-VI aufgerufen hätte.
Falls jemand weiß, ob und wie man das Blockieren verhindern kann, bitte sagt es mir.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.05.2009, 14:00
Beitrag #7

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
' schrieb:Danke, das funktioniert bestimmt alles Dreies, so daß ich jetzt nur noch die Qual der Wahl habe.
Ich glaube damit ist meine Lösung ausgeschieden. Durch den dynamischen Aufruf wird dein VI ja nicht mehr als Sub VI ausgeführt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2009, 14:34
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
' schrieb:Durch den dynamischen Aufruf wird dein VI ja nicht mehr als Sub VI ausgeführt.
Offensichtlich triffst Du damit ins Schwarze. Denn große Enttäuschung: Alle drei Vorschläge funktionieren nicht, das VI verhält sich beim dynamischen Aufruf genau so, als wäre es TOP-Level. Es sind alo mit keiner der drei Vorschläge Unterschiede gegenüber dem direkten Aufruf auszumachen..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2009, 14:54
Beitrag #9

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
Du kannst einen Wert auch über die Referenz setzen, das habe ich früher mal so verwendet. hier mal aufs minimum reduziert:


Lv86_img
Sonstige .vi  Main.vi (Größe: 6,12 KB / Downloads: 237)

Lv86_img
Sonstige .vi  Anzeige.vi (Größe: 3,75 KB / Downloads: 206)


später habe ich das ganze durch queues und melder ersetzt. evtl kannst du ja etwas davoin gebrauchen.

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2009, 15:16
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Erkennung direkter Aufruf oder SubVI-Aufruf
' schrieb:Du kannst einen Wert auch über die Referenz setzen, das habe ich früher mal so verwendet. hier mal aufs minimum reduziert:
später habe ich das ganze durch queues und melder ersetzt. evtl kannst du ja etwas davoin gebrauchen.

Erster Test: sehr vielversprechend, das ist wahrscheinlich die Lösung. Melde mich wieder. (Queues verwende ich schon für den Datenaustausch, für die einmalige Übergabe von Konfigurationsparameteren erscheint mir das unpassend)
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
  Labview 16 aufruf von Python Skript bachatero18 2 2.775 21.12.2022 11:00
Letzter Beitrag: bachatero18
  Eigenschaftsknoten in ein SubVI oder anders übersichtlicher machen Philipp_O 3 1.721 29.07.2022 07:42
Letzter Beitrag: Kiesch
  Asynchroner Aufruf eines VIs klappt nicht in der EXE Msengxxl 4 2.787 09.03.2021 16:09
Letzter Beitrag: Msengxxl
  Erkennung von dynamischen Referenzlinien Rainerr 5 2.631 31.08.2020 10:26
Letzter Beitrag: GerdW
  Fallunterscheidung zw. direktem und asynchronem Aufruf. StefanKe 4 3.950 05.03.2018 11:38
Letzter Beitrag: GerdW
  CPU-Belastung bei dynamischem VI-Aufruf Marcusius 2 2.583 12.05.2016 16:44
Letzter Beitrag: Ascend

Gehe zu: