Ein Member-VI dient dazu, eine Operation zu definieren, die von einer Klasse oder Schnittstelle ausgeführt werden kann. Member-VIs haben die Berechtigung, andere Methoden im privaten oder geschützten Bereich aufzurufen. Klassen-Member-VIs können auf die privaten Daten der Klasse zugreifen. VIs einer Klasse lassen sich auf verschiedene Arten erstellen.

Erstellen eines Member-VIs von einem leeren VI

Gehen Sie für die Erstellung eines Member-VIs von einem leeren VI wie folgt vor:

  1. Erstellen Sie eine neue LabVIEW-Klasse oder -Schnittstelle oder gehen Sie zu Datei»Öffnen, um eine vorhandene Klasse oder Schnittstelle zu öffnen.
    Hinweis Beim Öffnen einer Klasse oder Schnittstelle über die Option Datei»Öffnen wird die Klasse im Klassenhierarchiefenster geöffnet und nicht im Projekt-Explorer. Die Entwicklung einer Klasse oder Schnittstelle im Klassenfenster unterscheidet sich nicht von der Entwicklung im Projekt-Explorer.
  2. (Nur Klasse) Definieren Sie die Privatdaten für die Klasse.
  3. Klicken Sie mit der rechten Maustaste im Projekt-Explorer auf das Projektobjekt für die Klasse oder Schnittstelle, in der Sie ein Member-VI erstellen möchten, und wählen Sie Neu»VI aus dem Kontextmenü aus. Daraufhin wird ein neues Member-VI im Projekt-Explorer angezeigt und ein VI geöffnet.
  4. Über das Member-VI können Sie dann eine Operation definieren, die von einer Klasse oder Schnittstelle ausgeführt werden kann.

(Nur Klasse) Erstellen eines Member-VIs in einem Eigenschaftsdefinitionsordner

Beim Erstellen eines Member-VIs in einem Eigenschaftsdefinitionsordner werden die Privatdaten einer LabVIEW-Klasse eine Eigenschaft der Klasse, auf die mit Hilfe eines Eigenschaftsknotens zugegriffen werden kann.

Hinweis Der für den Eigenschaftsdefinitionsordner angegebene Name bestimmt den Eigenschaftsnamen, der auf dem Eigenschaftsknoten angezeigt wird. Zum Ändern des Eigenschaftsnamens müssen Sie den entsprechenden Eigenschaftsdefinitionsordner umbenennen. Durch das Umbenennen der Privatdaten ändert sich der auf dem Eigenschaftsknoten angezeigte Eigenschaftsname nicht.

Gehen Sie zum Erstellen eines Member-VIs in einem Eigenschaftsdefinitionsordner wie folgt vor:

  1. Erstellen Sie eine neue LabVIEW-Klasse oder öffnen Sie eine bestehende Klasse durch Auswahl der Option Datei»Öffnen und anschließender Auswahl der gewünschten Klasse.
    Hinweis Beim Öffnen einer Klasse über die Option Datei»Öffnen wird die Klasse in einem Klassenfenster geöffnet und nicht im Projekt-Explorer. Die Entwicklung im Klassenfenster unterscheidet sich nicht von der Entwicklung im Projekt-Explorer.
  2. Definieren Sie die Privatdaten für die Klasse.
  3. Klicken Sie mit der rechten Maustaste im Projekt-Explorer auf das Symbol der Klasse, in welcher ein Member-VI erstellt werden soll, und wählen Sie Neu»Eigenschaftsdefinitionsordner aus dem Kontextmenü. Daraufhin wird ein neuer Eigenschaftsdefinitionsordner im Projekt-Explorer angezeigt.
  4. Klicken Sie mit der rechten Maustaste auf den Eigenschaftsdefinitionsordner und wählen Sie Neu»VI aus dem Kontextmenü aus. Sie können ein VI auch basierend auf einer Vorlage für dynamische Bindung oder einer Vorlage für statische Bindung erstellen. Daraufhin wird ein neues Member-VI im Projekt-Explorer angezeigt und ein VI geöffnet.
    Hinweis Sie können vorhandene Member-VIs auch über einen Rechtsklick auf den Eigenschaftsdefinitionsordner und Auswahl von Hinzufügen»Datei aus dem Kontextmenü zu dem Eigenschaftsdefinitionsordner hinzufügen.
  5. Sie können jetzt das Member-VI erstellen, um auf die Privatdaten einer Klasse zuzugreifen und mit diesen zu arbeiten. Jeder Eigenschaftsdefinitionsordner kann ein VI zum Lesen und/oder ein VI zum Schreiben der Privatdaten der Klasse enthalten.
    Hinweis Durch die Verwendung eines Eigenschaftsknotens beim Zugriff auf eine LabVIEW-Klasse können Sie die Implementierung der Klasseneigenschaften schnell sehen, indem Sie mit der rechten Maustaste darauf klicken und Zugriffs-VI öffnen aus dem Kontextmenü wählen. Diese Option erscheint nur, wenn Sie eine LabVIEW-Klasse oder Datenwertreferenz, die auf eine LabVIEW-Klasse hinweist, mit dem Eingang Referenz auf dem Eigenschaftsknoten verbinden, und wenn das Blockdiagramm der Zugriffs-VI verfügbar ist. Wenn die Eigenschaft dynamisch mit mehr als einer Implementierung ist, wird beim Aktivieren dieser Option das Dialogfeld Implementierung auswählen angezeigt. Hier können Sie alle Implementierungen der Eigenschaft – also des VIs mit dynamischer Bindung – sehen und die Implementierungen öffnen.

