Why Start Here: Without a properly structured UNS, your solution will face maintenance challenges, scalability issues, and integration difficulties. The UNS establishes your data model, naming conventions, and organizational structure that every other module will reference.
UNS Module links: [How-to Guide], [Reference Guide]Key Concepts
Concept | Description | Example |
---|
Tag | Process variable representing real-time and historical data | Tank01.Level, Pump01.Status |
Asset Tree | Hierarchical representation of solution data | /Plant/Area1/Line1/Equipment |
DataTemplate UserType (UDT) | Reusable data structure with variables and references | Motor template with Speed, Current, Status |
TagProviderTagProvider Services | Direct interaction with variables in remote systems | OPC UA server, MQTT broker connections |
Enumeration | Named integer values with messages and colors | 0=Stopped, 1=Running, 2=Fault |
Runtime Database | In-memory real-time database managing UNS data | TServer.exe process |
What the UNS Does
The Unified Namespace serves as your solution's data backbone:
Data Organization | System Integration |
---|
- Creates real-time data models with tags and templates
- Organizes data in hierarchical Asset Tree structure
- Maintains relationships between equipment and data
- Provides intuitive navigation through process hierarchy
| - Enables dynamic connectivity to external systems
- Supports advanced data types including SQL datasets and JSON objects
- Provides type-safe references and up to tri-dimensional arrays
- Maintains event-driven, in-memory database
|
Configuration Workflow
Step | ActionDescription | Tool (Designer UI) | Tools |
---|
1. Define DataTemplatesUserTypes | Create reusable structuresDesign custom data structures for assets | UNS → UserTypes | Template Editor |
2. Build Asset Tree | Organize hierarchyCreate folders matching physical/logical structure | UNS → Asset Tree | Asset Browser |
3. Create Tags | Define variablesAdd | tags based on templates or basic typesUNS → Tags | Tag Editor, DataExplorer |
4. Configure Enumerations | Set discrete values | Define state options with messages and colorsUNS → Enumerations | Enumeration Editor |
5. Add TagProvidersTagProvider Services | Connect external dataLink | to OPC-UA, MQTT, databases, historiansUNS → TagProvider Services | TagProvider ConfigServices |
6. Map Remote Data | Link to Asset folders | Connect TagProvider data to namespace locations | Asset Mapping |
Unified Namespace Configuration Workflow |
---|
Step | Action | Description | Tool (Designer UI) |
---|
1. Define DataTemplates | Create reusable structures | Design custom data structures for assets | UNS > DataTemplates |
2. Build Asset Tree | Organize hierarchy | Create folders matching physical/logical structure | UNS > Asset Tree |
3. Create Tags | Define variables | Add tags based on templates or basic types | UNS >Tags, DataExplorer |
4. Configure Enumerations | Set discrete values | Define state options with messages and colors | UNS > Enumerations |
5. Add TagProviders | Connect external data | Link to OPC-UA, MQTT, databases, historians | UNS > TagProviders |
6. Map Remote Data | Link to Asset folders | Connect TagProvider data to namespace locations | UNS > Asset Tree |
UNS → Asset Tree | Asset Mapping |
Info |
---|
title | DataExplorer: Accelerating UNS Development |
---|
|
The DataExplorer tool streamlines UNS creation by enabling: - Discovery - Browse MQTT brokers, OPC servers, PLCs, and SQL databases
- Import - Create tags and templates directly from discovered structures
- Validate - Test connections before adding to production

