Gibt eine Referenz auf ein VI, ein benutzerdefiniertes Element oder eine globale Variable aus, die durch einen Pfad zu der Datei auf dem Datenträger, einen Namens-String oder eine vorhandene Referenz angegeben ist.


icon

Ein-/Ausgänge

  • cvirn.png Typbezeichner-VI (Referenz, nur für Typ)

    Typbezeichner-VI (Referenz, nur für Typ) legt das Anschlussfeld des VIs und den Datentyp der VI-Referenz fest. Der tatsächliche Wert an diesem Eingang wird ignoriert.

    Per Voreinstellung wird eine allgemeine VI-Referenz ausgegeben.

    Wenn Sie den Ausgang VI-Referenz dieser Funktion mit dem Knoten "Aufruf über Referenz" oder "Asynchronen Aufruf starten" verbinden, muss an diesen Eingang eine strikt typisierte VI-Referenz angelegt werden.

    Wenn Sie eine Referenz auf ein strikt typisiertes VI mit diesem Eingang verbinden, muss das Anschlussfeld des betreffenden VIs mit dem Anschlussfeld des unter VI-Pfad angegebenen VIs übereinstimmen.

  • caprn.png Anwendungsreferenz (lokal)

    Anwendungsreferenz ist eine Referenz auf eine Anwendungsinstanz von LabVIEW.

    Per Voreinstellung arbeitet LabVIEW mit der Anwendungsinstanz des aufrufenden VIs. Mit der Funktion Anwendungsreferenz öffnen werden Referenzen auf andere Anwendungsinstanzen ausgegeben. Wenn Sie mit dem Eingang Anwendungsreferenz eine Referenz auf eine andere Anwendungsinstanz verbinden, wird am Ausgang VI-Pfad der Speicherort der Anwendungsinstanz angegeben.
  • cpath.png VI-Pfad

    vi path akzeptiert einen Pfad zu dem VI, auf das Sie verweisen möchten, eine Zeichenkette mit dem Namen des VIs, auf das Sie verweisen möchten, oder einen VI-Verweis auf das VI, auf das Sie verweisen möchten.

    Bei Pfadangaben wird im Arbeitsspeicher nach einem VI gesucht, das vorher von diesem Pfad geladen wurde. Wenn Sie das VI anhand seines Namens angeben, muss dieser mit dem vollständigen Namen des VIs im Speicher auf dem ausgewählten Rechner übereinstimmen. Wenn kein VI im Speicher gefunden wird, versucht LabVIEW, das VI von der Festplatte zu laden. Ein Fehler tritt auf, wenn LabVIEW die Datei nicht finden kann.

    Der VI-Pfad kann auch relativ zum aufrufenden VI angegeben sein oder relativ zum Programmverzeichnis, wenn das aufrufende VI nicht gespeichert ist.

    Hinweis

    Wenn der Eingang Anwendungsreferenz auf eine Anwendung im Netzwerk verweist, wird der Pfad auf dem Netzwerkrechner auf das Dateisystem dieses Rechners bezogen. Der Pfad ist in der systemüblichen Schreibweise anzugeben. Wenn der Pfad für ein anderes System gilt, wird die Schreibweise automatisch angepasst.

    Um beispielsweise von einer Windows-basierten Anwendung auf ein VI unter Linux unter My HD/LabVIEW Vis/foo.vi zu verweisen, verwenden Sie den Pfad My HD:\LabVIEW Vis\foo.vi. Um ein VI auf einem Windows-Computer unter C:\labview\foo.vi aus einer Linux-Anwendung zu referenzieren, geben Sie den Pfad C/labview/foo.viein.

    Wenn Sie einen Pfad verkabeln oder sowohl VI- als auch Anwendungsreferenzen verkabeln, wartet LabVIEW, bis die Benutzeroberfläche inaktiv ist, um das VI von der Festplatte zu laden. Wenn Sie einen Namensstring oder eine VI-Referenz ohne Anwendungsreferenz verdrahten, muss LabVIEW nicht warten, bis die Benutzeroberfläche im Leerlauf ist, da es kein VI von der Festplatte lädt. Es wird lediglich der Speicher nach einem VI mit dem angegebenen Namen durchsucht.

    Hinweis LabVIEW unterstützt nicht die Möglichkeit, einen Verweis auf ein Klon-VI über einen Namen mit der Funktion VI-Verweis öffnen zu öffnen. Wenn Sie diese Funktion zum Öffnen einer Referenz auf eine VI-Kopie nutzen, kann LabVIEW abstürzen.
  • ci32.png Optionen

    Optionen legt die Eigenschaften des über VI-Referenz angegebenen VIs fest (u. a. ob das VI asynchron aufgerufen wird). Die Standardeinstellung lautet 0x0.

    Die Optionen werden durch Kombination folgender Options-Flags ausgewählt.

    Options-FlagBeschreibung
    0x01 Änderungen aufzeichen—Mit dieser Options-Flag können Sie festlegen, dass bei Änderungen an einem VI durch den VI-Server ein Sternchen (*) im VI-Titel angezeigt werden soll. Damit LabVIEW die Veränderung aufzeichnet, muss sich das VI im Bearbeitungsmodus befinden.
    0x02 Vorlagen zur Bearbeitung öffnen—Mit dieser Options-Flag wird die ursprüngliche *.vit-Datei geöffnet. Wenn Sie diese Options-Flag nicht auswählen, öffnet LabVIEW eine neue Instanz der VI-Vorlage. Die ursprüngliche *.vit-Datei ist von Änderungen an einem einzelnen Exemplar nicht betroffen. Auf Dateien, die keine Vorlagen sind, hat diese Options-Flag keinen Einfluss.
    0x04 Benutzer zum Speichern auffordern—Mit dieser Options-Flag wird der Benutzer zum Speichern aufgefordert, wenn die VI-Referenz geschlossen wird und alle nachfolgenden Bedingungen zutreffen:
    • Das VI, auf das verwiesen wird, oder eines seiner SubVIs enthält ungespeicherte Änderungen.
    • Es bestehen keine weiteren offenen Referenzen auf das angegebene VI.
    • Das VI, auf das verwiesen wird, kann aus dem Speicher entfernt werden. Ein VI kann immer dann aus dem Speicher entfernt werden, wenn es zum Beispiel von keinem anderen VI aufgerufen wird, das Frontpanel des VIs geschlossen wird oder das VI zu keiner geöffneten Projektbibliothek gehört.
    0x08

    Ablaufinvariante Ausführung vorbereiten—Verwenden Sie dieses Options-Flag, wenn Sie eine Referenz auf eine ablaufinvariante Kopie des Ziel-VIs benötigen, anstatt auf das Ziel-VI selbst. Ablaufinvariante Kopien eines VIs ermöglichen Ihnen das Öffnen mehrerer Frontpanel desselben VIs, oder das parallele Ausführen von mehreren Kopien eines VIs. Für jede Referenz auf das Ziel-VI erstellt LabVIEW eine separaten Kopie des Ziel-VIs. Diese Kopie ist nicht Teil des Pools gemeinsam gemeinsam genutzter Kopien, die von regulären SubVI-Aufrufen verwendet werden.

    LabVIEW ignoriert dieses Flag, wenn Sie den Eingang Typbezeichner-VI (Referenz, nur für Typ) verbinden, da Sie durch das Angeben eines Typbezeichners bei einem ablaufinvarianten Ziel-VI immer eine ablaufinvariante Kopie erhalten können. Wenn das Ziel-VI nicht ablaufinvariant ist, gibt LabVIEW den Fehler 1096 aus.

    Tipp Verwenden Sie dieses Flag in Kombination mit der Methode VI ausführen, um mehrere ablaufinvariante Kopien parallel auszuführen. Zur asynchronen Ausführung von Ziel-VIs ist anstelle der Methode "VI ausführen" der Knoten Asynchronen Aufruf starten zu verwenden. Der Knoten "Asynchronen Aufruf starten" zeichnet sich nicht nur durch eine einfachere Oberfläche und eine schnellere Ausführung aus, sondern ermöglicht es Ihnen auch, die Ausgangswerte des Ziel-VIs mit einem entsprechenden Knoten des Typs Asynchronen Aufruf abwarten zu sammeln.
    0x10 Zum Suchen fehlender SubVIs auffordern—Mit dieser Options-Flag wird der Benutzer gefragt, ob LabVIEW nach fehlenden SubVIs des angegebenen VIs suchen soll.
    0x20 Ladedialogfeld ausblenden—Konfiguriert LabVIEW dahingehend, dass beim Suchen der SubVIs des angegebenen Ziel-VIs das Ladedialogfeld nicht angezeigt wird.
    Hinweis Diese Options-Flag wirkt sich nicht auf die Aufforderung zur Suche nach fehlenden VIs aus.
    0x40 Simultane Aufrufe ablaufinvarianter VIs aktivieren—Verwenden Sie diese Options-Flag, wenn mehrere Knoten des Typs "Aufruf über Referenz" und "Asynchronen Aufruf starten" wie beim Einfügen der Knoten in eine For-Schleife mit parallelen Iterationen die Kopien eines ablaufinvarianten Ziel-VIs parallel ausführen sollen. Mit dieser Options-Flag ist eine parallele Ausführung möglich, da jeder Knoten des Typs "Aufruf über Referenz" Zugriff auf den Datenraum der VI-Kopien hat. Wenn Sie diese Options-Flag nicht verwenden, werden Aufrufe desselben Ziel-VIs nacheinander ausgeführt, da sich die Aufrufe denselben Datenraum teilen müssen.

    Das Optionsflag 0x40 ist nur in den folgenden Situationen gültig:

    • Das Ziel-VI ist ablaufinvariant und auf gemeinsame Verwendung von Kopien konfiguriert
    • Das Ziel-VI ist ablaufinvariant und Sie arbeiten außerdem mit der Options-Flag 0x80 oder 0x100.
    Hinweis LabVIEW gibt den Fehler 1591 aus, wenn die Options-Flag 0x40 oder eine andere angegebene Options-Flag für das Ziel-VI ungültig ist.
    0x80 Nur für Aufruf vorbereiten—Verwenden Sie diese Options-Flag, wenn mit dem Knoten "Asynchronen Aufruf starten" ein Ziel-VI asynchron aufgerufen werden soll, aber die Ausführungsdauer und die Ausgangswerte des VIs nicht von Interesse sind. Diese Options-Flag kann nicht 0x08 oder 0x100 verwendet werden.
    Hinweis Bei Verwendung dieser Options-Flag mit einer Referenz auf ein Netzwerk-VI wird der Fehler 1578 ausgegeben.
    0x100 Für Aufruf vorbereiten und Ausgangswerte erfassen—Verwenden Sie diese Options-Flag, wenn mit dem Knoten "Asynchronen Aufruf abwarten" ein Ziel-VI asynchron aufgerufen werden soll und die Ausgangswerte des VIs erfasst werden sollen. Bei Verwendung dieser Options-Flag muss für jeden Aufruf, der mit dem Knoten "Asynchronen Aufruf starten" durchgeführt wird, ein Knoten des Typs "Asynchronen Aufruf abwarten" vorhanden sein, sonst verbleiben alle begonnenen Aufrufe im Arbeitsspeicher und werden nicht gelöscht. Verwenden Sie dieses Optionsflag nicht mit 0x08 oder 0x80.
    Hinweis Bei Verwendung dieser Option mit einer Referenz auf ein Netzwerk-VI wird der Fehler 1578 ausgegeben.
  • cerrcodeclst.png Fehler (Eingang, kein Fehler)

    Fehler (Eingang) beschreibt Fehlerbedingungen, die vor der Ausführung des Knotens auftreten. An Fehler (Eingang) werden Standardfehlerdaten übergeben.

  • cstr.png Passwort ("")

    Passwort ist das Passwort des VIs, für das eine Referenz erstellt werden soll.

    Zum Bearbeiten eines passwortgeschützten VIs ist mit diesem Eingang das Passwort des VIs zu verbinden. Wenn Sie das richtige Passwort mit der Funktion verbinden, gibt diese eine authentifizierte Referenz auf das VI aus. Bei Angabe eines falschen Passworts gibt die Funktion einen Fehler und eine ungültige VI-Referenz aus. Bei nicht passwortgeschützten VIs wird dieser Eingang ignoriert. Wenn Sie das Passwort eine passwortgeschützten VIs nicht angeben, gibt die Funktion "VI-Referenz öffnen" zwar eine gültige Referenz aus, aber das VI kann damit nicht bearbeitet werden.
    Hinweis Sie können auch eine VI-Server-Referenz verwenden, um einen authentifizierten Verweis auf ein VI zu erhalten.
  • ivirn.png VI-Referenz

    VI-Referenz ist die dem angeforderten VI zugewiesene Referenz.

    Wenn die Funktion nicht ordnungsgemäß ausgeführt wird, lautet VI-Referenz Keine Referenz.
  • ierrcodeclst.png Fehler (Ausgang)

    Fehler (Ausgang) enthält Angaben zum Fehler. Dieser Ausgang ist ein Standardausgang zur Fehlerausgabe.

  • Die Funktion "VI-Referenz öffnen" bereitet eine VI-Referenz für dynamische Aufrufe durch die Knoten Aufruf über Referenz, Asynchronen Aufruf starten und Asynchronen Aufruf abwarten vor. Mit Hilfe der Eingänge Typbezeichner-VI (Referenz, nur für Typ) und Optionen können Sie eine Referenz für die dynamische Ausführung des entsprechenden VIs vorbereiten.

    Erstellen von Referenzen für dynamische VI-Aufrufe

    Wenn das angegebene VI dynamisch mit dem Knoten "Aufruf über Referenz" oder "Asynchronen Aufruf starten" aufgerufen werden soll, sind folgende Parameter zu berücksichtigen:

    • Typbezeichner-VI (Referenz, nur für Typ)—Verbinden Sie diesen Eingang mit der Referenz auf ein strikt typisiertes VI.
    • Optionen—Gibt an, ob die Options-Flags 0x08, 0x40, 0x80 oder 0x100 auf die Aufrufmethode des angegebenen VIs anwendbar sind.

    Kriterien für das Erstellen strikt typisierter Referenzen

    Wenn Sie mit dem Eingang Typbezeichner-VI (Referenz, nur für Typ) eine strikt typisierte VI-Referenz verbinden, muss das am VI-Pfad angegebene VI folgende Kriterien erfüllen:

    • Das VI darf nicht fehlerhaft sein.
    • Das VI darf nicht als Haupt-VI aktiv sein; es sei denn, es handelt sich um ein ablaufinvariantes VI.
    • Das Anschlussfeld des VIs muss mit dem Anschlussfeld von Typbezeichner-VI (Referenz, nur für Typ) übereinstimmen.

    Erstellen von Referenzen auf ablaufinvariante VIs

    Beim Öffnen einer Referenz auf ein ablaufinvariantes VI ist Folgendes zu beachten:
    • Dynamische Aufrufe von ablaufinvarianten VIs werden nacheinander ausgeführt, sofern Sie nicht unter Optionen die Option 0x40 angegeben haben.
    • Wenn Sie mit der Options-Flag 0x40 angegeben haben, dass Instanzen eines ablaufinvarianten VIs parallel ausgeführt werden sollen, bezieht sich VI-Referenz auf das Ziel-VI und nicht auf eine Kopie davon. Allerdings kann sowohl der Knoten "Aufruf über Referenz" als auch der Knoten "Asynchronen Aufruf starten" ein Exemplar des Ziel-VIs aufrufen. Wenn Sie jedoch eine VI-Server-Eigenschaft oder -Methode auf die VI-Referenz anwenden, hat die Eigenschaft oder Methode keinen Einfluss auf die VI-Instanzen, die von den Knoten aufgerufen werden.
    • Die Funktion Gleich? gibt immer TRUE aus, wenn Sie zwei Referenzen auf dasselbe ablaufinvariante VI vergleichen. Um zu ermitteln, ob sich die Referenzen auf dieselbe Instanz des ablaufinvarianten VIs beziehen, wandeln Sie die Referenzen mit Hilfe der Funktion "Typumwandlung" in vorzeichenbehaftete 32-Bit-Integer um. Vergleichen Sie die Integer anschließend mit der Funktion "Gleich?".

    Abbrechen geöffneter Referenzen

    Alle geöffneten VI-Referenzen können entweder vom VI-Frontpanel aus oder mithilfe der Methode VI abbrechen aufgehoben werden. Für die asynchrone Ausführung vorgesehene VI-Referenzen unterliegen jedoch – abhängig von den Optionen bei ihrer Erstellung – bestimmten Regeln:

    • 0x80—Eine VI-Referenz zum Aufrufen eines VIs ohne Abfragen der Ausgangswerte wird nur aufgehoben, wenn Sie diese manuell vom Frontpanel aus abbrechen oder die Methode VI abbrechen auf sie anwenden. Anderenfalls läuft das VI vollständig durch, selbst wenn Sie die Referenz schließen oder das Aufrufer-VI abbrechen.
    • 0x100—VIs zum Aufrufen eines VIs und Erfassen der Ausgangswerte werden unter folgenden Umständen abgebrochen:
      • Beim Abbruch des VIs, das die Referenz zum Aufrufen eines VIs und Abfragen seiner Ausgangswerte erzeugt hat. In diesem Fall werden alle ausgeführten Instanzen des VIs abgebrochen.
      • Beim manuellen Abbrechen einer bestimmten Instanz des VIs. In diesem Fall gibt einer der Knoten des Typs "Asynchronen Aufruf abwarten" einen Fehler aus und zeigt dadurch den Abbruch des Aufrufer-VIs an. Alle anderen Knoten des Typs "Asynchronen Aufruf abwarten" sind davon nicht betroffen und warten weiter.
      • Beim Aufrufen der Methode VI abbrechen für die VI-Referenz zum Aufrufen eines VIs und Abfragen seiner Ausgangswerte. In diesem Fall werden alle aktuell ausgeführten Instanzen des VIs abgebrochen. Entsprechend viele Knoten des Typs "Asynchronen Aufruf abwarten" geben Fehler aus.

    Schließen geöffneter Referenzen

    Von dieser Funktion abgefragte Referenzen sollten nach der Verwendung geschlossen werden. Dazu ist die Funktion Referenz schließen zu verwenden. Durch Schließen einer Referenz mittels einer Funktion kann LabVIEW die Ressourcen wieder frei geben, die von der Referenz belegt werden und dadurch die Speichernutzung und Ausführungsgeschwindigkeit optimieren. Anderenfalls kann LabVIEW die Referenz erst nach Ausführungsende des VIs schließen, das die Referenz erstellt hat.

    Hinweis Beim Schließen einer Referenz, die mit der Options-Flag 0x80 geöffnet wurde, wird das angegebene VI nicht abgebrochen.

    Erstellen einer VI-Referenz in einer eigenständigen Anwendung

    Zum dynamischen Öffnen eines VIs sowohl auf Ihrem Entwicklungsrechner als auch innerhalb einer eigenständigen Anwendung müssen Sie für VI-Pfad einen relativen Pfad angeben.

    Weitere Informationen

    Beispiele

    Die folgenden Beispieldateien sind in LabVIEW enthalten.

    • labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Collect (Using Option 0x40).vi
    • labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Forget.vi
    • labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Collect.vi