To reach the best response time with lots of tags and data, Ignition is built on subscriptions and notifications. I recently wrote a module to expose usefull scripts functions in the client scope, for subscribing tags and be notified of tags changes.
This modules enables subscription in 2 way :
- An input list of tag path
- An input dataset with a tag path columns, and other columns for tag's Value, Timestamp, Quality
In return, the module write a client tag (typed dataset) with:
- tags data with Value, Timestamp, Quality updated
- input dataset with Value, Timestamp, Quality updated
As the result, in use case 1, you can quickly create an efficient tag browser based on:
- this utils modules
- a tag browser tree
- a power table (binded to the tag client updated by this module)
Use case 2, an input dataset with columns V, T, Q automatically refreshed when the tags' data change.
Button refresh can only be use to force a refresh.
Last Updates 2017-03-22 (YYYY-MM-DD)
Project example :
https://www.dropbox.com/s/kit20qh1mpiczy5/TagsSubscriptions_Examples_2017-03-22.zip?dl=0
Ignition utils modules : (v1.0.4 : freeze/unfreeze subscription to save selection when windows is closed)
https://www.dropbox.com/s/goj22hor4ta6i3e/Utils-signed-1.0.4.modl?dl=0
Hope this help you to build more reactive HMI with Ignition an its power table component !