Member-VIs, die das Lesen oder Schreiben von Privatdaten mit Hilfe eines Eigenschaftsknotens ermöglichen, müssen das Anschlussmuster 4 × 2 × 2 × 4 haben. Die Anschlüsse eines Member-VIs, das Privatdaten lesen kann, müssen folgende Anschlussfelder umfassen:

1 Klasse (Eingang) 3 Klasse (Ausgang) 5 Fehler (Ausgang)
2 Fehler (Eingang) 4 Wert (Ausgang)

Die Anschlüsse eines Member-VIs, das Privatdaten schreiben kann, müssen folgende Anschlussfelder umfassen:

1 Klasse (Eingang) 3 Fehler (Eingang) 5 Fehler (Ausgang)
2 Wert (Eingang) 4 Klasse (Ausgang)
Hinweis Klasse (Eingang) und Klasse (Ausgang) eines Member-VIs müssen derselben LabVIEW-Klasse angehören. Wenn ein Eigenschaftsdefinitionsordner ein Member-VI zum Lesen und Schreiben enthält, müssen Wert (Ausgang) des lesenden VIs und Wert (Eingang) des schreibenden VIs den gleichen Datentyp haben.

Erstellen eines Member-VIs von einer Vorlage für VIs mit dynamischer Bindung

