IP Library Granted Patent US 9,244,591
Granted Patent B2
US 9,244,591 · App. 13/204,914 · Granted Jan 26, 2016

Motion controller with standard and user customized components

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 9,244,591
App. No.
13/204,914
Granted
Jan 26, 2016
Kind
B2
Abstract

System and method for developing a motion application. A motion manager component implementing a supervisory control function and at least one trajectory generation algorithm is stored on a motion controller. A first application programming interface (API) for interfacing the motion manager component to a user developed motion control application is displayed. A second API for interfacing the motion manager component to a user developed communication interface component is displayed. A user application executable for sequencing motion operations in the motion system is created using the first API is created in response to user input. A first communication interface component is created using the second API in response to user input, where the communication interface component is operable to interface with the motion manager component using the second API, and where the user developed communication interface component is executable to communicate with a motion element, e.g., a drive or simulation.

Claims (55)

1. A non-transitory computer-readable memory medium comprising program instructions for developing a motion application, wherein the program instructions are executable by a programmable logic controller (PLC) to implement:

a motion manager component, wherein the motion manager component implements:

a supervisory control function and at least one trajectory generation algorithm;

a first application programming interface (API) that interfaces the motion manager component to a user developed motion control application on the PLC; and

a second API that allows a user developed custom communication interface program on the PLC to read drive command data from the motion manager component and write drive current data to the motion manager component, wherein the user developed custom communication interface program is executable by the PLC to communicate with a motion element comprising a motion drive device configured to move an actuator.

2. The non-transitory computer-readable memory medium of claim 1 ,

wherein the second API comprises one or more graphical program nodes, wherein each of the one or more graphical program nodes is operable to be included in a graphical program, and wherein each of the one or more graphical program nodes is executable to interface to the motion manager component.

3. The non-transitory computer-readable memory medium of claim 1 ,

wherein the second API comprises a plurality of graphical program nodes.

4. The non-transitory computer-readable memory medium of claim 1 ,

wherein the second API comprises at least one read command and at least one write command.

5. The non-transitory computer-readable memory medium of claim 1 , wherein the program instructions are further executable to implement:

one or more vendor defined communication interface components, wherein the one or more vendor defined communication interface components are configured to communicate with a pre-defined motion element.

6. The non-transitory computer-readable memory medium of claim 1 , wherein the program instructions are further executable to implement:

a palette of graphical program nodes which compose the second API.

7. The non-transitory computer-readable memory medium of claim 1 , wherein the program instructions are further executable to implement:

a software development environment that is usable to create the user developed motion control application and the user developed custom communication interface program.

8. The non-transitory computer-readable memory medium of claim 7 ,

wherein the software development environment is a graphical programming development environment.

9. The non-transitory computer-readable memory medium of claim 1 ,

wherein the motion manager component is executable to perform motion scans at a specified frequency, and wherein the user developed custom communication interface program is configured to execute at the specified frequency.

10. A computer-implemented method of for developing a motion system, comprising:

utilizing a computer to implement:

storing a motion manager component on a motion controller implemented on a programmable logic controller (PLC), wherein the motion manager component implements a supervisory control function and at least one trajectory generation algorithm;

displaying a first application programming interface (API) of the motion manager component that interfaces the motion manager component to a user developed motion control application deployed to the motion controller;

displaying a second API of the motion manager component that interfaces interfacing the motion manager component to a user developed custom communication interface program deployed to the motion controller;

creating a user application using the first API in response to user input, wherein the user application is executable by the motion controller that sequences motion operations in the motion system; and

creating a first user developed custom communication interface program using the second API in response to user input, wherein the first user developed custom communication interface program is executable by the motion controller to interface with the motion manager component using the second API, wherein the second API allows the first user developed custom communication interface program to read drive command data from the motion manager component and write drive current data to the motion manager component, and wherein the first user developed custom communication interface program is executable by the motion controller to communicate with a motion element comprising a motion drive device configured to move an actuator.

11. The computer-implemented method of claim 10 ,

wherein the second API comprises one or more graphical program nodes, wherein each of the one or more graphical program nodes is operable to be included in a graphical program, and wherein each of the one or more graphical program nodes is executable to interface to the motion manager component.

12. The computer-implemented method of claim 10 ,

wherein the second API comprises a plurality of graphical program nodes.

13. The computer-implemented method of claim 10 , further comprising:

utilizing the computer to implement:

storing a vendor-defined communication interface component, wherein the vendor defined communication interface component is configured to communicate with a pre-defined motion element.

14. The computer-implemented method of claim 10 ,

wherein the first user developed custom communication interface program is configured to interface with the vendor-defined communication interface component.

15. The computer-implemented method of claim 10 ,

wherein the motion system is operable to perform motion scans at a specified frequency, and wherein the first user developed custom communication interface program is configured to execute at the specified frequency.

16. A motion control system, comprising:

a motion element, comprising a motion drive device configured to move an actuator; and

a motion controller implemented on a programmable logic controller (PLC) coupled to the motion element, the motion controller implementing:

a motion manager component, wherein the motion manager component implements:

a supervisory control function and at least one trajectory generation algorithm;

a first application programming interface (API) that interfaces the motion manager component to a user developed motion control application; and

a second API that interfaces the motion manager component to a user developed custom communication interface program;

a first user application executable that sequences motion operations in the motion system, wherein the first user application is executable to interface to the motion manager component using the first application programming interface (API); and

a first user developed custom communication interface program executable to communicate with the motion element using the second API, wherein the second API allows the first user developed custom communication interface program to read drive command data from the motion manager component and write drive current data to the motion manager component.

17. The motion control system of claim 16 ,

wherein the motion controller comprises a processor and memory, wherein the memory stores the motion manager component, the user application, and the first user developed custom communication interface program.

18. The motion control system of claim 16 , further comprising:

a vendor-defined communication interface component, wherein the vendor defined communication interface component is configured to communicate with a pre-defined motion element.

19. The motion control system of claim 18 , wherein the first user developed custom communication interface program is configured to interface with the vendor-defined communication interface component.

20. The motion control system of claim 16 ,

wherein the motion controller is operable to perform motion scans at a specified frequency, and wherein the first user developed custom communication interface program is configured to execute at the specified frequency.

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 Aug 8, 2011
From: CHANDHOKE, SUNDEEP
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 026714/0173 →