PLC App Container Architecture for Runtime Function Extension
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional programmable logic controllers (PLCs) are inflexible, making it difficult to modify or extend their functionality without requiring costly redesigns and system downtime, as they are not easily customizable once installed.
Innovation Solution
The implementation of an App Runtime Environment with an App Container and Real-time Data Backbone (RTDB) allows for modular processes, enabling apps to be added, replaced, or removed without affecting other apps, providing a 'Plug-n-Play' functionality by decoupling apps from the PLC operating environment and using a common data repository for interactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional PLC software is redesigned to modify functionality, then the desired functionality is achieved, but the PLC must be stopped and restarted causing operational downtime
Solution Approach 1:
The system segments PLC functionality into modular apps that can be independently loaded and executed. The PLC program is divided into a base program and multiple selectable app programs, allowing individual apps to be modified, added, or removed without affecting the entire system operation.
Solution Approach 2:
The system implements dynamic app selection where the PLC can switch between different app programs based on operational needs. The app selection mechanism allows runtime changes in functionality without requiring system restart, enabling flexible adaptation to changing requirements.
2Adaptability or versatility
If conventional PLC software is redesigned to extend functionality, then new functionality is added, but the redesign and installation process is costly and requires system shutdown
Solution Approach 1:
The system creates a universal app framework that can accommodate multiple different app programs with a single PLC hardware platform. The standardized app interface and selection mechanism allow the same PLC to perform various functions by loading different apps, eliminating the need for custom redesigns for each functionality extension.
Solution Approach 2:
The system uses app programs as copyable, replaceable software modules that can be deployed without modifying the core PLC system. Apps can be copied, stored, and loaded into the PLC memory, allowing functionality extension through software replication rather than expensive custom development.
3Adaptability or versatility
If PLC functionality is made more customizable, then flexibility is improved, but system complexity increases
Solution Approach 1:
The system implements a nested structure where multiple app programs are contained within a single PLC system framework. The app programs are nested within the PLC memory and execution environment, allowing multiple layers of functionality to be organized hierarchically with a standardized interface layer managing the complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A programmable logic controller comprises a processor, a PLC operating environment, a device memory, and an app container. The PLC operating environment is configured to execute a controller automation program providing a plurality of skill functions. The device memory comprises a plurality of apps which are configured to perform a discrete set of automation functions using the plurality of skill functions. The app container is logically separate from the PLC operating environment and configured to provide a runtime environment for the apps.