CEIL

CEIL 1:

Die Funktion CEIL ermittelt einen ganzzahligen Wert aus einer Floating-Point-Zahl, der gerade größer oder gleich dieser Zahl ist. Es wird immer aufgerundet zur größeren Zahl hin.

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

Beispiele

FLOOR(2.8) = 3

FLOOR(-2.8) = -2

FUNCTION CEIL : LREAL

CEIL 2: Eingänge

VAR_INPUT
    lr_in : LREAL;
END_VAR

Name

Typ

Beschreibung

lr_in

LREAL

Funktionsparameter vom Typ LREAL

Vergleich zu anderen Rundungsfunktionen

Ähnliche Funktionen: FLOOR, TRUNC, LTRUNC

CEIL 3:

Im Gegensatz zu CEIL 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.1 >= 4026.13

PC or CX (x86)

Tc2_Math >= v3.5.1.0