ClientReadProperties_NameValueUnitDescription

ClientReadProperties_NameValueUnitDescription (FB)

FUNCTION_BLOCK ClientReadProperties_NameValueUnitDescription

Short description

Updating four specified properties of a BACNET object (read access) Typical application: Querying the properties of an ANALOG-INPUT object via BACNET

Representation

Interfaces

Inputs

Name
Data type
Value range
Initial value
Function

xEn

BOOL

TRUE

Enable / disable communication ( TRUE = enabled )

itfServer

BACnet.IBACnetServer

Interface variable for referencing the server

xUpdateActual

BOOL

FALSE

Update of actual values ( on each rising edge )

xResError

BOOL

FALSE

Reset of the error outputs ‘eErrorCodeCom’ and ‘eRepyErrorCode.XXX’ (on each rising edge)

Outputs

Name
Data type
Value range
Initial value
Function

dwDeviceID_Fb

DWORD

0

Number of the BACnet target device (range: 0 - 4194302) - feedback

eObjectType_Fb

BACnet.CmpBACnet.IEC_BACnet_Object_Type

Type of the object - feedback

dwObjectInstance_Fb

DWORD

0

Number of the object (range: 0 - 4194303) - feedback

sObjectName

STRING

Name of the object

sValueOutput

STRING

‘’

Display of the output for the current value (PRESENT_VALUE) of the object

xValidValue

BOOL

FALSE

Status of the validity of the current value (PRESENT_VALUE) (TRUE = current value valid)

rValue

REAL

Current value of the property in REAL format (floating point according to IEEE754 - 32 bit)

xValue

REAL

Current value of the property in BOOL format

sValue

STRING

Current value of the property in STRING format (character string)

diValue

DINT

Current value of the property in DINT format (signed integer)

udiValue

UDINT

Current value of the property in UDINT format (unsigned integer)

byValue

BYTE

Current value of the property in BYTE format (integer 0 - 255)

lrValue

LREAL

Current value of the property in LREAL format (floating point according to IEEE754 - 64 bit)

sObjectUnit

STRING

Unit for the current value (PRESENT_VALUE) of the object

sObjectDescription

STRING

Description of the object

xRegToServer

BOOL

FALSE

Status of registration at the BACnet server (TRUE = successful registration)

xConfigObject

BOOL

FALSE

Status of the object's configuration (TRUE = successful configuration)

eState

BACnet.CmpBACnet.IEC_BACNET_STATUS

Status of communication

eErrorCodeCom

BACnet.CmpBACnet.IEC_BACNET_STATUS

Most recent communication error

eErrorCodeDevice

BACnet.CmpBACnet.IEC_BACNET_ERROR_CODE

Most recent device error transmitted by the BACnet target device (BACnet server)

eReplyErrorCode

TYPE_OF_REPLY_ERROR_CODE

Most recent communication error in the reply to one's own request

xAlarm

BOOL

FALSE

General fault ( TRUE = fault )

xAlarmCom

BOOL

FALSE

General fault - communication ( TRUE = fault )

xBusy

BOOL

Communication indicator ( TRUE = communication )

Setpoints / parameters

Name
Data type
Value range
Initial value
Function

tTimeUpdateActual

TIME

T#3s

Update interval for operations influenced by the input 'xUpdateActual' ( 0 = no automatic update, > 0 cyclical update )

dwDeviceID

DWORD

Number of the BACnet target device (range: 0 - 4194302)

eObjectType

BACnet.CmpBACnet.IEC_BACnet_Object_Type

BACnet.CmpBACnet.IEC_BACnet_Object_Type.OBJ_ANALOG_INPUT

Type of the object

dwObjectInstance

DWORD

Number of the object (range: 0 - 4194303)

Function description

General

This function block transfers four predefined properties of an object via BACNET communication (read access). The properties OBJECT_NAME, PRESENT_VALUE, UNITS and DESCRIPTION (as far as possible) are read. The selection of the object to be read is made via the parameters dwDeviceID, eObjectType and dwObjectInstance. The validity of the current value (PRESENT_VALUE) after a transfer is signaled at the output 'xValidValue'. The output with the current value (PRESENT_VALUE) is presented at the output 'sValueOutput' after a successful transfer. \

Enable / disable communication

Enable/disable of communication is done via the input 'xEn' (Default = TRUE = enabled). On each rising edge at the input 'xEn', a transfer of the current value with the current settings is triggered. In the disabled state the outputs assume predefined states, and an unregister from the server takes place at the same time. \

Triggering a transfer

