Typumwandlungspunkte an Blockdiagrammknoten dienen dazu, anzuzeigen, dass der an den Knoten übertragene Wert von LabVIEW in eine andere Darstellung konvertiert wurde. Am Rahmen des entsprechenden Anschlusses wird daraufhin ein Typumwandlungspunkt eingefügt. Da VIs und Funktionen über viele Anschlüsse verfügen können, kann ein Typumwandlungspunkt auch im Inneren des Symbols angezeigt werden, wenn Sie einen Anschluss mit einem anderen verbinden.

Rote Typumwandlungspunkte

LabVIEW fügt Blockdiagrammknoten rote Typumwandlungspunkte hinzu, wenn Anschlüsse mit Zahlen unterschiedlicher Darstellung verbunden werden oder wenn an einem Variant-Anschluss eine Verbindung anliegt, die keine Variantdaten überträgt.

So wird beispielsweise in der folgenden Abbildung an der Funktion Addieren ein roter Typumwandlungspunkt angezeigt, weil die Funktion zwei Eingänge mit passenden numerischen Datentypen erfordert, jedoch stattdessen eine Fließkommazahl doppelter Genauigkeit und einen Integer erhält. Die Datentypen sind sich ähnlich genug, dass LabVIEW den Integer anpassen und die Addition trotzdem vornehmen kann.

Blaue Typumwandlungspunkte

Blaue Typumwandlungspunkte werden an den Ausgängen von numerischen Funktionen von LabVIEW angezeigt, wenn für diese manuell Festkomma-Ausgabeeinstellungen konfiguriert wurden. Mit dem Punkt wird angezeigt, dass LabVIEW den Ausgabedatentyp nicht automatisch anpasst, um Fehler im Bereich Überlauf und Rundung zu vermeiden.

Im nachfolgenden Blockdiagramm wird ein blauer Typumwandlungspunkt gezeigt.

Eliminieren von Typumwandlungspunkten zur Genauigkeit und optimierten Speichernutzung

Typumwandlungspunkte können die Speicherauslastung oder allgemeine Leistung eines VIs auf folgende Weise beeinflussen:

  • Anpassen von Typdefinitionen—Wenn Sie eine Instanz einer Typdefinition mit einem Objekt verbinden, das nicht mit derselben Typdefinition verknüpft wird, kann das VI ungenaue Ergebnisse generieren.
  • Anpassen von Skalarzahlen—Beim Bearbeiten von verschiedenen numerischen Datentypen passt LabVIEW die Datentypen aneinander an. Bei einer solchen Anpassung kann das VI ungenaue Ergebnisse generieren.
  • Anpassung großer Arrays—Wenn Sie den Datentyp eines sehr großen Arrays anpassen und die Speicherauslastung dadurch hoch ist, kann es sein, dass das VI länger für die Ausführung benötigt.

Unnötige Anpassungen können durch einheitliche Datentypen vermieden werden.

Tipp Wenn Sie den Cursor über einen Anschluss mit einem Typumwandlungspunkt bewegen, wird im Feld Verbindungsdatentyp der Kontexthilfe der Datentyp der Verbindung angezeigt, die zu dem VI oder der Funktion hergestellt wurde. Zum Vermeiden von Typumwandlungspunkten muss der Verbindungsdatentyp mit dem Anschlussdatentyp übereinstimmen.

Anpassen von Typdefinitionen

Wenn Sie eine Instanz einer Typdefinition mit einem Objekt verbinden, das nicht mit derselben Typdefinition verknüpft ist, setzt LabVIEW einen Typumwandlungspunkt auf den Empfängeranschluss. So werden Sie gewarnt, dass durch Bearbeiten der Typdefinition das VI fehlerhaft werden oder ungenaue Daten generieren kann.

Hinweis Wenn Sie eine Typdefinition mit einem Objekt desselben Datentyps verbinden, legt LabVIEW automatisch die Typdefinition fest, es sei denn, das Objekt erfordert dieselbe Typdefinition. Die automatische Festlegung der Typdefinition kann durch Löschen der Typdefinition und erneutes Verbinden des Parameters ohne Typdefinition mit dem Objekt vermieden werden.

Wenn Sie die Typdefinition eines Objekts bearbeiten, das mit einem Cluster oder einer Enum verbunden ist, wird die Verbindung mit dem Cluster oder der Enum fehlerhaft.

Das folgende Blockdiagramm zeigt, wie das Anpassen einer Typdefinitionen die Genauigkeit der Ergebnisse beeinflussen kann, und wie beim Bearbeiten der Typdefinition eine Verbindung fehlerhaft wird. In diesem Beispiel wird der Eingang auf dem SubVI mit einer Typdefinition verknüpft, die den Filtertyp definiert.

LabVIEW setzt einen Typumwandlungspunkt auf den verbundenen Anschluss des SubVIs, um anzuzeigen, dass die Enum-Konstante nicht mit derselben Typdefinition verknüpft ist.

Im folgenden Blockdiagramm wird eine Verwendungsart von Typdefinitionen veranschaulicht, mit der die Genauigkeit der Ergebnisse gewahrt wird, damit beim Ändern der Typdefinition keine fehlerhafte Verbindung entsteht.

