FLOOR

FLOOR 1:

Die Funktion FLOOR ermittelt einen ganzzahligen Wert aus einer Floating-Point-Zahl, der als gerade Zahl kleiner oder gleich dieser Zahl ist. Es wird immer zur kleineren Zahl hin abgerundet.

Das Ergebnis ist vom Typ LREAL und somit nicht auf den Wertebereich einer Integer-Variablen beschränkt.

Beispiele

FLOOR(2.8) = 2

FLOOR(-2.8) = -3

FUNCTION FLOOR : LREAL

FLOOR 2: Eingänge

VAR_INPUT
    lr_in : LREAL;
END_VAR

Name

Typ

Beschreibung

lr_in

LREAL

Funktionsparameter vom Typ LREAL

FLOOR 3:

Vergleich zu anderen Rundungsfunktionen

Ähnliche Funktionen: CEIL, TRUNC, LTRUNC

FLOOR 4:

Im Gegensatz zu FLOOR ermittelt die Funktion LTRUNC immer den ganzzahligen Anteil vor dem Komma. Dieser Wert ist im positiven Bereich kleiner oder gleich, im negativen Bereich aber größer oder gleich dem Eingangsparameter.

Beispielergebnisse verschiedener Rundungsfunktionen

x

0

0.4

0.5

0.6

1

1.4

1.5

1.6

1.78

FLOOR(x)

0

0

0

0

1

1

1

1

1

CEIL(x)

0

1

1

1

1

2

2

2

2

LTRUNC(x)

0

0

0

0

1

1

1

1

1

TO_LINT(x)

0

0

1

1

1

1

2

2

2

x

-1.78

-1.6

-1.5

-1.4

-1

-0.6

-0.5

-0.4

FLOOR(x)

-2

-2

-2

-2

-1

-1

-1

-1

CEIL(x)

-1

-1

-1

-1

-1

0

0

0

LTRUNC(x)

-1

-1

-1

-1

-1

0

0

0

TO_LINT(x)

-2

-2

-2

-1

-1

-1

-1

0

Soll nicht auf einen ganzzahligen Wert, sondern auf eine bestimmte Nachkommastelle hin gerundet werden, so kann dies durch Multiplikation und Division einer Zehnerpotenz erreicht werden. Folgende Beispielergebnisse geben die Rundung auf die erste Nachkommastelle hin aus.

x

0

0.04

0.05

0.06

0.1

0.14

0.15

0.16

0.178

FLOOR(x * 10) / 10

0

0

0

0

0.1

0.1

0.1

0.1

0.1

CEIL(x * 10) / 10

0

0.1

0.1

0.1

0.1

0.2

0.2

0.2

0.2

LTRUNC(x * 10) / 10

0

0

0

0

0.1

0.1

0.1

0.1

0.1

TO_LINT(x * 10) / 10.0

0

0

0.1

0.1

0.1

0.1

0.2

0.2

0.2

x

-0.178

-0.16

-0.15

-0.14

-0.1

-0.06

-0.05

-0.04

FLOOR(x * 10) / 10

-0.2

-0.2

-0.2

-0.2

-0.1

-0.1

-0.1

-0.1

CEIL(x * 10) / 10

-0.1

-0.1

-0.1

-0.1

-0.1

0

0

0

LTRUNC(x * 10) / 10

-0.1

-0.1

-0.1

-0.1

-0.1

0

0

0

TO_LINT(x * 10) / 10.0

-0.2

-0.2

-0.2

-0.1

-0.1

-0.1

-0.1

0

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC or CX (x86)

Tc2_Math