Step-by-step procedures for configuring and using TagProvider Services.
How-to Guides → Data Foundation → TagProvider Services How-to
Overview
Typical configuration procedures using TagProvider Services.
Create a TagProvider Connection
Connect FrameworX to an external data source.
Steps
- Navigate to Unified Namespace → TagProvider Services
- Click New Item button
- Select protocol from list (MQTT, OPC UA, ControlLogix, etc.)
- Configure connection parameters:
- Name: Connection identifier
- PrimaryStation: Main endpoint address
- Access: Read, Write, or ReadWrite
- Timeout: Response timeout (ms)
- Click Test Connection to verify
- Click OK to save
- Asset folder is auto-created in Asset Tree
Protocol-Specific Settings
| Protocol | Key Parameters |
|---|
| OPC UA | Server URL, Security Policy |
| MQTT | Broker address, Topic structure |
| ControlLogix | IP Address, Slot |
| SQL Database | Connection string, Query |
→ See UNS TagProvider Services Reference for all settings
Browse TagProvider Data
View the data structure from an external system.
Using Asset Tree Browser
- Navigate to Unified Namespace → Asset Tree
- Select your TagProvider folder
- Browse structure in tree view
- View live values in grid
Using Object Browser
- Click Object Browser icon in toolbar
- Navigate to desired element
- Copy displayed AssetPath for use in code/displays
Example Structure
After configuration, TagProviders appear in Asset Tree:
/Root
/MyOPCServer (TagProvider)
/Line1
/Motor1
/Speed
/Temperature
Access TagProvider Data in Code
Read and write values from external systems.
Asset() Syntax
// Read value
double speed = Asset("/MyOPCServer/Line1/Motor1/Speed");
// Write value
Asset("/MyOPCServer/Line1/Motor1/Speed") = 100;
// ControlLogix specific
Asset("/MyPLC/DINT:MyTag");
Asset("/MyPLC/DINT:MyArray[0]");
In Scripts
if (Asset("/MyOPCServer/Line1/Motor1/Running"))
{
// Motor is running
}
Data Type Handling
WPF Displays (.NET Framework 4.8):
var value = Asset("/Path/To/Tag"); // Automatically handled
HTML5/Portable (NetStandard 2.0):
int intValue = TK.ToInt(Asset("/Path/To/Tag"));
string strValue = TK.ToString(Asset("/Path/To/Tag"));
bool boolValue = TK.ToDigital(Asset("/Path/To/Tag"));
Access TagProvider Data in Displays
Bind display elements to external data.
XAML Binding
<TextBox Text="{Asset('/MyOPCServer/Line1/Motor1/Speed')}" />
TrendChart with Historian TagProvider
// Automatic historian query
TrendChart.Asset = "/HistorianProvider/Temperature";
// Automatically fetches historical data
Use TagProviders as historian data sources or storage locations.
As Data Source (for TrendCharts)
- Create TagProvider connection to historian (Canary, InfluxDB, etc.)
- In TrendChart, set Asset property to TagProvider path
- Historical data is automatically queried
As Storage Location
- Navigate to Historian → Storage Locations
- Select TagProvider as target
- Map tags to historian points
- Define storage intervals
Set up backup connections for high availability.
Steps
- Open TagProvider configuration
- Set PrimaryStation to main endpoint
- Set BackupStation to redundant endpoint
- Configure Timeout for failover detection
- Save configuration
Failover Behavior
- System monitors primary connection
- On failure, automatically switches to backup
- Logs failover event
- Attempts reconnection to primary
Best Practices
Choose the Right Approach
| Scenario | Use |
|---|
| Static, well-defined data structure | Devices |
| Dynamic, frequently changing structure | TagProviders |
| Strict validation required (FDA) | Devices |
| IoT/Monitoring applications | TagProviders |
Configuration Tips
- Test connections before production deployment
- Configure backup stations for critical connections
- Monitor performance — check read/write times
- Document providers — use clear naming and descriptions
- Consider security — set appropriate access mode restrictions
- Reduce polling frequency where real-time not required
- Check network latency between systems
- Optimize queries for SQL-based providers
- Use local caching when appropriate
Troubleshooting
Connection Failed
- Verify network connectivity to external system
- Check protocol settings (port, address)
- Review authentication credentials
- Test with simple query first
No Data Visible
- Confirm connection is active (check Services Monitor)
- Check Asset Tree mapping is correct
- Verify access permissions on external system
- Review protocol-specific requirements
- Reduce polling frequency
- Check network latency
- Optimize queries (SQL providers)
- Consider local caching
Type Conversion Errors
- Use explicit conversion for HTML5 displays
- Verify data types match expected
- Check for null values
- Review error messages in logs
See Also
- TagProvider Services — Concept overview
- UNS TagProvider Services Reference — All settings and options
- TagProvider Services Technology — Deep architecture dive
- Connectors Library — Available protocols