Control Apparatus for Online Program Organization Unit Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional PACs face difficulties in updating user programs while processing in a multitasking manner, leading to potential inconsistencies in calculation results due to varying task periods, where changes to program organization units may not be reflected uniformly across tasks with different execution cycles.

Innovation Solution

A control apparatus with a task execution portion that executes multiple tasks concurrently, and an updating portion that updates program organization units during the downtime between task execution cycles, ensuring changes are reflected simultaneously across all tasks, maintaining consistency even when tasks have different periods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a program organization unit is updated during multitasking execution, then the user program can be modified online, but the consistency among calculation results of tasks with different periods cannot be maintained

Engineering Contradiction:
Improveonline program update capabilityVSAvoidconsistency of calculation results
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary actions by storing update instructions in a buffer before they take effect. When a POU is updated, the instruction is first stored in a buffer and then executed at the appropriate timing (when all tasks using that POU have completed their current execution cycles), ensuring consistency across all tasks before the update takes effect.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A buffer is introduced as an intermediary between the update request and the actual POU execution. This buffer stores update instructions temporarily and coordinates their execution timing, acting as a mediator that ensures all tasks are synchronized before applying updates, thus maintaining calculation result consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If tasks are executed with different periods in multitasking mode, then processing efficiency is improved, but the timing at which changes to program organization units are reflected varies across tasks

Engineering Contradiction:
Improvemultitasking processing efficiencyVSAvoidupdate reflection timing variation
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system uses feedback mechanisms to track the execution status of all tasks. The determination portion monitors when all tasks have completed their current execution cycles and uses this feedback information to trigger the buffer portion to execute the stored update instruction at the optimal moment, ensuring synchronized updates across tasks with different periods.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system leverages the periodic nature of task execution by waiting for the least common multiple of all task periods to elapse before applying updates. This periodic synchronization ensures that all tasks are at their completion point simultaneously, allowing consistent update reflection across all tasks despite their different individual periods.

Inventive Principle:
Principle #19Periodic action

3Reliability

If the system waits for all tasks to complete before updating a program organization unit, then consistency is maintained, but processing time is increased

Engineering Contradiction:
Improveconsistency of calculation resultsVSAvoidupdate execution delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of waiting passively for task completion, the system performs preliminary actions by storing update instructions in a buffer in advance. This allows the update to be ready and waiting, to be executed immediately when the determination portion confirms all tasks have completed, minimizing the actual delay while maintaining consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer acts as an intermediary that decouples the update request from the actual update execution. It allows the system to accept update requests immediately (improving responsiveness) while delaying the actual execution until all tasks are synchronized (maintaining consistency), thus resolving the time-consistency trade-off.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9377769B2Control apparatus for updating a user program while processing is being performed and recording medium
Publication Date: 2016.06.28 OMRON CORP
  • US9377769B2 patent drawing
  • US9377769B2 patent drawing
  • US9377769B2 patent drawing

AI summary

A control apparatus capable of updating a user program while processing is being performed in a multitasking manner is provided. A processor includes a memory that stores a user program containing a program organization unit as well as a central processing unit executing a task containing the user program and also updating the program organization unit stored in the memory. The central processing unit is configured to execute a plurality of tasks concurrently and to execute each task with a period corresponding to the task. Moreover, the central processing unit is configured to update the program organization unit stored in the memory during the period of time from when a plurality of tasks to be executed have been finished until when the plurality of tasks are executed again.