IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0051599
(2002-01-18)
|
발명자
/ 주소 |
- Cifra,Christopher
- Chandhoke,Sundeep
|
출원인 / 주소 |
- National Instruments Corporation
|
대리인 / 주소 |
Meyertons Hood Kivlin Kowert &
|
인용정보 |
피인용 횟수 :
26 인용 특허 :
16 |
초록
▼
A user may utilize a prototyping environment to create a sequence of motion control, machine vision, and/or data acquisition (DAQ) operations, e.g., without needing to write or construct code in any programming language. For example, the environment may provide a graphical user interface (GUI) enabl
A user may utilize a prototyping environment to create a sequence of motion control, machine vision, and/or data acquisition (DAQ) operations, e.g., without needing to write or construct code in any programming language. For example, the environment may provide a graphical user interface (GUI) enabling the user to develop/prototype the sequence at a high level, by selecting from and configuring a sequence of operations using the GUI. The prototyping environment may provide an application programming interface (API) which enables an external caller program to invoke execution of a particular sequence by the prototyping environment.
대표청구항
▼
We claim: 1. A computer-implemented method for invoking a sequence of operations, the method comprising: a first application displaying a graphical user interface (GUI), wherein the graphical user interface provides GUI access to a set of operations; the first application creating the sequence, whe
We claim: 1. A computer-implemented method for invoking a sequence of operations, the method comprising: a first application displaying a graphical user interface (GUI), wherein the graphical user interface provides GUI access to a set of operations; the first application creating the sequence, wherein creating the sequence comprises including a plurality of operations in the sequence in response to user input selecting each operation in the plurality of operations from the GUI; the first application interactively displaying a visual indication of results of performing the sequence while the sequence is being created, wherein the visual indication enables a user to evaluate the results of performing the sequence, wherein interactively displaying the visual indication comprises: for each operation included in the sequence, updating the displayed visual indication in response to including the operation in the sequence in order to visually indicate a change in the results of performing the sequence, wherein the change is caused by including the operation in the sequence, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the sequence; wherein the method further comprises the first application receiving a request to invoke execution of the sequence from a second program external to the first; and the first application executing the sequence in response to the request from the second program, wherein the first application executing the sequence comprises the first application invoking execution of software routines to perform the plurality of operations in the sequence. 2. The method of claim 1, further comprising: the first application storing information representing the sequence of operations in a data structure. 3. The method of claim 2, wherein the information representing the sequence of operations in the data structure does not comprise program code. 4. The method of claim 2, wherein, wherein the first application executing the sequence further comprises: the first application accessing the data structure to determine the plurality of operations in the sequence; and the first application determining the software routines to invoke in order to perform the plurality of operations in the sequence. 5. The method of claim 1, further comprising: the first application receiving user input specifying a first parameter value for a first operation in the sequence; wherein said first application invoking execution of the software routines to perform the plurality of operations in the sequence comprises the first application invoking execution of a first software routine to perform the first operation, wherein the first application passes the first parameter value to the first software routine. 6. The method of claim 1, further comprising: creating the second program, wherein the second program is operable to request the first application to invoke execution of the sequence of operations during execution of the second program. 7. The method of claim 6, wherein said creating the second program comprises including source code in the second program for requesting the first application to invoke execution of the sequence of operations. 8. The method of claim 7, wherein the second program is a graphical program, wherein said including source code in the second program for requesting the first application to invoke execution of the sequence of operations comprises: including a first node in the graphical program, wherein the first node is operable to call the first application; and configuring the first node with information identifying the sequence of operations. 9. The method of claim 1, wherein the second program is a graphical program, the method further comprising: creating the graphical program, wherein the graphical program includes a node which is operable to request the first application to invoke execution of the sequence of operations during execution of the graphical program. 10. The method of claim 9, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program. 11. The method of claim 9, wherein the graphical program is a graphical data flow program. 12. The method of claim 1, wherein the second program is a text-based program, the method further comprising: creating the text-based program in a text-based programming environment, wherein the text-based program includes a call which is operable to request the first application to invoke execution of the sequence of operations during execution of the text-based program. 13. The method of claim 1, further comprising: executing the second program; wherein said executing the second program comprises the second program requesting the first application to invoke execution of the sequence of operations. 14. The method of claim 13, wherein said first application executing the sequence comprises the first application executing the sequence synchronously with respect to the request received from the second program. 15. The method of claim 13, wherein said first application executing the sequence comprises the first application executing the sequence asynchronously with respect to the request received from the second program. 16. The method of claim 1, wherein said first application creating the sequence comprises the first application creating the sequence without receiving user input specifying program code to implement the plurality of operations in the sequence. 17. The method of claim 1, further comprising: the first application configuring a first operation in the sequence in response to user input specifying configuration information for the first operation, wherein configuring the first operation changes a function performed by the first operation; and the first application updating the displayed visual indication in response to the user input specifying the configuration information for the first operation in order to visually indicate the change in the function performed by the first operation. 18. The method of claim 17, wherein the user input specifying the configuration information for the first operation does not include user input specifying program code. 19. The method of claim 17, further comprising: the first application displaying a graphical panel including graphical user interface elements for setting properties of the first operation, wherein the user input specifying the configuration information for the first operation comprises user input to the graphical panel to set one or more properties of the first operation. 20. The method of claim 1, wherein the set of operations to which the graphical user interface provides GUI access includes one or more of: one or more motion control operations, one or more machine vision operations, and/or one or more Data Acquisition (DAQ) operations; wherein said including the plurality of operations in the sequence in response to the user input selecting each operation in the plurality of operations from the GUI comprises including one or more of the following in the sequence: one or more motion control operations, one or more machine vision operations, and/or one or more DAQ operations. 21. The method of claim 1, wherein the set of operations to which the graphical user interface provides GUI access includes two or more of: one or more motion control operations, one or more machine vision operations, and/or one or more Data Acquisition (DAQ) operations; wherein said including the plurality of operations in the sequence in response to the user input selecting each operation in the plurality of operations from the GUI comprises including two or more of the following in the sequence: one or more motion control operations, one or more machine vision operations, and/or one or more DAQ operations. 22. The method of claim 1, wherein the set of operations to which the graphical user interface provides GUI access includes one or more motion control operations, one or more machine vision operations, and one or more Data Acquisition (DAQ) operations; wherein said including the plurality of operations in the sequence in response to the user input selecting each operation in the plurality of operations from the GUI comprises including at least one motion control operation, at least one machine vision operation, and at least one DAQ operation in the sequence. 23. The method of claim 1, wherein the sequence of operations is operable during execution to perform one or more of: control motion of a device; analyze acquired images; and acquire measurement data. 24. The method of claim 1, wherein the sequence of operations is operable during execution to perform two or more of: control motion of a device; analyze acquired images; and acquire measurement data. 25. The method of claim 1, wherein the sequence of operations is operable during execution to: control motion of a device; analyze acquired images; and acquire measurement data. 26. The method of claim 1, wherein the sequence of operations is operable during execution 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. 27. The method of claim 1, further comprising: for each operation included in the sequence, the first application performing the operation, wherein said updating the displayed visual indication in response to including the operation in the sequence comprises updating the visual indication to indicate a result of said performing the operation. 28. The method of claim 1, further comprising: for each operation included in the sequence, simulating the operation without performing the operation, wherein said updating the displayed visual indication in response to including the operation in the sequence comprises updating the visual indication to indicate a result of said simulating the operation. 29. The method of claim 1, further comprising: the first application simulating execution of the sequence in order to compute the results displayed in the visual indication. 30. The method of claim 1, wherein the first application provides an application programming interface (API) enabling external programs to request sequences created by the first application to be invoked for execution; wherein the method further comprises the second program calling the API of the first application to request the first application to invoke execution of the sequence. 31. The method of claim 1, wherein the first application executes the sequence externally from the second program. 32. The method of claim 1, wherein the second program does not include program code to implement the sequence of operations. 33. A computer-implemented method for invoking a sequence of operations that includes motion control, machine vision, and Data Acquisition (DAQ) functionality, the method comprising: a first application displaying a graphical user interface (GUI), wherein the graphical user interface 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 Data Acquisition (DAQ) operations; the first application creating the sequence, wherein creating the sequence comprises including a plurality of operations in the sequence in response to user input selecting each operation in the plurality of operations from the GUI, wherein the plurality of operations includes at least one motion control operation, at least one machine vision operation, and at least one DAQ operation; the first application interactively displaying a visual indication of results of performing the sequence while the sequence is being created, wherein the visual indication enables a user to evaluate the results of performing the sequence, wherein interactively displaying the visual indication comprises; for each operation included in the sequence, updating the displayed visual indication in response to including the operation in the sequence in order to visually indicate a change in the results of performing the sequence, wherein the change is caused by including the operation in the sequence, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the sequence; wherein the method further comprises the first application receiving a request to invoke execution of the sequence from a second program external to the first application; and the first application executing the sequence in response to the request from the second program, wherein the first application executing the sequence comprises the first application invoking execution of software routines to perform the plurality of operations in the sequence. 34. The method of claim 33, further comprising: the first application storing information representing the sequence of operations in a data structure. 35. The method of claim 34, wherein the information representing the sequence of operations in the data structure does not comprise program code. 36. The method of claim 34, wherein the first application executing the sequence further comprises: the first application accessing the data structure to determine the plurality of operations in the sequence; and the first application determining the software routines to invoke in order to perform the plurality of operations in the sequence. 37. The method of claim 33, further comprising: creating the second program, wherein the second program is operable to request the first application to invoke execution of the sequence of operations during execution of the second program. 38. The method of claim 37, wherein said creating the second program comprises including source code in the second program for requesting the first application to invoke execution of the sequence of operations. 39. The method of claim 38, wherein the second program is a graphical program, wherein said including source code in the second program for requesting the first application to invoke execution of the sequence of operations comprises: including a first node in the graphical program, wherein the first node is operable to call the first application; and configuring the first node with information identifying the sequence of operations. 40. The method of claim 33, wherein the second program is a graphical program, the method further comprising: creating the graphical program, wherein the graphical program includes a node which is operable to request the first application to invoke execution of the sequence of operations during execution of the graphical program. 41. The method of claim 33, further comprising: executing the second program; wherein said executing the second program comprises the second program requesting the first application to invoke execution of the sequence of operations. 42. The method of claim 33, wherein said first application creating the sequence comprises the first application creating the sequence without receiving user input specifying program code to implement the plurality of operations in the sequence. 43. The method of claim 33, wherein the sequence of operations is operable during execution to perform one or more of: control motion of a device; analyze acquired images; and acquire measurement data. 44. The method of claim 33, wherein the sequence of operations is operable during execution to perform two or more of: control motion of a device; analyze acquired images; and acquire measurement data. 45. The method of claim 33, wherein the sequence of operations is operable during execution to: control motion of a device; analyze acquired images; and acquire measurement data. 46. The method of claim 33, wherein the sequence of operations is operable during execution 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. 47. The method of claim 33, wherein the plurality of operations included in the sequence includes a plurality of motion control operations; wherein said interactively displaying the visual indication of results of performing the sequence while the sequence is being created comprises interactively displaying a preview visually indicating a spatial trajectory cumulatively performed by the plurality of motion control operations; wherein, for each motion control operation included in the sequence, updating the visual indication in response to including the motion control operation in the sequence comprises updating the preview to visually indicate a change in the spatial trajectory, wherein the change in the spatial trajectory is caused by including the motion control operation in the sequence. 48. A computer-implemented method for executing a sequence of operations, the method comprising: a first application displaying a graphical user interface (GUI), wherein the graphical user interface provides GUI access to a set of operations; the first application creating the sequence, wherein creating the sequence comprises including a plurality of operations in the sequence in response to user input selecting each operation in the plurality of operations from the GUI; the first application interactively displaying a visual indication of results of performing the sequence while the sequence is being created, wherein the visual indication enables a user to evaluate the results of performing the sequence, wherein interactively displaying the visual indication comprises: for each operation included in the sequence, updating the displayed visual indication in response to including the operation in the sequence in order to visually indicate a change in the results of performing the sequence, wherein the change is caused by including the operation in the sequence, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the sequence; wherein the method further comprises creating a program, wherein the program is external to the first application, wherein the program does not include program code implementing the sequence of operations, wherein the program includes program code for invoking execution of the sequence of operations during execution of the program; and executing the program externally to the first application, wherein the program executes to invoke execution of the sequence of operations. 49. The method of claim 48, wherein the program code for invoking execution of the sequence of operations comprises program code for requesting the first application to invoke execution of the sequence of operations, wherein the program executes to request the first application to invoke execution of the sequence of operations. 50. A computer-implemented method for executing a sequence of operations that includes motion control, machine vision, and Data Acquisition (DAQ) functionality, the method comprising: a first application displaying a graphical user interface (GUI), wherein the graphical user interface 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 Data Acquisition (DAQ) operations; the first application creating the sequence, wherein creating the sequence comprises including a plurality of operations in the sequence in response to user input selecting each operation in the plurality of operations from the GUI, wherein the plurality of operations includes at least one motion control operation, at least one machine vision operation, and at least one DAQ operation; the first application interactively displaying a visual indication of results of performing the sequence while the sequence is being created, wherein the visual indication enables a user to evaluate the results of performing the sequence, wherein interactively displaying the visual indication comprises: for each operation included in the sequence, updating the displayed visual indication in response to including the operation in the sequence in order to visually indicate a change in the results of performing the sequence, wherein the change is caused by including the operation in the sequence, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the sequence; wherein the method further comprises creating a program, wherein the program is external to the first application, wherein the program does not include program code implementing the sequence of operations, wherein the program includes program code for invoking execution of the sequence of operations during execution of the program; and executing the program externally to the first application, wherein the program executes to invoke execution of the sequence of operations. 51. The method of claim 50, further comprising: wherein the program code for invoking execution of the sequence of operations comprises program code for requesting the first application to invoke execution of the sequence of operations, wherein the program executes to request the first application to invoke execution of the sequence of operations. 52. A computer-implemented method for executing a sequence of operations, the method comprising: a prototyping application displaying a graphical user interface (GUI), wherein the graphical user interface provides GUI access to a set of operations; the prototyping application creating the sequence, wherein creating the sequence comprises including a plurality of operations in the sequence in response to user input selecting each operation in the plurality of operations from the GUI; the prototyping application interactively displaying a visual indication of results of performing the sequence while the sequence is being created, wherein the visual indication enables a user to evaluate the results of performing the sequence, wherein interactively displaying the visual indication comprises: for each operation included in the sequence, updating the displayed visual indication in response to including the operation in the sequence in order to visually indicate a change in the results of performing the sequence, wherein the change is caused by including the operation in the sequence, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the sequence; wherein the method further comprises creating a software program using an application development environment application, wherein the application development environment application is different from the prototyping application, wherein the software program is configured to request the prototyping application to invoke execution of the sequence of operations during execution of the software program; and executing the software program independently of the prototyping application, wherein the software program executes to request the prototyping application to invoke execution of the sequence of operations. 53. The method of claim 52, further comprising: the prototyping application executing the sequence of operations in response to the software program requesting the prototyping application to invoke execution of the sequence of operations, wherein the prototyping application executing the sequence of operations comprises the prototyping application invoking execution of software routines to perform the plurality of operations in the sequence of operations. 54. A computer-implemented method for invoking a sequence of operations, the method comprising: a first application creating the sequence, wherein creating the sequence comprises including a plurality of operations in the sequence in response to user input specifying each operation in the plurality of operations; the first application recording the specified sequence of operations in a data structure maintained by the first application; the first application interactively displaying a visual indication of results of performing the sequence while the sequence is being created, wherein the visual indication enables a user to evaluate the results of performing the sequence, wherein interactively displaying the visual indication comprises: for each operation included in the sequence, updating the displayed visual indication in response to including the operation in the sequence in order to visually indicate a change in the results of performing the sequence, wherein the change is caused by including the operation in the sequence, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the sequence; wherein the method further comprises creating an application program, wherein the application program is configured to request the first application to invoke the specified sequence of operations during execution of the application program; and executing the application program externally to the first application, wherein the application program executes to request the first application to invoke execution of the specified sequence of operations. 55. The method of claim 54, wherein the plurality of operations included in the sequence includes at least one motion control operation, at least one machine vision operation, and at least one DAQ operation. 56. The method of claim 54, further comprising: the first application displaying a graphical user interface (GUI), wherein the graphical user interface provides GUI access to a set of operations; wherein the user input specifying each operation in the plurality of operations is received to the GUI. 57. A computer-implemented method for invoking a prototype, the method comprising: a first application displaying a graphical user interface (GUI), wherein the graphical user interface provides GUI access to a set of operations; the first application creating the prototype, wherein creating the prototype comprises including a plurality of operations in the prototype in response to user input selecting each operation in the plurality of operations from the GUI; the first application interactively displaying a visual indication of results of executing the prototype while the prototype is being created, wherein the visual indication enables a user to evaluate the results of executing the prototype, wherein interactively displaying the visual indication comprises: for each operation included in the prototype, updating the displayed visual indication in response to including the operation in the prototype in order to visually indicate a change in the results of executing the prototype, wherein the change is caused by including the operation in the prototype, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the prototype; wherein the method further comprises the first application invoking execution of the prototype in response to a request received from a second program external to the first application. 58. A computer-implemented method for invoking a prototype that includes motion control, machine vision, and Data Acquisition (DAQ) functionality, the method comprising: a first application displaying a graphical user interface (GUI), wherein the graphical user interface 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; the first application creating the prototype, wherein creating the prototype comprises including a plurality of operations in the prototype in response to user input selecting each operation in the plurality of operations from the GUI, wherein the plurality of operations includes at least one motion control operation, at least one machine vision operation, and at least one DAQ operation; the first application interactively displaying a visual indication of results of executing the prototype while the prototype is being created, wherein the visual indication enables a user to evaluate the results of executing the prototype, wherein interactively displaying the visual indication comprises: for each operation included in the prototype, updating the displayed visual indication in response to including the operation in the prototype in order to visually indicate a change in the results of executing the prototype, wherein the change is caused by including the operation in the prototype, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the prototype; wherein the method further comprises the first application invoking execution of the prototype in response to a request received from a second program external to the first application. 59. A computer-readable memory medium comprising program instructions of a first application, wherein the pro gram instructions are executable to: display a graphical user interface (GUI) of the first application, wherein the graphical user interface provides GUI access to a set of operations; create the sequence, wherein creating the sequence comprises including a plurality of operations in the sequence in response to user input selecting each operation in the plurality of operations from the GUI; interactively display a visual indication of results of performing the sequence while the sequence is being created, wherein the visual indication enables a user to evaluate the results of performing the sequence, wherein interactively displaying the visual indication comprises: for each operation included in the sequence, updating the displayed visual indication in response to including the operation in the sequence in order to visually indicate a change in the results of performing the sequence, wherein the change is caused by including the operation in the sequence, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the sequence; wherein the program instructions of the first application are further executable to invoke execution of the sequence of operations in response to a request received from a second program external to the first application. 60. The computer-readable memory medium of claim 59, wherein the set of operations includes one or more motion control operations, one or more machine vision operations, and one or more DAQ operations; wherein the plurality of operations includes at least one motion control operation, at least one machine vision operation, and at least one DAQ operation; wherein execution of the sequence of operations is invoked to perform the at least one motion control operation, at least one machine vision operation, and at least one DAQ operation. 61. A system for invoking a sequence of operations, the system comprising: a processor; a memory storing program instructions associated with a first application and program instructions associated with a second program; a display device; wherein the processor is operable to execute the program instructions associated with the first application to: display a graphical user interface (GUI) for the first application on the display device, wherein the graphical user interface provides GUI access to a set of operations; create the sequence, wherein creating the sequence comprises including a plurality of operations in the sequence in response to user input selecting each operation in the plurality of operations from the GUI; interactively display a visual indication of results of performing the sequence while the sequence is being created, wherein the visual indication enables a user to evaluate the results of performing the sequence, wherein interactively displaying the visual indication comprises: for each operation included in the sequence, updating the displayed visual indication in response to including the operation in the sequence in order to visually indicate a change in the results of performing the sequence, wherein the change is caused by including the operation in the sequence, wherein updating the displayed visual indication provides interactive visual feedback to the user indicating the change caused by including the operation in the sequence; wherein the processor is operable to execute the program instructions associated with the second program to request the first application to invoke execution of the sequence of operations. 62. The system of claim 61, wherein the processor is operable to execute the program instructions associated with the first application to execute the sequence of operations in response to said program instructions associated with the second program requesting the first application to invoke execution of the sequence of operations. 63. The system of claim 61, wherein the set of operations includes one or more motion control operations, one or more machine vision operations, and one or more DAQ operations; and wherein the plurality of operations included in the sequence includes at least one motion control operation, at least one machine vision operation, and at least one DAQ operation.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.