Um eine Übereinstimmung mit der Typdefinition des SubVI-Eingangs zu erzielen, können Sie das mit der Typdefinition verknüpfte Objekt kopieren oder das Objekt, das nicht mit der Typdefinition verknüpft ist, durch ein Exemplar der Typdefinition ersetzen. Stattdessen können Sie den Eingang auch mit der rechten Maustaste anklicken und Erstellen»Konstante auswählen. Der Konstante wird automatisch mit der Typdefinition verknüpft.

Anpassen von Skalarzahlen

Bei der Arbeit mit einfachen skalaren numerischen Datentypen wird der Datentyp automatisch so angepasst, dass kein partieller Datenverlust entsteht. Im Falle von zwei Integern passt LabVIEW den weniger genauen Datentyp an den genaueren Datentyp an.

Das folgende Blockdiagramm zeigt eine Anpassung, die die Genauigkeit der Ergebnisse nicht beeinträchtigt.

In diesem Beispiel soll eine Fließkommazahl doppelter Genauigkeit mit einem Long-Integer addiert werden. Der Long-Integer wird daher in eine Fließkommazahl doppelter Genauigkeit umgewandelt. Das Ergebnis ist also trotz der Typumwandlung, die an der "Addieren"-Funktion vorgenommen wird, korrekt, da LabVIEW den weniger genauen Datentyp an den genaueren Datentyp anpasst. Es sollte jedoch angestrebt werden, stets übereinstimmende Datentypen zu nutzen.

Um sicherzustellen, dass die Daten an den gewünschten Datentyp angepasst werden, klicken Sie mit der rechten Maustaste auf das Objekt und wählen Sie Darstellung aus dem Kontextmenü, um den Datentyp eines Kontroll- oder Bedienelements oder einer Konstante zu ändern.

Das folgende Blockdiagramm zeigt eine Anpassung, die ungenaue Ergebnisse verursacht.

In diesem Beispiel wandelt LabVIEW den vorzeichenbehafteten Integer in einen vorzeichenlosen Integer um. Da LabVIEW versucht, einen negativen Wert an einen Datentyp anzupassen, der keine negativen Werte unterstützt, wird anstelle von -5 der Wert 65.531 erzeugt. Um ungenaue Daten zu vermeiden, ändern Sie die Darstellung der Werte von Blockdiagrammobjekten, so dass sie übereinstimmen.

Tipp Sie können die Eigenschaft An Quelle anpassen auf dem Anzeigeelement aktivieren, um den Datentyp der Anzeige automatisch dem Datentyp der numerischen Eingangswerte anzupassen. Um die Eigenschaft "An Quelle anpassen" zu aktivieren, klicken Sie mit der rechten Maustaste auf das Element und wählen Sie An Quelle anpassen aus dem Kontextmenü.

Anpassen großer Arrays

Bei der Typumwandlung der Elemente in sehr großen Arrays kann es sein, dass das VI große Mengen an Speicherplatz und viel Zeit für die Ausführung benötigt. Das folgende Blockdiagramm zeigt ein VI, das viel Speicherplatz benötigt, da LabVIEW den Datentyp des großen Arrays an den Datentyp des SubVI-Eingangs anpasst.

In diesem Beispiel passt LabVIEW ein sehr großes Array aus Fließkommazahlen mit erweiterter Genauigkeit an den Datentyp des SubVIs an. Um den damit verbundenen Speicherverbrauch zu minimieren, sollte die Darstellung angepasst werden. Dazu klicken Sie mit der rechten Maustaste auf das Bedienelement, die Konstante oder das Anzeigeelement und wählen aus dem Kontextmenü die Option Darstellung aus. Ändern Sie im vorherigen Blockdiagramm den Datentyp der Konstante und des Bedienelements im Blockdiagramm des SubVIs, um die Notwendigkeit einer Datenanpassung zu eliminieren.

Im folgenden Blockdiagramm sehen Sie ein VI mit einer effizienteren Speichernutzung.

Tipp Um zu überwachen, wie viel Speicherplatz ein VI benötigt, können Sie das Fenster Profil - Leistung und Speicher verwenden, das Daten zur Ausführungszeit und Speicherauslastung von VIs erfasst und anzeigt.

Konvertierungsfunktionen

Damit die automatische Typumwandlung vermieden wird, können Sie Datentypen mit den Funktionen der Palette Konvertierung einander anpassen. Konvertierungsfunktionen haben den gleichen Effekt wie Typumwandlungspunkte, benötigen jedoch mehr Platz im Blockdiagramm. Wenn Sie jedoch eine Konvertierungsfunktion innerhalb einer Schleife zur Erzeugung eines Arrays verwenden, können Sie die Konvertierung großer Datenpuffer vermeiden, da die Konvertierung vor Erstellung des Arrays stattfindet, wie das folgende Blockdiagramm zeigt.

Ändern der Farbe von Typumwandlungspunkten

Sie können die Farbe von roten Typumwandlungspunkten auf der Seite Umgebung im Dialogfeld Optionen ändern. Deaktivieren Sie zum Auswählen einer anderen Farbe im Abschnitt Farben das Kontrollkästchen Standardfarben und klicken Sie dann auf das Farbkästchen Typumwandlungspunkt.

Die Farbe von blauen Typumwandlungspunkten kann nicht geändert werden.