IEC_BACNET_PROPERTY_INSTANCE (STRUCT)ΒΆ

TYPE IEC_BACNET_PROPERTY_INSTANCE : STRUCT

This defines an property instance which is part of an object.

It is used for constructing objects in the server API database. For every property that an object has a single property instance structure is needed.

InOut:

Name

Type

Comment

ePropertyID

IEC_BACNET_PROPERTY_ID

Defines the property identifier

ePropertyAccess

IEC_BACNET_ACCESS

Defines how the property can be access over BACnet

bReadCallbackAttached

IEC_BACNET_BOOLEAN

If set the registered user read callback will be called

The user application needs to register an callback function with ::BACnetSetCallback first before this feature can be used. The callback will be called every time the propertys value is requested. It will be called not only on access from BACnet service requests. It will be called too if internal API actions require to request the value.

bWriteCallbackAttached

IEC_BACNET_BOOLEAN

If set the registered user write callback will be called

The user application needs to register an callback function with ::BACnetSetCallback first before this feature can be used. The callback will be called every time the propertys value is changed. It will be called not only on access from BACnet service requests. It will be called too if internal API actions require to change the value.

bProprietaryArray

IEC_BACNET_BOOLEAN

If set to True the application specifys this property as an proprietary array. For standard properties this shall be set to False

bProprietaryList

IEC_BACNET_BOOLEAN

If set to True the application specifys this property as an proprietary list. For standard properties this shall be set to False

propertyContents

IEC_BACNET_PROPERTY_CONTENTS

The application specifies the initial value for this property with this contents buffer

This structure has two buffers in which the value may be provided by the application. The buffer is associated with the datatype tag and its buffer pointer and length can be filled with an reference to an corresponding data structure. The rawBuffer can be used by the application to provide an BACnet RAW ASN1 encoded value. In this case the pointer in the buffer member has to be NULL and the buffer size has to be 0 too. The API validates the provided RAW value and the object construction will fail if the value is wrong encoded. Attention: Either the buffer member or rawBuffer member MUST be set!

pUserPointer

POINTER TO IEC_BACNET_BYTE

An optional pointer to user application data the application may connect to this instance.

This pointer is delivered with the read and write callback. See ::BACNET_PROP_READ_CB or ::BACNET_PROP_WRITE_CB for more informations. This pointer is fully transparent for the API and will not be modified an any way.