Shared-Memory Motion Control for Parallel Real-Time Commands
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current motion control systems lack the ability to execute multiple motion operations in parallel using a computer with both non-real-time and real-time operating systems, limiting cost reduction and versatility.
Innovation Solution
A motion control program that utilizes a computer with both non-real-time and real-time OS, featuring a channel management unit on the real-time OS to create shared memory for operation channels, allowing multiple user-created programs to control control target devices in parallel through a fixed-cycle processing unit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dedicated hardware motion controller is used, then real-time performance is improved, but cost and device complexity increase
Solution Approach 1:
The patent creates a software-based motion control system that copies the functionality of dedicated hardware motion controllers by implementing a motion control program on a general-purpose computer. This software implementation includes a real-time processing unit that executes motion control algorithms and generates control commands, replicating the real-time performance capabilities of hardware controllers without requiring specialized hardware equipment.
Solution Approach 2:
The patent replaces the mechanical/hardware-based motion control system with a software-based system running on a general-purpose computer. By substituting the dedicated hardware architecture with a software implementation that includes a real-time processing unit and proper scheduling mechanisms, the system achieves comparable real-time performance while eliminating the need for specialized hardware equipment.
2Device complexity
If a general-purpose computer is used, then cost is reduced, but real-time performance deteriorates
Solution Approach 1:
The patent segments the operating system into two distinct parts: a non-real-time OS for user interface and configuration tasks, and a real-time processing unit for motion control execution. This segmentation allows the general-purpose computer to simultaneously run both types of operations, with the real-time processing unit guaranteeing deterministic response times for motion control while the rest of the system provides full functionality of a general-purpose computer.
Solution Approach 2:
The patent introduces a real-time processing unit as an intermediary layer between the user-created motion control programs and the control target devices. This intermediary ensures that control commands are generated and transmitted with guaranteed real-time performance, bridging the gap between the flexibility of general-purpose computers and the deterministic requirements of motion control applications.
3Productivity
If multiple motion operations are executed in parallel, then productivity is improved, but system complexity increases
Solution Approach 1:
The patent creates a universal motion control system that can execute multiple user-created motion control programs simultaneously on a single general-purpose computer. The real-time processing unit is designed to handle multiple control tasks in parallel, allowing different control target devices to be operated concurrently with different motion profiles, thereby improving productivity without requiring separate hardware systems for each operation.
Data Source
Figure 1
Figure 2
Figure 3(a)~3(b)
AI summary
A motion control program is provided which causes a computer to function as: a channel management unit on a real-time OS that creates an operation channel common to a plurality of reception units on a shared memory; the plurality of reception units on a non-real-time OS each of which instructs via the operation channel, when receiving a preparation instruction from a user-created programs associated with the each reception unit, a generation unit to generate a control command channel; the channel management unit on the real-time OS that creates, on the shared memory, a control command channel associated with the user-created program that has provided the preparation instruction; the reception unit on the non-real-time OS that receives a control command from the user creation program and stores control command information indicating a content of the received control command, in the control command channel; and a fixed-cycle processing unit on the real-time OS that transmits an interpolation command to a control target device for each motion control cycle, based on the control command information obtained from the control command channel.