Sie können jede VI-Vorlage aus dem Dialogfeld Neu zum Erstellen eines neuen VIs einer Klasse verwenden. LabVIEW bietet aber auch eine schnelle Möglichkeit zum Erstellen von Member-VIs mit dynamischer Bindung, die eine Reihe von Funktionen umfassen, die für viele Methoden erforderlich sind. LabVIEW fügt dem neuen Member-VI die Cluster Fehler (Eingang) und Fehler (Ausgang), eine Case-Struktur für die Fehlerbehandlung, die Eingangsklasse- oder -schnittstelle und die Ausgangsklasse- oder -schnittstelle hinzu. Sowohl die Eingangs- als auch die Ausgangsanschlüsse werden im Anschlussfeld des VIs als dynamisch festgelegt. Gehen Sie zum Erstellen eines Member-VIs von einer Vorlage für VIs mit dynamischer Bindung wie folgt vor:

  1. Erstellen Sie eine neue LabVIEW-Klasse oder -Schnittstelle oder gehen Sie zu Datei»Öffnen, um eine vorhandene Klasse oder Schnittstelle zu öffnen.
    Hinweis Beim Öffnen einer Klasse oder Schnittstelle über die Option Datei»Öffnen wird die Klasse im Klassenhierarchiefenster geöffnet und nicht im Projekt-Explorer. Die Entwicklung einer Klasse oder Schnittstelle im Klassenfenster unterscheidet sich nicht von der Entwicklung im Projekt-Explorer.
  2. (Nur Klasse) Definieren Sie die Privatdaten für die Klasse.
  3. Klicken Sie mit der rechten Maustaste im Projekt-Explorer auf das Projektobjekt für die Klasse oder Schnittstelle, in der Sie ein Member-VI erstellen möchten, und wählen Sie Neu»VI von Vorlage für dynamische Bindung aus dem Kontextmenü aus. Daraufhin wird ein neues VI im Projekt-Explorer angezeigt und das Frontpanel des VIs geöffnet. Auf dem Frontpanel des VIs sind ein Bedien- und ein Anzeigeelement für eine Klasse oder Schnittstelle sowie die Cluster Fehler (Eingang) und Fehler (Ausgang) zu sehen.
  4. Drücken Sie <Strg + E>, um zum Blockdiagramm zu wechseln. (macOS) Drücken Sie <Command + E>. (Linux) Drücken Sie <Alt + E>. Auf dem Blockdiagramm werden zwei Klassen- oder Schnittstellenanschlüsse, die beiden Cluster Fehler (Eingang) und Fehler (Ausgang) sowie eine Case-Struktur zur Fehlerbehandlung angezeigt.
  5. Sie können jetzt das Member-VI erstellen, um auf die Privatdaten einer Klasse zuzugreifen und mit diesen zu arbeiten.

Erstellen eines Member-VIs von einer Vorlage für VIs mit statischer Bindung

LabVIEW verfügt auch über eine schnelle Möglichkeit, ein Member-VI mit statischer Bindung zu erstellen. LabVIEW fügt dem neuen Member-VI die Cluster Fehler (Eingang) und Fehler (Ausgang), eine Case-Struktur für die Fehlerbehandlung, die Eingangsklasse- oder -schnittstelle und die Ausgangsklasse- oder -schnittstelle hinzu. Im Gegensatz zu VIs mit dynamischer Bindung werden die Ein- und Ausgangsanschlüsse am Anschlussfeld von VIs mit statischer Bindung nicht auf dynamisch gesetzt. Gehen Sie zum Erstellen eines Member-VIs von einer Vorlage für VIs mit statischer Bindung wie folgt vor:

  1. Erstellen Sie eine neue LabVIEW-Klasse oder -Schnittstelle oder gehen Sie zu Datei»Öffnen, um eine vorhandene Klasse oder Schnittstelle zu öffnen.
    Hinweis Beim Öffnen einer Klasse oder Schnittstelle über die Option Datei»Öffnen wird die Klasse im Klassenhierarchiefenster geöffnet und nicht im Projekt-Explorer. Die Entwicklung einer Klasse oder Schnittstelle im Klassenfenster unterscheidet sich nicht von der Entwicklung im Projekt-Explorer.
  2. (Nur Klasse) Definieren Sie die Privatdaten für die Klasse.
  3. Klicken Sie mit der rechten Maustaste im Projekt-Explorer auf das Projektobjekt für die Klasse oder Schnittstelle, in der Sie ein Member-VI erstellen möchten, und wählen Sie Neu»VI von Vorlage für dynamische Bindung aus dem Kontextmenü aus. Daraufhin wird ein neues VI im Projekt-Explorer angezeigt und das Frontpanel des VIs geöffnet. Auf dem Frontpanel des VIs sind ein Bedien- und ein Anzeigeelement für eine Klasse oder Schnittstelle sowie die Cluster Fehler (Eingang) und Fehler (Ausgang) zu sehen.
  4. Drücken Sie <Strg + E>, um zum Blockdiagramm zu wechseln. (macOS) Drücken Sie <Command + E>. (Linux) Drücken Sie <Alt + E>. Auf dem Blockdiagramm werden zwei Klassen- oder Schnittstellenanschlüsse, die beiden Cluster Fehler (Eingang) und Fehler (Ausgang) sowie eine Case-Struktur zur Fehlerbehandlung angezeigt.
  5. Sie können jetzt das Member-VI erstellen, um auf die Privatdaten einer Klasse zuzugreifen und mit diesen zu arbeiten.

