In LabVIEW können numerische Daten als Fließkommawerte, Festkommawerte, ganze Zahlen (Integer), vorzeichenlose Integer und komplexe Zahlen dargestellt werden.

Hinweis Der Unterschied zwischen den numerischen Datentypen besteht in der Anzahl der Bits, die zum Speichern der Daten verwendet werden, und den Datenwerten, die sie darstellen.

Für bestimmte Datentypen gibt es auch erweiterte Konfigurationsoptionen. Zum Beispiel können Fließkommawerten (einschließlich komplexen Werten) physikalische Maßeinheiten zugewiesen werden und für Festkommawerte können Sie Kodierung und Bereich festlegen.

Zuweisen von numerischen Einheiten zu Fließkommawerten

Jedem numerischen Element, das Fließkommazahlen anzeigen kann, kann eine physikalische Maßeinheit wie Meter oder Kilometer pro Stunde zugewiesen werden.

Die Einheiten für ein Element werden in einer separaten verknüpften Beschriftung, der so genannten Einheitenbeschriftung, angezeigt. Zur Anzeige der Einheitenbeschriftung klicken Sie mit der rechten Maustaste auf das Bedienelement und wählen Sie aus dem Kontextmenü die Option Sichtbare Objekte»Einheit aus. Um eine Einheit zu bearbeiten, klicken Sie diese mit der rechten Maustaste an und wählen Sie aus dem Kontextmenü die Option Einheit auswählen aus.

Wenn LabVIEW die Einheit anzeigt, können die Einheiten unter Verwendung der Standardabkürzungen wie beispielsweise m für Meter oder s für Sekunde eingegeben werden.

Hinweis In Formelknoten können keine Einheiten verwendet werden.

Einheiten und strikte Typprüfung

Wenn Sie einem Objekt eine Einheit zuweisen, kann dieses nur mit Objekten mit kompatibler Einheit verbunden werden. Beim Überprüfen der Kompatibilität von Einheiten wendet LabVIEW eine strikte Typprüfung an. Wenn Sie zwei Objekte miteinander verbinden, deren Einheiten nicht zueinander passen, wird ein Fehler ausgegeben. Das geschieht z. B. dann, wenn Sie ein Objekt mit der Einheit Meter mit einem Objekt mit der Einheit Liter verbinden, da Meter ein Längenmaß und Liter ein Raummaß ist.

Im folgenden VI sehen Sie, wie Objekte mit kompatiblen Einheiten miteinander verbunden werden. In diesem VI skaliert LabVIEW die Anzeige Entfernung automatisch so, dass Kilometer anstelle von Metern angezeigt werden, da das Anzeigeelement auf Kilometer eingestellt ist.

Im folgenden VI wird ein Fehler ausgegeben, weil für Entfernung die Einheit "Sekunde" angegeben wurde. Zum Beheben dieses Fehlers ändern Sie die Sekunden wie im vorigen VI dargestellt in ein Längenmaß, beispielsweise Kilometer.

Bei manchen VIs und Funktionen treten im Zusammenhang mit Einheiten Unklarheiten auf. Solche VIs und Funktionen können nicht mit Objekten mit einer Einheit verwendet werden. Ein Beispiel ist die Funktion Inkrementieren. Wenn Sie Längenmaße verwenden, kann die Funktion "Inkrementieren" nicht feststellen, ob ein Meter, ein Kilometer oder ein Zentimeter hinzugefügt werden soll. Aufgrund dieser Unklarheit können die Funktion "Inkrementieren" und andere Funktionen, mit denen Werte erhöht oder verringert werden, nicht mit Daten verwendet werden, denen Einheiten zugewiesen werden.

Als Ausweichlösung wäre in diesem Beispiel eine numerische Konstante mit der korrekten Einheit zu erstellen und die Inkrementierfunktion mit Hilfe der Funktion Addieren umzusetzen, wie im nachfolgenden Blockdiagramm dargestellt ist.

Festkomma-Datentyp

Der Festkomma-Datentyp ist ein numerischer Datentyp, der mit Hilfe von Binärziffern (Bits) bestimmte rationale Zahlen darstellt. Im Vergleich zu Fließkommawerten, bei denen die Genauigkeit und der Bereich der Daten variieren können, kann für Festkommawerte eine bestimmte Anzahl an Integer- und Nachkomma-Bits festgelegt werden.

