[HOLD_DI] Hold double integer value

Function block HOLD_DI switches the present or saved input value of data type Double Integer to the output.

HOLD_DI holds the last value on output [Out], if input [Hld] has value 1. If [Hld] has value 0, the present value of input [In] is issued at output [Out].

Pins

Input

Description

Data type

Default value
Value range

In

Input

Double integer

0

Hld

Hold

Boolean

0

0 - Hold is inactive.
1 - Hold is active.

Pers

Persistent

Boolean

0

0 - No
1 - Yes: the values are stored persistently.

BaObjRef

BA-Object reference
Link between function block and BACnet object.

Structure

---

BaObjRef
> DeviceID

Device identifier
[DeviceID] includes object type and object instance in one ID.
Identifies the device object: local or remote. A local device object can also be identified by value 16#3FFFFF.

Double Word

16#3FFFFF

BaObjRef
> ObjectID

Object identifier
[ObjectID] includes object type and object instance in one ID.
Identifies the object on a device.

Double Word

16#3FFFFF

BaObjRef
> ItemID

Item identifier
[ItemID] represents an index in a view node object that references the BACnet object.
[ObjectID] and [ItemID] together define an indirect reference to the BACnet object.
Value -1 indicates a direct interface.

Integer

-1

 

Output

Description

Data type

Default value
Value range

Out

Output

Double integer

0

Dstb

Disturbed

Boolean

0

0 - Success reading persistent values.
1 - Error reading persistent values.

ErrCode

Error code indication

Integer

0: No error

= 0 - No error
> 0 - Error codes

Process response

At start up, HOLD_DI holds the persistent value from the BACnet object. If [Hld] = 1, the read-out persistent value is set and held on output [Out]. If [Pers] = 0 or an access error, output [Out] is set with the input value [In] from the first processed cycle.

The persistent value must be available on the associated BACnet object as an extension property ('Extension by persistence' = 'Hold integer number')

Application example

HOLD_DI is used if input values are acquired and saved for later use. For example, to hold the measured value or the calculated setpoint.