WORD_TO_LREALEX

WORD_TO_LREALEX 1:

In TwinCAT 2 auf ARM-Plattform wird die Konvertierung der vorzeichenlosen Zahlen in Fließkommezahlen von Typ: LREAL nicht unterstützt. Vorzeichenlose Zahlen mit einem gesetzten höchstwertigen Bit werden möglicherweise implizit in negative Fließkommazahlen konvertiert. Die hier beschriebene Funktion erlaubt in TwinCAT 2 eine explizite Konvertierung  vom Typ WORD in eine positive Fließkommazahl vom Typ LREAL (auch wenn das höchstwertige Bit gesetzt wurde und ohne Compiler-Warnung). In TwinCAT 3 werden vorzeichnlose Zahlen von Typ WORD immer (implizit und explizit) in eine positive Fließkommazahl konvertiert.

FUNCTION WORD_TO_LREALEX : LREAL

VAR_INPUT
    in      : WORD;
END_VAR

in: Die zu konvertierende Zahl.

Beispiel:

PROGRAM MAIN
VAR
    nWord  : WORD := 16#FFFF;
    fLreal : LREAL := 0.0;
END_VAR

fLreal value

Tc2.x ARM

Tc2.x X86

Tc3.x ARM, X86, X64

fLreal := nWord

+65535, Warning 1105*

+65535

+65535

fLreal := WORD_TO_LREAL( nUsint )

+65535, Warning 1105*

+65535

+65535

fLreal := WORD16#FFFF

+65535, Warning 1105*

+65535

+65535

fLreal := 16#FFFF

+65535

+65535

+65535

fLreal := WORD_TO_LREALEX( nWord )

+65535

+65535

+65535

fLreal := WORD_TO_LREALEX( WORD#16#FFFF )

+65535

+65535

+65535

fLreal := WORD_TO_LREALEX( 16#FFFF )

+65535

+65535

+65535

* Conversion of unsigned integer to LREAL is not supported. The value is used as signed instead.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.11.0 Build >= 2255

PC or CX (x86, ARM)

TcUtilities.Lib