Poll Service (bacnet-BacnetMultiPoll)

This component configures and manages a group of BACnet proxy points to be polled. Each BACnet network port (Ip Port, EthernetPort, MstpPort, ScPort and ScHubPort) provides its own PollService with three polling rates (Fast, Normal, and Slow). This varies from other network drivers that use a single PollService.

In addition to the three rates of speed (fast, normal, and slow), a fourth speed refers to the dibs stack. When a point is subscribed, it immediately gets first dibs and goes to the top of the dibs stack. The poll scheduler always polls the dibs before doing anything else using last-in, first-out (LIFO). This means that as long as entries are in the dibs stack, the driver polls them as fast as possible with no artificial delays.

When the dibs stack is empty, the scheduler attempts to poll the components using an algorithm designed to create uniform network traffic. For example, if the fast rate is configured to 5000 ms and five components are currently subscribed at this speed, the scheduler attempts to poll each component with a second of delay.

Every ten seconds the poll scheduler rechecks the speeds for configuration changes. This means that if you change a point’s configuration from slow to fast, it takes at most ten seconds for the change to take effect.

The driver updates statistics every ten seconds. You may manually reset statistics using the reset statistics action.

Figure 58.   Poll Service properties
Image

You access these properties by expanding Config > Drivers, the BACnet network Bacnet Comm > Network followed by expanding a port (Ip Port, EthernetPort or MstpPort) and double-clicking the Poll Service node.

Property Value Description
Poll Enabled true (default) or false Enables and disables polling.

In history views:

true enables a system user to use the Live Updates (play) button in History views to poll for live data for the associated imported history(ies).

false renders this button unavailable in history views for the associated imported history(ies).

In networks:

true polls all associated proxy points and devices that can be polled under the network component or, for a BacnetPoll, under that BacnetStack, Network, and Port.

false suspends polling and further value updates from polling do not occur.

 NOTE: Poll Service actions Enable and Disable allow access to this property. 
Fast Rate hours minutes seconds (defaults to 1 second) Configures the interval that defines this polling rate. The interval applies to devices, which the driver can poll.
Normal Rate hours minutes seconds (defaults to 5 seconds) Configures the interval that defines this polling rate. The interval applies to devices, which the driver can poll.
Slow Rate hours minutes seconds (defaults to 30 seconds) Configures the interval that defines this polling rate. The interval applies to devices, which the driver can poll.
Statistics Start read-only timestamp Reports either the last manual reset of poll statistics or, if statistics have not been reset, the first steady state time immediately following the last station restart.
Average Poll read-only Reports the average time spent during each poll event. This does not relate to the total time required to complete a poll cycle for any of the three rates. It is the time spent polling a given group of objects before pausing and switching to another group either using the same or a different poll rate.
Busy Time read-only Displays a percentage of time spent by the poll thread actually polling points using all poll rates. Includes (in parentheses) the ratio of time spent polling/total time since statistics were restarted.

Given a small amount of time is spent transitioning among poll rates, and with the thread sleeping to evenly space out polling messages, it is unlikely to ever see Busy Time reach exactly 100%. However, any percentage above 95% indicates that the poll thread is basically spending all of its time actually polling.

 NOTE: In the case of the Poll Service for a BACnet network port, because two threads are used for polling, it is possible to see a Busy Time approaching 200%. In this case, divide Busy Time in half to get an average busy time for each thread. 
Total Polls read only Reports the total number of polls conducted and the time spent waiting for polls to execute. This time is the same time indicated in the ratio of the Busy Time property. Typically, the total poll count indicates the number of times the PollService polled any object. It is not a running total of the actual poll cycles.
Dibs Polls read-only Reports the percentage and ratio of the number of DIBS polls versus total polls.
Fast Polls read-only Reports the number of polls made processing the fast queue.
Normal Polls read-only Reports the number of polls made processing the normal queue.
Slow Polls read-only Reports the number of polls made processing the slow queue.
Dibs Count read-only Reports the current and average number of components in the DIBS stack. (DIBS stands for Distributed Internet Backup System).
Fast Count read-only Reports the current and average number of components in the normal queue.
Normal Count read-only Reports the current and average number of components in the normal queue.
Slow Count read-only Reports the current and average number of components in the slow queue.
Fast Cycle Time read-only Reports the average cycle time for the fast queue.
Normal Cycle Time read-only Reports the average cycle time for the normal queue.
Slow Cycle Time read-only Reports the average cycle time for the slow queue.
Point Count read-only Reports the current and average number of points being polled.
Object Count read-only Reports the current and average number of objects being polled.
Virtual Count read-only Reports the virtual count of points and objects being polled.
Number of Threads read-only Reports the total number of polling threads.

Actions

  • Enable starts polling.
  • Disable suspends polling.
  • Reset Statistics manually retrieves fresh statistics.
  • Rebuild Poll Lists