CEIL

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
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
![]() | 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 |