(Nur Klasse) Erstellen von VIs einer Klasse für den Zugriff auf Daten

Sie können schnell ein VI mit Schreib- und Lesezugriff erstellen, das zu der LabVIEW-Klasse gehört. Zugriffs-VIs mit Lesezugriff schlüsseln die LabVIEW-Klassendaten auf, so dass ein VI durch Aufrufen des Zugriffs-VIs mit den Daten arbeiten kann. Das VI mit Schreibzugriff bündelt erneut neue Werte für Klassendaten, die vom aufrufenden VI weitergegeben werden. Sie müssen möglicherweise ein Zugriffs-VI zum Lesen oder Schreiben in Klassendaten in VIs verwenden, die nicht zur LabVIEW-Klasse gehören. Führen Sie folgende Schritte aus, um ein VI für den Zugriff auf Daten der Klasse zu erstellen.

  1. Erstellen Sie eine neue LabVIEW-Klasse oder öffnen Sie eine bestehende Klasse durch Auswahl der Option Datei»Öffnen und anschließender Auswahl der gewünschten Klasse.
    Hinweis Beim Öffnen einer Klasse über die Option Datei»Öffnen wird die Klasse in einem Klassenfenster geöffnet und nicht im Projekt-Explorer. Die Entwicklung im Klassenfenster unterscheidet sich nicht von der Entwicklung im Projekt-Explorer.
  2. Definieren Sie die Privatdaten für die Klasse.
  3. Klicken Sie mit der rechten Maustaste im Projekt-Explorer auf das Symbol der Klasse, in welcher ein Member-VI erstellt werden soll, und wählen Sie Neu»VI zum Zugriff auf Daten aus dem Kontextmenü aus zur Anzeige des Dialogfelds Zugriffs-VI erstellen. Sie können auch Daten im Privatdatenelement der LabVIEW-Klasse mit der rechten Maustaste anklicken und Zugriffs-VI erstellen auswählen.
    Hinweis Vor Nutzung dieser Option muss die LabVIEW-Klasse gespeichert werden. LabVIEW graut die Optionen VI zum Zugriff auf Daten und Zugriffs-VI erstellen aus, wenn die neue Klasse nicht gespeichert wurde.
  4. Wählen Sie das Mitglied aus, auf das Sie zugreifen möchten, die Art des Zugriffs, ob das neue VI dynamisch oder statisch ist und ob Sie mit Hilfe eines Eigenschaftsknotens auf das Mitglied zugreifen können. Wenn Sie festlegen, dass mit Hilfe eines Eigenschaftsknotens auf das ausgewählte Member-VI zugegriffen werden kann, wird das Member-VI zu einem Eigenschaftsdefinitionsordner hinzugefügt.
    Hinweis Sie können die Implementierung der Eigenschaften einer LabVIEW-Klasse schnell einsehen, wenn Sie den Eigenschaftsknoten verwenden und festlegen, dass auf das gewählte Mitglied durch einen Eigenschaftsknoten zugegriffen werden kann. Klicken Sie mit der rechten Maustaste auf die Eigenschaft der Klasse und wählen Sie Zugriffs-VI öffnen aus dem Kontextmenü. Diese Option erscheint nur, wenn Sie eine LabVIEW-Klasse oder Datenwertreferenz, die auf eine LabVIEW-Klasse hinweist, mit dem Eingang Referenz auf dem Eigenschaftsknoten verbinden, und wenn das Blockdiagramm der Zugriffs-VI verfügbar ist. Wenn die Eigenschaft dynamisch mit mehr als einer Implementierung ist, wird beim Aktivieren dieser Option das Dialogfeld Implementierung auswählen angezeigt. Hier können Sie alle Implementierungen der Eigenschaft – also des VIs mit dynamischer Bindung – sehen und die Implementierungen öffnen.
    Wenn Sie bei gedrückter <Strg>-Taste mehrere Daten auswählen, werden für alle Daten separate Zugriffs-VI erstellt. (macOS) Drücken Sie die <Option>-Taste. (Linux) Drücken Sie die <Alt>-Taste. Bei Auswahl von Lesen und Schreiben im Dialogfeld erstellt LabVIEW ein Zugriffs-VI mit Lesezugriff und ein weiteres VI mit Schreibzugriff.
  5. Klicken Sie auf die Schaltfläche Erstellen um Zugriffs-VIs zu erstellen. Ein neues VI für jedes Datenmitglied und jeden von Ihnen gewählten Zugriffstyp wird im Fenster Projekt-Explorer angezeigt, und jedes VI wird von LabVIEW automatisch geöffnet. Die Namen der VIs bestehen aus der Art des ausgewählten Zugriffs und dem Namen des Mitglieds, z. B. Read Numeric.vi. Auf dem Frontpanel des VIs werden eine Klassenanzeige, ein Klassenbedienelement, die ausgewählten Mitglieder sowie die Cluster Fehler (Eingang) und Fehler (Ausgang) angezeigt.
  6. Drücken Sie <Strg + E>, um zum Blockdiagramm zu wechseln. (macOS) Drücken Sie <Command + E>. (Linux) Drücken Sie <Alt + E>. Im Blockdiagramm werden zwei Klassenanschlüsse, die ausgewählten Mitglieder, die beiden Cluster Fehler (Eingang) und Fehler (Ausgang) sowie eine Case-Struktur zur Fehlerbehandlung angezeigt.
  7. Nun können Sie die Klassendaten von aufrufenden VIs aus bearbeiten.

