Manchmal wird ein VI benötigt, das unterschiedliche Datentypen handhaben kann. Eine Möglichkeit wäre, für jeden benötigten Datentyp ein separates VI zu erstellen. Allerdings müssen Sie dann bei Änderungen an einem VI auch alle Kopien anpassen. Der Variant-Datentyp in LabVIEW stellt eine Lösung für dieses Problem dar. Der Datentyp "Variant" ist ein allgemeiner Container für alle anderen Datentypen in LabVIEW. Wenn Sie Daten in einen Variantwert konvertieren, werden die Daten und der ursprüngliche Datentyp gespeichert. So kann LabVIEW die Variantdaten zu einen anderen Zeitpunkt wieder fehlerfrei in den ursprünglichen Datentyp umwandeln. Wenn Sie beispielsweise String-Daten in einen Variantwert konvertieren, wird der Text des Strings und eine Anzeige gespeichert, die angibt, dass es sich bei den Daten ursprünglich um Strings handelte.

Variantdaten werden mit den Variant-Funktionen erstellt und bearbeitet. Grundsätzlich kann jeder LabVIEW-Datentyp für den Einsatz in anderen VIs und Funktionen in den Typ "Variant" umgewandelt werden. Mehrere Eigenschaften und Methoden, z. B. die Methode VI ermitteln:Anschlussfeld-Datentyp und die Eigenschaft Anschlussfeld:Datentyp geben den Datentyp als Variant aus. Mit Hilfe der Datentyp-Parsing-VIs können Sie den Datentyp ermitteln, der in einem Variant enthalten ist, und Angaben zu diesem Datentyp einholen. Sie können außerdem feststellen, ob der Datentyp eines Variants einem bestimmten Datentyp entspricht.

Der Variant-Datentyp empfiehlt sich immer dann, wenn es darauf ankommt, Daten unabhängig vom Typ zu bearbeiten, wie zum Beispiel beim Übertragen oder Speichern von Daten, beim Austauschen von Daten mit unbekannten Geräten oder beim Interagieren mit Daten über unterschiedliche Bedienelemente.

Verwenden Sie zum Beispiel den Datentyp "Variant", wenn Sie mit ActiveX-Objekten arbeiten, da diese den Variant-Datentyp erfordern. Sie können diesen Datentyp auch mit Elementreferenzen verwenden, um Werte eines programmatisch ausgewählten Elements zu lesen oder zu modifizieren.

Um Daten unabhängig vom Typ darzustellen, kann auch die Funktion Daten serialisieren verwendet werden. Das Serialisieren von Daten ist sinnvoll, wenn diese mit TCP/IP übertragen werden, da dieses Protokoll nur mit Strings arbeitet. Jedoch gibt es bei der Arbeit mit serialisierten Daten auch Einschränkungen. So kann beispielsweise keine Umwandlung erfolgen, wenn der ursprüngliche Datentyp nicht mit dem Datentyp übereinstimmt, in den die Daten konvertiert werden sollen. ActiveX-Variantdaten können nicht serialisiert werden. Eine in das serialisierte Format umgewandelte Ganzzahl kann nicht in eine Fließkommazahl mit erweiterter Genauigkeit rückgewandelt werden.

Ein weiterer Vorteil des Variant-Datentyps besteht darin, dass auch Attribute der Daten gespeichert werden können, Über Attribute werden zusätzliche Angaben zu den Daten gespeichert. Wenn Sie zum Beispiel wissen möchten, wann ein Datenelement erzeugt worden ist, kann beim Variant-Typ zu den Daten das Attribut Zeit hinzugefügt werden, in dem der entsprechende Zeit-String gespeichert ist. Als Attributdatentyp ist jeder beliebige Typ zulässig. Mit Hilfe dieser Attribute können Daten nach bestimmten Eigenschaften sortiert oder gefiltert werden, und es kann das Gerät oder Programm ermittelt werden, von dem die Daten stammen.

Hinweis Bei Anwendung der Funktion "Daten serialisieren" auf Variantdaten serialisiert LabVIEW den gesamten Inhalt des Variants einschließlich der Attribute. Wenn Sie die Funktion "Variant nach serialisierte Daten" verwenden, serialisiert LabVIEW nur den Variant und verwirft alle Attribute.