Reading BACnet Properties
- Last UpdatedMar 06, 2024
- 2 minute read
The BACNET driver can use change-of-value (COV) subscriptions or polling to read values from BACnet properties. In both cases, this behavior can be modified by adjusting parameters in the citect.ini file.
Polling Properties
The driver will only poll BACnet properties data for the tags which have been subscribed by the I/O Server.
The polling rate will be defined by the I/O Server subscription update rate and the value of Cache Time parameter in the I/O Device configuration properties.
The I/O Server subscription update rate will depend on whether the tag is displayed on a page, has an alarm or trend tag associated with it or subscribed in Cicode. For example, the default update rate for the tag displayed on a page is 250 msec, for an alarm tag is 500 msec and for a trend tag it will depend on the trend tag configuration settings.
Also it is possible to set the minimal allowable polling rate using the Cache Time parameter in the I/O Device configuration properties. If that parameter is not set, the default value is 300 msec.
So if the I/O Server subscription update rate is less than the Cache Time value, the driver will use the Cache Time value to define how often the BACnet property will be polled.
If Cache Time value is set to 0, it will be ignored and the polling rate will be defined based on the I/O Server subscription rate.
You need to set the Cache Time parameter according to your system requirements.
COV Subscriptions
If a BACnet device supports change-of-value reporting, the driver will use the SubscribeCOV service to subscribe to value changes of PresentValue and SystemFlags BACnet properties.
The driver will only send COV subscriptions for the tags which have been subscribed by the I/O Server.
The driver subscribes to COV notifications for the period defined by the COVLifeTime parameter.
In the following situations the driver will use polling instead of COV subscriptions:
-
A device does not support COV reporting.
-
COVLIifeTime is set to 0.
-
The COV subscription failed.