Connect to external systems and bring data into the Unified Namespace.
Modules → Data Foundation → TagProvider Services | How-to | Reference
TagProvider Services enable FrameworX to connect to external data sources — MQTT brokers, OPC UA servers, PLCs, databases, and enterprise historians — and auto-discover their namespace. When configured, FrameworX acts as a client that reads and writes data from these external systems, creating tags in the real-time database (RTDB) on demand.
TagProvider Services support two service types:
Module | FrameworX Role | Direction | Example |
|---|---|---|---|
TagProvider Services | Client | FrameworX → External | Connect to an MQTT broker, discover OPC UA server |
Data Servers | Server | External → FrameworX | OPC UA client reads your UNS data |
TagProvider Services: You connect TO external systems
Data Servers: External systems connect TO you
→ See Data Servers for exposing UNS to external clients
TagProvider Services use protocols that support auto-discovery — the ability to browse and discover what data an external system has. This is a different set of connectors from the Devices module.
Category | Connectors |
|---|---|
Communication Protocols | MQTT Client, MQTT Sparkplug B Collector, OPC UA Client, AB Rockwell ControlLogix, Beckhoff TwinCAT, Codesys PLC Handler |
Database Connectors | SQL Database, SQL Database Normalized, InfluxDB, FlowTimebaseDB |
Application Integration | Server to Server, DataHub Communication, LineMonitor / MES CoreM |
Enterprise Historians | Canary Labs, GE Proficy, OSIsoft Aveva PI |
→ See individual connector reference pages under UNS TagProvider Services Reference for configuration details
TagProvider Services vs Devices Module
The Devices module has ~100 protocols (Modbus, BACnet, Siemens S7, DNP3, and many more) for explicit point-by-point control. TagProvider Services have ~16 connectors that support auto-discovery. They are completely independent — both can coexist in the same solution, even for the same protocol. See TagProvider Services Technology for a detailed comparison.
Concept | Description |
|---|---|
TagProvider | A configured connection to an external data source. Each TagProvider has a protocol, a connection string (PrimaryStation), and a service type. |
DataLink | A property on UnsTags that binds a local tag to a path in a TagProvider's discovered namespace. When set, the runtime auto-manages communication on demand. This is the key mechanism behind Linked Tags. |
Local Tags | Tags defined in UNS configuration with no external binding. Values come from Devices, scripts, or manual entry. DataLink is not set. |
Linked Tags | Tags defined in UNS configuration with DataLink set to a TagProvider path. The tag has full local metadata (name, type, alarms, historian) but gets its value from the external source. |
Dynamic Tags | Tags created automatically at runtime when accessed via |
Asset() Syntax | Runtime function that resolves a path directly to a TagProvider's namespace: |
Module Extension | A service type that embeds third-party .NET modules as native UNS components. Partners provide an XML descriptor and DLL; the module appears in Designer and exposes data through standard UNS patterns. |
External System TagProvider Service Unified Namespace
? ? ?
? FrameworX connects ? ?
??????????????????????????? ?
? ? ?
? Discovers namespace ? ?
??????????????????????????? ?
? ? ?
? Read/Write on demand ? Tags in RTDB ?
???????????????????????????????????????????????????????
? ? ?
Data from TagProviders appears in the UNS just like local tags — all modules (Displays, Alarms, Historian, Scripts) can use it uniformly. Communication is on-demand: activated when a tag is consumed by a display, script, or other module, and released when no longer needed.
TagProvider Services support three patterns for integrating external data, depending on how much control you want over the namespace:
Pattern | When to Use | DataLink | Access Method |
|---|---|---|---|
Local Tags | Full local control, values from Devices or scripts | Not set |
|
Linked Tags | Local metadata + values from external source | Set to TagProvider path |
|
Dynamic Tags | External source defines namespace, zero config | N/A |
|
→ See UNS Tag Discovery Reference for a deep dive on all three patterns and governance models
Designer: Unified Namespace → TagProvider Services
Each TagProvider connection is configured with:
→ See UNS TagProvider Services Reference for the full property list
Use Case | TagProvider Connector | Pattern |
|---|---|---|
Subscribe to MQTT sensor data from an IIoT broker | MQTT Client | Dynamic Tags or Linked Tags |
Browse and integrate an OPC UA server | OPC UA Client | Linked Tags or Dynamic Tags |
Read ControlLogix PLC tag database | AB Rockwell ControlLogix | Linked Tags |
Query SQL database for process data | SQL Database | Linked Tags |
Aggregate data from another FrameworX solution | Server to Server | Dynamic Tags |
Integrate AI/ML analytics into UNS | Module Extension (e.g. Sorba.AI) | Module Extension |
Read historical data from enterprise historian | Canary Labs, GE Proficy, InfluxDB | Linked Tags |
Explanation — to understand concepts
→ TagProvider Services Technology — Architecture, service types, and comparison with Devices module
→ UNS Tag Discovery Reference — Connection patterns: Local, Linked, and Dynamic Tags
How-to Guides — to accomplish specific tasks
→ TagProvider Services How-to — Step-by-step configuration procedures
→ Data Explorer Tool — Discover and import external data structures
Reference — technical details
→ UNS TagProvider Services Reference — All properties and configuration
→ UNS Services Monitor Reference — Runtime monitoring of TagProvider connections