Controller Synchronization via Buffer Memory for Parallel Motor Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing motor control systems face challenges in synchronizing short-cycle and long-cycle motion programs, leading to increased user burden in managing data transmission and reception between control programs, which affects computation time and efficiency.
Innovation Solution
A controller utilizing a multi-core processor with a scheduler program that executes multiple control programs in parallel, allowing for synchronization by storing motor control variables in a buffer memory and copying them into a work area at specific timing, enabling data transmission and reception between control programs in predetermined cycles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple control programs are executed in parallel to control multiple motors, then motor control efficiency is improved, but synchronization between control programs becomes complex and burdensome for users
Solution Approach 1:
The patent introduces a buffer memory as an intermediary data storage area between the first and second control programs. The buffer memory automatically stores output data from the first control program and makes it available to the second control program, eliminating the need for users to manually manage data transmission and reception timing between parallel-executed control programs.
2Reliability
If control programs are executed sequentially to ensure proper data synchronization, then data accuracy is improved, but computation time increases
Solution Approach 1:
The patent divides the control system into multiple independent control programs that can execute simultaneously in parallel on different CPU cores. Each control program operates independently with its own execution cycle, eliminating the need for sequential execution while maintaining data synchronization through the buffer memory mechanism.
Solution Approach 2:
The buffer memory is prepared in advance as a shared data storage area. The first control program outputs data to the buffer memory during its execution cycle, and the second control program reads the required data from the buffer memory at its designated timing, ensuring proper synchronization without sequential execution delays.
3Manufacturing precision
If control programs share data frequently to maintain synchronization, then control accuracy is improved, but system complexity increases
Solution Approach 1:
The buffer memory serves multiple functions: it acts as output storage for the first control program, input storage for the second control program, and a synchronization coordination mechanism. This single multi-functional component replaces what would otherwise require multiple separate data transmission channels and complex timing coordination mechanisms.
Data Source
AI summary
A controller allows easy synchronization between a plurality of control programs executed in parallel to control a plurality of motors. The control programs are executed cyclically in parallel in predetermined execution cycles. Timing data for synchronizing the execution timing of the control programs is transmitted and received between the control programs. After control program 1 is executed, an axis variable to be referred to by the control program 2 is copied from an execution area of the memory for the control program 1 into a buffer area for the control program 2.


