Multicore Safety Controller Using Diverse Programs for Fault Diagnosis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of processor architectures in industrial controllers makes it difficult to diagnose errors in real-time, and the cost of implementing full redundancy and diverse software is high, particularly due to the need for multiple microprocessors and separate development teams.

Innovation Solution

A safety industrial controller utilizing a multicore processor with two cores to provide diagnostic functions, where one core executes a first version of the control program and the other executes a second version in parallel to detect failures, and a method to automatically generate diverse software by modifying a control program to execute on inverted data, reducing the need for separate development teams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full redundancy with separate microprocessors is implemented to meet SIL-3 standards, then safety integrity and fault detection capability are improved, but system cost and hardware complexity increase significantly

Engineering Contradiction:
Improvesafety integrityVSAvoidhardware redundancy
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the redundancy function into a single multicore processor by executing diverse control programs on different cores simultaneously. Core 1 executes control program A while core 2 executes control program B, and their outputs are compared for fault detection. This combining of redundant functionality into one processor reduces hardware complexity while maintaining safety integrity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The multicore processor performs multiple functions: it executes the primary control program, executes a diverse backup control program, and performs output comparison for fault detection - all within a single processor unit. This multi-functionality eliminates the need for separate dedicated redundant hardware while achieving SIL-3 safety requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If diverse control programs are developed by separate development teams, then software diversity and fault detection capability are improved, but development cost and time increase

Engineering Contradiction:
Improvesoftware diversityVSAvoiddevelopment cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

Instead of manually creating diverse programs through separate development teams, the patent inverts the approach by automatically generating diverse control programs from a single source program using code transformation techniques. This inversion of the development process achieves software diversity while dramatically reducing development cost and time.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent creates diverse control programs by copying and transforming a single control program rather than developing separate programs from scratch. Code transformation techniques generate variant versions with different control logic that produce different outputs under certain conditions, providing software diversity at minimal development cost.

Inventive Principle:
Principle #26Copying

3Speed

If sophisticated processor architectures with out-of-order execution and speculative execution are used to increase processing speed, then execution speed is improved, but diagnostic capability and error detection become extremely difficult

Engineering Contradiction:
Improveexecution speedVSAvoiderror diagnosis
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an intermediary comparison mechanism that mediates between the sophisticated processor's complex execution and the need for simple fault detection. By comparing outputs from diverse control programs executed on different cores, the system creates a straightforward diagnostic interface that works effectively despite the underlying processor complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11556113B2Safety industrial controller providing diversity in single multicore processor
Publication Date: 2023.01.17 ROCKWELL AUTOMATION TECH INC
  • US11556113B2 patent drawing
  • US11556113B2 patent drawing
  • US11556113B2 patent drawing

AI summary

Different cores of a multicore processor are used to provide diagnostics of sophisticated hardware without full redundancy by static assignment of the cores during individual cycles of the control program and comparison of the outputs. A method of automatically generating diverse programs for execution by these cores may modify one program to compile two different instructions without functionally changing that program through the use of DeMorgan equivalents and diverse compiler optimizations.