Dual Redundant Process Controller With Software Clock Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current process control systems face challenges in achieving high reliability and seamless redundancy, particularly in maintaining synchronization between dual modules, which can lead to errors and increased complexity, and often require dedicated hardware for clock synchronization and voting mechanisms.

Innovation Solution

A dual redundant process controller system is implemented, where two processor modules execute the same control application, with synchronization information exchanged through message-based synchronization, and cyclic redundancy checks (CRCs) are used to verify data integrity, allowing for generic hardware implementation and dynamic clock adjustment to reduce clock skew.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dedicated hardware is used for clock synchronization and voting mechanisms, then reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improvefault toleranceVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces dedicated hardware mechanisms (voting logic, clock synchronization circuits) with software-based implementations running on generic processors. The voting function is implemented as software that compares outputs from multiple processor instances, and clock synchronization is achieved through software-mediated message passing and timestamp comparison, eliminating the need for specialized hardware components.

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

Solution Approach 2:

The patent employs generic processor modules that can perform multiple functions including control application execution, voting, clock synchronization, and diagnostic functions. These universal processor instances replace specialized hardware components, allowing the same hardware to serve multiple purposes through software configuration rather than requiring dedicated hardware for each function.

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

2Productivity

If message-based synchronization is used, then processing efficiency is improved, but synchronization precision may be affected

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsynchronization precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements a feedback mechanism where processor instances exchange timestamped messages and compare their local clocks against received timestamps. Each processor adjusts its clock based on the difference between its local time and the remote processor's time, creating a continuous feedback loop that maintains synchronization precision despite using software-based message passing.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary clock synchronization adjustments before critical voting operations. Processor instances continuously exchange synchronization messages and adjust their clocks in advance, ensuring that when voting operations occur, the processors are already synchronized, thereby maintaining precision without compromising processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8966340B2System and method for fault tolerant computing using generic hardware
Publication Date: 2015.02.24 SCHNEIDER ELECTRIC SYSTEMS USA INC
  • US8966340B2 patent drawing
  • US8966340B2 patent drawing
  • US8966340B2 patent drawing

AI summary

A dual redundant process controller is provided. The controller comprises a process control application that executes on a first and a second module. When executed by the first module, a first application instance writes a first synchronization information to the second module, reads a second synchronization information from the first module, and, when the second disagrees with the first synchronization information after passage of a time-out interval, performs a resynchronization function; and wherein, when executed by the second module, the second application instance writes the second synchronization information to the first module, reads the first synchronization information from the second module, and, when the first disagrees with the second synchronization information after passage of the time-out interval, performs the resynchronization function. The first application instance calls the synchronization function provided by the multitasking real-time operating system before invoking a set events function provided by a multitasking real-time operating system.