Controller-Agnostic Smart Object Allocation for Multi-Controller IDEs
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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
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.
Data Source
Figure 1
Figure 2
Figure 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.