Hinweis Zur Darstellung von rationalen Zahlen mit Hilfe des Festkomma-Datentyps muss der Nenner des rationalen Werts eine Zweierpotenz sein, da das binäre Zahlensystem auf 2 basiert.

Verwenden Sie Festkommawerte, wenn der dynamische Bereich der Fließkommadarstellung nicht benötigt wird oder Sie mit einem Zielsystem arbeiten, das keine Fließkomma-Arithmetik unterstützt.

Hinweis (FPGA-Modul) Weitere Informationen zur Verwendung von Festkommawerten auf FPGA-Zielsystemen finden Sie unter Using the Fixed-Point Data Type. Zum Bestimmen des Datentyps, der am besten für Ihren Entwurf geeignet ist, evaluieren Sie die Verwendung des numerischen Datentyps.

Darstellung von rationalen Zahlen mit Hilfe des Festkomma-Datentyps

Ein Festkommawert hat eine feste Anzahl an Ziffern und Dezimalstellen. Die Integer-Bits werden links vom Binärpunkt angezeigt und die Nachkomma-Bits rechts davon. Da Sie die Anzahl der Bits bestimmen können, ist die Position des Binärpunkts (entspricht dem Dezimalpunkt) fest vorgegeben.

So kann beispielsweise die rationale Zahl 0,5 als Festkommawert mit 8 Bits dargestellt werden, wobei 4 Bits für die Integer-Darstellung verwendet werden.

Rationale Zahl Festkomma-Äquivalent
0,5 0000,1000

Die gleiche rationale Zahl kann auch als Festkommawert mit 16 Bits und 8 Bits für die Integer-Darstellung dargestellt werden.

Rationale Zahl Festkomma-Äquivalent
0,5 00000000,10000000

Im Vergleich zu Festkommawerten kann sich bei Fließkommawerten die Anzahl der Bits für den ganzzahligen Teil und den Bruchteil im Verlauf von Berechnungen verändern. Der Binärpunkt bei Fließkommawerten kann also verschoben werden.

Hinweis Wenn Sie keine genaue Anzahl an Bits für die Darstellung von rationalen Zahlen als Festkommawerte angeben, wird der Wert so angepasst, dass der geringste Datenverlust auftritt. Werte über 64 Bits können in LabVIEW nicht bearbeitet werden.

Konfiguration von Festkommawerten

Um die Festkommadarstellung für einen Wert auszuwählen, klicken Sie mit der rechten Maustaste auf das numerische Element und wählen Sie Darstellung aus dem Kontextmenü. Für Festkommazahlen können Sie die Kodierung festlegen. Außerdem können Sie festlegen, ob Festkommazahlen einen Überlaufzustand einschließen und wie numerische Funktionen Überlauf und Rundung für Festkommawerte behandeln. Klicken Sie zur Konfiguration von Festkommawerten mit der rechten Maustaste auf eine Konstante, ein Bedien- oder Anzeigeelement oder eine numerische Funktion und wählen Sie Eigenschaften aus dem Kontextmenü, um das Dialogfeld Numerische Eigenschaften, Eigenschaften für numerische Konstante oder Eigenschaften für Numerischer Knoten anzuzeigen.

Kodierung

Legen Sie die Binärkodierung fest, wenn der Festkommawert einer bestimmten Bit-Größe entsprechen soll.

  • Vorzeichenbehaftet—Mit der Option wird festgelegt, ob die Festkommazahl vorzeichenbehaftet ist. Bei Auswahl von "Vorzeichen" ist das Vorzeichen-Bit immer das erste Bit im Bit-String, der die Daten darstellt.
  • Vorzeichenlos—Mit der Option wird festgelegt, ob die Festkommazahl vorzeichenlos ist.
  • Wortlänge—Gibt die Anzahl der Bits im Bit-String an, die LabVIEW für die Darstellung aller möglichen Festkommawerte verwendet. LabVIEW arbeitet mit Wortlängen von bis zu 64 Bit. Auf bestimmten Zielsystemen kann die maximal zulässige Wortlänge kleiner sein. Wenn Sie ein VI mit größeren als den auf dem Zielsystem erlaubten Wortlängen öffnen, wird das VI mit unterbrochenen Verbindungen angezeigt. Informationen zur maximal möglichen Wortlänge finden Sie in der Dokumentation des Zielsystems.
  • Integer-Wortlänge—Gibt die Anzahl der Integer-Bits im Bit-String an, die LabVIEW für die Darstellung aller möglichen Festkommawerte verwendet. Im Falle einer Anfangsposition links oder rechts neben dem höchstwertigen Bit handelt es sich hier um die Anzahl der Bits, um die der Binärpunkt zum Erreichen des höchstwertigen Bits verschoben werden muss. Die Integer-Wortlänge kann positiv oder negativ und kleiner oder größer als die Wortlänge sein.

