IP Library Granted Patent US 8,271,105
Granted Patent B2
US 8,271,105 · App. 11/454,053 · Granted Sep 18, 2012

Motion control systems

Assignee: Roy-G-Biv Corporation
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,271,105
App. No.
11/454,053
Granted
Sep 18, 2012
Kind
B2
Abstract

A method of debugging software used to communicate with a motion control system comprising the following steps. Debug information containing diagnostic information associated with a hardware motion control attribute is generated. At least one selected software driver is capable of sending the debug information to a debug target. A software application is caused to call a motion component function to exchange a common motion control attribute with a selected software driver. The called motion component function is used to cause a motion component to exchange a common motion control attribute with the selected driver by calling a driver function. A called driver function is used to cause the selected software driver to convert a common motion control attribute to a hardware motion control attribute, exchange a hardware motion control attribute with the motion control device, and send debug information to the debug target.

Claims (74)

1. A method of debugging software used to communicate with a motion control system, comprising the steps of:

providing a set of hardware motion control attributes used for motion control,

where

at least one hardware motion control attribute is a primitive hardware motion control attribute used for motion control that cannot be emulated using at least one other hardware motion control attribute, and

at least one hardware motion control attribute is a non-primitive hardware motion control attribute that does not meet the definition of a primitive hardware motion control attribute;

providing a set of common motion control attributes;

providing a motion control device capable of storing at least one primitive hardware motion control attribute;

generating debug information containing diagnostic information associated with at least one hardware motion control attribute;

providing a set of software drivers, where at least one software driver is capable of sending the debug information to a debug target;

selecting at least one selected software driver, capable of sending the debug information to a debug target, from the set of software drivers;

providing a software application;

causing the software application to call at least one motion component function to exchange at least one common motion control attribute with the at least one selected software driver;

using at least one called motion component function to cause at least one motion component to exchange at least one common motion control attribute with the at least one selected software driver by calling at least one driver function; and

using at least one called driver function to cause the selected software driver to

convert at least one common motion control attribute to at least one hardware motion control attribute,

exchange at least one hardware motion control attribute with the motion control device, and

send debug information to the debug target.

2. A method as recited in claim 1 , wherein at least one primitive hardware motion control attribute sent to the debug target contains data read from the motion control device.

3. A method as recited in claim 1 , further comprising the step of providing a set of command codes, wherein:

at least one command code is capable of causing the motion control device to perform at least one primitive motion operation, and

at least one software driver is capable of causing at least one command code to be sent to the debug target.

4. A method as recited in claim 1 , further comprising the steps of:

reading at least one primitive hardware motion control attribute; and

causing the debug information to be sent to the debug target.

5. A method as recited in claim 1 , wherein the step of exchanging at least one common motion control attribute causes the debug information to be sent to the debug target.

6. A method as recited in claim 1 , wherein the step of exchanging at least one common motion control attribute causes:

the motion control device to move an object; and

the debug information to be sent to the debug target.

7. A method as recited in claim 1 , wherein the debug target is a file.

8. A method as recited in claim 1 , wherein further comprising the steps of:

providing a user interface; and

causing the debug target to display at least some of the debug information in the user interface.

9. A method as recited in claim 1 , further comprising the step of providing a debug stream, wherein the debug stream is capable of writing at least some of the debug information to a file.

10. A method as recited in claim 1 , further comprising the step of providing a debug stream, wherein the debug stream is capable of sending at least some of the debug information to a user interface.

11. A method as recited in claim 1 , in which the selected software driver exposes a driver software interface, where the driver software interface comprises at least one driver function used to access at least one primitive hardware motion control attribute received from the motion control device.

12. A method as recited in claim 11 , wherein the motion component is capable of querying and using the driver software interface.

13. A method as recited in claim 11 , further comprising the step of exposing a motion software interface, where the motion software interface contains at least one motion component function.

14. A method as recited in claim 13 , wherein the software application is capable of querying and using the motion software interface.

