IP Library Granted Patent US 8,250,343
Granted Patent B2
US 8,250,343 · App. 12/506,832 · Granted Aug 21, 2012

Axial motion control processing by multiple cores respectively executing each of a sequence of functions in parallel for respective portions of a motion system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,250,343
App. No.
12/506,832
Granted
Aug 21, 2012
Kind
B2
Abstract

Controlling a motion system using a plurality of processors. First input data may be received which corresponds to a first portion of the motion system. Second input data may be received which corresponds to a second portion of the motion system. Execution of a first function of a plurality of sequential functions may be assigned to a first processor to determine output for the first portion based on the first input data. Execution of the first function may be assigned to a second processor to determine output for the second portion based on the second input data. The first processor executing the first function and the second processor executing the first function may be performed in parallel. The output for the first portion of the motion system may be provided to the first portion. The output for the second portion of the motion system may be provided to the second portion.

Claims (39)

1. A non-transitory computer accessible memory medium storing program instructions for controlling a motion system using a multi-core processor, wherein the program instructions are executable to:

receive respective input data corresponding to each of a plurality of portions of the motion system;

assign execution of a sequence of functions to each processor core of a plurality of processor cores to determine respective outputs for the plurality of portions of the motion system based on the respective input data, wherein each portion of the motion system has an associated control axis comprising state information and algorithms used to execute the sequence of functions for the portion; and

provide the respective outputs to the plurality of portions of the motion system;

wherein the assignment of execution of the sequence of functions to each of the plurality of processor cores causes each of the processor cores to execute the sequence of functions in parallel, and wherein execution of each respective function in the sequence of functions by each of the processor cores is completed before execution of a next function of the sequence of functions is begun.

2. The non-transitory computer accessible memory medium of claim 1 , wherein the plurality of portions of the motion system is greater in number than the plurality of processor cores, resulting in one or more additional portions, wherein to assign execution of the sequence of functions to each processor core, the program instructions are executable to:

assign an additional execution of the sequence of functions to each of a corresponding one or more of the plurality of processor cores to determine respective outputs for the one or more additional portions of the motion system based on the respective input data.

3. The non-transitory computer accessible memory medium of claim 1 , wherein the plurality of sequential functions comprises at least one function for generating a trajectory for a respective portion of the motion system.

4. The non-transitory computer accessible memory medium of claim 3 , wherein the plurality of sequential functions comprises at least one function for generating a setpoint based on the trajectory for the respective portion of the motion system.

5. The non-transitory computer accessible memory medium of claim 4 , wherein the output for the respective portion is based on the setpoint.

6. The non-transitory computer accessible memory medium of claim 1 , wherein the sequence of functions comprises at least one function for determining state information of the respective portion to determine if there is an error for the respective portion.

7. The non-transitory computer accessible memory medium of claim 1 , wherein a first portion of the motion system comprises a first device, and wherein the output for the first portion comprises a drive command for the first device.

8. The non-transitory computer accessible memory medium of claim 1 , wherein at least some of the portions of the motion system comprise respective devices, and wherein the output for the at least some portions comprises a drive command for each of the devices.

9. A method for controlling a motion system using a multi-core processor, comprising:

receiving respective input data corresponding to each of a plurality of portions of the motion system;

assigning execution of a sequence of functions to each processor core of a plurality of processor cores to determine respective outputs for the plurality of portions of the motion system based on the respective input data, wherein each portion of the motion system has an associated control axis comprising state information and algorithms used to execute the sequence of functions for the portion; and

providing the respective outputs to the plurality of portions of the motion system;

wherein said assigning execution of the sequence of functions to each of the plurality of processor cores causes each of the processor cores to execute the sequence of functions in parallel, and wherein execution of each respective function in the sequence of functions by each of the processor cores is completed before execution of a next function of the sequence of functions is begun.

10. The method of claim 9 , wherein the plurality of portions of the motion system is greater in number than the plurality of processor cores, resulting in one or more additional portions, wherein said assigning execution of the sequence of functions to each processor core comprises:

assigning an additional execution of the sequence of functions to each of a corresponding one or more of the plurality of processor cores to determine respective outputs for the one or more additional portions of the motion system based on the respective input data.

11. The method of claim 9 , wherein the plurality of sequential functions comprises at least one function for generating a trajectory for the respective portion of the motion system.

12. The method of claim 11 , wherein the plurality of sequential functions comprises at least one function for generating a setpoint based on the trajectory for the respective portion of the motion system.

13. The method of claim 12 , wherein the output for the respective portion is based on the setpoint.

14. The method of claim 9 , wherein the sequence of functions comprises at least one function for determining state information of the respective device to determine if there is an error for the respective portion.

15. The method of claim 9 , wherein a first portion of the motion system comprises a first device, wherein the output for the first portion comprises a drive command for the first device.

16. A system, comprising:

a processor, comprising a plurality of processor cores;

a plurality of inputs coupled to a plurality of devices and the plurality of processor cores;

a plurality of outputs coupled to the plurality of devices and the plurality of processor cores;

wherein the system is configured to:

receive respective input data corresponding to each of a plurality of devices;

assign execution of a sequence of functions to each processor core of a plurality of processor cores to determine respective outputs for the plurality of devices based on the respective input data, wherein each device has an associated control axis comprising state information and algorithms used to execute the sequence of functions for the device; and

provide the respective outputs to the plurality of devices;

wherein the assignment of execution of the sequence of functions to each of the plurality of processor cores causes each of the processor cores to execute the sequence of functions in parallel, and wherein execution of each respective function in the sequence of functions by each of the processor cores is completed before execution of a next function of the sequence of functions is begun.

17. The system of claim 16 , wherein the plurality of devices of the system is greater in number than the plurality of processor cores, resulting in one or more additional devices, wherein to assign execution of the sequence of functions to each processor core, the system is configured to:

assign an additional execution of the sequence of functions to each of a corresponding one or more of the plurality of processor cores to determine respective outputs for the one or more additional devices of the system based on the respective input data.

18. The system of claim 16 , wherein the plurality of sequential functions comprises at least one function for generating a trajectory for a respective device of the system.

19. The system of claim 18 , wherein the plurality of sequential functions comprises at least one function for generating a setpoint based on the trajectory for the respective device of the system.

20. The system of claim 19 , wherein the output for the respective device is based on the setpoint.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2009
From: CHANDHOKE, SUNDEEP
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 022984/0990 →