LabVIEW stellt diese Konfiguration im folgenden Format in der Kontexthilfe dar, wenn Sie den Cursor über eine Verbindung mit Festkommadaten bewegen:

< Kodierung, Wortlänge, Integer-Wortlänge >

Beispiel:

<s, 16, 8> ist ein vorzeichenbehafteter 16-Bit-Wert mit acht Integer-Bits. Die nachfolgende Abbildung zeigt einen vorzeichenbehafteten Wert mit einer Wortlänge von 16 und einer Integer-Wortlänge von 8.

1 Wortlänge (16 Bits)
2 Integer-Wortlänge (8 Bits)
3 Vorzeichen-Bit
4 Binärpunkt

Negative oder Long-Integer-Wortlängen

Wenn die Integer-Wortlänge größer ist als die Wortlänge, speichert LabVIEW nicht die Integer-Bits, die die Wortlänge überschreiten. Die nachfolgende Abbildung zeigt einen Wert mit einer Wortlänge von 8 und einer Integer-Wortlänge von 10.

1 Wortlänge (8 Bits)
2 Integer-Wortlänge (10 Bits)
3 Ungespeicherte Integer-Bits
4 Binärpunkt

Wenn die Integer-Wortlänge negativ ist, speichert LabVIEW weder die Integer-Bits noch die Nachkomma-Bits, die dem negativen Wert entsprechen. Die nachfolgende Abbildung zeigt einen Wert mit der Wortlänge 8 und der Integer-Wortlänge -2.

1 Wortlänge (8 Bits)
2 Wortlänge minus Integer-Wortlänge (8 Bits minus –2 Bits)
3 Ungespeicherte Nachkomma-Bits
4 Binärpunkt

Bereich

LabVIEW berechnet den Bereich und den Delta-Wert für einen Festkommawert entsprechend den Werten, die bei der Kodierung des Festkommawerts angegeben wurden.

  • Minimum—Legt den Mindestwert für den Bereich der Festkommawerte fest.
  • Maximum—Legt den Maximalwert für den Bereich der Festkommawerte fest.
  • Delta—Das Inkrement zwischen den Werten innerhalb des angegebenen Bereichs.

LabVIEW stellt diese Konfiguration im folgenden Format in der Kontexthilfe dar, wenn Sie den Cursor über eine Verbindung mit Festkommadaten bewegen:

[Minimum, Maximum]: Delta

Beispiel:

[–4, 4]:1 definiert ein Minimum von –4, ein Maximum von 4 und ein Delta von 1.

Festkomma-Arithmetik

Wenn Sie arithmetische Operationen an Festkommawerten mit einer festgelegten Wortlänge durchführen, bleibt die Position des Binärpunkts unverändert. Dieses Verhalten unterscheidet sich von Fließkommawerten, bei denen sich die Position des Dezimalpunkts während der Ausführung ändern kann. Wenn das Ergebnis einer arithmetischen Operation eine größere Wortlänge erfordert, gehen eventuell Daten verloren.

LabVIEW passt die Wortlänge der Ausgabewerte von numerischen Funktionen so an, dass möglichst keine Daten verloren gehen. Ein Datenverlust kann allerdings nicht vermieden werden, wenn die zur Darstellung des Ausgabewerts notwendige Wortlänge das angegebene Maximum oder 64 Bits überschreitet. Klicken Sie zum Konfigurieren der Ausgabeeinstellungen einer numerischen Funktion mit der rechten Maustaste auf die Funktion und wählen Sie Eigenschaften aus dem Kontextmenü, um das Dialogfeld Eigenschaften für numerischer Knoten anzuzeigen.

