Claims
- 1. A computer-implemented method for configuring a hardware device to execute a prototype, the method comprising:
displaying a graphical user interface (GUI) that provides access to a set of operations; receiving user input to the graphical user interface specifying a plurality of operations, wherein the prototype comprises the plurality of operations; and configuring the hardware device to execute at least a portion of the prototype, wherein said configuring comprises configuring the hardware device to execute at least a portion of the specified operations.
- 2. The method of claim 1,
wherein said receiving user input to the graphical user interface specifying the plurality of operations does not require user programming.
- 3. The method of claim 1,
wherein said receiving user input to the graphical user interface specifying the plurality of operations does not include receiving user input specifying programming language code to implement the plurality of operations.
- 4. The method of claim 1,
wherein said receiving user input to the graphical user interface specifying the plurality of operations comprises receiving user input to the graphical user interface specifying a sequence of operations.
- 5. The method of claim 1, further comprising:
storing information representing the specified plurality of operations in a data structure in response to said receiving user input specifying the plurality of operations.
- 6. The method of claim 5,
wherein the information does not comprise programming language code.
- 7. The method of claim 5,
wherein said receiving user input to the graphical user interface specifying the plurality of operations comprises receiving user input to the graphical user interface specifying parameter values for one or more operations in the prototype; wherein said storing information representing the specified plurality of operations comprises storing the parameter values; wherein said configuring the hardware device to execute at least a portion of the specified operations comprises configuring the hardware device to execute the at least a portion of the operations according to the stored parameter values.
- 8. The method of claim 1, further comprising:
programmatically generating a program based on the prototype, wherein the program implements functionality specified by the prototype; wherein said configuring the hardware device to execute at least a portion of the prototype comprises deploying at least a portion of the program on the hardware device.
- 9. The method of claim 8,
wherein said programmatically generating the program based on the prototype comprises programmatically generating a program implementing the plurality of operations in the prototype.
- 10. The method of claim 8,
wherein the generated program is operable to perform the plurality of operations in the prototype.
- 11. The method of claim 8,
wherein said programmatically generating the program based on the prototype comprises programmatically generating the program without receiving user input during said generating.
- 12. The method of claim 8, further comprising:
modifying the generated program in response to user input after generating the program; wherein said deploying comprises deploying at least a portion of the modified program on the hardware device.
- 13. The method of claim 12,
wherein said modifying the program in response to user input comprises adding additional functionality to the program.
- 14. The method of claim 12,
wherein said modifying the program in response to user input comprises adding a user interface portion to the program.
- 15. The method of claim 8,
wherein said programmatically generating the program comprises programmatically generating a text-based program based on the prototype; wherein said deploying at least a portion of the program on the hardware device comprises deploying at least a portion of the text-based program on the hardware device.
- 16. The method of claim 8,
wherein said programmatically generating the program comprises programmatically generating a graphical program based on the prototype; wherein said deploying at least a portion of the program on the hardware device comprises deploying at least a portion of the graphical program on the hardware device.
- 17. The method of claim 16,
wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.
- 18. The method of claim 16,
wherein the graphical program comprises a graphical data flow program.
- 19. The method of claim 8,
wherein the hardware device includes a processor and a memory; wherein said deploying at least a portion of the program on the hardware device comprises transferring the at least a portion of the program to the memory on the hardware device; wherein the method further comprises the processor in the hardware device executing the at least a portion of the program from the memory.
- 20. The method of claim 8,
wherein the hardware device includes a processor and a memory; wherein said programmatically generating the program comprises programmatically generating a graphical program based on the prototype; wherein the method further comprises:
generating a text-based program based on the graphical program, wherein the text-based program implements functionality of the graphical program; transferring the text-based program to the memory on the hardware device; and the processor in the hardware device executing the text-based program from the memory.
- 21. The method of claim 8,
wherein the hardware device includes a programmable hardware element; wherein said deploying at least a portion of the program on the hardware device comprises: generating a hardware description based on the at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the hardware device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the program.
- 22. The method of claim 21, further comprising:
the programmable hardware element in the hardware device executing to perform the at least a portion of the program.
- 23. The method of claim 8,
wherein the hardware device includes a processor and a memory and a programmable hardware element; wherein said deploying at least a portion of the program on the hardware device comprises:
transferring a first portion of the program to the memory on the hardware device; generating a hardware description based on a second portion of the program, wherein the hardware description describes a hardware implementation of the program; and configuring the programmable hardware element in the hardware device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the second portion of the program.
- 24. The method of claim 23, further comprising:
the processor in the hardware device executing the first portion of the program from the memory; and the programmable hardware element in the hardware device executing the second portion of the program.
- 25. The method of claim 23,
wherein the first portion of the program is operable to perform one or more operations of the prototype and wherein the second portion of the program comprises a control portion.
- 26. The method of claim 23,
wherein the first portion of the program comprises a control portion, and wherein the second portion of the program is operable to perform one or more operations of the prototype.
- 27. The method of claim 8,
wherein the hardware device includes a processor and a memory and a programmable hardware element; wherein said programmatically generating the program comprises programmatically generating a graphical program based on the prototype; wherein said deploying at least a portion of the program on the hardware device comprises:
generating an executable program based on a first portion of the graphical program, wherein the text-based program implements functionality of the graphical program; and transferring the executable program to the memory on the hardware device; generating a hardware description based on a second portion of the graphical program, wherein the hardware description describes a hardware implementation of the second portion of the graphical program; and configuring the programmable hardware element in the hardware device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the second portion of the graphical program.
- 28. The method of claim 27, further comprising:
the processor in the hardware device executing the executable program from the memory; and the programmable hardware element in the hardware device executing the second portion of the graphical program.
- 29. The method of claim 27,
wherein the first portion of the graphical program is operable to perform one or more operations of the prototype and wherein the second portion of the graphical program comprises a control portion.
- 30. The method of claim 27,
wherein the first portion of the graphical program comprises a control portion, and wherein the second portion of the graphical program is operable to perform one or more operations of the prototype.
- 31. The method of claim 8,
wherein the hardware device includes a first processor, a second processor, and at least one memory; wherein the method further comprises:
the first processor in the hardware device executing a first portion of the program from the at least one memory; and the second processor in the hardware device executing a second portion of the program from the at least one memory.
- 32. The method of claim 8,
wherein the program includes a user interface; wherein the method further comprises displaying the user interface portion on a display during execution of the program by the hardware device.
- 33. The method of claim 32,
wherein the user interface portion operates as a front panel for the hardware device.
- 34. The method of claim 32, further comprising:
receiving user input to the user interface portion on the display to control the hardware device during execution of the program by the hardware device.
- 35. The method of claim 32, further comprising:
compiling the user interface portion into executable code for execution by a processor and storing the executable code in a memory; and the processor executing the executable code from the memory to display the user interface portion on the display.
- 36. The method of claim 35,
wherein the hardware device includes the processor and the memory; and wherein the processor in the hardware device executes the executable code from the memory to present the user interface portion on the display during execution of the program by the hardware device.
- 37. The method of claim 35,
wherein said displaying the graphical user interface, said receiving the user input to the graphical user interface, and said configuring the hardware device are performed by a first computer system; wherein the first computer system includes the processor and the memory; and wherein the first computer system executes the executable code from the memory to present the user interface portion on the display during execution of the program by the hardware device.
- 38. The method of claim 1,
wherein said displaying the graphical user interface and said receiving the user input to the graphical user interface are performed by a first computer system; wherein the hardware device is coupled to the first computer system over a network; and wherein said configuring the hardware device to execute at least a portion of the prototype comprises the first computer system deploying the at least a portion of the prototype over the network to the hardware device.
- 39. The method of claim 1, further comprising:
creating a first program in response to user input; and configuring the hardware device to execute the first program.
- 40. The method of claim 39, further comprising:
programmatically generating a second program based on the prototype, wherein the second program implements functionality specified by the prototype; wherein said configuring the hardware device to execute at least a portion of the prototype comprises deploying at least a portion of the second program on the hardware device.
- 41. The method of claim 40, further comprising:
wherein the hardware device includes a programmable hardware element; wherein said deploying at least a portion of the second program on the hardware device comprises:
generating a hardware description based on the at least a portion of the second program, wherein the hardware description describes a hardware implementation of the at least a portion of the second program; and configuring the programmable hardware element in the hardware device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the second program.
- 42. 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 prototype.
- 43. The method of claim 42,
wherein said receiving user input to the graphical user interface for configuring one or more of the operations in the prototype does not include receiving user input specifying programming language code to configure the operations.
- 44. The method of claim 42, 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.
- 45. The method of claim 44, further comprising:
automatically displaying the graphical panel in response to selecting the operation.
- 46. The method of claim 44, 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.
- 47. The method of claim 1,
wherein the graphical user interface includes an area which visually represents the plurality of operations included in the prototype; wherein the method further comprises:
for each operation added to the prototype, updating the area visually representing the plurality of operations included in the prototype to illustrate the added operation.
- 48. The method of claim 47,
wherein the area visually representing the plurality of operations included in the prototype displays a plurality of icons, wherein each icon visually indicates one of the operations in the prototype; wherein said updating the area visually representing the plurality of operations included in the prototype to illustrate the added operation comprises displaying a new icon to visually indicate the added operation.
- 49. 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 prototype in response to user input; wherein said receiving user input to the graphical user interface specifying the plurality of operations comprises receiving user input to the plurality of buttons to specify the plurality of operations.
- 50. The method of claim 1,
wherein the plurality of operations comprise a sequence of operations; wherein the prototype comprises the sequence of operations.
- 51. The method of claim 1, further comprising:
the hardware device executing to perform the at least a portion of the specified operations.
- 52. The method of claim 1,
wherein the hardware device includes a programmable hardware element; wherein said configuring comprises:
generating a hardware description based on at least a portion of the prototype, wherein the hardware description describes a hardware implementation of the at least a portion of the prototype; and configuring the programmable hardware element in the hardware device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the prototype.
- 53. The method of claim 1,
wherein the hardware device includes a programmable hardware element; wherein said configuring comprises:
generating a program based on at least a portion of the prototype; generating a hardware description based on at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the hardware device utilizing the hardware description.
- 54. The method of claim 53, wherein after said configuring the programmable hardware element implements a hardware implementation of the at least a portion of the program.
- 55. The method of claim 53, wherein said generating a program comprises generating a graphical program based on the prototype.
- 56. The method of claim 55, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
- 57. The method of claim 1,
wherein the hardware device includes a processor and memory; wherein the memory of the hardware device stores a prototype execution engine that is executable to execute a prototype; wherein said configuring comprises storing the prototype on the memory of the hardware device; wherein the processor of the hardware device is operable to execute the prototype execution engine to execute the prototype.
- 58. The method of claim 1,
wherein the plurality of operations comprises a plurality of image processing operations that implement an image processing function; wherein the hardware device is an image acquisition device; wherein said configuring comprises configuring the image acquisition device to perform the image processing function.
- 59. The method of claim 58, further comprising:
programmatically generating a program based on the prototype, wherein the program implements the image processing function; wherein said configuring the image acquisition device to perform the image processing function comprises deploying at least a portion of the program on the image acquisition device.
- 60. The method of claim 59,
wherein the image acquisition device includes a programmable hardware element; wherein said deploying at least a portion of the program on the image acquisition device comprises:
programmatically generating a hardware description based on the at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the image acquisition device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the program.
- 61. The method of claim 58,
wherein the image acquisition device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a hardware description based on at least a portion of the prototype, wherein the hardware description describes a hardware implementation of the at least a portion of the prototype; and configuring the programmable hardware element in the image acquisition device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the prototype.
- 62. The method of claim 58,
wherein the image acquisition device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a program based on at least a portion of the prototype; programmatically generating a hardware description based on at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the image acquisition device utilizing the hardware description.
- 63. The method of claim 62, wherein said generating a program comprises generating a graphical program based on the prototype, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
- 64. The method of claim 58,
wherein the image acquisition device includes a processor and memory; wherein the memory of the image acquisition device stores a prototype execution engine that is executable to execute a prototype; wherein said configuring comprises storing the prototype on the memory of the image acquisition device; wherein the processor of the image acquisition device is operable to execute the prototype execution engine to execute the prototype.
- 65. The method of claim 58, further comprising:
the image acquisition device acquiring an image of an object; and the image acquisition device performing the image processing function on the image.
- 66. The method of claim 65, further comprising:
the image acquisition device receiving an image present signal; wherein the image acquisition device acquires the image of the object in response to receiving the image present signal.
- 67. The method of claim 65, further comprising:
the image acquisition device performing a control operation after said performing the image processing function on the image.
- 68. The method of claim 65, further comprising:
the image acquisition device generating a pass/fail indication after said performing the image processing function on the image.
- 69. The method of claim 65,
wherein the image acquisition device is coupled to a camera; and wherein the image acquisition device acquiring an image of an object comprises the camera acquiring the image of the object and the image acquisition device receiving and storing the image.
- 70. The method of claim 65,
wherein said image acquisition device executing further comprises:
the image acquisition device determining characteristics of the image after performing the image processing function; and the image acquisition device performing an operation based on the determined characteristics of the image.
- 71. The method of claim 58,
wherein the image acquisition device comprises a smart camera.
- 72. The method of claim 58,
wherein the image acquisition device comprises an image acquisition board coupled to or comprised in a computer system.
- 73. The method of claim 1,
wherein the plurality of operations comprises a plurality of motion control operations that implement a motion control function; wherein the hardware device is a motion control device; wherein said configuring the hardware device to execute at least a portion of the prototype comprises configuring the motion control device to perform the motion control function.
- 74. The method of claim 73, further comprising:
programmatically generating a program based on the prototype, wherein the program implements the motion control function; wherein said configuring the motion control device to perform the motion control function comprises deploying at least a portion of the program on the motion control device.
- 75. The method of claim 74,
wherein the motion control device includes a programmable hardware element; wherein said deploying at least a portion of the program on the motion control device comprises:
programmatically generating a hardware description based on the at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the motion control device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the program.
- 76. The method of claim 73,
wherein the motion control device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a hardware description based on at least a portion of the prototype, wherein the hardware description describes a hardware implementation of the at least a portion of the prototype; and configuring the programmable hardware element in the motion control device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the prototype.
- 77. The method of claim 73,
wherein the motion control device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a program based on at least a portion of the prototype; programmatically generating a hardware description based on at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the motion control device utilizing the hardware description.
- 78. The method of claim 77, wherein said programmatically generating a program comprises programmatically generating a graphical program based on the prototype, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
- 79. The method of claim 73,
wherein the motion control device includes a processor and memory; wherein the memory of the motion control device stores a prototype execution engine that is executable to execute a prototype; wherein said configuring comprises storing the prototype on the memory of the motion control device; wherein the processor of the motion control device is operable to execute the prototype execution engine to execute the prototype.
- 80. The method of claim 73, further comprising:
the motion control device executing the motion control function to control movement of an object.
- 81. The method of claim 80, further comprising:
the motion control device acquiring an image of the object; the motion control device analyzing the image; wherein the motion control device controlling movement of the object is based on said analyzing the image.
- 82. The method of claim 73,
wherein the motion control device comprises a motion control board coupled to or comprised in a computer system.
- 83. The method of claim 1,
wherein the plurality of operations comprises a plurality of data acquisition (DAQ) operations that implement a data acquisition function; wherein the hardware device is a DAQ device; wherein said configuring the hardware device to execute at least a portion of the prototype comprises configuring the DAQ device to perform the data acquisition function.
- 84. The method of claim 83, further comprising:
programmatically generating a program based on the prototype, wherein the program implements the data acquisition function; wherein said configuring the DAQ device to perform the data acquisition function comprises deploying at least a portion of the program on the DAQ device.
- 85. The method of claim 84,
wherein the DAQ device includes a programmable hardware element; wherein said deploying at least a portion of the program on the DAQ device comprises:
programmatically generating a hardware description based on the at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the DAQ device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the program.
- 86. The method of claim 83,
wherein the DAQ device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a hardware description based on at least a portion of the prototype, wherein the hardware description describes a hardware implementation of the at least a portion of the prototype; and configuring the programmable hardware element in the DAQ device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the prototype.
- 87. The method of claim 83,
wherein the DAQ device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a program based on at least a portion of the prototype; programmatically generating a hardware description based on at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the DAQ device utilizing the hardware description.
- 88. The method of claim 87, wherein said programmatically generating a program comprises programmatically generating a graphical program based on the prototype, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
- 89. The method of claim 83,
wherein the DAQ device includes a processor and memory; wherein the memory of the DAQ device stores a prototype execution engine that is executable to execute a prototype; wherein said configuring comprises storing the prototype on the memory of the DAQ device; wherein the processor of the DAQ device is operable to execute the prototype execution engine to execute the prototype.
- 90. The method of claim 83, further comprising:
the DAQ device executing the data acquisition function to acquire measurement data from an object.
- 91. The method of claim 83,
wherein the DAQ device comprises a DAQ board coupled to or comprised in a computer system.
- 92. A computer-implemented method for configuring a hardware device to execute a sequence of operations, the method comprising:
displaying a graphical user interface (GUI) that provides access to a set of operations; receiving user input to the graphical user interface specifying the sequence of operations; storing information representing the specified sequence of operations in a data structure in response to said receiving user input specifying the sequence of operations; and configuring the hardware device to execute the sequence of operations.
- 93. The method of claim 92,
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; wherein the information stored in the data structure does not comprise programming language code.
- 94. The method of claim 92,
wherein the hardware device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a hardware description based on at least a portion of the prototype, wherein the hardware description describes a hardware implementation of the at least a portion of the prototype; and configuring the programmable hardware element in the hardware device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the prototype.
- 95. The method of claim 92, further comprising:
programmatically generating a program based on the sequence of operations, wherein the program implements functionality specified by the sequence of operations; wherein said configuring the hardware device to execute the sequence of operations comprises deploying at least a portion of the program on the hardware device.
- 96. The method of claim 95,
wherein said programmatically generating the program based on the sequence of operations comprises programmatically generating the program without receiving user input during said generating.
- 97. The method of claim 95, further comprising:
modifying the generated program in response to user input after generating the program; wherein said deploying comprises deploying at least a portion of the modified program on the hardware device.
- 98. The method of claim 95,
wherein said programmatically generating the program comprises:
programmatically generating a text-based program based on the sequence of operations; compiling the text-based program to produce an executable program; wherein said deploying at least a portion of the program on the hardware device comprises deploying at least a portion of the executable program on the hardware device.
- 99. The method of claim 95,
wherein said programmatically generating the program comprises programmatically generating a graphical program based on the sequence of operations; wherein said deploying at least a portion of the program on the hardware device comprises deploying at least a portion of the graphical program on the hardware device.
- 100. The method of claim 99,
wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.
- 101. The method of claim 99,
wherein the graphical program comprises a graphical data flow program.
- 102. A computer-implemented method for configuring a hardware device to execute a prototype, the method comprising:
creating the prototype in response to user input, wherein the prototype specifies execution functionality; programmatically generating a program based on the prototype, wherein the program implements the functionality specified by the prototype; and deploying at least a portion of the program on the hardware device.
- 103. The method of claim 102,
wherein the prototype comprises a plurality of executable operations; wherein the prototype is created without requiring user programming.
- 104. The method of claim 102, further comprising:
displaying a graphical user interface (GUI) that provides access to a set of operations; and receiving user input to the graphical user interface specifying a plurality of operations; wherein the prototype comprises the plurality of operations; wherein said programmatically generating the program based on the prototype comprise programmatically generating a program that implements the plurality of operations.
- 105. A computer-implemented method for configuring an image acquisition device to perform an image processing function, the method comprising:
displaying a graphical user interface (GUI) that provides GUI access to a set of image processing operations; receiving user input to the graphical user interface specifying a sequence of the image processing operations, wherein the sequence of image processing operations specifies the image processing function; and configuring the image acquisition device to perform at least a subset of the sequence of image processing operations after said specifying the sequence of image processing operations.
- 106. The method of claim 105, further comprising:
programmatically generating a program based on the sequence of image processing operations, wherein the program implements the image processing function; wherein said configuring the image acquisition device to perform the at least a subset of the sequence of image processing operations comprises deploying at least a portion of the program on the image acquisition device.
- 107. The method of claim 105,
wherein the image acquisition device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a hardware description based on at least a portion of the prototype, wherein the hardware description describes a hardware implementation of the at least a portion of the prototype; and configuring the programmable hardware element in the image acquisition device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the prototype.
- 108. The method of claim 105,
wherein the image acquisition device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a program based on at least a portion of the prototype; programmatically generating a hardware description based on at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the image acquisition device utilizing the hardware description.
- 109. The method of claim 108, wherein said generating a program comprises generating a graphical program based on the prototype, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
- 110. The method of claim 105,
wherein the image acquisition device includes a processor and memory; wherein the memory of the image acquisition device stores a prototype execution engine that is executable to execute a prototype; wherein said configuring comprises storing the prototype on the memory of the image acquisition device; wherein the processor of the image acquisition device is operable to execute the prototype execution engine to execute the prototype.
- 111. The method of claim 105, further comprising:
the image acquisition device acquiring an image of an object; and the image acquisition device performing the at least a subset of the sequence of image processing operations to perform the image processing function on the image.
- 112. The method of claim 111, further comprising:
the image acquisition device receiving an image present signal; wherein the image acquisition device acquires the image of the object in response to receiving the image present signal.
- 113. The method of claim 111, further comprising:
the image acquisition device performing a control operation after said performing the image processing function on the image.
- 114. The method of claim 111, further comprising:
the image acquisition device generating a pass/fail indication after said performing the image processing function on the image.
- 115. The method of claim 111,
wherein the image acquisition device is coupled to a camera; and wherein said image acquisition device acquiring an image of an object comprises the camera acquiring the image of the object and the image acquisition device receiving and storing the image.
- 116. The method of claim 111,
wherein said image acquisition device performing further comprises:
the image acquisition device determining characteristics of the image after performing the image processing function; and the image acquisition device performing an operation based on the determined characteristics of the image.
- 117. The method of claim 105,
wherein the image acquisition device comprises a smart camera.
- 118. The method of claim 105,
wherein the image acquisition device comprises an image acquisition board coupled to or comprised in a computer system.
- 119. A computer-implemented method for configuring a motion control device to perform a motion control function, the method comprising:
displaying a graphical user interface (GUI) that provides GUI access to a set of motion control operations; receiving user input to the graphical user interface specifying a sequence of the motion control operations, wherein the sequence of motion control operations specifies the motion control function; and configuring the motion control device to perform at least a subset of the sequence of motion control operations after said specifying the sequence of motion control operations.
- 120. The method of claim 119, further comprising:
programmatically generating a program based on the sequence of motion control operations, wherein the program implements the motion control function; wherein said configuring the motion control device to perform the at least a subset of the sequence of motion control operations comprises deploying at least a portion of the program on the motion control device.
- 121. The method of claim 119,
wherein the motion control device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a hardware description based on at least a portion of the prototype, wherein the hardware description describes a hardware implementation of the at least a portion of the prototype; and configuring the programmable hardware element in the motion control device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the prototype.
- 122. The method of claim 119,
wherein the motion control device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a program based on at least a portion of the prototype; programmatically generating a hardware description based on at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the motion control device utilizing the hardware description.
- 123. The method of claim 122, wherein said programmatically generating a program comprises programmatically generating a graphical program based on the prototype, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
- 124. The method of claim 119,
wherein the motion control device includes a processor and memory; wherein the memory of the motion control device stores a prototype execution engine that is executable to execute a prototype; wherein said configuring comprises storing the prototype on the memory of the motion control device; wherein the processor of the motion control device is operable to execute the prototype execution engine to execute the prototype.
- 125. The method of claim 119, further comprising:
the motion control device executing the motion control function to control movement of an object.
- 126. The method of claim 125, further comprising:
the motion control device acquiring an image of the object; the motion control device analyzing the image; wherein said motion control device controlling movement of the object is based on said analyzing the image.
- 127. The method of claim 119,
wherein the motion control device comprises a motion control board coupled to or comprised in a computer system.
- 128. A computer-implemented method for configuring a data acquisition (DAQ) device to perform a data acquisition function, the method comprising:
displaying a graphical user interface (GUI) that provides GUI access to a set of data acquisition operations; receiving user input to the graphical user interface specifying a sequence of the data acquisition operations, wherein the sequence of data acquisition operations specifies the data acquisition function; and configuring the DAQ device to perform at least a subset of the sequence of data acquisition operations after said specifying the sequence of data acquisition operations.
- 129. The method of claim 128, further comprising:
programmatically generating a program based on the sequence of data acquisition operations, wherein the program implements the data acquisition function; wherein said configuring the DAQ device to perform the at least a subset of the sequence of data acquisition operations comprises deploying at least a portion of the program on the DAQ device.
- 130. The method of claim 128,
wherein the DAQ device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a hardware description based on at least a portion of the prototype, wherein the hardware description describes a hardware implementation of the at least a portion of the prototype; and configuring the programmable hardware element in the DAQ device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the at least a portion of the prototype.
- 131. The method of claim 128,
wherein the DAQ device includes a programmable hardware element; wherein said configuring comprises:
programmatically generating a program based on at least a portion of the prototype; programmatically generating a hardware description based on at least a portion of the program, wherein the hardware description describes a hardware implementation of the at least a portion of the program; and configuring the programmable hardware element in the DAQ device utilizing the hardware description.
- 132. The method of claim 131, wherein said programmatically generating a program comprises programmatically generating a graphical program based on the prototype, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
- 133. The method of claim 128,
wherein the DAQ device includes a processor and memory; wherein the memory of the DAQ device stores a prototype execution engine that is executable to execute a prototype; wherein said configuring comprises storing the prototype on the memory of the DAQ device; wherein the processor of the DAQ device is operable to execute the prototype execution engine to execute the prototype.
- 134. The method of claim 128, further comprising:
the DAQ device performing the data acquisition function to acquire measurement data from an object.
- 135. The method of claim 128,
wherein the DAQ device comprises a DAQ board coupled to or comprised in a computer system.
- 136. A system comprising:
a computer system comprising a processor, memory, and a display; a hardware device coupled to the computer system, wherein the hardware device includes a functional unit that is configurable based on a program; wherein the memory of the computer system stores a prototype including one or more operations specifying a function; wherein the memory of the computer system also stores software executable to programmatically generate a program based on the prototype, wherein the generated program implements the function; wherein the memory of the computer system also stores software executable to configure the functional unit of the hardware device based on the generated program.
- 137. The system of claim 136,
wherein the functional unit comprises a second processor and a second memory; wherein the software is executable by the processor in the computer system to transfer the generated program to the second memory on the hardware device; and wherein the second processor in the hardware device is operable to execute the generated program from the second memory.
- 138. The system of claim 136,
wherein the functional unit comprises a second processor and a second memory; wherein said programmatically generating a program based on the prototype comprises programmatically generating a graphical program based on the prototype; wherein the memory of the computer system also stores software executable to: 1) generate a text-based program based on the generated graphical program, wherein the text-based program implements functionality of the graphical program, and 2) transfer the text-based program to the second memory on the hardware device; and wherein the second processor in the hardware device is operable to execute the text-based program from the second memory.
- 139. The system of claim 136,
wherein the functional unit comprises a programmable hardware element; wherein the memory of the computer system also stores software executable to generate a hardware description based on the generated program and configure the programmable hardware element based on the hardware description, wherein after being configured the programmable hardware element implements a hardware implementation of the generated program, wherein the programmable hardware element in the hardware device is executable to perform the function specified by the prototype.
- 140. The system of claim 136,
wherein the functional unit comprises a second processor, a second memory, and a programmable hardware element; wherein the software is executable by the processor in the computer system to:
transfer a first portion of the generated program to the second memory on the hardware device; generate a hardware description based on a second portion of the generated program, wherein the hardware description describes a hardware implementation of the generated program; and configure the programmable hardware element in the hardware device utilizing the hardware description, wherein after said configuring the programmable hardware element implements a hardware implementation of the second portion of the generated program; wherein the second processor in the hardware device is operable to execute the first portion of the generated program from the second memory; and wherein the programmable hardware element in the hardware device is operable to implement the second portion of the generated program.
- 141. The system of claim 140,
wherein the first portion of the generated program implements the function specified by the prototype, and wherein the second portion of the generated program comprises a control portion.
- 142. The system of claim 140,
wherein the first portion of the generated program comprises a control portion, and wherein the second portion of the generated program implements the function specified by the prototype.
- 143. The system of claim 136,
wherein the functional unit comprises a second processor, a second memory, and a programmable hardware element; wherein said programmatically generating a program based on the prototype comprises programmatically generating a graphical program based on the prototype; wherein the software is executable by the processor in the computer system to:
generate an executable program based on a first portion of the graphical program, wherein the executable program implements functionality of the graphical program; transfer the executable program to the second memory on the hardware device; generate a hardware description based on a second portion of the graphical program, wherein the hardware description describes a hardware implementation of the graphical program; and configure the programmable hardware element in the hardware device utilizing the hardware description, wherein after said configuring, the programmable hardware element implements a hardware implementation of the second portion of the graphical program; wherein the second processor in the hardware device is operable to execute the executable program from the second memory; and wherein the programmable hardware element in the hardware device is operable to implement the second portion of the graphical program.
- 144. The system of claim 143,
wherein the first portion of the graphical program implements the function specified by the prototype, and wherein the second portion of the graphical program comprises a control portion.
- 145. The system of claim 143,
wherein the first portion of the graphical program comprises a control portion, and wherein the second portion of the graphical program implements the function specified by the prototype.
- 146. The system of claim 136,
wherein the hardware device includes a second processor, a third processor, and at least one memory; and wherein the second processor in the hardware device is operable to execute a first portion of the generated program from the at least one memory and the third processor in the hardware device is operable to execute a second portion of the generated program from the at least one memory.
- 147. The system of claim 136,
wherein the computer system further comprises a user input device for receiving user input; wherein the memory of the computer system also stores software executable to create the prototype in response to user input.
- 148. The system of claim 147,
wherein the user input specifies the one or more operations of the prototype.
- 149. The system of claim 147,
wherein the software is executable by the processor in the computer system to create the prototype without receiving user input specifying programming language code.
- 150. The system of claim 136,
wherein the hardware device comprises an image acquisition device, wherein the image acquisition device includes: an input for acquiring an image; wherein the one or more operations comprise one or more image processing operations specifying an image processing function; wherein after configuring the functional unit of the image acquisition device based on the generated program, the image acquisition device is executable to perform the image processing function on an image.
- 151. The system of claim 150,
wherein the image acquisition device is operable to receive an image present signal; and wherein the image acquisition device is operable to acquire an image of an object in response to receiving the image present signal.
- 152. The system of claim 150,
wherein the image acquisition device is operable to perform a control operation after executing to perform the image processing function on the image.
- 153. The system of claim 150,
wherein the image acquisition device is operable to generate a pass/fail indication after executing to perform the image processing function on the image.
- 154. The system of claim 150,
wherein the image acquisition device is coupled to a camera; and wherein the image acquisition device is operable to receive and store an image acquired from the camera.
- 155. The system of claim 150,
wherein the image acquisition device is operable to determine characteristics of the image after performing the image processing function; and wherein the image acquisition device is operable to perform an operation based on the determined characteristics of the image.
- 156. The system of claim 150,
wherein the image acquisition device comprises a smart camera.
- 157. The system of claim 150,
wherein the image acquisition device comprises an image acquisition board coupled to or comprised in a computer system.
- 158. The system of claim 136,
wherein the hardware device comprises a motion control device; wherein the one or more operations comprise one or more motion control operations specifying a motion control function; wherein after configuring the functional unit of the motion control device based on the generated program, the motion control device is operable to perform the motion control function to control movement of an object.
- 159. The system of claim 158,
wherein the motion control device comprises a motion control board coupled to or comprised in a computer system.
- 160. The system of claim 136,
wherein the hardware device comprises a data acquisition (DAQ) device; wherein the one or more operations comprise one or more data acquisition operations specifying a data acquisition function; wherein after configuring the functional unit of the DAQ device based on the generated program, the DAQ device is operable to perform the data acquisition function to acquire measurement data from an object.
- 161. The system of claim 160,
wherein the DAQ device comprises a DAQ board coupled to or comprised in a computer system.
- 162. The system of claim 136,
wherein the hardware device is coupled to the computer system over a network; and wherein the computer system is operable to deploy the generated program over the network to the hardware device.
- 163. A system comprising:
a computer system comprising a processor, memory, and a display; an image acquisition device coupled to the computer system, wherein the image acquisition device includes:
an input for acquiring an image; a functional unit that is configurable based on a program; wherein the memory of the computer system stores a prototype including one or more image processing operations specifying an image processing function; wherein the memory of the computer system also stores software executable to programmatically generate a program based on the prototype, wherein the generated program implements the image processing function; wherein the memory of the computer system also stores software executable to configure the functional unit of the image acquisition device based on the generated program; wherein after configuring the functional unit of the image acquisition device based on the generated program, the image acquisition device is executable to perform the image processing function on an image.
- 164. The system of claim 163,
wherein the functional unit comprises a programmable hardware element; wherein the memory of the computer system also stores software executable to generate a hardware description based on the generated program and configure the programmable hardware element based on the hardware description, wherein after being configured the programmable hardware element implements a hardware implementation of the generated program, wherein the programmable hardware element in the image acquisition device is executable to perform the function specified by the prototype.
- 165. The system of claim 163,
wherein said programmatically generating the program based on the prototype comprises programmatically generating a graphical program based on the prototype; wherein the graphical program comprises a plurality of interconnected nodes visually indicating the image processing function.
- 166. The system of claim 163,
wherein the image acquisition device is operable to receive an image present signal; and wherein the image acquisition device is operable to acquire an image of an object in response to receiving the image present signal.
- 167. The system of claim 163,
wherein the image acquisition device is operable to perform a control operation after executing to perform the image processing function on the image.
- 168. The system of claim 163,
wherein the image acquisition device is operable to generate a pass/fail indication after executing to perform the image processing function on the image.
- 169. The system of claim 163,
wherein the image acquisition device is coupled to a camera; and wherein the image acquisition device is operable to receive and store an image acquired from the camera.
- 170. The system of claim 163,
wherein the image acquisition device is operable to determine characteristics of the image after performing the image processing function; and wherein the image acquisition device is operable to perform an operation based on the determined characteristics of the image.
- 171. The system of claim 163,
wherein the image acquisition device comprises a smart camera.
- 172. The system of claim 163,
wherein the image acquisition device comprises an image acquisition board coupled to or comprised in a computer system.
- 173. A system comprising:
a computer system comprising a processor, memory, and a display; a motion control device coupled to the computer system, wherein the motion control device includes a functional unit that is configurable based on a program; wherein the memory of the computer system stores a prototype including one or more motion control operations specifying a motion control function; wherein the memory of the computer system also stores software executable to programmatically generate a program based on the prototype, wherein the generated program implements the motion control function; wherein the memory of the computer system also stores software executable to configure the functional unit of the motion control device based on the generated program; wherein after configuring the functional unit of the motion control device based on the generated program, the motion control device is executable to perform the motion control function.
- 174. The system of claim 173,
wherein the functional unit comprises a programmable hardware element; wherein the memory of the computer system also stores software executable to generate a hardware description based on the generated program and configure the programmable hardware element based on the hardware description, wherein after being configured the programmable hardware element implements a hardware implementation of the generated program, wherein the programmable hardware element in the motion control device is executable to perform the function specified by the prototype.
- 175. The system of claim 173,
wherein said programmatically generating the program based on the prototype comprises programmatically generating a graphical program based on the prototype; wherein the graphical program comprises a plurality of interconnected nodes visually indicating the motion control function.
- 176. The system of claim 173,
wherein the motion control device comprises a motion control board coupled to or comprised in a computer system.
- 177. A system comprising:
a computer system comprising a processor, memory, and a display; a data acquisition (DAQ) device coupled to the computer system, wherein the DAQ device includes a functional unit that is configurable based on a program; wherein the memory of the computer system stores a prototype including one or more data acquisition operations specifying a data acquisition function; wherein the memory of the computer system also stores software executable to programmatically generate a program based on the prototype, wherein the generated program implements the data acquisition function; wherein the memory of the computer system also stores software executable to configure the functional unit of the DAQ device based on the generated program; wherein after configuring the functional unit of the DAQ device based on the generated program, the DAQ device is executable to perform the data acquisition function.
- 178. The system of claim 177,
wherein the functional unit comprises a programmable hardware element; wherein the memory of the computer system also stores software executable to generate a hardware description based on the generated program and configure the programmable hardware element based on the hardware description, wherein after being configured the programmable hardware element implements a hardware implementation of the generated program, wherein the programmable hardware element in the DAQ device is executable to perform the function specified by the prototype.
- 179. The system of claim 177,
wherein said programmatically generating the program based on the prototype comprises programmatically generating a graphical program based on the prototype; wherein the graphical program comprises a plurality of interconnected nodes visually indicating the data acquisition function.
- 180. The system of claim 178,
wherein the DAQ device comprises a DAQ board coupled to or comprised in a computer system.
- 181. A computer-implemented method for configuring a programmable hardware element to execute a prototype, the method comprising:
displaying a graphical user interface (GUI) that provides access to a set of operations; receiving user input to the graphical user interface specifying a plurality of operations, wherein the prototype comprises the plurality of operations; programmatically generating a hardware description based on at least a portion of the prototype; and configuring the programmable hardware element according to the hardware description, wherein after said configuring the programmable hardware element is operable to implement at least a portion of the specified operations.
- 182. The method of claim 181,
wherein said receiving user input to the graphical user interface specifying the plurality of operations does not require user programming.
- 183. The method of claim 181,
wherein said receiving user input to the graphical user interface specifying the plurality of operations does not include receiving user input specifying programming language code to implement the plurality of operations.
- 184. The method of claim 181,
wherein said receiving user input to the graphical user interface specifying the plurality of operations comprises receiving user input to the graphical user interface specifying a sequence of operations.
- 185. The method of claim 181, further comprising:
storing information representing the specified plurality of operations in a data structure in response to said receiving user input specifying the plurality of operations.
- 186. The method of claim 185,
wherein the information does not comprise programming language code.
- 187. The method of claim 185,
wherein said receiving user input to the graphical user interface specifying the plurality of operations comprises receiving user input to the graphical user interface specifying parameter values for one or more operations in the prototype; wherein said storing information representing the specified plurality of operations comprises storing the parameter values; wherein said configuring the programmable hardware element to execute at least a portion of the specified operations comprises configuring the programmable hardware element to execute the at least a portion of the operations according to the stored parameter values.
- 188. The method of claim 181,
wherein said programmatically generating the hardware description based on the at least a portion of the prototype comprises programmatically generating the hardware description without receiving user input during said generating.
- 189. The method of claim 181,
wherein said programmatically generating the hardware description comprises:
programmatically generating a program based on the prototype; and programmatically generating the hardware description based on the program.
- 190. The method of claim 189,
wherein the hardware description describes a hardware implementation of the at least a portion of the program.
- 191. The method of claim 190,
wherein the program is a graphical program.
- 192. The method of claim 191,
wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program
- 193. The method of claim 189,
wherein the program includes a user interface portion; wherein the method further comprises displaying the user interface portion on a display during operation of the programmable hardware element; wherein the user interface portion is useable to perform one or more of display output from and/or provide input to the programmable hardware element.
- 194. The method of claim 193, further comprising:
receiving user input to the user interface portion on the display to control the programmable hardware element during operation of the programmable hardware element.
- 195. The method of claim 193, further comprising:
compiling the user interface portion into executable code for execution by a processor and storing the executable code in a memory; and the processor executing the executable code from the memory to display the user interface portion on the display.
- 196. The method of claim 195,
wherein the programmable hardware element is comprised in a hardware device; wherein the hardware device includes the processor and the memory; and wherein the processor in the hardware device executes the executable code from the memory to present the user interface portion on the display during operation of the programmable hardware element.
- 197. The method of claim 193,
wherein the programmable hardware element is comprised in a hardware device; wherein said displaying the graphical user interface, said receiving the user input to the graphical user interface, and said configuring the hardware device are performed by a first computer system; wherein the hardware device is coupled to the first computer system; wherein the first computer system includes the processor and the memory; and wherein the first computer system executes the executable code from the memory to present the user interface portion on the display during operation of the programmable hardware element.
- 198. The method of claim 193,
wherein the programmable hardware element is comprised in a hardware device; wherein said displaying the graphical user interface and said receiving the user input to the graphical user interface are performed by a first computer system; wherein the hardware device is coupled to the first computer system over a network; and wherein the method further comprises the first computer system displaying the user interface portion during operation of the programmable hardware element in the hardware device.
- 199. The method of claim 181, further comprising:
displaying a first user interface on a display during operation of the programmable hardware element, wherein the first user interface is useable to perform one or more of display output from and/or provide input to the programmable hardware element.
- 200. The method of claim 193,
wherein the first user interface operates as a front panel for the programmable hardware element.
- 201. The method of claim 199, further comprising:
receiving user input to the first user interface on the display to control the programmable hardware element during operation of the programmable hardware element.
- 202. The method of claim 199,
wherein the programmable hardware element is comprised in a hardware device; wherein the hardware device includes a processor and the memory; and wherein the processor in the hardware device executes executable code from the memory to present the first user interface on the display during operation of the programmable hardware element.
- 203. The method of claim 199,
wherein the programmable hardware element is comprised in a hardware device; wherein said displaying the graphical user interface, said receiving the user input to the graphical user interface, and said configuring the programmable hardware element are performed by a first computer system; wherein the hardware device is coupled to the first computer system; and wherein the first computer system presents the first user interface on the display during operation of the programmable hardware element.
- 204. The method of claim 199,
wherein the programmable hardware element is comprised in a hardware device; wherein said displaying the graphical user interface and said receiving the user input to the graphical user interface are performed by a first computer system; wherein the hardware device is coupled to the first computer system over a network; and wherein the method further comprises the first computer system displaying the first user interface during operation of the programmable hardware element in the hardware device.
- 205. The method of claim 181,
wherein the programmable hardware element is comprised in a hardware device; wherein said displaying the graphical user interface and said receiving the user input to the graphical user interface are performed by a first computer system; wherein the hardware device is coupled to the first computer system over a network; and wherein said configuring the programmable hardware element according to the hardware description comprises the first computer system deploying the hardware description over the network to the hardware device.
- 206. The method of claim 181,
wherein said programmatically generating the hardware description comprises:
programmatically generating a graphical program based on the prototype; and programmatically generating the hardware description based on the graphical program.
- 207. The method of claim 206,
wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.
- 208. The method of claim 206,
wherein the graphical program comprises a graphical data flow program.
- 209. The method of claim 181, 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.
- 210. The method of claim 209, further comprising:
automatically displaying the graphical panel in response to selecting the operation.
- 211. The method of claim 209, 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.
- 212. The method of claim 181,
wherein the graphical user interface includes an area which visually represents the plurality of operations included in the prototype; wherein the method further comprises:
for each operation added to the prototype, updating the area visually representing the plurality of operations included in the prototype to illustrate the added operation.
- 213. The method of claim 212,
wherein the area visually representing the plurality of operations included in the prototype displays a plurality of icons, wherein each icon visually indicates one of the operations in the prototype; wherein said updating the area visually representing the plurality of operations included in the prototype to illustrate the added operation comprises displaying a new icon to visually indicate the added operation.
- 214. The method of claim 181,
wherein the graphical user interface displays a plurality of buttons, wherein each button is operable to add a new operation to the prototype in response to user input; wherein said receiving user input to the graphical user interface specifying the plurality of operations comprises receiving user input to the plurality of buttons to specify the plurality of operations.
- 215. The method of claim 181,
wherein the plurality of operations comprise a sequence of operations; wherein the prototype comprises the sequence of operations.
- 216. The method of claim 181, further comprising:
the programmable hardware element operating to perform the at least a portion of the specified operations.
- 217. The method of claim 181,
wherein the plurality of operations comprises a plurality of image processing operations that implement an image processing function; wherein after said configuring the programmable hardware element is operable to perform the image processing function.
- 218. The method of claim 217,
wherein the programmable hardware element is comprised in an image acquisition device; the method further comprising:
the image acquisition device acquiring an image of an object; and the image acquisition device operating to perform the image processing function on the image.
- 219. The method of claim 218, further comprising:
the image acquisition device receiving an image present signal; wherein the image acquisition device acquires the image of the object in response to receiving the image present signal.
- 220. The method of claim 218, further comprising:
the image acquisition device performing a control operation after said operating to perform the image processing function on the image.
- 221. The method of claim 218, further comprising:
the image acquisition device generating a pass/fail indication after said operating to perform the image processing function on the image.
- 222. The method of claim 218,
wherein the image acquisition device is coupled to a camera; and wherein the image acquisition device acquiring an image of an object comprises the camera acquiring the image of the object and the image acquisition device receiving and storing the image.
- 223. The method of claim 218,
wherein the image acquisition device operating further comprises:
the image acquisition device determining characteristics of the image after performing the image processing function; and the image acquisition device performing an operation based on the determined characteristics of the image.
- 224. The method of claim 218,
wherein the image acquisition device comprises a smart camera.
- 225. The method of claim 218,
wherein the image acquisition device comprises an image acquisition board coupled to or comprised in a computer system.
- 226. The method of claim 181,
wherein the plurality of operations comprises a plurality of motion control operations that implement a motion control function; wherein the programmable hardware element is comprised in a motion control device; the method further comprising the motion control device operating to perform the motion control function to control movement of an object.
- 227. The method of claim 226,
wherein the motion control device comprises a motion control board coupled to or comprised in a computer system.
- 228. The method of claim 181,
wherein the plurality of operations comprises a plurality of data acquisition (DAQ) operations that implement a data acquisition function; wherein the programmable hardware element is comprised in a DAQ device; wherein said configuring comprises configuring the programmable hardware element in the DAQ device to perform the data acquisition function.
- 229. The method of claim 228, further comprising:
the DAQ device performing the data acquisition function to acquire measurement data from an object.
- 230. The method of claim 228,
wherein the DAQ device comprises a DAQ board coupled to or comprised in a computer system.
- 231. A computer-implemented method for configuring a programmable hardware element to execute a prototype, the method comprising:
displaying a graphical user interface (GUI) that provides access to a set of operations; receiving user input to the graphical user interface specifying a plurality of operations, wherein the prototype comprises the plurality of operations; programmatically generating a first program based on the prototype; and programmatically generating a hardware configuration program based on the first program, wherein the hardware configuration program specifies a hardware description of the program; and configuring the programmable hardware element according to the hardware configuration program.
- 232. The method of claim 231,
wherein the hardware configuration program comprises a net list.
- 233. The method of claim 231,
wherein the hardware configuration program comprises instructions in a hardware description language.
- 234. The method of claim 231,
wherein the first program is a graphical program, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the program.
- 235. A computer-implemented method for configuring a device to execute a prototype, wherein the device includes a programmable hardware element, the method comprising:
displaying a graphical user interface (GUI) that provides access to a set of operations; receiving user input to the graphical user interface specifying a plurality of operations, wherein the prototype comprises the plurality of operations; programmatically generating a hardware description based on at least a portion of the prototype; and configuring the programmable hardware element in the device according to the hardware description, wherein after said configuring the programmable hardware element is operable to implement at least a portion of the specified operations.
- 236. A computer-implemented method for configuring a device to execute a prototype, wherein the device includes a programmable hardware element, wherein the device is coupled to a computer system, the method comprising:
the computer system receiving user input specifying a plurality of operations, wherein the prototype comprises the plurality of operations; programmatically generating a hardware description based on at least a portion of the prototype; and configuring the programmable hardware element in the device according to the hardware description, wherein after said configuring the programmable hardware element is operable to implement at least a portion of the specified operations.
- 237. A memory medium comprising program instructions for configuring a programmable hardware element to execute a prototype, wherein the program instructions are executable to implement:
displaying a graphical user interface (GUI) that provides access to a set of operations; receiving user input to the graphical user interface specifying a plurality of operations, wherein the prototype comprises the plurality of operations; programmatically generating a hardware description based on at least a portion of the prototype; and configuring the programmable hardware element according to the hardware description, wherein after said configuring the programmable hardware element is operable to implement at least a portion of the specified operations.
- 238. A computer system for configuring a programmable hardware element to execute a prototype, wherein the programmable hardware element is comprised in a device coupled to the computer system, wherein the computer system comprises:
a display for displaying a graphical user interface (GUI) that provides access to a set of operations; a user input device for receiving user input to the graphical user interface specifying a plurality of operations, wherein the prototype comprises the plurality of operations; a memory medium which stores at least one software program that is executable for:
programmatically generating a hardware description based on at least a portion of the prototype; and configuring the programmable hardware element in the device according to the hardware description, wherein after said configuring the programmable hardware element is operable to implement at least a portion of the specified operations.
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.
[0002] This application is also a continuation-in-part of U.S. patent application Ser. No. 09/745,023 titled “System and Method for Programmatically Generating a Graphical Program in Response to Program Information”, filed Dec. 20, 2000, whose inventors were Ram Kudukoli, Robert Dye, Paul F. Austin, Lothar Wenzel, and Jeffrey L. Kodosky.
[0003] This application is also a continuation-in-part of U.S. patent application Ser. No. 09/949,783 titled “System and Method for Deploying a Graphical Program on an Image Acquisition Device”, filed Sep. 10, 2001, Kevin L. Schultz, Jeffrey L. Kodosky, Hugo Andrade, Brian Keith Odom and Cary Paul Butler.
Continuation in Parts (3)
|
Number |
Date |
Country |
| Parent |
09595003 |
Jun 2000 |
US |
| Child |
10200091 |
Jul 2002 |
US |
| Parent |
09745023 |
Dec 2000 |
US |
| Child |
10200091 |
Jul 2002 |
US |
| Parent |
09949783 |
Sep 2001 |
US |
| Child |
10200091 |
Jul 2002 |
US |