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 (UDT) | Reusable data structure with variables and references | Motor template with Speed, Current, Status |
TagProvider | 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 |
---|---|
|
|
Configuration Workflow
Step | Action | Description | Tools |
---|---|---|---|
1. Define DataTemplates | Create reusable structures | Design custom data structures for assets | Template Editor |
2. Build Asset Tree | Organize hierarchy | Create folders matching physical/logical structure | Asset Browser |
3. Create Tags | Define variables | Add tags based on templates or basic types | Tag Editor, DataExplorer |
4. Configure Enumerations | Set discrete values | Define state options with messages and colors | Enumeration Editor |
5. Add TagProviders | Connect external data | Link to OPC-UA, MQTT, databases, historians | TagProvider Config |
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 |
Info | ||
---|---|---|
| ||
The DataExplorer tool streamlines UNS creation by enabling:
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:
Direct Tag Access
Using tag names and paths: ``` Tag.Machine1.Temperature Tag.Tank01.Level ``` - Supports local tags - Access nested properties - Type-safe references
Asset Method Access
Direct Tag Access: Using tag names and paths
- Example:
Tag.Machine1.Temperature
- Supports both local tags and nested template properties
- Supports mapping on Device Module, or setup using the LinkedData field.
Asset Method Access: Using the Asset() function
- Example:
Asset("/Line1/Machine1.Temperature")
- Required for TagProvider services using dynamic external references
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
Real-time Performance
- 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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 |
Development Efficiency Tools
- 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 |
---|
|
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 dashboards
Deep 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 development
In this section...
Page Tree | ||||
---|---|---|---|---|
|