SUB_DT_DT block

Short summary

Name

SUB_DT_DT

→POU type

→function

Category

IEC-block, Time

Conform to →IEC-standard

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/error.svg currently restricted
(IEC demands error handling, if the result of the block exceeds the range of values for the output data type. See " No check of invalid connections " for the behavior in logi.CAD 3. )

Graphical interface

images/download/thumbnails/414782791/SUB_DT_DT-version-1-modificationdate-1535105102884-api-v2.png

Available since

Version 1.109.0 (für logi.CAD 3)

Functionality

The block subtracts the date value (with a time of day value) entered at input IN2 from the date value (with a time of day value) entered at input IN1 (= IN1 - IN2). The block returns the result of this subtraction in format TIME.

No check of invalid connections

For some blocks, invalid connections are not checked by logi.CAD 3. Therefore, enter code in your application to detect invalid connections (e.g. IF-statements in the ST-code).

See "IEC-blocks for the application" for information what the consequences of an invalid connection might be.

An invalid connection due to →overflows or →underflows might occur during a calculation using SUB_DT_DT . As your used →target system might influence the usage of →time literals in logi.CAD 3 (see "Properties and restrictions specific to the target system") , an overflow/underflow might occur for different return values when using different target systems.

Inputs, return value


Identifier

→Data type

Description

Inputs:

IN1

DATE_AND_TIME

1st value

IN2

DATE_AND_TIME

2nd value

Return value:

TIME


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

The calculated values are evaluated by using the Assert block .

FUNCTION_BLOCK ExampleSubDtDt
VAR
result : TIME;
END_VAR
result := SUB_DT_DT(IN1 := DT#2017-08-30-00:00:01, IN2 := DT#2017-08-29-23:59:59);
Assert(result = TIME#2s);
END_FUNCTION_BLOCK

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.