Ermitteln von Referenzen auf Objekte in bekannten VIs mit Hilfe von VI-Skripten
- Aktualisiert2025-08-27
- 4 Minute(n) Lesezeit
Erfordert: VI-Skripte
Beim Erstellen eines VI von einer Vorlage müssen üblicherweise kleine Änderungen am Blockdiagramm vorgenommen werden. Dazu benötigen Sie jedoch Referenzen auf die Objekte des neuen VIs, die Sie untersuchen oder bearbeiten möchten. Wenn Sie über diese Objektreferenzen verfügen, können Sie sie mit EigenschaftsnotenMethodenknoten verbinden und auf diese Weise Einstellungen der Objekte festlegen oder abfragen. Die einfachste Möglichkeit zum Ermitteln der Referenzen von Objekten ist die Verwendung der Funktion "VI-Objektreferenz öffnen". Die Funktion kann jedoch nur verwendet werden, wenn alle Objekte des VIs eindeutig beschriftet sind. Wenn die Objekte nicht eindeutig beschriftet sind, ist eine andere, komplexere Vorgehensweise erforderlich, die unter Ermitteln von Referenzen auf Objekte in unbekannten VIs mit Hilfe von VI-Skripten beschrieben ist.
Objekte
Zum Erstellen des Skripts benötigen Sie folgende Objekte:
Vorgehensweise
Bevor Sie beginnen: Öffnen Sie das VI "Obtaining Known Object Reference.vi" im Verzeichnis labview\examples\Application Control\VI Scripting\Finding and Modifying Objects. In diesem Beispiel-VI wird jeder Schritt der folgenden Vorgehensweise dargestellt.
- Ermitteln Sie eine Referenz auf das Ziel-VI, in dem das gewünschte Objekt enthalten ist.
-
Ermitteln Sie die Parameter des Objekts, dessen Referenz Sie benötigen.
- Klassentyp—Jedes Frontpanel- und Blockdiagrammobjekt, das mit VI-Skripten verwendet werden kann, ist Mitglied der VI-Serverklasse. Die Referenz für ein bestimmtes Objekt gehört zu einer entsprechenden Klasse. Wie Sie den Klassennamen des gewünschten Objekts ermitteln, erfahren Sie im Abschnitt Aufbau von VIs. Mit Hilfe der Klassenbezeichner-Konstante wird die Objektklasse für die Funktion "VI-Objektreferenz öffnen" angegeben.
Details zum Beispiel
Im vorliegenden Beispiel gehört das Element Bearbeiten der Klasse "Numerisch" an.
- Eigentümer——Jedes Objekt auf dem Frontpanel oder im Blockdiagramm ist einem anderen Objekt untergeordnet. Im einfachsten Fall ist das Objekt dem Frontpanel oder Blockdiagramm des VIs untergeordnet. Wenn sich das Objekt jedoch in einer Schleife, Case-Struktur, Sequenzstruktur oder in einem Cluster befindet, ist dieses Objekt der Eigentümer.
Details zum Beispiel
Das Element Bearbeiten befindet sich auf dem Frontpanel des Ziel-VIs. Das Frontpanel ist also das übergeordnete Objekt des Elements. Das Skript-VI ermittelt die Referenz auf das Frontpanel des Ziel-VIs mit Hilfe der Eigenschaft VI:Frontpanel.
Hinweis Die Klassen "Element" und "Elementanschluss" werden oft verwechselt. Ein Objekt der Klasse "Elementanschluss" ist die Blockdiagrammdarstellung des entsprechenden Frontpanel-Elements. Das Frontpanel des Ziel-VIs ist daher das übergeordnete Objekt (der Eigentümer) des Elements Bearbeiten und das Blockdiagramm des Ziel-VIs ist das übergeordnete Objekt des dazugehörigen Blockdiagrammsymbols. Sie können die numerische Darstellung eines Elements ändern, nicht aber die eines Elements der Klasse "Elementanschluss". - Beschriftung—Gibt den Namen des Objekts im VI an.
Details zum Beispiel
Im vorliegenden Beispiel soll die Beschriftung Bearbeiten geändert werden.
- Klassentyp—Jedes Frontpanel- und Blockdiagrammobjekt, das mit VI-Skripten verwendet werden kann, ist Mitglied der VI-Serverklasse. Die Referenz für ein bestimmtes Objekt gehört zu einer entsprechenden Klasse. Wie Sie den Klassennamen des gewünschten Objekts ermitteln, erfahren Sie im Abschnitt Aufbau von VIs. Mit Hilfe der Klassenbezeichner-Konstante wird die Objektklasse für die Funktion "VI-Objektreferenz öffnen" angegeben.
- Ermitteln Sie mit Hilfe der Funktion VI-Objektreferenz öffnen eine Referenz auf das gewünschte Objekt durch Verbinden der entsprechenden Information aus Schritt 2 mit der Funktion.
- Verbinden Sie den Ausgang Objektreferenz der Funktion "VI-Objektreferenz öffnen" mit einem Eigenschaftsknoten oder Methodenknoten, um Einstellungen des Objekts festzulegen oder abzufragen.
Details zum Beispiel
Im vorliegenden Beispiel legt das Skript-VI die Darstellung des Elements Bearbeiten mit Hilfe der Eigenschaft Numerisch:Darstellung auf "Numerisch" fest.
- Mit der Funktion Referenz schließen können Sie alle geöffneten Objektreferenzen nach ihrer Nutzung schließen.
Empfehlungen und Warnungen
- Blenden Sie mindestens einmal die Blockdiagrammbeschriftungen ein—Die Funktion "VI-Objektreferenz öffnen" kann Objekte nur finden, wenn die dazugehörigen Beschriftungen mindestens einmal eingeblendet wurden. Da die Beschriftungen von Blockdiagrammobjekten per Voreinstellung nicht angezeigt werden, müssen Sie die Beschriftung des zu suchenden Blockdiagrammobjekts manuell einblenden. Wenn die Beschriftung ausgeblendet ist, klicken Sie das Objekt mit der rechten Maustaste an und wählen Sie Sichtbare Objekte»Beschriftung. Nach dem einmaligen Einblenden der Beschriftung kann die Funktion "VI-Objektreferenz öffnen" das Objekt finden, auch wenn die Beschriftung anschließend wieder ausgeblendet wurde.
- Erstellen Sie eindeutige Beschriftungen— LabVIEW ist so konfiguriert, dass Beschriftungen im Blockdiagramm mehrfach vorkommen können. Per Voreinstellung haben daher die meisten Objekte, die Mitglieder derselben Klasse sind, identische Beschriftungen. Wenn Sie z. B. zwei For-Schleifen in das Blockdiagramm einfügen, wird jede mit For-Schleife beschriftet. Wenn Sie die Funktion "VI-Objektreferenz öffnen" auf ein Objekt anwenden, das die gleiche Beschriftung wie ein anderes Objekt hat, gibt LabVIEW die Referenz des zuerst erkannten Objekts aus. Nur wenn alle Objekte unterschiedlich beschriftet sind, kann LabVIEW die gewünschte Referenz ausgeben.
- Schließen Sie alle Referenzen nach der Verwendung—Wenn zu viele Referenzen geöffnet sind, verlangsamt sich die VI-Ausführung. Weitere Hinweise zu Faktoren, die die Ausführungsgeschwindigkeit beeinflussen, erhalten Sie im Abschnitt Schließen von Referenzen auf VIs und Objekte.
Weitere Beispiele
Ein Beispiel für das Ermitteln von Referenzen in einem bekannten VI ist das VI "Creating New VI From Template.vi" im Verzeichnis labview\examples\Application Control\VI Scripting\Creating VIs.