Verwenden von LabVIEW-Klassen und -Schnittstellen in einer Anwendung
- Aktualisiert2025-08-27
- 3 Minute(n) Lesezeit
LabVIEW-Klassen und -Schnittstellen sind benutzerdefinierte Datentypen. Entwickler von Klassen und Schnittstellen erstellen und verteilen diese Datentypen. Benutzer von LabVIEW-Klassen oder -Schnittstellen benötigen keine Kenntnisse über das Erstellen von LabVIEW-Klassen oder -Schnittstellen. Stattdessen sollten sie mit den durch die Klasse oder -Schnittstelle in einer Anwendung definierten Datentypen vertraut sein und wissen, welche Informationen in Fehlersuchcode für LabVIEW-Klassen oder -Schnittstellen bereitstehen und wie sich eine neue Version einer LabVIEW-Klasse oder -Schnittstelle auf die Anwendung auswirken kann.
Erstellen einer Instanz einer Klasse oder Schnittstelle
Die LabVIEW-Klasse oder -Schnittstelle muss sich nicht in einem Projekt befinden. Sie können die Klasse oder Schnittstelle der Palette hinzufügen, so dass sie einfach gefunden und in das Blockdiagramm oder das Frontpanel gezogen werden kann. Zum Erstellen einer Instanz einer LabVIEW-Klasse oder -Schnittstelle, die Sie erhalten oder selbst erstellt haben, fügen Sie die Klassenbibliotheksdatei (*.lvclass) als Element oder Konstante auf dem gewünschten Frontpanel oder Blockdiagramm ein. Benutzerdefinierte LabVIEW-Datentypen können ähnlich wie LabVIEW-Datentypen verwendet werden.
Über den Klassenbrowser ist das Ablegen von Member-VIs der LabVIEW-Klasse oder -Schnittstelle im Blockdiagramm möglich.
Umwandeln von LabVIEW-Klassen und -Schnittstellen
LabVIEW erzwingt die Umwandlung von Klassen und Schnittstellen in die nächste gemeinsame übergeordnete Klasse oder Schnittstelle nach folgenden Regeln:
- Wenn die Eingangsklassen und -schnittstellen in keinerlei Beziehung zueinander stehen, werden die Eingaben von LabVIEW in ein LabVIEW-Objekt konvertiert.
- Wenn die Eingangsklassen und -schnittstellen nur ein gemeinsames übergeordnetes Objekt haben – unabhängig davon, ob es sich dabei um eine Klasse oder eine Schnittstelle handelt –, werden die Eingaben von LabVIEW in das gemeinsame übergeordnete Objekt umgewandelt.
- Wenn die Eingangsklassen und -schnittstellen mehrere gemeinsame übergeordnete Objekte haben, von denen eines eine Klasse ist, werden die Eingaben von LabVIEW in die gemeinsame übergeordnete Klasse umgewandelt. Wenn LabVIEW die Eingaben in eine gemeinsame übergeordnete Schnittstelle umwandeln soll, setzen Sie eine der Eingaben mit Hilfe der Funktion Nach allgemeinerer Klasse auf den gewünschten übergeordneten Typ.
- Wenn die Eingangsklassen und -schnittstellen mehrere gemeinsame übergeordnete Objekte haben, die alle Schnittstellen sind, wird das VI funktionsuntüchtig. Wenn LabVIEW die Eingaben in eine gemeinsame übergeordnete Schnittstelle umwandeln soll, setzen Sie eine der Eingaben mit Hilfe der Funktion Nach allgemeinerer Klasse auf den gewünschten übergeordneten Typ.
Verwenden von Kontexthilfe und Sonden mit gesperrten LabVIEW-Klassen oder -Schnittstellen
Entwickler von LabVIEW-Klassen oder -Schnittstellen können eine LabVIEW-Klasse oder -Schnittstelle sperren, um diese für andere Personen bereitzustellen. Wenn der Entwickler der LabVIEW-Klasse oder -Schnittstelle diese sperrt, wird in der Kontexthilfe nur der Datentyp der Klasse oder Schnittstelle und ggf. eine Beschreibung angezeigt. Auch in der allgemeinen Sonde einer gesperrten Klasse oder Schnittstelle wird nur der Datentyp angezeigt. Sie können eine benutzerdefinierte Nicht-Member-Sonde für eine LabVIEW-Klasse oder -Schnittstelle erstellen. Diese Sonde zeigt nur die öffentliche Benutzeroberfläche der Klasse oder Schnittstelle an. Entwickler von Klassen oder Schnittstellen können auch eine benutzerdefinierte Standardsonde festlegen, um spezielle Angaben zu einer Klasse oder Schnittstelle für die Fehlerbehebung bereitzustellen. Arbeiten Sie mit dem Entwickler der Klasse oder Schnittstelle zusammen, um die für die Verwendung einer LabVIEW-Klasse oder -Schnittstelle notwendige Dokumentation oder Sondeninformation zur Verfügung zu stellen.
VIs mit dynamischer Bindung
Eine LabVIEW-Klasse oder -Schnittstelle kann mit dynamischer Bindung arbeitende VIs (d. h. Methoden) enthalten. Die dynamische Bindung von Methoden ähnelt der Funktionsweise polymorpher VIs. Polymorphe VIs rufen VIs basierend auf dem empfangenen Datentyp auf. Methoden mit dynamischer Bindung rufen VIs in der Klassenhierarchie erst während der Ausführung auf, da sich das aufzurufende VI nach den Daten richtet, die am Eingangsanschluss anliegen. Da eine Verbindung einer LabVIEW-Klasse oder -Schnittstelle den eigenen Datentyp oder den Datentyp einer beliebigen untergeordneten Klasse übermitteln kann, wird erst bei der Ausführung entschieden, welches VI der Klassenhierarchie aufgerufen wird. Um das VI zu sehen, klicken Sie das mit dynamischer Bindung arbeitende VI im Blockdiagramm doppelt an. Um die anderen dynamisch arbeitenden VIs in der Klassenhierarchie zu sehen, müssen Sie jedes VI einzeln öffnen.
Ändern von Daten
Das Verfolgen der Versionsnummer einer LabVIEW-Klasse oder -Schnittstelle ist hilfreich für Benutzer, die Anwendungen unter Verwendung von Klassen oder Schnittstellen entwickeln. Ein Beispiel ist eine LabVIEW-Klasse in einer Anwendung, die einen vorzeichenlosen 32-Bit-Integer im Privatdatenelement der Klasse verwendet. Der Entwickler der LabVIEW-Klasse kann eine Version der Klasse senden, die das numerische Element im Privatdatenelement in eine Fließkommazahl doppelter Genauigkeit ändert. Da LabVIEW Versionsänderungen verfolgt und Daten aller Klassen serialisieren und deserialisieren kann, können Sie die alte Version der LabVIEW-Klasse durch die aktuelle ersetzen und das Programm ausführen, ohne Veränderungen vornehmen zu müssen.