Failsafe PLC Signature Verification for Correct Program Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Safety-oriented programmable logic controllers face challenges in ensuring the correct application program is loaded and executed, as different loading regulations for various systems can lead to undetected errors and incomplete or obsolete programs being executed, requiring complex knowledge of memory structures and loading procedures.

Innovation Solution

A method where a signature is created for the application program, with copies stored in both the programmable logic controller and an external component, allowing for comparison to ensure the main memory content matches the desired state, triggering a safe operating state if discrepancies are found, thereby preventing execution of erroneous programs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If different loading regulations are applied for different programmable logic controller systems, then each system can be loaded correctly according to its specific memory structure, but errors occur due to the complexity and variability of loading regulations across different systems

Engineering Contradiction:
Improvecorrect program loadingVSAvoidloading regulations complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a copy of the entire main memory content after loading and compares it with the expected memory state. This copying approach eliminates the need for system-specific loading regulations by verifying the actual memory content directly, rather than relying on complex loading procedures that vary across different PLC architectures.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The verification method is self-adapting to different PLC systems because it directly reads and compares the actual memory content without requiring external knowledge of loading regulations. The system verifies itself by comparing its own memory state against expected values, making the verification process independent of system-specific loading procedures.

Inventive Principle:
Principle #25Self-service

2Reliability

If loading regulations are strictly followed to ensure correct program loading, then program integrity can be maintained, but the process becomes complex and error-prone due to system-specific variations

Engineering Contradiction:
Improveprogram integrityVSAvoidloading process simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent simplifies the verification process by copying the entire main memory content and comparing it with the expected state. This approach maintains program integrity through direct content verification rather than relying on complex loading regulations, making the process easier to implement across different systems without sacrificing reliability.

Inventive Principle:
Principle #26Copying

3Reliability

If the main memory is cleared before loading to remove program fragments, then execution of obsolete programs is prevented, but additional time and complexity are required in the loading process

Engineering Contradiction:
Improveprevention of obsolete program executionVSAvoidloading process time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs verification after loading by comparing the actual memory content with expected values. This preliminary verification action detects any remaining program fragments or loading errors without requiring time-consuming memory clearing operations, thus preventing obsolete program execution while minimizing loading time.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If program fragments are removed from main memory through resetting or filling with standard values, then correct program execution is ensured, but the loading process becomes more complex and time-consuming

Engineering Contradiction:
Improvecorrect program executionVSAvoidloading procedure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses memory content copying and comparison to verify correct program execution without requiring complex procedures like resetting or filling memory with standard values. This approach ensures reliability through direct content verification while keeping the loading procedure simple and efficient.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8856595B2Method for verifying an application program in a failsafe programmable logic controller, and programmable logic controller for performing the method
Publication Date: 2014.10.07 SIEMENS AG
  • US8856595B2 patent drawing
  • US8856595B2 patent drawing
  • US8856595B2 patent drawing

AI summary

A method and a programmable logic controller (SPS) for verifying an application program in a failsafe programmable logic controller, wherein a signature (desired value) is generated using program modules or a complete application program when creating a program, and a copy of the signature is stored in the programmable logic controller and in an external component, respectively. Before the safety-oriented application program is started, the copy of the signature stored by the programmable logic controller is transmitted to the external component and is compared with the copy in the external component. In a further comparison, a signature (actual value) is generated using the content of the main memory of the programmable logic controller and using the actually loaded application program and is then compared with the local copy of the desired value of the signature. Starting of the actual application program is enabled only when both comparisons are positive.