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!
Ich habe das Problem, daß ich feststellen möchte ob das VI als SubVI aufgerufen wurde oder als Hauptprogramm läuft.
Folgendes: Ich habe ein Programm geschrieben in dem ich über RS 232 mit einem unserer Sensorenkommuniziere. In dem Hauptprogramm habe ich also bereits Zugriff über RS232 auf den Sensor für gewisse Automatikabläufe. Nun ist es ab und zu nötig über eine Konsole (mein SubVi) Einzelbefehle und Makros an den Sensor zu schicken. Dazu öffnet sich dann die Oberfläche des SubVis. Dieses SUbVi bekommt vom Hauptprogramm die Referenz der RS232 Schnittstelle übergeben und arbeitet damit.
Jetzt möchte ich dieses SubVi aber auch als eigenständige Konsole ohne das Hauptprogramm nutzen können. Das geht aber nur wenn ich in diesem Vi die RS232 Schnittstelle konfiguriere, öffne und beim Beenden wieder schliesse.
Hierzu muss ich also wissen ob das Programm als Haupt- oder SubVi läuft, um entweder die Referenz aus dem Hauptprogramm zu nutzen oder selbst die Schnittstelle zu öffnen.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
VI als SubVI oder MainVI
Frag' doch im SubVI den Ressourcen-Namen Deiner VISA-Resource ab. Falls z.B. COM... drin steht wird es als SubVI verwendet, ist nichts drin, läuft es selbstständig und Du kannst z.B. in einem Case die COM-Schnittstelle öffnen.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
27.07.2010, 06:39 (Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2010 06:40 von Falk.)
Alternativ kannst du auch über das VI "Call Chain" in der Palette "Application Control" herausfinden, ob dein SubVI als Hauptanwendung oder als SubVI läuft. Aber Markus sein Vorschlag ist aus meiner Sicht das elegantere Vorgehen.