Erstellen von datentypflexiblen VIs
- Aktualisiert2025-08-27
- 3 Minute(n) Lesezeit
Mit Hilfe von datentypflexiblen VIs können Sie die gleiche Operation an allen zulässigen Datentypen durchführen. Das Speichern einer Kopie des VIs für jeden einzelnen Datentyp wird dadurch überflüssig. Wenn die Operation für verschiedene Datentypen ohne wesentliche Anpassung für einen bestimmten Datentyp auf ähnliche Weise implementiert werden kann, empfiehlt sich das Arbeiten mit datentypflexiblen VIs. Wenn die Operation auf unterschiedliche Weise für die verschiedenen Datentypen implementiert werden muss oder unterschiedliche Anschlüsse für verschiedene Datentypen vorliegen, erstellen Sie stattdessen ein polymorphes VI.
Datentypflexible VIs lassen sich nach einer der folgenden Vorgehensweisen erstellen:
- Zum Erstellen eines neuen datentypflexiblen VIs gehen Sie zu Datei»Neu und wählen Sie im Dialogfeld Neu den Punkt Datentypflexibles VI aus.
- Zum Umwandeln eines Standard-VIs in ein datentypflexibles VI ändern Sie die Dateierweiterung in .vim. Wenn das vorhandene VI nicht dafür konfiguriert ist, in das aufrufende VI inline eingefügt zu werden, wird das datentypflexible VI als fehlerhaft angezeigt. Damit das datentypflexible VI inline eingefügt werden kann, müssen Sie es konfigurieren, indem Sie Datei»Eigenschaften für VI»Ausführung auswählen, die Optionen SubVI inline einfügen und Ablaufinvariante Ausführung mit vorbelegter Kopie aktivieren und die Optionen Fehlerbehandlung aktiviert und Automatische Fehlerbehandlung aktivieren deaktivieren. Hinweis Sie können nur Standard-VIs in datentypflexible VIs umwandeln. Polymorphe VIs, globale VIs und XControl-Leistungsmerkmale können nicht in datentypflexible VIs umgewandelt werden.
Wenn Sie ein datentypflexibles VI auf dem Blockdiagramm ablegen, zeigen die Ein- und Ausgänge die Standarddatentypen an. Beim Verbinden eines Bedien- oder Anzeigeelements oder einer Konstante mit einem Ein- oder Ausgang passt sich dieser an den verbundenen Datentyp an.
Beispielsweise nehmen im datentypflexiblen VI 2D-Array sortieren der Eingang 2D-Array und der Ausgang Sortiertes 2D-Array 2D-Arrays mit jeglichem Datentyp an (mit Ausnahme von Referenzen), wobei das 2D-Array aus Variantdaten der Standarddatentyp ist. Wenn Sie ein 2D-Array aus Strings mit 2D-Array verbinden, ändern sich die Datentypen von 2D-Array und Sortiertes 2D-Array in ein 2D-Array aus Strings. Wenn Sie jedoch ein 1D-Array mit 2D-Array verbinden, wird das VI als nicht funktionsfähig dargestellt, da dieses datentypflexible VI 1D-Arrays nicht annimmt.
Durch Kombinieren der Typspezialisierungsstruktur mit den VIs und der Funktion zur Typüberprüfung lassen sich datentypflexible VIs für folgende Zwecke erzeugen:
- Anpassen von Blockdiagrammabschnitten eines datentypflexiblen VIs für bestimmte Datentypen
- Konfigurieren eines datentypflexibles VIs, so dass dieses nur einen Teil der zulässigen Datentypen annimmt
- ein datentypflexibles VI veranlassen, die Arbeit mit bestimmten Datentypen zu verweigern
Beispielsweise kann das datentypflexible VI "2D-Array sortieren" mit Hilfe der Typspezialisierungsstruktur so konfiguriert werden, dass es unterschiedlich arbeitet, wenn Index eine Ganzzahl oder ein Array von Ganzzahlen ist, damit das datentypflexible VI für beide Fälle erwartungsgemäß funktioniert. Der Eingang Index wandelt Integer-Typen, bei denen es sich nicht um vorzeichenbehaftete 32-Bit-Integer handelt, in vorzeichenbehaftete 32-Bit-Integer um. Sie können erzwingen, dass der Index nur vorzeichenbehaftete 32-Bit-Integer akzeptiert, indem Sie das VI Auf Integer-Typ überprüfen verwenden.
Da datentypflexible VIs polymorph sind, akzeptieren sie jeden Datentyp, der keine Syntaxfehler verursacht. Es wird empfohlen, dass Sie die Typumwandlung in datentypflexiblen VIs zulassen, damit das VI besser wiederverwendet werden kann. Beschränken Sie die Datentypen, die ein datentypflexibles VI akzeptieren kann, nur wenn Ihre Anwendung eine der folgenden Bedingungen erfüllt:
- Die Datentypumwandlung wirkt sich negativ auf die Ausführungsgeschwindigkeit aus.
- Bestimmte Datentypen sind im Kontext der Anwendung bedeutungslos.
Weitere Informationen
Fehlersuche in datentypflexiblen VIs
Auswählen zwischen datentypflexiblen VIs und polymorphen VIs