Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Modified

Unified Namespace (UNS) Module Overview

The Unified Namespace (UNS) provides a centralized real-time data repository with hierarchical organization for all solution data. As the first pillar in the Four-Pillar methodology, it creates a standardized method for accessing and managing tags, assets, and external data sources - forming the foundation upon which all other modules build..

→ Tutorial | Concept | UNS Module links: How-to Guide , | Reference

 
PanelborderWidth1borderStylesolidtitle

On this

Page

page:

Table of Contents
maxLevel2
minLevel2

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.

excludeSteps

UNS Module links: [How-to Guide], [Reference Guide]




Key Concepts

ConceptDescriptionExample
TagProcess variable representing real-time and historical dataTank01.Level, Pump01.Status
Asset TreeHierarchical representation of solution data/Plant/Area1/Line1/Equipment
DataTemplate UserType (UDT)Reusable data structure with variables and referencesMotor template with Speed, Current, Status
TagProviderTagProvider ServicesDirect interaction with variables in remote systemsOPC UA server, MQTT broker connections
EnumerationNamed integer values with messages and colors0=Stopped, 1=Running, 2=Fault
Runtime DatabaseIn-memory real-time database managing UNS dataTServer.exe process



What the UNS Does

The Unified Namespace serves as your solution's data backbone:

Data OrganizationSystem 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

StepActionDescriptionTool (Designer UI)Tools
1. Define DataTemplatesUserTypesCreate reusable structuresDesign custom data structures for assetsUNS → UserTypesTemplate Editor
2. Build Asset TreeOrganize hierarchyCreate folders matching physical/logical structureUNS → Asset TreeAsset Browser
3. Create TagsDefine variablesAdd tags based on templates or basic typesUNS → TagsTag Editor, DataExplorer
4. Configure EnumerationsSet discrete valuesDefine state options with messages and colorsUNS → EnumerationsEnumeration Editor
5. Add TagProvidersTagProvider ServicesConnect external dataLink to OPC-UA, MQTT, databases, historiansUNS → TagProvider ServicesTagProvider ConfigServices
6. Map Remote DataLink to Asset foldersConnect TagProvider data to namespace locationsAsset Mapping

Unified Namespace Configuration Workflow

StepActionDescriptionTool (Designer UI)
1. Define DataTemplatesCreate reusable structuresDesign custom data structures for assetsUNS > DataTemplates
2. Build Asset TreeOrganize hierarchyCreate folders matching physical/logical structureUNS > Asset Tree
3. Create TagsDefine variablesAdd tags based on templates or basic typesUNS >Tags, DataExplorer
4. Configure EnumerationsSet discrete valuesDefine state options with messages and colorsUNS > Enumerations
5. Add TagProvidersConnect external dataLink to OPC-UA, MQTT, databases, historiansUNS > TagProviders
6. Map Remote DataLink to Asset foldersConnect TagProvider data to namespace locationsUNS > Asset Tree
UNS → Asset TreeAsset Mapping


Info
titleDataExplorer: 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:

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

(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 properties
  • Supports mapping on Device Module, or setup using the LinkedData field.
    • UserType properties

    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)AspectLocal TagsAsset Method AccessDefinitionVariables created within solutionDirect link to external system variablesCreationConfigured locally in DesignerDefined in remote system, linked dynamicallyData MappingDevices Module handles remote mappingNo local mapping requiredAccess MethodTagName or AssetPathAssetPath only via Asset() methodUse CaseCore solution data requiring local controlDynamic external data without local overheadPerformanceOptimized for frequent accessOn-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


    evelAsset StructureTypical Tags
    Enterprise/CompanyKPIs, Financial metrics
    Site/Company/Site1Production totals, Energy usage
    Area/Company/Site1/Area1Area production, Quality metrics
    Line/Company/Site1/Area1/Line1Line speed, Product counts
    Cell/Company/Site1/Area1/Line1/Cell1Equipment status, Process values

    Naming Convention Best Practices


    Code Block
    titleNaming 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
    titleNaming 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
    titleNaming 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


    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
    • 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 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 developmentP2: Process Modules] - Connect to field devices

    In this section...

    Page Tree
    root@parent
    spaces93DRAF