System and method for providing and displaying debugging information of a graphical program on a first computer during execution of the graphical program on a second computer
First Claim
1. A method for executing a graphical program in a system comprising a host computer system and a device, wherein the host computer system includes a host CPU, a host memory and a display, wherein the device is coupled to the computer system, wherein the device includes an embedded CPU and an embedded memory, the method comprising:
- storing a graphical program in the host computer system, wherein the graphical program includes a diagram comprising a plurality of nodes;
compiling the graphical program in the host computer system to produce a compiled graphical program;
downloading at least a portion of the compiled graphical program to the embedded memory comprised on the device;
the device executing the at least a portion of the compiled graphical program;
the device transferring debugging information to the host computer system during the device executing the at least a portion of the compiled graphical program;
the host computer displaying on the display the diagram of the graphical program during the device executing the at least a portion of the compiled graphical program; and
the host computer system displaying the debugging information in the diagram in response to said transferring, wherein the host computer system displaying the debugging information comprises the host computer system highlighting execution of said nodes in the diagram as said nodes are executed in the device.
0 Assignments
0 Petitions
Accused Products
Abstract
A computer-based virtual instrumentation system including a host computer and an embedded system or device, wherein graphical programs created using the computer system can be downloaded to the embedded system for execution in a real-time or more deterministic manner. The present invention thus provides a method for automatically generating an embedded application in response to a graphical program created by a user. This provides the user the ability to develop or define instrument functionality using graphical programming techniques, while enabling the resulting program to operate in an embedded real-time system. The invention includes a novel method for configuring the embedded system. During execution of a graphical program in the embedded system, the block diagram portion executes in the embedded system, and the host CPU executes front panel display code to display on the screen the graphical front panel of the graphical program. The embedded system and the host computer exchange data using a front panel protocol to enable this operation. The present invention also includes improved debugging support for graphical programs executing on the embedded system. The host graphical programming system thus provides the user interface for graphical programs executing on the embedded system, essentially acting as the front panel “browser” for embedded applications. The host LabVIEW can also act as an independent application communicating with embedded LabVIEW through the shared memory. The host graphical programming system further provides a seamless environment in which the user can develop an embedded application using high level graphical programming techniques.
117 Citations
50 Claims
-
1. A method for executing a graphical program in a system comprising a host computer system and a device, wherein the host computer system includes a host CPU, a host memory and a display, wherein the device is coupled to the computer system, wherein the device includes an embedded CPU and an embedded memory, the method comprising:
-
storing a graphical program in the host computer system, wherein the graphical program includes a diagram comprising a plurality of nodes;
compiling the graphical program in the host computer system to produce a compiled graphical program;
downloading at least a portion of the compiled graphical program to the embedded memory comprised on the device;
the device executing the at least a portion of the compiled graphical program;
the device transferring debugging information to the host computer system during the device executing the at least a portion of the compiled graphical program;
the host computer displaying on the display the diagram of the graphical program during the device executing the at least a portion of the compiled graphical program; and
the host computer system displaying the debugging information in the diagram in response to said transferring, wherein the host computer system displaying the debugging information comprises the host computer system highlighting execution of said nodes in the diagram as said nodes are executed in the device. - View Dependent Claims (2, 3, 4)
wherein the host computer displaying the debugging information comprises the host computer displaying said data values output from one or more of said plurality of nodes as said nodes are executed in the device.
-
-
3. The method of claim 1, further comprising:
-
the host computer system receiving single step input from a user to single step through execution of the compiled graphical program executing in the device;
the host computer system providing said single step input to the device;
the device executing one or more nodes in the compiled graphical program in a single step fashion in response to said single step input.
-
-
4. The method of claim 1, further comprising:
the host computer system executing a portion of the compiled graphical program during the device executing the at least a portion of the compiled graphical program.
-
5. A system for executing a graphical program, the system comprising:
-
a host computer system, wherein the host computer system includes a host CPU, a host memory and a display, wherein the host computer system stores a graphical program, wherein the graphical program includes a diagram comprising a plurality of nodes;
a device coupled to the host computer system, wherein the device includes an embedded CPU and an embedded memory, wherein the embedded memory stores a graphical program execution engine;
wherein the host computer system is operable to compile the graphical program to produce a compiled graphical program;
wherein the host computer system is further operable to download at least a portion of the compiled graphical program to the embedded memory comprised on the device;
wherein the device is operable to execute the execution engine to execute the at least a portion of the compiled graphical program;
wherein the device is operable to transfer debugging information to the host computer system when the device executes the at least a portion of the compiled graphical program;
wherein the host computer is operable to display on the display the diagram of the graphical program when the device executes the at least a portion of the compiled graphical program; and
wherein the host computer system is operable to display the debugging information in the diagram, wherein the host computer system highlights execution of said nodes in the diagram as said nodes are executed in the device. - View Dependent Claims (6, 7, 8)
wherein the host computer system displays said data values output from one or more of said plurality of nodes as said nodes are executed in the device.
-
-
7. The system of claim 5,
wherein the host computer system is operable to receive single step input from a user to single step through execution of the at least a portion of the compiled graphical program executing in the device; -
wherein the host computer system is operable to provide said single step input to the device;
wherein the device is operable to execute one or more nodes in the compiled graphical program in a single step fashion in response to said single step input.
-
-
8. The system of claim 5, wherein the device is an adapter card comprised in the computer system.
-
9. A method for providing debugging information in a graphical program in a system comprising a host computer system and a device, wherein the host computer system includes a host CPU, a host memory and a display, wherein the device is coupled to the computer system, wherein the device includes an embedded CPU and an embedded memory, the method comprising:
-
the device executing a diagram of the graphical program, wherein the diagram comprises a plurality of nodes;
the host computer displaying on the display the diagram of the graphical program during the device executing the diagram of the graphical program;
the device transferring debugging information to the host computer system during the device executing the diagram of the graphical program, wherein the debugging information comprises data values output from one or more of said plurality of nodes as said nodes are executed in the device; and
the host computer system displaying the debugging information in the diagram in response to said transferring, wherein the host computer displaying the debugging information comprises the host computer displaying said data values output from one or more of said plurality of nodes as said nodes are executed in the device.
-
-
10. A method for displaying debugging information of a graphical program in a system comprising a first computer system and a second computer system, wherein the first computer system includes a first CPU, a first memory and a first display, wherein the second computer system is coupled to the first computer system, wherein the second computer system includes a second CPU and a second memory, the method comprising:
-
the second computer system executing at least a portion of the graphical program, wherein the at least a portion of the graphical program is at least partly represented by a diagram comprising a plurality of nodes;
the second computer system transferring debugging information to the first computer system during the second computer system executing the at least a portion of the graphical program, wherein the debugging information comprises data values output from one or more of said plurality of nodes as said nodes are executed in the second computer system;
the first computer system displaying on the first display the diagram of the graphical program during the second computer system executing the at least a portion of the graphical program; and
the first computer system displaying the debugging information in the diagram after said transferring, wherein the first computer system displaying the debugging information comprises the first computer system displaying said data values output from one or more of said plurality of nodes as said nodes are executed in the second computer system. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
wherein the at least a portion of the graphical program is represented by a diagram comprising a plurality of connected nodes; wherein the plurality of connected nodes visually indicate functionality of the graphical program.
-
-
12. The method of claim 11,
wherein the graphical program is a graphical data flow program; wherein at least a subset of the plurality of nodes are connected to visually indicate data flow among the nodes.
-
13. The method of claim 10, further comprising:
-
the first computer system receiving user input selecting a first one or more nodes to display data output during said executing;
providing said user input to the second computer system;
wherein the second computer system transferring debugging information to the first computer system comprises the second computer system transferring data values output from the first one or more nodes;
wherein the first computer system displaying the debugging information in the diagram comprises the first computer system displaying the data values output from the first one or more nodes.
-
-
14. The method of claim 13, wherein the first computer system displays the data values output from the first one or more nodes as the first one or more nodes are executed on the diagram.
-
15. The method of claim 10, wherein the debugging information comprises said nodes are executed in the second computer system;
wherein the first computer system displaying the debugging information comprises the first computer system highlighting execution of said nodes in the diagram as said nodes are executed in the second computer system.
-
16. The method of claim 15, further comprising:
-
the first computer system receiving single step input from a user to single step through execution of the at least a portion of the graphical program executing in the second computer system;
the first computer system providing said single step input to the second computer system;
the second computer system executing one or more nodes in the compiled graphical program in a single step fashion in response to said single step input.
-
-
17. The method of claim 10, further comprising:
-
the first computer system receiving user input selecting one or more breakpoints in the diagram;
providing said user input to the second computer system;
wherein said executing comprises the second computer system halting execution of the at least a portion of the graphical program at the one or more breakpoints in the diagram.
-
-
18. The method of claim 10, further comprising:
the first computer system executing a portion of the graphical program during the second computer system executing the at least a portion of the graphical program.
-
19. The method of claim 10, further comprising:
-
compiling the at least a portion of the graphical program prior to said executing to produce a compiled graphical program;
wherein said executing comprises the second computer system executing the compiled graphical program.
-
-
20. The method of claim 10, further comprising:
transferring the at least a portion of the graphical program to the second computer system prior to said executing.
-
21. The method of claim 10,
wherein the graphical program includes a diagram and a user interface; wherein said executing comprises the second computer system executing the diagram of the graphical program.
-
22. The method of claim 10,
wherein the graphical program includes a diagram and a user interface; wherein said executing comprises the second computer system executing the diagram of the graphical program and the user interface of the graphical program.
-
23. The method of claim 10,
wherein the graphical program includes a diagram and a user interface; -
the method further comprising;
the first computer system displaying on the first display the user interface of the graphical program during the second computer system executing the at least a portion of the graphical program.
-
-
24. The method of claim 23, further comprising:
the first computer system displaying at least a portion of the debugging information in the user interface.
-
25. The method of claim 10,
wherein the second computer system executing the at least a portion of the graphical program includes: -
generating output data for display in the user interface of the graphical program; and
transferring the output data to the first computer system;
the first CPU executing code from the first memory to present the user interface on the first display during the second computer system executing the at least a portion of the graphical program; and
the first computer system displaying the output data in the user interface.
-
-
26. A system for executing a graphical program, the system comprising:
-
a first computer system, wherein the first computer system includes a first CPU, a first memory and a first display;
a second computer system coupled to the first computer system, wherein the second computer system includes a second CPU and a second memory, wherein the second computer system stores a compiled graphical program, wherein the compiled graphical program is a compiled version of a graphical program, wherein the graphical program is at least partly representable on a display as a diagram comprising a plurality of nodes;
wherein the second computer system is operable to execute the compiled graphical program;
wherein the second computer system is operable to transfer debugging information to the first computer system when the second computer system executes the compiled graphical program, wherein the debugging information comprises information to highlight execution of said nodes in the diagram as said nodes are executed in the second computer system;
wherein the first computer is operable to display on the first display the diagram of the graphical program; and
wherein the first computer system is operable to display the debugging information in the diagram, wherein the first computer system highlights execution of said nodes in the diagram as said nodes are executed in the second computer system. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
wherein the graphical program is representable on a display by a diagram comprising a plurality of connected nodes; wherein the plurality of connected nodes visually indicate functionality of the graphical program.
-
-
28. The system of claim 27,
wherein the graphical program is a graphical data flow program; wherein at least a subset of the plurality of nodes are connected to visually indicate data flow among the nodes.
-
29. The system of claim 26, wherein the debugging information comprises data values output from one or more of said plurality of nodes as said nodes are executed in the second computer system;
wherein the first computer system displays said data values output from one or more of said plurality of nodes as said nodes are executed in the second computer system.
-
30. The method of claim 26, further comprising:
-
wherein the first computer system is operable to receive user input selecting a first one or more nodes to display data output during said executing;
wherein the first computer system is operable to provide said user input to the second computer system;
wherein the second computer system is operable to transfer data values output from the first one or more nodes to the first computer system;
wherein the first computer system is operable to display the data values output from the first one or more nodes.
-
-
31. The method of claim 30, wherein the first computer system is operable to display the data values output from the first one or more nodes as the first one or more nodes are executed on the diagram.
-
32. The system of claim 26,
wherein the first computer system is operable to receive single step input from a user to single step through execution of the compiled graphical program executing in the second computer system; -
wherein the first computer system is operable to provide said single step input to the second computer system;
wherein the second computer system is operable to execute one or more nodes in the compiled graphical program in a single step fashion in response to said single step input.
-
-
33. The system of claim 26,
wherein the first computer system is operable to receive user input selecting one or more breakpoints in the diagram; -
wherein the first computer system is operable to provide said user input to the second computer system;
wherein the second computer system is operable to halt execution of the compiled graphical program at the one or more breakpoints in the diagram.
-
-
34. The system of claim 26, wherein the second computer system is comprised on a card located in the first computer system.
-
35. The system of claim 26, wherein the second computer system is coupled to the first computer system over a network.
-
36. The system of claim 26,
wherein the first computer system is operable to compile the graphical program to produce the compiled graphical program; -
wherein the first computer system is further operable to transfer at least a portion of the compiled graphical program to the second memory comprised on the second computer system; and
wherein the second computer system is operable to execute the at least a portion of the compiled graphical program.
-
-
37. The system of claim 26,
wherein the second computer system is operable to compile the graphical program to produce the compiled graphical program. -
38. The system of claim 26, wherein the graphical program is a virtual instrument.
-
39. The system of claim 26, wherein the second computer system operates as an instrument to acquire and measure data.
-
40. The system of claim 26,
wherein the graphical program includes a diagram and a user interface; wherein the first computer system is operable to display on the first display the user interface of the graphical program when the second computer system executes the compiled graphical program.
-
41. The system of claim 40, further comprising:
wherein the first computer system is operable to display the debugging information in the user interface.
-
42. The system of claim 26,
wherein, in executing the compiled graphical program, the second computer system is operable to: -
generate output data for display in the user interface of the graphical program; and
transfer the output data to the first computer system;
wherein the first computer system is operable to;
present said user interface on the first display while the second computer system executes the compiled graphical program; and
display the output data in the user interface of the graphical program.
-
-
43. A method for providing debugging information in a graphical program in a system comprising a first computer system and a second computer system, wherein the first computer system includes a first CPU, a first memory and a first display, wherein the second computer system is coupled to the first computer system, wherein the second computer system includes a second CPU and a second memory, the method comprising:
-
the second computer system executing a diagram of the graphical program, wherein the diagram comprises a plurality of connected nodes which visually indicate functionality of the graphical program;
the first computer system displaying on the first display the diagram of the graphical program during the second computer system executing the diagram of the graphical program;
the second computer system transferring debugging information to the first computer system during the second computer system executing the diagram of the graphical program; and
the first computer system displaying the debugging information in the diagram after said transferring, wherein the first computer system displaying the debugging information comprises the first computer system displaying data values output from one or more of said plurality of nodes as said nodes are executed in the second computer system. - View Dependent Claims (44, 45, 46)
wherein at least a subset of the plurality of nodes are connected to visually indicate data flow among the nodes. -
45. The method of claim 43, wherein the debugging information comprises execution highlighting information to highlight execution of said nodes in the diagram as said nodes are executed in the second computer system;
wherein the first computer system displaying the debugging information comprises the first computer system highlighting execution of said nodes in the diagram as said nodes are executed in the second computer system.
-
46. The method of claim 43, wherein the second computer system operates as an instrument to acquire and measure data.
-
-
47. A method for providing debugging information in a graphical program in a system comprising a first computer system and a second computer system, wherein the first computer system includes a first CPU, a first memory and a first display, wherein the second computer system is coupled to the first computer system, wherein the second computer system includes a second CPU and a second memory, the method comprising:
-
the second computer system executing a diagram of the graphical program, wherein the diagram comprises a plurality of connected nodes which visually indicate functionality of the graphical program;
the first computer system displaying on the first display the diagram of the graphical program during the second computer system executing the diagram of the graphical program;
the second computer system transferring debugging information to the first computer system during the second computer system executing the diagram of the graphical program; and
the first computer system displaying the debugging information in the diagram after said transferring, wherein the first computer system displaying the debugging information comprises the first computer system highlighting execution of said nodes in the diagram as said nodes are executed in the second computer system. - View Dependent Claims (48, 49, 50)
wherein at least a subset of the plurality of nodes are connected to visually indicate data flow among the nodes. -
49. The method of claim 47,
wherein the first computer system displaying the debugging information comprises the first computer system displaying data values output from one or more of said plurality of nodes as said nodes are executed in the second computer system. -
50. The method of claim 47, wherein the second computer system operates as an instrument to acquire and measure data.
-
Specification