IEC_BACNET_SRVR_INIT (STRUCT)¶
TYPE IEC_BACNET_SRVR_INIT : STRUCT
Structure which contains the data for initialization of the BACnet server API.
This structure contains the data for initialization of the BACnet server API. It carries information about the process which is needed to register to the BACnet stack API successfully.
- InOut:
Name
Type
Comment
bIgnoreCOV
If set to True every writeaccess to object properties causes COV.
If this is set to True on initialization of the BACnet server API every writeaccess made to properties which are relevant for change of value notifications (such as present-value or status-flags) will send an COV notification.
bCallWPCallbackBefore
If set to 1 the WriteProperty callback is called before modifying database.
If this is set to 1 on initialization of the BACnet server API the WriteProperty callback will be called BEFORE any changes have been made to the internal BACnet server API database. This is the standard procedure and this should be the normal setting here. But some applications might prefere to be called AFTER the new value has been written into the database. Rejecting the callback in this state and reply some error is still posible. In this case the previous value before the modification will be restored but no callback will be generated for this.
bCallWPhookBefore
If set to 1 the WP/WPM service callback is called before modifying database.
If this is set to 1 on initialization of the BACnet server API the WriteProperty(Multiple) service hook will be called BEFORE any changes have been made to the internal BACnet server API database. This is the standard procedure for all API hook’s in this API and this should be the normal setting here. If this is set to 2 the WriteProperty(Multiple) service hook will be called <b>BEFORE AND AFTER</b> modification of the database.
bCallSubsCovhookBefore
If set to 1 the Subscribe COV callback is called before modifying internal subscriberlists.
If this is set to 1 on initialization of the BACnet server API the Subscribe COV callback is called before modifying internal subscriberlists. This is the standard procedure for all API hook’s in this API and this should be the normal setting here. If this is set to 2 the Subscribe COV service hook will be called <b>BEFORE AND AFTER</b> modification of the internal subscriberlists.
bOnRPMallDontCheckProps
If set to True special error replies are suppressed on RPM execution.
Properties that do not exist in internal database are not removed from the resultlist on an ReadPropertyMultiple request with property identifier set to ‘PROP_ALL’, ‘PROP_OPTIONAL’ or ‘PROP_REQUIRED’ if this parameter is set to False. The normal setting here shall be True.
bRWPropCBComplete
If set to True the attached property read and write callbacks provide or expect always the full property contents.
If set to True the property attached Read/Write Property Callbacks always will have set the array index to BACNET_VOID_INDEX (-1) and will expect the entire property to be delivered on read callbacks and provide the entire property on write callbacks. Even if the initiating request had specified an single array element.
bSuppressCOLSModeEvents
If set to True the change of life-safety modes are no longer reported as an intrinsic event.
If set to True the change of life-safety modes are no longer reported as an intrinsic event. Setting this will result in an violation against the BACnet standard for change-of-life-safety reports.
bNoRPMReqToRPCallback
If set to True ReadPropertyMultiple requests will not be forwarded to the ReadProperty Callback.
All Properties from a ReadPropertyMultiple indication will also be forwarded to the ReadProperty Callback, if the ReadProperty service hook was registered. This parameter will suppress the forwarding, so the RPM request will only be set to the RPM service callback (if registered).
maxBadRecpErr
Upper limit for bad intrinsic reporting recipients which are unreachable.
This parameter specifies the upper limit for bad intrinsic reporting recipients. If it is reached the API internal processes will stop regulary sending events to this client. Because the API may not remove this recipient from the list of recipients in an notification lass object it supresses sending further notifications to it for some period of time or count of events to report. A value of 0 will disable this feature.
maxBadRecpSkip
Number of events to skip sending for bad recipient entries.
If an recipient is blacklisted, which means that currently no events are sent to it, this counter will be incremented for every notification which was skipped sending. If it’s value here is reached the next notification will be sent to the recipient again regulary. A value of 0 will disable this feature.
maxBadRecpRetrySec
Number of seconds to suppress sending for bad recipient entries.
If an recipient is blacklisted, which means that currently no events are sent to it, this time must expire before new attempts will be made to send notifications to this recipient. A value of 0 will disable this feature.
maxPendingCovIntRequestToClients
Number of unacknowledged pending confirmed COV and intrinsic requests sent to subscribing clients.
This setting limits the number of transmitted confirmed COV and intrinsic notifications sent to a client before they are acknowledged by the client. This will prevent some overflooding clients with COV’s or intrinsic events. A value of 0 will disable this feature and use a default of 128 pending transactions.
numberOfDevices
The maximum number of devices which will be supported.
This parameter specifies the maximum number of devices which an application will be able to create. A value of 0 indicates an unlimited number of devices. This parameter will pre-allocate memory for the specified number of devices.
appName
POINTER TO BYTE
Name of the application process which registers to the BACnet stack.
Only alphanumeric chars are allowed here. No special chars linke slashes, hypen or backslashes, questionmarks, dots or anything else are permitted here. If the application uses such chars in this string it will have propblems registering correctly. The name has to be unique too if more than one process tries to register to the BACnet stack.
procToStart
POINTER TO BYTE
Commandline with arguments to start subprocess BACnet stack service.
Commandline arguments which are used if the BACnet stack service needs to be started. If the service is already running this arguments given aren’t used.
localDevice
POINTER TO IEC_BACNET_TEMPLATE_DEVICE
A pointer to the local device template which will be created.
This structure contains the data which is used to initialize the device object of this BACnet client application process. This can be NULL if the client application needs to create it’s device at some later point.
nCovIntProcId
Unique process identifier which is needed to register to the BACnet service.
Some BACnet service requests, such as the COV or intrinsic reporting services, need an unique process identifier to work. This identifier is used to direct such requests to the right BACnet application process that requested it. This identifier has to be unique by registering with the BACnet stack. The enhanced BACnet API functions for registering remote objects for data and event-notifications will use this value for their subscriptions. A value of 0 is not permitted because it is used to indicate broadcast COV and intrinsic notifications. The users application may use other process ID’s to implement processing of COV and intrinsic reporting.
nMaxIpcSizeSupported
Size of memory used for building up async replies in service hooks.
apduProps
A structure containing the default APDU communication parameters.
These default set of APDU parameters is used for communication only if the client process has no device constructed yet and the pointer for APDU parameters in functions for service initiation is NULL.