Online Program Change CPU Overload Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for online program changes in automation systems fail to prevent CPU overload, leading to flawed control behavior, real-time issues, and potential shutdowns due to inadequate dynamic capacity checks and manual calculation inaccuracies, resulting in suboptimal CPU utilization and increased risk of system failure.
Innovation Solution
A method where new program parts are loaded into the CPU, with a provisional switch to the new user program followed by monitoring of all program cycles to detect potential overloads, allowing a seamless switch back to the original program if overload is detected, ensuring no user intervention is required and maintaining system stability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If online program changes are performed by loading new program parts into the CPU, then the system can be updated during operation, but CPU overload may occur leading to flawed control behavior or system shutdown
Solution Approach 1:
The patent applies preliminary action by performing a test execution of the new user program before permanent installation. The system loads the new program parts into the CPU, executes them in a test run to verify correctness, and only after successful verification does it perform the permanent switch. This preliminary testing phase prevents CPU overload and ensures system stability during online updates.
Solution Approach 2:
The patent introduces an intermediary mechanism in the form of a temporary test execution state. Between the loading of new program parts and their permanent installation, the system performs an intermediate test run that acts as a buffer. This intermediary step allows verification of the new program without immediately committing it, thereby protecting system stability while enabling online updates.
2Loss of time
If manual calculation of CPU usage level is performed offline, then CPU utilization can be estimated, but the process is time-intensive and error-prone
Solution Approach 1:
The patent replaces the manual mechanical calculation process with an automated computer-based test execution system. Instead of manually summing up execution times of individual functions and factoring in system and communication loads, the system automatically executes the new program parts and measures actual CPU usage. This substitution eliminates manual errors and significantly reduces the time required while improving accuracy.
3Productivity
If new program parts are loaded and executed immediately, then online updates can be performed quickly, but CPU overload may occur without sufficient time to reverse the change
Solution Approach 1:
The patent performs preliminary action by executing a test run of the new program parts before permanent installation. This preliminary execution allows the system to verify program correctness and detect potential CPU overload conditions before they can cause system failure. The test phase provides sufficient time to detect issues and revert to the original program if necessary.
Solution Approach 2:
The patent implements beforehand cushioning by creating a safety buffer through the test execution phase. This intermediate step cushions against potential errors by providing a verification mechanism before permanent installation. If the test run reveals CPU overload or other errors, the system can revert to the original program, preventing catastrophic failure and providing time for error correction.
Data Source
AI summary
A method for performing online program changes on an automation system is provided. New program parts are loaded into a CPU of the automation system, while a user program is currently running, in order to provide a new user program. In order to avoid overloading of the CPU, switching is made to the new user program only after it is determined, by monitoring of the first processing of all the program cycles, that the CPU has not been overloaded.


