Hierarchical Namespace for PLC Data Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Industrial control systems face challenges due to a lack of uniformity across system/process boundaries and between controller manufacturers, software vendors, and customers, leading to inefficiencies and increased costs in data management and automation processes, particularly in handling data from programmable logic controllers (PLCs) which use flat namespace data structures, making it difficult to locate and interpret data across disparate systems.

Innovation Solution

A distributed database system that provides a unified view of data by using a hierarchically structured data model, allowing programmable logic controllers to generate data objects that conform to this model, and includes a directory to locate data, monitoring storage capacity, and archiving components to manage data transfer and storage efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a flat namespace data structure is used in PLCs, then real-time control efficiency is improved, but data location and interpretation across disparate systems becomes difficult

Engineering Contradiction:
Improvereal-time control efficiencyVSAvoiddata location and interpretation
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces a hierarchical namespace structure that adds dimensional organization to the flat data structure. Data is organized into multiple levels (system level, device level, object level) allowing efficient access through hierarchical paths while maintaining the flat storage structure for real-time performance. This resolves the contradiction by providing structured access without compromising storage efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent introduces a namespace translation layer that acts as an intermediary between the flat data storage structure and the hierarchical access interface. This translation layer maps hierarchical namespace queries to flat data structure operations, enabling intuitive data location while maintaining real-time control efficiency at the data storage level.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If ad-hoc coding is used to handle data discrepancies between manufacturers and vendors, then system integration is achieved, but development costs and programming complexity increase significantly

Engineering Contradiction:
Improvesystem integration capabilityVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal hierarchical namespace structure that can represent data from multiple manufacturers and vendors in a standardized format. This universal structure eliminates the need for manufacturer-specific ad-hoc coding by providing a common framework that accommodates diverse data sources through consistent hierarchical organization and naming conventions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the fundamental parameter of data organization from flat manufacturer-specific namespaces to a standardized hierarchical namespace with defined levels and naming conventions. This parameter change enables systematic data access across different manufacturers and vendors without requiring custom programming for each integration scenario.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If data is distributed across multiple PLCs and systems, then system scalability is improved, but data access and management becomes complex

Engineering Contradiction:
Improvesystem scalabilityVSAvoiddata management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the distributed data space into hierarchical namespaces organized by system, device, and object levels. Each PLC and system component maintains its own namespace segment, which can be independently managed and scaled. The hierarchical structure provides a unified view of distributed data without requiring centralized management, thus maintaining scalability while reducing management complexity.

Inventive Principle:
Principle #1Segmentation

4Stability of the object's composition

If uniform data structures are implemented across all controllers, then data consistency is improved, but flexibility in handling manufacturer-specific formats is reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidformat flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent introduces a namespace translation intermediary that converts manufacturer-specific data formats into the standardized hierarchical namespace structure. This intermediary layer maintains data consistency in the unified namespace while preserving flexibility in handling diverse manufacturer formats, as the translation occurs at the interface layer without constraining the underlying data structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7676281B2Distributed database in an industrial automation environment
Publication Date: 2010.03.09 ROCKWELL AUTOMATION TECH INC
  • US7676281B2 patent drawing
  • US7676281B2 patent drawing
  • US7676281B2 patent drawing

AI summary

A distributed database system within an industrial automation environment comprises a plurality of associated programmable logic controllers, wherein each of the programmable logic controllers includes data relating to one of a process and a device. Furthermore, the data within the plurality of programmable logic controllers can conform to a hierarchically structured data model, which, for example, can be based upon ISA S95, ISA S88, OMAC, or any suitable combination thereof. A reception component receives and services a request for data that is located within at least one of the programmable logic controllers.