Überlauf und Rundung

Überlauf- und Rundungsbedingungen können auftreten, wenn arithmetische Operationen an Festkommawerten durchgeführt oder numerische Daten mit Hilfe der Funktion Nach Festkomma in Festkommadaten umgewandelt werden. LabVIEW konfiguriert die Ausgaben von numerischen Funktionen, um einen Überlauf oder eine Rundung von Festkommawerten möglichst zu vermeiden. Unter bestimmten Bedingungen können Überlauf- oder Rundungsbedingungen aber nicht verhindert werden.

Wenn beispielsweise Festkommadaten mit numerischen Funktionen wie Addieren, Subtrahieren, Multiplizieren oder Quadrat verbunden werden, erhöht LabVIEW die Wortlänge des Ausgabewerts, um das Ergebnis der Operation per Voreinstellung anzupassen. Dieses Verhalten ähnelt dem von Fließkommawerten. Wenn allerdings eine Ausgabe erforderlich ist, welche die maximal zulässige Word-Länge überschreitet, kann es zu Überlauf oder Rundung kommen. LabVIEW arbeitet mit Wortlängen von bis zu 64 Bit.

Hinweis Wenn Sie Festkommawerte mit der Funktion Dividieren, Kehrwert oder Quadratwurzel verbinden, treten grundsätzlich Rundungsbedingungen auf, da die Genauigkeit der Ergebnisse unendlich sein kann.

Eine andere mögliche Ursache für Überlauf- oder Rundungsbedingungen sind Werte, die mit Hilfe des Binärsystems nicht genau dargestellt werden können.

Überlauf

Ein Überlauf tritt auf, wenn das Ergebnis einer Operation außerhalb des Bereichs liegt, der mit dem ausgewählten Ausgabetyp dargestellt werden kann. Zur Handhabung von Überlaufbedingungen stehen folgende Möglichkeiten zur Auswahl:

  • Saturieren—Wenn der Wert das Maximum des angegebenen Ausgabebereichs überschreitet, rundet LabVIEW den Wert auf das Maximum ab. Ist der Wert kleiner ist als das Minimum des Bereichs, wird er an das angegebene Minimum angepasst.
  • Wrap—Wenn der Wert außerhalb des angegebenen Ausgabebereichs liegt, werden signifikante Bits verworfen, bis der Wert in den gewünschten Bereich fällt. Diese Option erfordert, dass der Ausgangswert mit der festgelegten Kodierung übereinstimmt. Bei Auswahl der Option können Sie keinen Bereich bestimmen. LabVIEW legt den Bereich automatisch gemäß Kodierung fest.
Hinweis Für den Saturieren-Modus sind in der Regel zusätzliche Hardware-Ressourcen am FPGA erforderlich.

Um festzulegen, ob ein Überlauf stattfindet, können Sie eine Festkommazahl konfigurieren, so dass ein Überlaufstatus eingeschlossen wird. Beim Einschließen eines Überlaufzustands in eine Festkommazahl reserviert LabVIEW zusätzlichen Speicherplatz, um nachzuverfolgen, ob die Fließkommazahl das Ergebnis einer Operation mit Überlauf ist. Nach dem Konfigurieren einer Festkommazahl zum Einschließen eines Überlaufzustands können Sie eine Überlaufzustands-LED an Festkomma-Elementen und -Konstanten anzeigen. Die LED leuchtet, wenn der Überlaufzustand der Festkommazahl TRUE ist. Sie können den Überlaufzustand einer Festkommazahl auch mit Hilfe der Funktion Festkommaüberlauf? bestimmen. Mit den Festkommafunktionen können Sie den Überlaufzustand eines Festkommawerts ändern.

Hinweis Festkommawerte werden nicht auf Unterlaufbedingungen geprüft.

Wenn Sie Festkommawerte mit Hilfe der Vergleichsfunktionen vergleichen, werden nur die Zahlen vergleichen und der Überlaufzustand wird ignoriert. Wenn Sie z. B. mit Hilfe der Funktion Gleich? eine Festkommazahl von 1,5 mit einem Überlaufzustand von TRUE mit einer Festkommazahl von 1,5 ohne Überlaufzustand vergleichen, gibt LabVIEW TRUE aus.