15. A method of debugging motion control software, comprising the steps of:

providing a set of hardware motion control attributes comprising

primitive hardware motion control attributes, where the primitive hardware motion control attributes cannot be emulated using at least one other primitive hardware motion control attribute, and

non-primitive hardware motion control attributes that do not meet the definition of primitive hardware motion control attribute;

providing a set of common motion control attributes;

providing a motion controller capable of storing at least one primitive hardware motion control attribute;

providing a motion control device capable of being controlled using the motion controller;

generating debug information containing diagnostic information associated with at least one hardware motion control attribute;

sending the debug information to a debug target;

providing a set of software drivers, where

at least one software driver is capable of being configured to send the debug information to the debug target, and

at least one software driver exposes at least one driver function that converts at least one common motion control attribute to at least one hardware motion control attribute;

selecting a selected software driver from the set of software drivers;

providing a software application;

causing the software application to exchange at least one common motion control attribute with the selected software driver by calling the at least one software driver function; and

in response to the at least one called software driver function, causing the selected software driver to

exchange at least one hardware motion control attribute with the motion control device, and

send the hardware motion control attribute to the debug target.

16. A method as recited in claim 15 , further comprising the steps of:

reading at least one primitive hardware motion control attribute from the motion control device; and

sending to the debug target the at least one primitive motion control attribute read from the motion control device.

17. A method as recited in claim 15 , further comprising the steps of:

writing at least one primitive hardware motion control attribute to the motion control device; and

sending to the debug target the at least one primitive hardware motion control attribute written to the motion control device.

18. A method as recited in claim 15 further comprising the steps of:

writing at least one primitive hardware motion control attribute to the motion control device, where the at least one primitive hardware motion control attribute written to the motion control device is capable of causing the motion control device to move an object; and

sending to the debug target the at least one primitive hardware motion control attribute written to the motion control device.

19. A method as recited in claim 15 , wherein at least one primitive hardware motion control attribute written to the motion control device is:

capable of causing the motion control device to move; and is

sent to the debug target.

20. A method as recited in claim 15 , wherein the selected software driver exposes a driver interface that contains at least one driver function capable of being used to access at least one primitive hardware motion control attribute received from at least one motion control device.

21. A method as recited in claim 20 , wherein the software application is capable of querying and using the driver interface.

22. A method as recited in claim 15 , wherein the debug target is a file.

23. A method as recited in claim 15 , wherein the debug target is a user interface that displays at least some of the debug information.

24. A method as recited in claim 15 , further comprising the step of providing a debug stream, where the debug stream is capable of writing at least some debug information to a file.

25. A method as recited in claim 15 , further comprising the step of providing a debug stream, where the debug stream is capable of sending at least some of the debug information to a user interface.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2015
From: ROY-G-BIV CORPORATION
To: AUTOMATION MIDDLEWARE SOLUTIONS, INC.
Reel/Frame 035734/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2006
From: BROWN, DAVID W.; CLARK, JAY S.
To: ROY-G-BIV CORPORATION
Reel/Frame 018096/0980 →
Continuity (19)
Continuation 10761537 · Jan 21, 2004
Continuation 10316451 · Dec 10, 2002
Continuation 10021669 · Dec 10, 2001
Continuation 09191981 · Nov 13, 1998
Continuation 08656421 · May 30, 1996
Continuation In Part 08454736 · May 30, 1995
Continuation In Part 11454053
Continuation 09795777 · Feb 27, 2001
Continuation 09205627 · Dec 3, 1998
Continuation 09191981 · Nov 13, 1998
Continuation 08656421 · May 30, 1996
Continuation In Part 08454736 · May 30, 1995
Continuation In Part 11454053
Continuation 09633633 · Aug 7, 2000
Continuation 09191981 · Nov 13, 1998
Continuation 08656421 · May 30, 1996
Continuation In Part 08454736 · May 30, 1995
Provisional Application 60067466 · Dec 4, 1997
Related Publication 20060282180A1 · Dec 14, 2006