Control Apparatus for Online Program Organization Unit Updates
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


