UNS TagProvider Services (Reference) 

enable direct interaction with variables in remote systems without creating local tags, establishing dynamic connections with external data sources for enhanced data access within the Unified Namespace.

\

Overview

TagProvider Services provide:

  • Dynamic external data access
  • Tagless connections to remote systems
  • Automatic data model discovery
  • Real-time structure updates
  • Multi-protocol support
  • Historian integration capabilities

TagProviders allow consuming external data models directly, ideal for IoT systems and dynamic environments where device configurations change frequently.


TagProviders vs Devices

AspectDevicesTagProviders
Data StructureStatic, predefinedDynamic, discovered
Tag CreationRequired locallyNot required
MetadataFull controlLimited control
SecurityGranular per tagConnection level
Use CaseSCADA/HMI systemsIoT/Monitoring
ValidationStrict (FDA)Flexible
ConfigurationDesign-timeRuntime discovery

Supported TagProviders

Communication Protocols

  • MQTT - Standard and SparkPlugB
  • OPC UA - Industrial standard
  • ControlLogix - Rockwell PLCs
  • Codesys - PLC Handler
  • TwinCAT - Beckhoff systems

Application Integration

  • Server to Server - Solution interconnection
  • LineMonitor - Production monitoring

Historian Systems

  • Canary Labs - Enterprise historian
  • InfluxDB - Time-series database
  • GE Proficy - Industrial historian
  • SQL Database - Generic SQL sources

<ac:structured-macro ac:name="info"> ac:rich-text-body

<p>Historian TagProviders provide two additional features:</p> <ol> <li>Automatic historian querying for TrendCharts using Asset() syntax</li> <li>Can be used as Storage Locations for archiving time-series data</li> </ol> </ac:rich-text-body> </ac:structured-macro>


Configuration

Creating Connections

  1. Navigate to Unified Namespace → TagProvider Connections
  2. Click New Item button
  3. Select protocol from list
  4. Configure connection parameters
  5. Test connection
  6. Asset folder auto-created

Common Parameters

ParameterDescriptionRequired
NameConnection identifierYes
ProtocolCommunication typeYes
PrimaryStationMain endpointYes
BackupStationRedundant endpointNo
AccessRead/Write/ReadWriteYes
TimeoutResponse timeoutYes
DescriptionDocumentationNo

Protocol-Specific Settings

Each protocol requires unique parameters:

  • OPC UA: Server URL, Security Policy
  • MQTT: Broker, Topic structure
  • ControlLogix: IP Address, Slot
  • SQL: Connection string, Query

Using TagProviders

Asset Tree Integration

After configuration, TagProviders appear in Asset Tree:

/Root
  /MyOPCServer (TagProvider)
    /Line1
      /Motor1
        /Speed
        /Temperature

Accessing Data

Asset() Syntax:

csharp

// 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 Displays:

xml

<TextBox Text="{Asset('/MyOPCServer/Line1/Motor1/Speed')}" />

In Scripts:

csharp

if (Asset("/MyOPCServer/Line1/Motor1/Running"))
{
    // Motor is running
}

Data Type Handling

WPF Displays (.NET Framework 4.8)

Dynamic handling supported:

csharp

var value = Asset("/Path/To/Tag");
// Automatically handled as correct type

HTML5/Portable (NetStandard 2.0)

Explicit conversion required:

csharp

int intValue = TK.ToInt(Asset("/Path/To/Tag"));
string strValue = TK.ToString(Asset("/Path/To/Tag"));
bool boolValue = TK.ToDigital(Asset("/Path/To/Tag"));

Historian Integration

As Data Source

csharp

// TrendChart automatic query
TrendChart.Asset = "/HistorianProvider/Temperature";
// Automatically fetches historical data

As Storage Location

Configure in Historian → Storage Locations:

  • Select TagProvider as target
  • Map tags to historian points
  • Define storage intervals

Best Practices

  1. Use appropriate technology - Devices for static, TagProviders for dynamic
  2. Test connections - Verify before production
  3. Handle failures - Configure backup stations
  4. Monitor performance - Check read/write times
  5. Document providers - Clear naming and descriptions
  6. Plan redundancy - Use backup stations
  7. Consider security - Access mode restrictions

Browsing Data

Asset Tree Browser

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

Object Browser

Use toolbar Object Browser for correct syntax:

  1. Click Object Browser icon
  2. Navigate to desired element
  3. Copy displayed AssetPath

Configuration Properties

PropertyDescriptionType
ProtocolCommunication protocolSelection
ProtocolOptionsProtocol-specific settingsString
PrimaryStationMain connection endpointString
BackupStationBackup endpointString
SettingsConfiguration parametersString
TimeoutResponse timeout (ms)Integer
IsHistorianHistorian capabilityBoolean
AccessRead/Write permissionsEnum
ServerIPRemote server addressString

Troubleshooting

Connection failed:

  • Verify network connectivity
  • Check protocol settings
  • Review authentication
  • Test with simple query

No data visible:

  • Confirm connection active
  • Check Asset Tree mapping
  • Verify access permissions
  • Review protocol specifics

Performance issues:

  • Reduce polling frequency
  • Check network latency
  • Optimize queries
  • Use local caching

Type conversion errors:

  • Use explicit conversion (HTML5)
  • Verify data types match
  • Check null values
  • Review error messages



In this section...



  • No labels