FLOOR block

Short summary

Name

FLOOR

→POU type

→function

Category

IEC-block, ConvertEnh

Conform to →IEC-standard

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/add.svg not defined in IEC-standard

Graphical interface

images/download/thumbnails/414781028/FLOOR-version-1-modificationdate-1534929475908-api-v2.png

Available since

  • version 1.27.0 (for logi.CAD 3)

  • version 3.1.0 (for library Standard) – For inputs of data type REAL, the optimized float variant of the C-runtime is used. Compared to previous versions , it is possible that (marginal) other results are returned within the threshold range of the block.

Functionality

The block returns the result of a rounding down operation:

The floating-point number connected to input IN is rounded downwards to the largest previous integer.

Compare: "CEIL block", "ROUND-Baustein"

Inputs, return value


Identifier

→Data type

Description

Inputs:

IN

REAL, LREAL
(corresponds to →generic data type ANY_REAL)

value to round

Return value:

REAL, LREAL
(corresponds to →generic data type ANY_REAL)


Input EN and output ENO are available when →calling the block. See "Execution control: EN, ENO" for information on input EN and output ENO.

Example for usage within ST-editor

PROGRAM Test
VAR
result1, result2, result3, result4, result5, result6, result7, result8, result9, result10, result11, result12, result13, result14, result15 : REAL;
END_VAR
result1 := FLOOR(2.8); (* The variable 'result1' evaluates to '2.0'. *)
result2 := FLOOR(2.5); (* The variable 'result2' evaluates to '2.0'. *)
result3 := FLOOR(2.01); (* The variable 'result3' evaluates to '2.0'. *)
result4 := FLOOR(2.0); (* The variable 'result4' evaluates to '2.0'. *)
 
result5 := FLOOR(-2.0); (* The variable 'result5' evaluates to '-2.0'. *)
result6 := FLOOR(-2.3); (* The variable 'result6' evaluates to '-3.0'. *)
result7 := FLOOR(-2.5); (* The variable 'result7' evaluates to '-3.0'. *)
result8 := FLOOR(-2.99); (* The variable 'result8' evaluates to '-3.0'. *)
result9 := FLOOR(0.000001); (* The variable 'result9' evaluates to '0.0'. *)
result10 := FLOOR(0.0); (* The variable 'result10' evaluates to '0.0'. *)
result11 := FLOOR(-0.000001); (* The variable 'result11' evaluates to '-1.0'. *)
result12 := FLOOR(3.402823466e+38); (* The variable 'result12' evaluates to '340.2823466385289E+36'. *)
result13 := FLOOR(1.175494351e-38); (* The variable 'result13' evaluates to '0.0'. *)
result14 := FLOOR(-3.402823466e+38); (* The variable 'result14' evaluates to '-340.2823466385289E+36'. *)
result15 := FLOOR(-1.175494351e-38); (* The variable 'result15' evaluates to '-1.0'. *)
END_PROGRAM

When creating your application within the ST-editor, enter a call of a block by typing the text as requested by the syntax or use Content Assist.