Issue
Continuum Graphics (Pinpoint): How do point updates take place and how can I change the update interval and polling speed? Is it different for BACnet points?
Product Line
Andover Continuum
Environment
- Pinpoint Graphics
- Bacnet
Cause
How do point updates take place and how can I change the update interval and polling speed?
Resolution
In Cyberstation V1.71 and greater, the graphics polling engine was significantly changed. Prior to this change, the Pinpoint application would poll the points within its graphic file directly. If several graphics were open, each graphic would perform its own polling, This engine also applied to Web.client. Each control on the graphic had a separate selection where you could set the polling rate on a per-point basis on the miscellaneous tab of each control. This was the only method to adjust the point polling interval. The main reason for the graphic engine change was for Web.Client graphics. Slow networks, multiple browsers accessing the same graphics, and slow browser machines could make Web.Client graphics unacceptably slow.
The current method to get data into graphics involves a separate graphics polling engine per workstation. When one or more graphics are opened on a workstation or a Web.Client IIS server, the graphics register the points into the polling engine on that workstation. The polling engine then begins updating the values and sends the data to the Pinpoint/web.pinpoint clients. After initially sending all the data values to the graphic, it then only sends the data that has changed since the last update in an XML document format. If several graphics are requesting the same point values, the data is only polled once for all the Pinpoint clients on that workstation or Web.Client. Efficiency was also achieved by registering the points in the polling engine which allowed the polling engine to decrease the number of data requests by 50% to retrieve the same data.
There are now additional settings to adjust the polling rates in a graphic.
#11 General preferences "Time interval between requests"
This is a global setting and affects all workstations. By default, all polled points which are in the polling queue are sequentially updated at a continuous rate with a default delay between requests of 30 milliseconds. It is often recommended to set this to 100ms
(Additional considerations below under Multiple Cyberstation graphics performance)
General Preferences are accessed by Right Clicking on the Continuum icon in the Windows system tray and selecting General Preferences
There are also a pair of settings in the workstation preferences:
#24 Pinpoint active polling rate
#25 Pinpoint inactive polling rate
These settings are for each workstation individually and do not affect the polling rates of the polling engine, but merely determine how often the graphic requests data updates from the polling engine based on whether a panel is or is not the active window. Typically these settings can be left at their defaults
R&D has indicated that #24 is not used as Pinpoint always uses the inactive polling rate whether the window is active or not. Therefore, adjust #25 "Pinpoint inactive polling rate".
It is recommended to set this to keep this at the default of 250ms.
Cyberstation Preferences are accessed by Right Clicking on one of the Cyberstations while logged into Continuum and selecting Edit
Multiple Cyberstation graphics performance
Several workstations may be configured to display graphics that are pointing to the same controllers and the controllers being polled may be on a large Infinet or MSTP network. In this case, the controllers could be overwhelmed by simultaneous data requests from the different workstations, slowing down controller scans, the whole field bus and overall system performance.
R&D indicates that when multiple Cyberstation Graphics are used there is some randomness as to how the polling requests are accomplished.
If graphic or system performance is an issue, it is suggested that another 30 Milliseconds is added to the general preferences "Time interval between requests" (#11) and then measure system performance and add additional time if needed up to 500ms.
When using this setting it is necessary to consider how many Cybersations would be running simultaneous graphics. For example:4 workstations polling graphics simultaneously with "x" number of points in it for 1 Netcontroller could have about 20 requests per second (determined via Wireshark capture at the NC NIC)
30 ms per X 4 Cyber =120ms added
In this case, the recommendation was to set the "Time interval between requests" value to 250ms for performance
Note: Individual millisecond settings in each point do not effect polling for the point. They are not used.
BACnet points
Bacnet points can be managed differently. Continuum BACnet points can either be polled the same way that Standard continuum points are polled or by using a COV. Standard polling is done by using the point objects from the "Infinity" side of the object tree. If you want to use COV for the point updates which is much more efficient, you should use the "BACnet Points" in the graphic, from the BACnet side of the object tree. The polling engine will then subscribe for COV updates to the respective controllers. When the graphic is closed the polling engine will unsubscribe the COVs.
Third-Party BACnet controllers have an additional method to adjust the poll frequency. If the third-party BACnet controller supports COV subscriptions, Cyberstation will subscribe to these points as COV's like the Continuum BACnet controllers however, if the devices do not support COV's their points will be polled.
Since many third-party BACnet controllers cannot withstand frequent data requests, there are two additional settings on the BACnet device object editor. The settings are on the Details tab on third-party BACnet controllers only.
1. Max # of Async requests
The max # Async requests specify how many requests we should send before we get a reply to the data request, or how many requests can I queue. Typically this should be set to 1.
2. Request interval in ms
The request interval setting will depend on the device.
Does it use Ethernet or MSTP network architecture?
Are you running "Enhanced MSTP"?
How many third-party devices are on the mstp network that cannot run enhanced MSTP?
Typically it would be safe to set this in the 1000 to 5000 ms range based on desired data update rates and the controller's capability to handle the polling.