Erstellen eines Member-VIs für das Überschreiben eines Vorgänger-Member-VIs

Sie können ein Member-VI mit dynamischer Bindung erstellen, das die Funktionen seiner Vorgängerversion überschreibt. Ein Member-VI kann ein Member-VI aus einer Vorgängerklasse oder -schnittstelle nur überschreiben, wenn folgende Einstellungen bei beiden VIs identisch sind:

LabVIEW erstellt ein Member-VI zum Überschreiben, das allen Anforderungen für einen legalen Überschreibvorgang entspricht, wenn Sie Neu»VI für Überschreiben aus dem Kontextmenü wählen. Gehen Sie zur Erstellung eines Member-VIs zum Überschreiben mithilfe der Option Neu»VI für Überschreiben wie folgt vor:

  1. Erstellen Sie eine neue LabVIEW-Klasse oder -Schnittstelle oder gehen Sie zu Datei»Öffnen, um eine vorhandene Klasse oder Schnittstelle zu öffnen. Wenn Sie eine neue Klasse oder Schnittstelle erstellen, muss diese erst gespeichert werden, bevor ein Überschreib-VI dafür erstellt werden kann.
    Hinweis Beim Öffnen einer Klasse über die Option Datei»Öffnen wird die Klasse in einem Klassenfenster geöffnet und nicht im Projekt-Explorer. Die Entwicklung im Klassenfenster unterscheidet sich nicht von der Entwicklung im Projekt-Explorer.
  2. Klicken Sie mit der rechten Maustaste im Projekt-Explorer auf das Projektobjekt für die Klasse oder Schnittstelle, in der Sie ein Member-VI erstellen möchten, und wählen Sie Neu»VI für Überschreiben aus dem Kontextmenü aus.
    Hinweis Wenn die ausgewählte Klasse oder Schnittstelle keine Member-VIs vom übergeordneten Objekt erbt, die überschrieben werden können, wird die Option Neu»VI für Überschreiben ausgegraut. Die VIs in der Vorgängerklasse oder -schnittstelle können nur überschrieben werden, wenn es sich um Member-VIs mit dynamischer Bindung handelt.
  3. Das Dialogfeld Neu - Überschreiben wird geöffnet. Dieses Feld zeigt durch Vorgängerklassen oder Vorgängerschnittstellen definierte dynamische Methoden an. Wählen Sie das zu überschreibende Member-VI aus.
  4. Klicken Sie auf die Schaltfläche OK.
  5. Daraufhin wird ein neues VI im Projekt-Explorer angezeigt und das Frontpanel des VIs geöffnet. Zum Erstellen eines Symbols für das neue VI nimmt LabVIEW das Symbol des übergeordneten VIs als Grundlage und legt das Symbol der untergeordneten Klasse oder Schnittstelle transparent darüber. Auf dem Frontpanel des VIs werden zusätzlich die Bedien- und Anzeigeelemente, die vom Vorgänger-VI kopiert wurden, die LabVIEW-Klassenanzeigen und die beiden Cluster Fehler (Eingang) und Fehler (Ausgang) angezeigt.
  6. Drücken Sie <Strg + E>, um zum Blockdiagramm zu wechseln. (macOS) Drücken Sie <Command + E>. (Linux) Drücken Sie <Alt + E>. Das Blockdiagramm zeigt die vom Vorgänger-Member-VI kopierten Anschlüsse an. Die Anschlüsse werden automatisch mit einem Knoten des Typs Methode der übergeordneten Klasse aufrufen verbunden.