Klicken Sie zum Konfigurieren der Ausgabeeinstellungen einer numerischen Funktion mit der rechten Maustaste auf die Funktion und wählen Sie Eigenschaften aus dem Kontextmenü, um das Dialogfeld Eigenschaften für numerischer Knoten anzuzeigen. In diesem Dialogfeld wird festgelegt, wie Überlauf und Rundung von Festkommawerten gehandhabt werden sollen.

Runden

Rundung tritt auf, wenn die Genauigkeit der Eingabe oder des Ergebnisses einer Operation höher ist als die Genauigkeit des Ausgabetyps. LabVIEW passt die Genauigkeit der Eingabe an die Genauigkeit des Ausgabetyps an. Als Beispiel soll ein Ausgabetyp dienen, der die aufeinanderfolgenden Werte s und t darstellen kann. Wenn das Ergebnis einer Operation x lautet und x zwischen s und t liegt, so dass s < x < t ist, dann tritt Rundung auf, da x nicht genau dargestellt werden kann.

Zur Handhabung von Rundungsbedingungen stehen folgende Möglichkeiten zur Auswahl:

  • Abschneiden—Rundet den Wert auf den nächsten Wert ab, den der Ausgabetyp darstellen kann. LabVIEW verwirft die niedrigstwertigen Bits des Werts. Diese Art der Rundung hat den geringsten Einfluss auf die Leistung, erzeugt aber auch die ungenauesten Werte. Wenn der Ausgabewert x beispielsweise zwischen den aufeinanderfolgenden Werten s und t liegt, so dass s < x < t, dann setzt LabVIEW x auf s.
  • Halb aufrunden—Rundet den Wert auf den nächsten Wert, den der Ausgabetyp darstellen kann. Wenn der Wert genau zwischen zwei gültigen Werten liegt, wird mit dieser Option auf den größeren der beiden Werte gerundet. LabVIEW fügt dem Ausgabewert ein halbes niedrigstwertiges Bit hinzu und kürzt ihn anschließend. Dieses Rundungsverfahren führt zu genaueren Ausgabewerten als das Abrunden, beeinflusst aber die Leistung stärker. Wenn der Ausgabewert x beispielsweise zwischen den aufeinanderfolgenden Werten s und t liegt, so dass s < x < t, dann setzt LabVIEW x auf den näheren der beiden Werte s oder t. Wenn x genau zwischen s und t liegt, wählt LabVIEW t.
  • Halb auf- oder abrunden—Rundet den Wert auf den nächsten Wert, den der Ausgabetyp darstellen kann. Wenn der Wert genau zwischen zwei gültigen Werten liegt, prüft LabVIEW das Bit, das nach dem Runden das niedrigstwertige Bit darstellt. Wenn das Bit 0 ist, rundet diese Option den Wert auf den kleineren der beiden Werte, die der Ausgabetyp darstellen kann. Wenn das Bit nicht 0 ist, wird der Wert aufgerundet. Dieses Rundungsverfahren beeinflusst die Leistung am stärksten, erzeugt aber genauere Ergebnisse als das Abrunden. Des Weiteren wird die Neigung zu größeren Werten, die bei wiederholten halben Aufrundungen auftreten kann, aufgehoben. Dies ist das voreingestellte Rundungsverfahren. Wenn der Ausgabewert x beispielsweise zwischen den aufeinanderfolgenden Werten s und t liegt, so dass s < x < t, dann setzt LabVIEW x auf den näheren der beiden Werte s oder t. Wenn x genau zwischen s und t liegt, wird s gewählt, wenn das niedrigstwertige Bit nach dem Runden 0 beträgt. Ansonsten wird t gewählt.
Hinweis Die Auswirkung auf die Leistung ist bei allen Rundungsverfahren minimal. Die Leistung kann aber stärker beeinträchtigt werden, wenn ein VI mit Überlaufbedingungen auf einem Zielsystem wie dem FPGA ausgeführt wird.

Weitere Informationen zur Leistungsbeeinträchtigung beim FPGA finden Sie unter "Using the Fixed-Point Data Type".