Skip to main content

Konvertierung REAL, LREAL

Wichtig

Wenn die Gleitpunktzahl innerhalb des Wertebereichs des Zieldatentyps liegt, arbeitet die Konvertierung auf allen Systemen gleich.

Wenn allerdings die Gleitpunktzahl die Bereichsgrenze überschreitet, werden die ersten Bytes der Zahl nicht berücksichtigt.

Die Operatoren konvertieren eine Gleitpunktzahl in den angegebenen Datentypen und geben einen typkonvertierten Wert zurück. Bei der Konvertierung wird gegebenenfalls gerundet.

Bei einer REAL_TO_<Zieltyp>-Konvertierung wird zuerst der Wert nach UDINT konvertiert und erst dann in den Zieltyp gecastet.

Bei der LREAL_TO_<Zieltyp>-Konvertierung wird zuerst der Wert nach ULINT konvertiert und erst dann in den Zieltyp gecastet.

Aufrufsyntax: REAL_TO_<Zieltyp> ( <Operand> ), LREAL_TO_<Zieltyp> ( <Operand> )

Operand

Typ

Beschreibung

Variable oder Literal

REAL, LREAL

REAL, LREAL

Tabelle 13. Operator REAL/LREAL_TO_<Zieltyp>

Operator REAL

Operator LREAL

Beispiel

Rückgabewert

REAL_TO___UXINT

LREAL_TO___UXINT

REAL_TO___UXINT(1.234)
LREAL_TO___UXINT(0.987654321)

1

1

__UXINT, __XINT, __XWORD

REAL_TO___XINT

LREAL_TO___XINT

__UXINT, __XINT, __XWORD

REAL_TO___XWORD

LREAL_TO___XWORD

__UXINT, __XINT, __XWORD

REAL_TO_BIT

LREAL_TO_BIT

BIT

REAL_TO_BOOL

LREAL_TO_BOOL

LREAL_TO_BOOL(0.987654321)

TRUE

BOOL

REAL_TO_BYTE

LREAL_TO_BYTE

REAL_TO_BYTE(1.234)
LREAL_TO_BYTE(0.987654321)

1

Integer

REAL_TO_DATE

LREAL_TO_DATE

REAL_TO_DATE(1.234)
LREAL_TO_DATE(0.987654321)

D#1970-1-1

Datentyp: DATE

REAL_TO_DINT

LREAL_TO_DINT

REAL_TO_DINT(1.234)

1

Integer

REAL_TO_DT

LREAL_TO_DT

REAL_TO_DT(1.234)

D#1970-1-1-0:0:1

Datentyp: DATE

REAL_TO_DWORD

LREAL_TO_DWORD

REAL_TO_DWORD(1.234)

32#1

Integer

REAL_TO_INT

LREAL_TO_INT

REAL_TO_INT(-1.5)

-2

Integer

REAL_TO_LDATE

LREAL_TO_LDATE

REAL_TO_LDATE(1.234)

DT#1970-1-1

Intern wird zuerst nach ULINT gecastet und dann der Wert als Datum zurückgegeben.

REAL_TO_LDT

LREAL_TO_LDT

LREAL_TO_DT(0.987654321)

D#1970-1-1-0:0:1

Zieldatentyp LDATE_AND_TIME

Datentyp: DATE

REAL_TO_LINT

LREAL_TO_LINT

REAL_TO_LINT(1.234)

1

Integer

REAL_TO_LTOD

LREAL_TO_LTOD

Datentyp: DATE

REAL_TO_LREAL

-

REAL_TO_LREAL(1.234)

1.234

REAL, LREAL

REAL_TO_LTIME

LREAL_TO_LTIME

Intern wird zuerst nach ULINT gecastet und dann der Wert in ns zurückgegeben.

Datentyp: TIME, LTIME

REAL_TO_LWORD

LREAL_TO_LWORD

Integer

-

LREAL_TO_REAL

REAL_TO_SINT

LREAL_TO_SINT

Integer

REAL_TO_STRING

LREAL_TO_STRING

REAL_TO_STRING(1.234)

'1.234'

STRING

REAL_TO_TIME

LREAL_TO_TIME

REAL_TO_TIME(1.234)

T#1ms

Intern wird zuerst nach UDINT gecastet und dann der Wert in ms zurückgegeben.

Datentyp: TIME, LTIME

REAL_TO_TOD

LREAL_TO_TOD

REAL_TO_TOD(1.234)

TOD#0:0:0.001

Intern wird zuerst nach UDINT gecastet und dann der Wert als TOD zurückgegeben.

Syntax: TOD#hh:mm:ss.sss

Datentyp: DATE

REAL_TO_UDINT

LREAL_TO_UDINT

Integer

REAL_TO_UINT

LREAL_TO_UINT

Integer

REAL_TO_ULINT

LREAL_TO_ULINT

Integer

REAL_TO_USINT

LREAL_TO_USINT

Integer

REAL_TO__WORD

LREAL_TO__WORD

REAL_TO_WORD(1.2345678E11)

1

Integer

REAL_TO_WSTRING

LREAL_TO_WSTRING

REAL_TO_WSTRING(1.23456789E11)

"1.234"

WSTRING



Runden

Bei der Konvertierung zu einer Integerzahl wird der Operand nach oben oder unten auf einen ganzzahligen Wert gerundet. Bei 1 bis 4 hinter dem Punkt wird abgerundet, bei 5 bis 9 wird aufgerundet. Dann wird die gerundete Zahl in den angegebenen Integertyp konvertiert. Im Fall, dass der gerundete Wert außerhalb des Wertebereichs des Integers liegt, wird ein undefinierter, zielsystem-abhängiger Wert zurückgegeben. Auch ein Ausnahmefehler ist dann möglich.

Zu einem String konvertieren

Bei einer Gleitpunktzahl-Konvertierung zu einem String ist die Anzahl der Nachkommastellen der Mantisse auf 6 begrenzt. Wenn die Zahl < 1 ist, gilt für die Mantisse m: 1 <= m < 10. Wenn die Mantisse mehr Stellen hinter dem Komma hat, wird auf die 6. Stelle gerundet und dann konvertiert.

Außerdem kann die Stringvariable für den Rückgabewert zu kurz deklariert sein. Dann wird der Rückgabestring rechts abgeschnitten.

Beispiel 170. Beispiel
_cds_img_fbd_convert_real_to_string.png