The transfer of the property's current value can be triggered as follows (precondition: xRegToServer = TRUE) \

  • every rising edge at the input 'xEn'

  • every rising edge at the input 'xUpdateActual'

  • periodically at the interval 'tTimeUpdateAvtual' (Default: T#3s)

  • once after each download

  • once after each change of configuration \

Configuration of the BACNET object

The BACNET object is uniquely defined by the following parameters: \

  • Device address 'dwDeviceID'

  • Object address 'dwObjectInstance'

  • Object type 'eObjectType'\

Feedback of the current parameters

At the outputs with the index '_Fb' the current settings of the BACNET parameters are available for display purposes.\

Output 'sValueOutput'

At this output the name of the output variable containing the valid current value (PRESENT_VALUE) is available after a successful transfer.\

Output 'xValidValue'

At this output the validity of the current value (PRESENT_VALUE) is available after a successful transfer.\

Outputs for the current value of the object

Depending on the validity of the current value (xValidValue = TRUE) and the name of the output variable (sValueOutput) the current value is available at the corresponding output.\

Output 'xRegToServer'

This output permanently provides the status of the internal connection to the BACNET server. Successful connection establishment to the server is a prerequisite for transferring the setpoint.\

Output 'xConfigObject'

This output permanently provides the status of the successful configuration of the BACNET object.\

Display of faults

Fault indication is displayed at the collective output 'xAlarm' (= TRUE). It includes the current states of communication errors (xAlarmCom) and device errors (xAlarmDevice). Communication faults are displayed at the output xAlarmCom with a time delay: gc_Parameters.gc_tOnDelayxAlarmCom (Default = 60s). Device faults are displayed without delay at the output xAlarmDevice. In case of a communication error, an explanatory text for the cause is available at the output 'eErrorCodeCom'. It always shows the cause of the last communication error. In case of a device error, an explanatory text for the cause is available at the output 'eErrorCodeDevice'. It always shows and updates the cause of the last communication error. In case of an error in the reply telegram, an explanatory text for the cause is available at the output 'eReplyErrorCode'.\

Output 'xBusy'

This output signals the active transfer of the current value (= TRUE).\

CODESYS

InOut:

Scope
Name
Type
Initial
Comment

Input

xEn

BOOL

TRUE

Enable / disable communication ( TRUE = enabled )

Input

itfServer

BACnet.IBACnetServer

Interface variable for referencing the server

Input

xUpdateActual

BOOL

FALSE

Update of actual values (on every rising edge )

Input

xResError

BOOL

FALSE

Reset of the output 'eError' (on each rising edge)

Output

dwDeviceID_Fb

DWORD

Number of the BACnet target device (range: 0 - 4194302) - feedback

Output

eObjectType_Fb

BACnet.CmpBACnet.IEC_BACnet_Object_Type

Type of the object - feedback

Output

dwObjectInstance_Fb

DWORD

Number of the object (range: 0 - 4194303) - feedback

Output

sObjectName

STRING

Name of the object

Output

sValueOutput

STRING

‘’

Display of the output for the current value of the property

Output

xValidValue

BOOL

FALSE

Status of the validity of the current value of a property (FALSE = current value invalid)

Output

rValue

REAL

Current value of the property in REAL format (floating point according to IEEE754 - 32 bit)

Output

xValue

BOOL

Current value of the property in BOOL format

Output

sValue

STRING(255)

Current value of the property in STRING format (character string)

Output

diValue

DINT

Current value of the property in DINT format (signed integer)

Output

udiValue

UDINT

Current value of the property in UDINT format (unsigned integer)

Output

byValue

BYTE

Current value of the property in BYTE format (integer 0 - 255)

Output

lrValue

LREAL

Current value of the property in LREAL format (floating point according to IEEE754 - 64 bit)

Output

sObjectUnit

STRING

Unit of the measured value

Output

sObjectDescription

STRING

Description of the object

Output

xRegToServer

BOOL

Status of registration at the BACnet server (TRUE = successful registration)

Output

xConfigObject

BOOL

Status of the object's configuration (TRUE = successful configuration)

Output

eCBMState

BACnet.CmpBACnet.IEC_BACNET_STATUS

CBM - communication status (updates: states DONE, ERROR and ABORT)

Output

eComState

ClientReadProperty_ComStates

Communication status (updates: states No_Execution, Target_Device_Searching, Request_Sending, Reply_Waiting, Finishing)

Output

eErrorCodeCom

BACnet.CmpBACnet.IEC_BACNET_STATUS

Most recent communication error

Output

eErrorCodeDevice

BACnet.CmpBACnet.IEC_BACNET_ERROR_CODE

Most recent device error transmitted by the BACnet target device (BACnet server)

Output

eReplyErrorCode

TYPE_OF_REPLY_ERROR_CODE

Most recent communication error in the reply to one's own request

Output

xAlarm

BOOL

General fault ( TRUE = fault )

Output

xAlarmCom

BOOL

General fault - communication ( TRUE = fault )

Output

xBusy

BOOL

Communication indicator ( TRUE = communication )

Input Const

dwObjectInstance

DWORD

Number of the object (range: 0 - 4194303)

Input Const

eObjectType

BACnet.CmpBACnet.IEC_BACnet_Object_Type

BACnet.CmpBACnet.IEC_BACnet_Object_Type.OBJ_ANALOG_INPUT

Type of the object

Input Const

dwDeviceID

DWORD

Number of the BACnet target device (range: 0 - 4194302)

Input Const

tTimeUpdateActual

TIME

TIME#3s0ms

Update interval for operations influenced by the input 'xUpdateActual'

Last updated