Historians: Read Tag List
This article provides starter solutions that can be used to create a list of points or tags.
What Does This Article Cover?
This article introduces points/tags in historians and explains why most Intelligence Hub historian solutions begin by building a list of in-scope points/tags. It then outlines starter-solution patterns by historians for assembling that list.
An overview of points and tags
In historians, a single measurement/data stream (temperature, pressure, flow, motor current, etc.) is a point or tag. Vendors use the terms differently, but both refer to a time-series variable stored in the historian.
Why start with a list? The scope of an Intelligence Hub pipeline is typically a subset of the historian’s points/tags. One of the first steps is therefore to obtain the list of in-scope points/tags that downstream inputs will use.
General Intelligence Hub design considerations for obtaining a list of tags
Use this checklist when you're constructing the list your solution will operate on.
- Define scope
- decide exactly which points/tags belong in this solution (area, unit, line, system).
- Decide how you'll query
- Use naming conventions or filters. Check the historian's syntax and filtering options in its docs. If a client tool exists (e.g., PI System Explorer), test your queries there first.
- Start small and time it
- begin with tens or hundreds of points/tags to measure how long the query takes. Aim for a few seconds per discovery run, then scale up.
- Batch and/or add resources
- If one request is too slow, split the discovery into multiple queries (by area/ template/prefix). Increase host/agent resources if needed.
- Mind shared Connections
- Consider how a new Connection Input will affect other Inputs using the same Connection. Stagger schedules to avoid collisions.
- Plan for edits and growth
- If points/tags are added or edited often, set a refresh strategy. Tune the Cache Interval so changes appear when you need them without creating excess load.
- Shape results for downstream
- Choose the output format early -typically a comma-separated list or an array. Use an Intelligence Hub Condition to transform the discovery results into that format.
- Control how fast new tags show up
- decide how quickly newly created points/tags should be processed. Adjust Enable Cache and Lifetime on the Connection Input to meet that expectation.
AVEVA PI System Data Archive: design considerations for obtaining a list of points
These considerations pertain to obtaining a list of PI Point names from PI Data Archive.
- The Intelligence Hub PI Connection PI Point-related Inputs do allow specific points to be specified.
- Often, an Intelligence Hub data pipeline processes many PI Points that need to be obtained first.
- The PI Connection PI Point related Inputs allow a Reference to be specified.
- The Reference is a list of comma-separated PI Point names.
- It is typically best to use the PI Connection Point Browse Input Type to obtain the list of PI Points to use in the downstream Connection Input Reference.
- When obtaining a list of PI Points for a Connection Input Reference, do not use the Include Metadata option.
- An array containing only PI Point names is expected.
AVEVA PI System Asset Framework: design considerations for obtaining a list of points
These considerations pertain to obtaining a list of PI Point Names using Asset Framework Assets.
- Some solutions require PI Point values in the context of an Asset Template or Asset Framework
- The Intelligence Hub PI Connection PI Point-related Inputs do allow Point Names to be specified
- Often, an Intelligence Hub data pipeline processes many PI Points, and they need to be obtained first.
- The PI Connection PI Point related Inputs allow a Reference (an array of PI Point names) to be specified.
- It is typically best to use the PI Connection Asset Metadata Input Type for obtaining the list of PI Points per Asset Template or Asset for use in the downstream Connection Input Reference.
- The Asset Metadata Input Type query can be time-consuming, and it may be necessary to index to obtain the PI Points.
- Techniques for handling this will be provided in a different Knowledge Base article.
- The PI Points need to be extracted from this payload using an Intelligence Hub Pipeline Transform Stage.
- The JavaScript for the Transform Stage is provided in the Intelligence Hub User Guide [here].
Canary Historian design considerations for obtaining a list of tags
These considerations pertain to obtaining a list of tags from Canary Historian.- An Intelligence Hub REST Client Connection is used to obtain data from Canary Historian.
- The Canary Historian Views Service API does allow filtering to be performed when reading values, but some Intelligence Hub data pipeline solutions may require tag names to be obtained independently of the Input to obtain values.
- For example, the Views Service API getTagData method accepts an array of tag names in the response body.
- The Views Service API browseTags method can be used to obtain an array of tag names.
- An Intelligence Hub Pipeline Transform Stage can be used to format the tags obtained by the getTagData method.
Aspen InfoPlus.21 design considerations for obtaining a list of tags
These considerations pertain to obtaining a list of tags from IP.21.
- The IP.21 Connection Input can filter tags in query, but many pipelines first query tags, then use that list in downstream value queries
- A query can be written to obtain a list of tag names.
- An Intelligence Hub Condition can be used to format the tags for the values query.
Summary
Use these considerations to design and implement a robust tag/point discovery phase in your Intelligence Hub solution. Start with a clear list, validate query cost and duration early, tune cache and resource settings to match change rates, and shape the output (CSV or array) for smooth downstream processing.
Additional Resources