Claims
- 1. A computer-implemented method for creating a prototype that includes motion control, machine vision, and data acquisition (DAQ) functionality, the method comprising:
displaying a graphical user interface (GUI) that provides GUI access to a set of operations, wherein the set of operations includes one or more motion control operations, one or more machine vision operations, and one or more DAQ operations; receiving user input to the graphical user interface specifying a sequence of operations, wherein the specified sequence of operations includes at least one motion control operation, at least one machine vision operation, and at least one data acquisition operation; and storing information representing the specified sequence of operations in a data structure, wherein the specified sequence of operations comprises the prototype.
- 2. The method of claim 1, further comprising:
accessing the information representing the sequence of operations to determine program instructions corresponding to operations in the sequence; and executing the program instructions.
- 3. The method of claim 1,
wherein said receiving user input to the graphical user interface specifying the sequence of operations comprises receiving user input to the graphical user interface specifying parameter values for one or more operations in the sequence; wherein said storing information representing the specified sequence of operations comprises storing the parameter values; wherein the method further comprises executing software routines corresponding to operations in the sequence, wherein said executing comprises passing the parameter values to the software routines.
- 4. The method of claim 1,
wherein the information does not comprise programming language code.
- 5. The method of claim 1,
wherein said receiving user input to the graphical user interface specifying the sequence of operations does not include receiving user input specifying programming language code to implement the sequence of operations.
- 6. The method of claim 1,
wherein the prototype is operable to perform one or more of:
control motion of a device; acquire images; analyze the acquired images; and acquire measurement data.
- 7. The method of claim 1,
wherein the prototype is operable to perform two or more of:
control motion of a device; acquire images; analyze the acquired images; and acquire measurement data.
- 8. The method of claim 1,
wherein the prototype is operable to:
control motion of a device; analyze acquired images; and acquire measurement data.
- 9. The method of claim 1,
wherein the prototype is operable to:
control a motion control device to move an object; control an image acquisition device to acquire one or more images of the object; and control a data acquisition device to acquire measurement data of the object.
- 10. The method of claim 1, further comprising:
executing the sequence of operations; wherein said executing the sequence of operations comprises performing each operation in the sequence.
- 11. The method of claim 1, further comprising:
creating program instructions executable to perform the specified sequence of operations; wherein said performing the specified sequence of operations comprises executing the program instructions.
- 12. The method of claim 1, further comprising:
receiving user input to the graphical user interface for configuring one or more of the operations in the sequence; wherein, for each operation, said configuring the operation affects an action which the operation is operable to perform.
- 13. The method of claim 12,
wherein said receiving user input to the graphical user interface for configuring one or more of the operations in the sequence does not include receiving user input specifying programming language code to configure the operations.
- 14. The method of claim 12, further comprising:
for each operation to be configured, displaying a graphical panel including graphical user interface elements for setting properties of the operation and receiving user input to the graphical panel to set one or more properties of the operation.
- 15. The method of claim 14,
wherein the graphical panel is automatically displayed in response to adding the operation to the sequence.
- 16. The method of claim 14, further comprising:
receiving user input requesting to configure a first operation; and displaying a graphical panel for configuring the first operation in response to the request.
- 17. The method of claim 1,
wherein the graphical user interface includes an area which visually represents the operations in the sequence; wherein the method further comprises:
for each operation added to the sequence, updating the area visually representing the operations in the sequence to illustrate the added operation.
- 18. The method of claim 17,
wherein the area visually representing the operations in the sequence displays a plurality of icons, wherein each icon visually indicates one of the operations in the sequence; wherein said updating the area visually representing the operations in the sequence to illustrate the added operation comprises displaying a new icon to visually indicate the added operation.
- 19. The method of claim 1,
wherein the graphical user interface displays a plurality of buttons, wherein each button is operable to add a new operation to the sequence in response to user input; wherein said receiving user input to the graphical user interface specifying a desired sequence of operations comprises receiving user input to the plurality of buttons to create the sequence of operations.
- 20. The method of claim 1,
wherein the one or more motion control operations include:
a straight line move operation; an arc move operation; and a contoured move operation.
- 21. The method of claim 1, wherein the sequence includes one or more motion control operations, and wherein the method further comprises:
displaying one or more views of the motion control performed by the motion control operations in the sequence on the graphical user interface, wherein the one or more views graphically preview the cumulative movement specified by the motion control operations in the sequence.
- 22. The method of claim 21,
wherein the one or more views includes a two-dimensional position view for viewing a two-dimensional display of position data of the sequence in one or more of an XY, YZ, or ZX plane.
- 23. The method of claim 21,
wherein the one or more views includes a three-dimensional position view for viewing a three-dimensional display of position data of the sequence.
- 24. The method of claim 1, further comprising:
programmatically generating a graphical program operable to perform the specified sequence of operations; and executing the graphical program to perform the specified sequence of operations.
- 25. The method of claim 24,
wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.
- 26. The method of claim 24,
wherein the graphical program comprises a graphical data flow program.
- 27. The method of claim 1, further comprising:
programmatically generating a text-based program operable to perform the specified sequence of operations; and executing the text-based program to perform the specified sequence of operations.
- 28. The method of claim 1, further comprising:
receiving a request from a computer program to execute the specified sequence of operations, wherein the computer program was not used to create the sequence of motion control operations; and executing the specified sequence of operations in response to the request.
- 29. The method of claim 1, further comprising:
programmatically converting the sequence of operations to a format usable for configuring an embedded device to perform the sequence of operations; and configuring the embedded device to perform the sequence of operations using the format.
- 30. A computer-implemented method for creating a prototype that includes motion control, machine vision, and data acquisition (DAQ) functionality, the method comprising:
displaying a graphical user interface (GUI) that provides GUI access to a set of operations, wherein the set of operations includes one or more motion control operations, one or more machine vision operations, and one or more DAQ operations; receiving user input to the graphical user interface specifying a sequence of operations, wherein the specified sequence of operations implements the motion control, machine vision, and DAQ functionality of the prototype; and performing the specified sequence of operations.
- 31. The method of claim 30,
wherein said receiving user input to the graphical user interface specifying the sequence of operations does not include receiving user input specifying programming language code to implement the sequence of operations.
- 32. The method of claim 30, further comprising:
storing information representing the specified sequence of operations in a data structure in response to said receiving user input specifying the sequence of operations.
- 33. The method of claim 32,
wherein the information does not comprise programming language code.
- 34. The method of claim 32, wherein said performing the sequence of operations comprises:
accessing the information representing the sequence of operations to determine program instructions corresponding to operations in the sequence; and executing the program instructions.
- 35. The method of claim 32,
wherein said receiving user input to the graphical user interface specifying the sequence of operations comprises receiving user input to the graphical user interface specifying parameter values for one or more operations in the sequence; wherein said storing information representing the specified sequence of operations comprises storing the parameter values; wherein said performing the sequence of operations comprises executing software routines corresponding to operations in the sequence, wherein said executing comprises passing the parameter values to the software routines.
- 36. A computer-implemented method for creating a prototype that includes motion control, machine vision, and data acquisition (DAQ) functionality, the method comprising:
receiving user input specifying a sequence of operations, wherein the specified sequence of operations includes at least one motion control operation, at least one machine vision operation, and at least one data acquisition operation; and recording the specified sequence of operations in a data structure, wherein the specified sequence of operations comprises the prototype; wherein the operations in the sequence are operable to:
control a motion control device to move an object; control an image acquisition device to acquire one or more images of the object; and control a data acquisition device to acquire measurement data of the object.
- 37. A memory medium for creating a prototype that includes motion control, machine vision, and data acquisition (DAQ) functionality, the memory medium comprising program instructions executable to:
display a graphical user interface (GUI) that provides access to a set of operations, wherein the set of operations includes one or more motion control operations, one or more machine vision operations, and one or more DAQ operations; receive user input to the graphical user interface specifying a sequence of operations, wherein the specified sequence of operations includes at least one motion control operation, at least one machine vision operation, and at least one data acquisition operation; and store information representing the specified sequence of operations in a data structure, wherein the specified sequence of operations comprises the prototype.
- 38. The memory medium of claim 37, further comprising program instructions executable to:
access the information representing the sequence of operations to determine program instructions corresponding to operations in the sequence; and execute the program instructions.
- 39. The memory medium of claim 37,
wherein said receiving user input to the graphical user interface specifying the sequence of operations comprises receiving user input to the graphical user interface specifying parameter values for one or more operations in the sequence; wherein said storing information representing the specified sequence of operations comprises storing the parameter values; wherein the memory medium further comprises program instructions executable to execute software routines corresponding to operations in the sequence, wherein said executing comprises passing the parameter values to the software routines.
- 40. The memory medium of claim 37,
wherein the information does not comprise programming language code.
- 41. The memory medium of claim 37,
wherein said receiving user input to the graphical user interface specifying the sequence of operations does not include receiving user input specifying programming language code to implement the sequence of operations.
- 42. The memory medium of claim 37,
wherein the prototype is operable to:
control motion of a device; analyze acquired images; and acquire measurement data.
- 43. A system for creating a prototype that includes motion control, machine vision, and data acquisition (DAQ) functionality, the system comprising:
a processor; a memory storing program instructions; a display device; wherein the processor is operable to execute the program instructions stored in the memory to:
displaying a graphical user interface (GUI) on the display device that provides GUI access to a set of operations, wherein the set of operations includes one or more motion control operations, one or more machine vision operations, and one or more DAQ operations; receive user input to the graphical user interface specifying a sequence of operations, wherein the specified sequence of operations includes at least one motion control operation, at least one machine vision operation, and at least one data acquisition operation; and store information representing the specified sequence of operations in a data structure, wherein the specified sequence of operations comprises the prototype.
- 44. A system for creating a prototype that includes motion control, machine
vision, and data acquisition (DAQ) functionality, the system comprising: means for displaying a graphical user interface (GUI) that provides GUI access to a set of operations, wherein the set of operations includes one or more motion control operations, one or more machine vision operations, and one or more DAQ operations; means for receiving user input to the graphical user interface specifying a sequence of operations, wherein the specified sequence of operations includes at least one motion control operation, at least one machine vision operation, and at least one data acquisition operation; and means for storing information representing the specified sequence of operations in a data structure, wherein the specified sequence of operations comprises the prototype.
CONTINUATION DATA
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 09/595,003 titled “System and Method for Automatically Generating a Graphical Program to Implement a Prototype,” filed Jun. 13, 2000, whose inventors were Nicolas Vazquez, Jeffrey L. Kodosky, Ram Kudukoli, Kevin L. Schultz, Dinesh Nair, and Christophe Caltagirone.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09595003 |
Jun 2000 |
US |
Child |
10051442 |
Jan 2002 |
US |