BACnetClientReadAllPropertyDataContents (FB)

FUNCTION_BLOCK PUBLIC FINAL BACnetClientReadAllPropertyDataContents EXTENDS BACnetClientBase

Common Behaviour Model conform (ETrigA) FB to read all property contained data at once.

Sends one or more requests to read the value of a property of an object. This function is a convenience function. It tries to get the complete property contained data in different ways automatically so that the user application has not to implement special strategies and fallbacks here.

If execution completed successfully and xDone is TRUE, result is filled with valid data, in any other case the data in result are not valid.

InOut:

Scope

Name

Type

Initial

Comment

Inherited from

Input

xExecute

BOOL

Rising edge: Starts defined operation
FALSE: Resets the defined operation after ready condition was reached

ETrigATo

xAbort

BOOL

TRUE: Aborts the operation

ETrigATo

udiTimeOut

UDINT

Max. operating time for executing [µs], 0: No operating time limit

ETrigATo

Output

xDone

BOOL

TRUE: Ready condition reached

ETrigATo

xBusy

BOOL

TRUE: Operation is running

ETrigATo

xError

BOOL

TRUE: Error condition reached

ETrigATo

xAborted

BOOL

TRUE: Abort condition reached

ETrigATo

Input

dwTargetDeviceNumber

DWORD

The device number of the targeted device in the BACnet- Network.

BACnetClientBase

pTargetDeviceAddress

POINTER TO CmpBACnet.IEC_BACNET_ADDRESS

0

Optional: The device address of the targeted device in the BACnet-Network. If an adress is given the given device number is ignored.

BACnetClientBase

pAPDUParams

POINTER TO CmpBACnet.IEC_BACNET_APDU_PROPERTIES

0

A pointer to the structure which contains a set of APDU properties to control the timing and size of transmitted frames for this request. It temporarily overwrites the global APDU settings made in the source device from which this request is sent and which parameters would control this request if this pointer is NULL.

BACnetClientBase

Output

eStatus

CmpBACnet.IEC_BACNET_STATUS

CmpBACnet.IEC_BACNET_STATUS.BACNET_STATUS_OK

If an error occured, the error state.

BACnetClientBase

errorResult

CmpBACnet.IEC_BACNET_ERROR

STRUCT(tag := CmpBACnet.IEC_BACNET_FAILURE_TYPE._FAILURE_MAX_SIZE)

If an error occured (this means eStatus <> BACNET_STATUS_OK), whereas the sent BACnet-Request was answered with an specific error information, the latter is contained in this structure.

BACnetClientBase

iState

DINT

0

The State in which the FB is during execution:
  • 0: No execution, resetted state

  • 1: Searching for the Target-Device and a valid address for it

  • 2: Sending the BACnet-Request into the network

  • 3: Waiting for the answer (if there is one) to the BACnet-Request made in 2

  • 4: Finishing the call, setting of the output variables

BACnetClientBase

Input

objType

CmpBACnet.IEC_BACNET_OBJECT_TYPE

The type of the object under the targeted device to read the property from.

objInst

CmpBACnet.IEC_BACNET_DWORD

The instance number of the object under the targeted device to read the property from.

propID

CmpBACnet.IEC_BACNET_PROPERTY_ID

The property ID of the property of the object under the targeted device to read.

nIndex

CmpBACnet.IEC_BACNET_ARRAY_INDEX

CmpBACnet.CONSTANTS.BACNET_VOID_INDEX

Optional: The Index of the element of the property read. Only use for constant array properties. Otherwise use index BACNET_VOID_INDEX or leave empty.

Output

result

CmpBACnet.IEC_BACNET_PROPERTY_CONTENTS

If the BACnet-Request succeeded (xDone is TRUE and no error occured (xError is FALSE)), this variable holds the contents of the read property. Use the helper functions GetRealFromContents, Get… to evaluate its value (for simple property types). Otherwise be sure to correctly interpretate the contents data.

Properties:

Methods:

Structure: