Online Program Change CPU Overload Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveonline program change capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecalculation timeVSAvoidCPU usage accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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

Engineering Contradiction:
Improveupdate speedVSAvoiderror recovery time
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS8495582B2Method for carrying out online program changes on an automation system
Publication Date: 2013.07.23 SIEMENS AG
  • US8495582B2 patent drawing
  • US8495582B2 patent drawing
  • US8495582B2 patent drawing

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.