Sie können jetzt den Code im Blockdiagramm des Überschreib-Member-VIs Ihren Anforderungen entsprechend anpassen.

Hinweis Ein neu erstelltes Überschreib-Member-VI verhält sich anfangs genauso wie die Vorgängerversion des Member-VIs. Verwenden Sie Überschreib-Member-VIs, um Elternversionen eines Member-VIs Funktionen hinzuzufügen oder zu entfernen.

Erstellen eines Member-VIs, das ein Überschreiben von VIs in abgeleiteten Klassen oder Schnittstellen erfordert

Sie können ein VI mit dynamischer Bindung erstellen, das erfordert, dass abgeleitete Klassen oder Schnittstellen das Member-VI überschreiben (den Funktionsumfang erweitern). Wenn festgelegt ist, dass abgeleitete Objekte die Vorgänger-Member-VIs überschreiben, muss das Member-VI nicht die Implementierung dieses VIs für die Nachfolger bereitstellen. Per Standardeinstellung erfordern Schnittstellen Nachfolger, um Member-VIs zu überschreiben, wohingegen Klassen keine Nachfolger zum Überschreiben von Member-VIs benötigen.

Führen Sie folgende Schritte aus, um das Überschreiben eines Member-VIs durch Nachfolger erforderlich zu machen:

  1. Erstellen Sie eine neue LabVIEW-Klasse oder -Schnittstelle oder gehen Sie zu Datei»Öffnen, um eine vorhandene Klasse oder Schnittstelle zu öffnen.
    Hinweis Beim Öffnen einer Klasse oder Schnittstelle über die Option Datei»Öffnen wird die Klasse im Klassenhierarchiefenster geöffnet und nicht im Projekt-Explorer. Die Entwicklung einer Klasse oder Schnittstelle im Klassenfenster unterscheidet sich nicht von der Entwicklung im Projekt-Explorer.
  2. Klicken Sie mit der rechten Maustaste im Projekt-Explorer auf das Projektobjekt für die Klasse oder Schnittstelle, in der Sie ein Member-VI erstellen möchten, und wählen Sie Neu»VI von Vorlage für dynamische Bindung aus dem Kontextmenü aus. Daraufhin wird ein neues VI im Projekt-Explorer angezeigt und das Frontpanel des VIs geöffnet. Auf dem Frontpanel des VIs sind ein Bedien- und ein Anzeigeelement für eine Klasse oder Schnittstelle sowie die Cluster Fehler (Eingang) und Fehler (Ausgang) zu sehen.
  3. Klicken Sie mit der rechten Maustaste im Projekt-Explorer auf das Projektobjekt der Klasse oder Schnittstelle, in der Sie ein Member-VI erstellt haben, und wählen Sie Eigenschaften aus dem Kontextmenü zur Anzeige des Dialogfelds Eigenschaften für Klasse/Schnittstelle.
  4. Wählen Sie Objekteinstellungen zur Anzeige der Seite Objekteinstellungen und wählen Sie das VI mit dynamischer Bindung aus, das von Nachfolgern überschrieben werden soll.
  5. Aktivieren Sie das Kontrollkästchen Nachfolger müssen überschreiben. Sie müssen keine Implementierung für dieses VI bereitstellen, da jeder Nachfolger dieses VI mit seiner eigenen Implementierung überschreiben muss.