Demand scanning is only supported by NASA drivers that are specifically written to support it, legacy drivers do not provide this feature.
Process values (tags) configured to be demand scanned are only communicated when they are being used (when there are one or more subscriptions
or references to these tags).
Note: In Adroit, a subscription to a process value essentially means that something else is using it. For instance, if this process value is being: alarmed; actively logged; used by another Adroit agent or viewed by an operator.
Therefore, demand scanning can reduce the number of process values that are communicated, which are especially useful in the following
- when you are communicating process values over networks where there is an expense attached to the amount of data that is being
transferred like a telemetry system using a GSM network or possibly satellite communications or
- as a means to improve the throughput (communication speeds) of a belabored network.
But demand scanning can ONLY be used for any READ-ONLY process value that is typically ONLY displayed on a mimic (graphic form) or is used by any of its graphic form components like a behavior or spider on the graphic form. In other words, a process value that is NOT alarmed or logged or used by any other agent.
In this case, when the graphic form is opened that contains or references this process value, then the NASA driver will become aware that
this graphic form requires this process value and so it will communicate (scan) this value from its front-end device.
When this graphic form is closed, then the NASA driver will become aware that this process value is no longer being used and so it will stop
communicating (scanning) this value from its front-end device.
Note: There is a fair amount of overhead involved for each demand scanned process value, since the NASA driver has to constantly query the Agent Server to determine when this process value is being used.
Therefore due to this implicit overhead only configure process values to be demand scanned that will benefit from demand scanning, in other
words, do not configure process values for demand scanning that will NEVER make use of this mechanism (e.g. those that are logged or
WARNING: If you configure ALL your process values to be demand scanned then you could experience SLOWER system performance and not experience any other benefits since all the process values NOT used by ONLY one thing will ALWAYS be scanned anyway!
Tip: You can determine which other agents are using (subscribed to) a tag, by opening the Agent Server Configurator and clicking the
Used by… button.