Erfordert: VI-Skripte

Mit Hilfe von VI-Skripten können Sie jedes beliebige Objekt programmatisch auf das Frontpanel oder in das Blockdiagramm eines VIs einfügen. Zu diesen Objekten gehören:

  • Frontpanel-Elemente einschließlich benutzerdefinierter Elemente
  • Blockdiagrammknoten wie Funktionen, Strukturen und SubVI-Aufrufe
  • Elemente von Clustern, Arrays und Strukturen

Objekte

Zum Erstellen des Skripts benötigen Sie folgende Objekte:

Vorgehensweise

Bevor Sie beginnen: Öffnen Sie das VI "Adding Objects.vi" im Verzeichnis labview\examples\Application Control\VI Scripting\Creating Objects. In diesem Beispiel-VI wird jeder Schritt der folgenden Vorgehensweise dargestellt.

  1. Ermitteln Sie eine Referenz auf das Ziel-VI.
  2. Geben Sie die Parameter des neuen Objekts an.
    • Eigentümerreferenz—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. Im Abschnitt Weitere Beispiele finden Sie Beispiele zum Hinzufügen eines Objekts zu einer Schleife, einem Array und einem Cluster.

      Details zum Beispiel

      Im Beispiel-VI soll die neue Funktion "Subtrahieren" im Blockdiagramm des Ziel-VIs erstellt werden. Im VI ist die Referenz auf das Ziel-VI der Eigentümer der neuen Funktion "Subtrahieren", auch wenn das Blockdiagramm des Ziel-VIs der eigentliche Eigentümer ist. Die Funktion "Neues VI-Objekt" erkennt jedoch, wenn ein Objekt wie die Funktion "Subtrahieren" nur im Blockdiagramm angezeigt werden kann und fügt das Objekt an der entsprechenden Stelle ein.

    • Klassenname—Alle mit Hilfe von VI-Skripten erstellen Frontpanel- und Blockdiagrammobjekte sind Mitglied der VI-Serverklasse. Wie Sie den Klassennamen des zu erstellenden Objekts ermitteln, erfahren Sie im Abschnitt Aufbau von VIs. Mit Hilfe einer Klassenbezeichner-Konstante wird die Objektklasse für die Funktion "Neues VI-Objekt" angegeben.

      Details zum Beispiel

      Im Beispiel ist die Funktion "Subtrahieren" ein Mitglied der Klasse Funktion.

    • Darstellung—Jedes LabVIEW-eigene Objekt ist durch seine Darstellungsart genauer definiert. Beim Auswählen der geeigneten Objektdarstellung ist Ihnen möglicherweise die Eigenschaft Knoten:Darstellungs-ID oder Knoten:Darstellung eine Hilfe.
      Hinweis Beim Hinzufügen eines SubVIs oder benutzerdefinierten Elements in ein VI ist keine Angabe der Darstellung erforderlich.

      Details zum Beispiel

      Im Beispiel erstellt das VI eine Funktion "Subtrahieren". Die Darstellungsart ist Subtrahieren. Die Darstellung des Knotens weicht oft von der Klasse des Knotens ab.

    • Position—Für jedes zu erstellende Objekt ist eine Position anzugeben. Die Position wird relativ zum Koordinatenursprung des übergeordneten Objekts angegeben.

      Details zum Beispiel

      Im Beispiel befindet sich die Funktion "Subtrahieren" an der Position (100, 200).

    • (Optional) Pfad des SubVIs oder benutzerdefinierten Elements—Für SubVIs und benutzerdefinierte Elemente ist am Eingang Pfad der Funktion "Neues VI-Objekt" ein Pfad anzugeben. Wie ein SubVI-Aufruf erstellt wird, ist unter Weitere Beispiele beschrieben.
    • (Optional) Größe des neuen Objekts—Für jedes Objekt, das sich manuell verkleinern und vergrößern lässt, kann eine Größe angegeben werden.

      Details zum Beispiel

      Im Beispiel erstellt das VI eine Funktion "Subtrahieren", deren Größe nicht geändert werden kann.

  3. Fügen Sie das neue Objekt mit Hilfe der Funktion Neues VI-Objekt zum Ziel-VI hinzu, indem Sie die Angaben aus Schritt 2 mit der Funktion verbinden.
  4. (Optional) Verbinden Sie das neu erstellte Objekt programmatisch mit anderen Objekten im Ziel-VI.

    Wie Objekte skriptgesteuert mit anderen Objekten verbunden werden, erfahren Sie unter Weitere Beispiele.

  5. Mit der Funktion Referenz schließen können Sie alle geöffneten Objektreferenzen nach ihrer Nutzung schließen.

Empfehlungen und Warnungen

  • Erstellen Sie komplizierte neue VIs nach Möglichkeit von einer Vorlage—Zum programmatischen Erstellen von VIs können Sie zwar alle Objekte einzeln erstellen; viel einfacher ist es jedoch, wenn Sie das VI anhand einer Vorlage erstellen und dann nur kleinere Änderungen vornehmen müssen. Im Beispiel-VI "Creating New VI From Scratch" unter Weitere Beispiele sehen Sie, dass auch das Erstellen von einzelnen Objekten für ein einfaches Ziel-VI umfangreichen Programmcode erfordert. Der Aufwand ist bei Verwendung einer VI-Vorlage bedeutend geringer.
  • Erstellen Sie komplexe Elemente nach Möglichkeit von einer Vorlage—Zwar kann ein komplexes Element auch Stück für Stück programmatisch erstellt werden, aber einfacher ist es, wenn Sie ein benutzerdefiniertes Element erstellen und ein Exemplar des Elements nach der oben beschriebenen Anleitung zum VI hinzufügen. Anschließend können Sie die Teile des Elements den Erfordernissen entsprechend verändern. Wenn Sie eine Referenz auf ein benutzerdefiniertes Element zur Verfügung haben, können Sie auch mit der Methode VI:Von Referenz erstellen eine Kopie des Elements erstellen.
  • 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 VI-Objekte.

Weitere Beispiele

Im Beispiel-VI "Creating New VI From Scratch.vi" im Verzeichnis labview\examples\Application Control\VI Scripting\Creating VIs wird Ihnen gezeigt, wie Sie ein Array-Element und eine numerische Anzeige in ein VI einfügen und einen SubVI-Aufruf implementieren.

Ein Beispiel zum Hinzufügen der Funktion "Addieren" in ein anderes Objekt, wie z. B. eine While-Schleife, finden Sie im VI "Drop Add Function Inside While Loop.vi" im Verzeichnis labview\examples\Application Control\VI Scripting\Creating Objects.

Ein Beispiel zum Hinzufügen eines Objekts zu einem Cluster finden Sie im VI "Drop Digital Numeric Inside Cluster.vi" im Verzeichnis labview\examples\Application Control\VI Scripting\Creating Objects.