Industrial Controller Event Queue for Signal Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Industrial control systems face challenges in handling increased input and output signal rates due to complexity and distribution, leading to timing issues and potential inaccuracies in processing, as higher processor speeds create radiated emissions and interrupt handling becomes inefficient with rising interrupt frequencies.

Innovation Solution

An event handling system with an I/O module and processor module that generates events responsive to signal states, stores them in an event queue for processing, and executes event tasks based on priority, allowing for efficient handling of multiple events and reducing the likelihood of inaccurate signal processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If processor clock speed is increased to handle higher input signal rates, then processing speed is improved, but timing issues between hardware components and radiated emissions occur

Engineering Contradiction:
Improveprocessor execution speedVSAvoidradiated emissions and timing issues
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The control program is divided into periodic control code execution and interrupt control code execution. The periodic control code runs at a fixed clock speed to maintain timing precision, while interrupt control code handles high-rate input signals asynchronously through interrupt handlers, separating the deterministic timing requirements from the high-speed signal processing requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An event queue data structure is introduced as an intermediary between input signal reception and control code execution. Events are queued with timestamps and processed in chronological order, allowing the system to handle high-rate inputs without increasing the processor clock speed, thus avoiding radiated emissions and timing issues.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If interrupt handling is used to process inputs at increased frequency, then processing rate is improved, but interrupt control code execution time increases and may prevent general control code completion

Engineering Contradiction:
Improveinput signal processing rateVSAvoidcontrol code execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Instead of executing complete control logic for each interrupt, the system generates event records with essential information (input state, timestamp, event type) and processes them periodically. This partial action during interrupts minimizes interrupt execution time while ensuring all necessary data is captured for subsequent periodic processing.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Event data is prepared and queued in advance during interrupt handling, with full processing deferred to the periodic control code execution. This preliminary action captures critical information quickly during interrupts while leaving detailed processing for when the processor is available, ensuring both high processing rate and complete control code execution.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple interrupts occur simultaneously, then high input rate handling is achieved, but subsequent interrupt control code may not be executed

Engineering Contradiction:
Improveinterrupt processing throughputVSAvoidinterrupt control code execution completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Each interrupt generates a copy of the event data structure that is queued for later processing. Multiple simultaneous interrupts create multiple event copies in the queue, ensuring that no interrupt information is lost even if processing is deferred. The periodic control code then processes each queued event independently, guaranteeing complete execution of all interrupt control code.

Inventive Principle:
Principle #26Copying

4Ease of operation

If interrupt handler executes control code based on remote input signals, then responsive control is achieved, but input state may have changed by the time interrupt is received

Engineering Contradiction:
Improvecontrol responsivenessVSAvoidinput signal state accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The interrupt handler captures the input signal state, event type, and timestamp into an event record immediately when the interrupt occurs. This preliminary capture preserves the exact state at the moment of the interrupt, even though processing is deferred. The periodic control code then processes this preserved state information, ensuring both responsiveness and accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10649820B2Method of managing event generation for an industrial controller
Publication Date: 2020.05.12 ROCKWELL AUTOMATION TECH INC
  • US10649820B2 patent drawing
  • US10649820B2 patent drawing
  • US10649820B2 patent drawing

AI summary

An improved system for handling events in an industrial control system is disclosed. A module in an industrial controller is configured to generate an event responsive to a predefined signal or combination of signals occurring. The event is transferred to an event queue for subsequent execution. The event queue may also be configured to store a copy of the state of the module at the time the event is generated. The event queue may hold multiple events and each event is configured to trigger at least one event task. Subsequent events that occur during execution of the event task are stored in the event queue for later execution. An event, or combination of events, may trigger execution of an event task within the module, within the controller to which the module is connected, or within multiple controllers.