TRUNC_ULINT block

Short summary

Name

TRUNC_ULINT

→POU type

→function

Category

IEC-block, Convert

Conform to →IEC-standard

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/check.svg no restrictions , but: images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg implementer-specific realization ; see "Functionality"

Graphical interface

images/download/thumbnails/414781218/TRUNC_ULINT-version-1-modificationdate-1534939950624-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 mathematical function trunc is called:

The decimal portion of the floating-point number connected to input IN is truncated (there is no rounding). The block returns the integer value as ULINT value.

Implementer-specific realization

The IEC-standard defines that it is an error when the connected value is not within the range of values overlapping for the data type of the input and for the data type of the return value as well as that the behavior in the case of such an error is implementer specific. The general behavior of the TRUNC blocks in logi.CAD 3 is as follows: The non-overlapping value range is not considered to be an error. The return value of the block depends on the compiler and target system (see "Effects of the compiler settings on the execution" for details).

Inputs, return value


Identifier

→Data type

Description

Inputs:

IN

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

value to truncate

Return value:

ULINT


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

See:

Example for usage within ST-editor

PROGRAM Test
VAR
result1, result2, result3, result4 : ULINT;
END_VAR
result1 := TRUNC_ULINT(2.8); (* The variable 'result1' evaluates to '2'. *)
result2 := TRUNC_ULINT(2.5); (* The variable 'result2' evaluates to '2'. *)
result3 := TRUNC_ULINT(2.01); (* The variable 'result3' evaluates to '2'. *)
result4 := TRUNC_ULINT(2.0); (* The variable 'result4' evaluates to '2'. *)
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.