Controller Cycle Scheduling for Precise Frame Transmission Timing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In controller systems, variations in processing time due to software processes affect the timing of frame transmission, leading to decreased synchronization accuracy among devices, especially with increased data processing loads.

Innovation Solution

The controller schedules part of the software process for the next control cycle in the current cycle, reducing data processing variation and ensuring timely frame transmission by storing output data in frames ahead of time, allowing for precise synchronization without modifying existing protocol stacks or hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the controller processes increased amounts of data in the software process, then the data processing capability is improved, but the variation in processing time increases, causing greater variation in frame transmission timing

Engineering Contradiction:
Improveamount of data to be processedVSAvoidtiming precision of frame transmission
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by executing part of the storing process in the current control cycle before the next control cycle begins. Specifically, the controller starts storing output data in a frame during the current cycle and completes the storing operation in the next cycle, thereby reducing the processing time variation in the next cycle and ensuring more consistent frame transmission timing.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the controller executes more data processing tasks in each control cycle, then the processing throughput is improved, but the variation in frame transmission timing increases, affecting synchronization accuracy

Engineering Contradiction:
Improveprocessing throughputVSAvoidsynchronization accuracy among devices
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by executing part of the storing process in the current control cycle before the next control cycle begins. Specifically, the controller starts storing output data in a frame during the current cycle and completes the storing operation in the next cycle, thereby reducing the processing time variation in the next cycle and ensuring more consistent frame transmission timing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies segmentation by dividing the storing process into two parts: the first part is executed in the current control cycle, and the second part is executed in the next control cycle. This segmentation allows the controller to distribute the processing load across multiple cycles, reducing the variation in processing time for any single cycle and thereby improving synchronization accuracy.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11269313B2Controller and control system that stores data in current control cycle for output in next control cycle
Publication Date: 2022.03.08 OMRON CORP
  • US11269313B2 patent drawing
  • US11269313B2 patent drawing
  • US11269313B2 patent drawing

AI summary

A controller includes a processor and a communication circuit. The controller controls an object of control by sequentially repeating, on a predetermined control cycle, the transmission of the output data, the reception of the input data, and execution of a control program for generating the output data using the input data. In the transmission of the output data, the processor executes: storing of the output data in a frame, the output data having been generated by the execution of the control program in a previous control cycle; and control of the communication circuit such that the frame, in which the output data is stored, is transmitted to the object of control. The processor executes, in a current control cycle, at least a part of the storing of the output data in a frame that is to be executed in a next control cycle.