This tool reduces manual configuration time by 50-70% when building your tag structure during the Foundation phase. [→ Learn more in the DataExplorer How-to Guide →] |
Runtime Behavior
Data Loading and Management
When solution execution starts, the Unified Namespace definition loads into the in-memory real-time database (TServer.exe process). This database enables event-driven data exchange between all solution modules with millisecond precision.
Data Access Methods
Modules access Unified Namespace variables through two primary methods:
Using tag names and paths: ``` Tag.Machine1.Temperature Tag.Tank01.Level ``` - Supports local tags - Access nested properties - Type-safe references
Asset Method Access
(Local Tags) | Asset Method Access: Using the Asset() function |
---|
Using tag names |
Direct Tag Access: Using tag names and paths- Example:
Tag.Machine1.Temperature - Supports both local tags and nested
|
template propertiesSupports mapping on Device Module, or setup using the LinkedData field.When connecting the tag with the field device - Use the Devices Module to map the Tag to a DevicePoint
- If the protocol has TagDiscovery, you can use the DataLink field
- In this case only the TagProvider services must be enabled
|
Asset Method Access: Using the Asset() function | - Example:
Asset("/Line1/Machine1.Temperature")
|
Required for TagProvider services using dynamic external references- Local Tags can be also use this syntax
TagProvider TagDiscovery Service - If the protocol supports TagDiscovery (OPC UA, MQTT, ..)
- Dynamic Tags can created in runtime as a Asset("path") is used.
- see more at ->
|
Local Tags vs Asset Method Access (External Dynamic Tags) |
---|
Aspect | Local Tags | Asset Method Access |
---|
Definition | Variables created within solution | Direct link to external system variables |
Creation | Configured locally in Designer | Defined in remote system, linked dynamically |
Data Mapping | Devices Module handles remote mapping | No local mapping required |
Access Method | TagName or AssetPath | AssetPath only via Asset() method |
Use Case | Core solution data requiring local control | Dynamic external data without local overhead |
Performance | Optimized for frequent access | On-demand access with caching
Features Highlights
Advanced Data Types
- SQL-compatible types - Full database data type support
- .NET entities - Images, JSON, DataTables in single tags
- Dynamic structures - Tri-dimensional arrays, lists, collections
- Type-safe references - Dynamic tag assignments with validation
Hierarchical Organization
- Asset folders - Logical grouping matching equipment
- Nested templates - Composition and inheritance support
- Reusable components - Template-based design patterns
- Clear data paths - Intuitive navigation through hierarchy
External System Integration
- Protocol support - ControlLogix, OPC-UA, MQTT SparkPlugB
- Database connectivity - SQL, CanaryLabs, InfluxDB, OSIsoft PI
- Remote applications - Other FrameworX solutions
- Dynamic browsing - Real-time discovery of data structures
- Event-driven updates - Millisecond timestamp precision
- In-memory database - High-performance data access
- Publish-subscribe model - Efficient module communication
- Store-and-forward - Reliable handling during disconnections
Common Implementation Patterns
ISA-95 Model Implementation
evel | Asset Structure | Typical Tags |
---|
Enterprise | /Company | KPIs, Financial metrics |
Site | /Company/Site1 | Production totals, Energy usage |
Area | /Company/Site1/Area1 | Area production, Quality metrics |
Line | /Company/Site1/Area1/Line1 | Line speed, Product counts |
Cell | /Company/Site1/Area1/Line1/Cell1 | Equipment status, Process values |
Naming Convention Best Practices
Code Block |
---|
title | Naming Individual Tag Names |
---|
|
Standard Format: [Area]_[Equipment]_[Component]_[Signal]
Examples:
WTP_PUMP01_MOTOR_RUNNING
WTP_PUMP01_MOTOR_SPEED_SP
WTP_TANK01_LEVEL_PV
BLDG_HVAC_AHU01_TEMP_SP
if using UDT SP is BLDG_HVAC_AHU01_TEMP.SP |
Code Block |
---|
title | Naming using Asset Folders and UDTs |
---|
|
Standard Format: [Area]/[Equipment]/[Component][Signal].[Attribute]
Examples:
WTP/PUMP01/MOTOR/RUNNING
WTP/PUMP01/MOTOR/SPEED.SP
WTP/TANK01/LEVEL.PV
BLDG/HVAC/AHU01/TEMP.SP |
Code Block |
---|
title | Naming adding a DataTemplate for Components( MOTOR, TANK) |
---|
|
Standard Format: [Area]/[Equipment]/[ComponentUDT].[Signal]
Examples:
WTP/PUMP01/MOTOR.RUNNING
WTP/PUMP01/MOTOR.SPEED.SP
WTP/TANK01/LEVEL.PV
BLDG/HVAC/AHU01.TEMP.SP |
- Bulk operations - Import/export via Excel, CSV
- Search and filter - Quick tag location and editing
- Template library - Reusable component repository
- Cross-reference - Find tag usage across modules
- Version tracking - Built-in change management
Info |
---|
- Rename any Tag , anytime - Without losing configuration integrity and runtime online updates.
- Cross-reference Tag usage - on-the-fly update, information is always instantly available
|
Next Steps
Continue Building Your Solution
[P2 - Process Modules →] Connect to field devices and manage operations[P3 - Application Modules →] Add business logic and data processing[P4 - User Interface →] Create operator displays and dashboardsDeep Dive Resources
- [UNS (How-to Guide)] - Step-by-step configuration instructions
- [UNS (Reference Guide)] - Complete technical documentation
- [Template Library] - Pre-built industry templates[DataExplorer Tutorial] - Accelerate your UNS developmentP2: Process Modules] - Connect to field devices