Dynamic Code Swapping in Virtual Controller Instances
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional industrial controllers are rigid and inflexible, requiring specific hardware and software tailored to a particular control engine, leading to inefficiencies and increased costs when trying to optimize their performance in dynamic industrial automation environments.
Innovation Solution
The implementation of an edit component that enables dynamic and seamless code implementation and swapping on controller engine instances within an industrial environment, allowing for real-time programming, trouble-shooting, and testing without affecting other instances or controllers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional controllers use a one-to-one ratio between control engines and physical hardware platforms, then each controller is dedicated to a specific control engine, but optimizing controllers to utilize full potential in a dynamic manner becomes virtually impossible and requires increasing the amount of controllers which is costly and inefficient
Solution Approach 1:
The patent enables a single physical controller to host multiple virtual controller instances, allowing one hardware platform to perform multiple control functions simultaneously. This virtualization approach makes the controller universal and adaptable to different control engine requirements without needing to increase the physical number of controllers.
Solution Approach 2:
The patent creates virtual copies of controllers through virtualization, where multiple virtual controller instances are generated from a single physical controller. These virtual instances can be dynamically allocated and configured to match different control engine requirements, providing flexibility without physical hardware multiplication.
2Reliability
If code updates are performed on conventional controllers, then system functionality can be improved, but downtime is required for safety and productivity which minimizes operational efficiency
Solution Approach 1:
The patent allows code to be prepared and validated in advance on a development or test instance before being deployed to production. This preliminary action ensures code safety and correctness before actual implementation, reducing the need for downtime during updates.
Solution Approach 2:
The patent introduces a code management system that acts as an intermediary between code development and controller execution. This intermediary handles code compilation, validation, and deployment, allowing seamless code updates without requiring the controller to shut down, thus maintaining continuous operation.
3Productivity
If hardware and software are specifically tailored to a particular control engine, then the controller can efficiently execute that specific engine, but the controller becomes rigid and inflexible for other applications
Solution Approach 1:
The patent implements dynamic virtualization where controller instances can be dynamically created, configured, and allocated based on real-time requirements. This dynamic approach allows the system to optimize for specific control engines when needed while maintaining the ability to reconfigure for different applications, balancing efficiency and adaptability.
Solution Approach 2:
The patent segments the controller functionality into separate virtual instances, each optimized for specific control engines. This segmentation allows each instance to maintain high efficiency for its designated purpose while the overall system remains flexible through the ability to create, modify, or remove instances as needed.
Data Source
AI summary
The claimed subject matter provides a system and/or method that facilitates programming in an industrial environment. An online controller can execute with a real-time operating system such that the online controller can include two or more controller engine instances executing as processes on the online controller, wherein at least one controller engine instance can employ a portion of code to utilize a device within the industrial environment. An edit component can dynamically implement a portion of disparate code with at least one controller engine instance.


