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

  1. Navigate to Unified Namespace → TagProvider Services
  2. Click New Item button
  3. Select protocol from list (MQTT, OPC UA, ControlLogix, etc.)
  4. Configure connection parameters:
    • Name: Connection identifier
    • PrimaryStation: Main endpoint address
    • Access: Read, Write, or ReadWrite
    • Timeout: Response timeout (ms)
  5. Click Test Connection to verify
  6. Click OK to save
  7. Asset folder is auto-created in Asset Tree

Protocol-Specific Settings

ProtocolKey Parameters
OPC UAServer URL, Security Policy
MQTTBroker address, Topic structure
ControlLogixIP Address, Slot
SQL DatabaseConnection 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

  1. Navigate to Unified Namespace → Asset Tree
  2. Select your TagProvider folder
  3. Browse structure in tree view
  4. View live values in grid

Using Object Browser

  1. Click Object Browser icon in toolbar
  2. Navigate to desired element
  3. 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

Configure Historian Integration

Use TagProviders as historian data sources or storage locations.

As Data Source (for TrendCharts)

  1. Create TagProvider connection to historian (Canary, InfluxDB, etc.)
  2. In TrendChart, set Asset property to TagProvider path
  3. Historical data is automatically queried

As Storage Location

  1. Navigate to Historian → Storage Locations
  2. Select TagProvider as target
  3. Map tags to historian points
  4. Define storage intervals

Configure Redundancy

Set up backup connections for high availability.

Steps

  1. Open TagProvider configuration
  2. Set PrimaryStation to main endpoint
  3. Set BackupStation to redundant endpoint
  4. Configure Timeout for failover detection
  5. 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

ScenarioUse
Static, well-defined data structureDevices
Dynamic, frequently changing structureTagProviders
Strict validation required (FDA)Devices
IoT/Monitoring applicationsTagProviders

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

Performance Optimization

  • 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

  1. Verify network connectivity to external system
  2. Check protocol settings (port, address)
  3. Review authentication credentials
  4. Test with simple query first

No Data Visible

  1. Confirm connection is active (check Services Monitor)
  2. Check Asset Tree mapping is correct
  3. Verify access permissions on external system
  4. Review protocol-specific requirements

Performance Issues

  1. Reduce polling frequency
  2. Check network latency
  3. Optimize queries (SQL providers)
  4. Consider local caching

Type Conversion Errors

  1. Use explicit conversion for HTML5 displays
  2. Verify data types match expected
  3. Check for null values
  4. 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