Controller-Agnostic Smart Object Allocation for Multi-Controller IDEs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current industrial control program development platforms require initial binding to a specific industrial controller, limiting flexibility and scalability, as they support a one-to-one relationship between a control project and its associated controller, making it difficult to deploy control programs across multiple controllers and inflexible in scenarios where hardware implementation is unknown.

Innovation Solution

An industrial integrated development environment (IDE) system that allows decoupled development of industrial control programs by defining and storing them as smart objects, which can be assigned to selected industrial controllers after development, enabling a one-to-many relationship and facilitating reuse across multiple controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a control project is bound to a single industrial controller at the early stage of development, then the project structure is simple and easy to manage, but the flexibility and scalability are limited when deploying to multiple controllers

Engineering Contradiction:
Improveproject structureVSAvoiddeployment flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The control project is segmented into a master project and multiple controller-specific subprojects. The master project contains common configurations and code that can be reused across controllers, while subprojects contain controller-specific adaptations. This segmentation allows the project to maintain simplicity through modular structure while achieving flexibility through selective instantiation of subprojects for different controllers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The master project is designed to serve multiple controllers simultaneously, functioning as a universal template that can be instantiated for different controller types. By defining the controller relationship as one-to-many rather than one-to-one, the project structure achieves multi-functionality, allowing the same project to be deployed across multiple industrial controllers with minimal reconfiguration.

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

2Manufacturing precision

If the control program is developed for a specific controller, then the program can be optimized for that controller's capabilities, but it becomes difficult to reuse the program across different controllers

Engineering Contradiction:
Improveprogram optimizationVSAvoidprogram reuse
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

Different parts of the project have different levels of specificity. The master project contains universal, controller-agnostic code and configurations that ensure program reuseability. Controller-specific subprojects contain localized adaptations optimized for particular controller capabilities. This local quality approach allows the program to be optimized for specific controllers where needed while maintaining reuseability in the core functionality.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If multiple controller definitions are allowed in a single project, then the scalability and flexibility improve for multi-controller deployments, but the project complexity and management difficulty increase

Engineering Contradiction:
Improvemulti-controller supportVSAvoidproject management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Multiple controllers are managed through segmentation into a master project and organized subprojects. Each controller has its own subproject that inherits from or references the master project, creating a hierarchical structure. This segmentation reduces management complexity by providing clear separation between common configurations and controller-specific settings, making it easier to navigate and maintain multi-controller projects.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If the hardware implementation is unknown during development, then the adaptability to different hardware configurations improves, but the ability to optimize the program for specific hardware capabilities deteriorates

Engineering Contradiction:
Improvehardware agnosticismVSAvoidhardware optimization
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The master project is created and configured in advance with generic, hardware-agnostic code and structures. This preliminary action establishes a foundation that works across different hardware platforms. Later, when specific hardware is identified, controller-specific subprojects are created that optimize the code for that hardware's capabilities, building upon the pre-established master project foundation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4379484A1Multiple controller smart object allocation in inudstrial design environment
Publication Date: 2024.06.05 ROCKWELL AUTOMATION TECH INC
  • EP4379484A1 patent drawingFigure 1
  • EP4379484A1 patent drawingFigure 2
  • EP4379484A1 patent drawingFigure 3

AI summary

An industrial integrated development environment (IDE) supports decoupled development of industrial control programs without requiring the programs to be initially bound to a specific industrial controller. The IDE system allows industrial control programs to be defined as smart objects within an industrial control project. These smart objects can be created without an initial binding to an industrial controller, and can subsequently be assigned to selected industrial controllers after development of the control programs is complete, or while program development is in progress. A smart object can be reused and deployed to multiple industrial controllers, providing a simple means to implement common control functionality on multiple different automation systems. To allow for deployment of smart objects to selected controllers, the IDE system supports creation of a control project having a one-to-many relationship with industrial controllers, such that multiple controllers can be defined within a single project.