Overview
TagProviders enable direct interaction with variables in remote systems, bypassing the need to create specific tags in the solution. They establish connections with tag sources, enhancing data access and exploration within the Unified Namespace.
On this page:
Understanding TagProvider Connections
TagProviders allow connections with external systems to read or write data without creating local tags. Displays and other modules can directly access data from remote systems, even if their structure changes dynamically.
Automatic & Tagless Connections:
- Connect to external data sources and consume their data models in the Unified Namespace.
- Access all tags and data structures automatically with simple configuration.
- The connected provider’s tags and data models are available for use in various modules (Displays, Scripts, Reports, etc.).
- Support for various systems: Protocols, Historians, or Devices.
- Easily plot trend charts and access archived data from external Historians.
Supported TagProviders
Integration with Communication Protocols
Integration with other Applications
Integration with Historian Systems
Historian TagProviders
When the TagProvider Connection is created for a Historian system, it will have two additional features:
- Using the Asset(<AssetPath>) on TrendCharts, it will automatically query the Historian to plot the chart. While the other TagProviders can only read and write current values.
- Those TagProviders can use be used on Historian Storage Locations, as a target repository to archive time-series data.
Configuring TagProviders
Configuration Workflow
- Identify the TagProvider: Based on the communication protocol (e.g., OPC UA, Modbus).
- Create a New Instance: Navigate to the TagProviders section and provide necessary information.
- Test the Connection: Verify and explore the data.
- Create a New AssetFolder: In the AssetTree, use the toolbar command “Insert Link to TagProvider.”
- Customize the Alias: For the selected node.
Creating a new TagProvider Connection
Steps:
1. Navigate: Go to Unified Namespace → TagProvider Connections.
2. New Item: Click the ‘New Item’ button to open the ‘Create New TagProvider’ dialog.
3. Select Protocol: Choose a communication protocol and assign a name.
4. Configure: Fill out the configuration table with:
Common Configuration Items:
- Provider: Specifies the platform the TagProvider will interface with.
- Access Mode: Determines permissions (Read, Write, ReadWrite).
- Name: User-defined identifier for the TagProvider instance.
- Description: Explains the purpose or platform it interfaces with.
- Test button: Verifies the connection settings.
Unique Configuration Parameters:
Each TagProvider has specific parameters tailored to its functionalities and technical requirements, ensuring proper data integration.
For example, using MQTTspB, the settings will be detailed similarly to Channels, Nodes, and Points.
Using TagProviders as Historian Storage Location:
Some TagProviders can be used with the Historian Module to define data storage locations. Typically, TagProviders for historian tools or MQTT can be used as Storage Locations.
By default, the Historian archives data in an SQL Database, but this can be extended with TagProviders.
Working with TagProviders
Browsing Values
In Unified Namespace → Asset Tree, after linking a folder to the data from the TagProvider Connection, you can browse the tree. The right-side tables will update, showing the values of the variables in the selected folder.
Reading and Writing Values from other Modules
After including TagProvider in the AssetTree Nodes, you can access that in using the Asset() method.
.E.g.: If using ControlLogix, the final part of the AssetPath is the address, using same syntax used in Devices → Points: <ProviderName>.("<Type>:<Address>")
- Asset("/Folder1/DINT:MyPlcTag")
- Asset("/Area1/Line1/DINT:MyArray1DimDINT[0]")
The best way to pickup the right syntax, it is to use the Object Browser from the top Toolbar, and navigate to the element you need.
The proper AssetPath is shown on that window as you navigate the tree.
You can use the Asset() syntax, not only in scripts, but on Displays, and in all fields in the software where a Tag is expected, including:
- On Displays, mapping symbol properties and linking to dynamic properties.
- On Alarms, creating alarm events.
- On Historian, archiving the data.
In this section: