IP Library Granted Patent US 7,969,431
Granted Patent B2
US 7,969,431 · App. 10/194,476 · Granted Jun 28, 2011

Graphical program node for generating a measurement program

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,969,431
App. No.
10/194,476
Granted
Jun 28, 2011
Kind
B2
Abstract

A system and method for performing a measurement task. A node is displayed in a graphical program, and configured to receive a measurement task specification (MTS). The node may be coupled to an MTS node, or to a configuration node which constructs the MTS at run time. When the program executes, the node receives the MTS, invokes an expert system to analyze the MTS, optionally validate the MTS, generates a run-time specification for the task. The node them invokes a run-time builder to analyze the run-time specification and generate a run-time based on the run-time specification, where the run-time is executable to perform the measurement task. The node may be a read node, a write node, or a start node connected to a read or write node. Additional operations may be performed prior to or during the first iteration, and/or during or after the last iteration, of the task.

Claims (126)

1. A non-transitory computer accessible memory medium that stores program instructions for creating a graphical program that performs a task, wherein the program instructions are executable by a processor to perform:

displaying a node in a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program, wherein the graphical program is executable to perform the functionality;

configuring the node to receive a task specification; and

executing the node in the graphical program, wherein said executing the node comprises:

the node receiving a task specification as input, wherein the task specification specifies a task;

the node generating a program which is configured to perform the task, wherein the node generates the program based on the task specification; and

the node invoking execution of the program to perform the task.

2. The non-transitory computer accessible memory medium of claim 1 ,

wherein the node generating the program comprises:

the node invoking an expert system to analyze the task specification; and

the node generating the program based on results of the expert system, wherein the program is configured to perform the task.

3. The non-transitory computer accessible memory medium of claim 1 ,

wherein the node generating the program comprises:

the node invoking an expert system to analyze the task specification and generate a run-time specification for the task in response to said analyzing; and

the node invoking a run-time builder to analyze the run-time specification and generate a run-time based on the run-time specification, wherein the run-time is executable to perform the task.

4. The non-transitory computer accessible memory medium of claim 3 , wherein the program instructions are further executable to perform:

the expert system validating the task specification prior to generating the run-time specification.

5. The non-transitory computer accessible memory medium of claim 3 , wherein the program instructions are further executable to perform:

the run-time builder configuring one or more devices according to the run-time specification, wherein the run-time executes to perform the task using the configured one or more devices.

6. The non-transitory computer accessible memory medium of claim 3 ,

wherein the node invoking execution of the program to perform the task comprises the node invoking execution of the run-time to perform the task.

7. The non-transitory computer accessible memory medium of claim 1 , wherein the program instructions are further executable to perform:

displaying a graphical user interface (GUI) for specifying the task;

receiving user input to the GUI indicating a plurality of parameters characterizing the task, wherein the plurality of parameters is useable in generating the task specification; and

generating the task specification.

8. The non-transitory computer accessible memory medium of claim 1 ,

wherein said configuring the node to receive a task specification comprises connecting an input terminal of the node to an output terminal of a different node in the graphical program.

9. The non-transitory computer accessible memory medium of claim 8 ,

wherein the different node is a configuration node which operates to configure the task specification for input to the node.

10. The non-transitory computer accessible memory medium of claim 9 , wherein the configuration node comprises one of:

a channel configuration node, which is configured to add channel configuration information to the task specification;

a timing configuration node, which is configured to add timing configuration information to the task specification; or

a triggering configuration node, which is configured to add triggering configuration information to the task specification.

11. The non-transitory computer accessible memory medium of claim 1 ,

wherein the node is a primitive node provided by a graphical programming development environment for inclusion in the graphical program.

12. The non-transitory computer accessible memory medium of claim 1 ,

wherein the task comprises a repetitive task,

wherein the node invoking execution of a program to perform the task comprises:

the node invoking two or more iteration cycles of the program to perform the task; and

the node performing one or more operations during or prior to a first iteration cycle of the two or more iteration cycles of the program.

13. The non-transitory computer accessible memory medium of claim 1 , wherein the node is configured to be connected to one or more of:

a read node, which is configured to acquire data from a device, wherein the task comprises a measurement; or

a write node, which is configured to write data to a device, wherein the task comprises a signal generation.

14. The non-transitory computer accessible memory medium of claim 13 , wherein the task comprises a repetitive task, wherein the program instructions are further executable to perform:

displaying a stop node in the graphical program, wherein the stop node is connected to the one or more of the read node and the write node, and wherein the stop node is configured to terminate the task.

15. The non-transitory computer accessible memory medium of claim 14 , wherein the node invoking execution of the program to perform the task comprises:

the node invoking two or more iteration cycles of the program to perform the task; and

the stop node performing one or more operations prior to or during a final iteration cycle of the two or more iteration cycles of the program.

16. The non-transitory computer accessible memory medium of claim 13 , wherein the program instructions are further executable to perform:

displaying a stop node in the graphical program, wherein the stop node is connected to the one or more of the read node and the write node, and wherein the stop node is configured to terminate the task.

17. The non-transitory computer accessible memory medium of claim 1 , wherein the task specification comprises a measurement task specification, and wherein the task comprises a measurement task.

18. The non-transitory computer accessible memory medium of claim 1 , wherein the task comprises a measurement, wherein the program instructions are further executable to perform:

the node executing to configure a device to acquire data from a source;

wherein the node invoking execution of a program to perform the task comprises:

the device acquiring data from the source; and

the node acquiring data from the device.

19. The non-transitory computer accessible memory medium of claim 18 ,

wherein the program instructions implement a portion of a system comprising a computer system and the device; and

wherein the node acquiring data from the device comprises the node acquiring data from the device and providing the acquired data to the computer system.

20. The non-transitory computer accessible memory medium of claim 1 , wherein the task comprises a signal generation, wherein the program instructions are further executable to perform:

the node executing to configure a device to perform a signal generation;

wherein the node invoking execution of a program to perform the task comprises:

the node invoking signal generation by the device; and

the device generating a signal in response to the invocation.

21. The non-transitory computer accessible memory medium of claim 20 ,

wherein the program instructions implement a portion of a system comprising a computer system and the device; and

wherein the node invoking signal generation by the device comprises the node acquiring data from the computer system and providing the acquired data to the device.

22. The non-transitory computer accessible memory medium of claim 1 ,

wherein the graphical program is a data flow graphical program.

23. The non-transitory computer accessible memory medium of claim 1 , wherein the task comprises a complex operation using one or more hardware devices.

24. The non-transitory computer accessible memory medium of claim 1 ,

wherein the task specification comprises configuration information for one or more devices; and

wherein, after being configured with the configuration information, the one or more devices are configured to perform the task.

25. The non-transitory computer accessible memory medium of claim 1 , wherein the task comprises a repetitive task, wherein the program instructions are further executable to:

configure the node to perform the repetitive task.

26. The non-transitory computer accessible memory medium of claim 25 ,

wherein said configuring the node to perform the repetitive task comprises displaying the node in a loop structure in the graphical program, wherein the loop structure indicates that the node is to execute continuously or a specified number of times.

27. The non-transitory computer accessible memory medium of claim 25 ,

wherein said configuring the node to perform the repetitive task comprises:

displaying a different node in the graphical program which represents a repetitive task parameter, wherein the repetitive task parameter indicates that the node is to execute at least one of 1) continuously or 2) a specified number of times; and

connecting the node to the different node to indicate that the node is to execute repetitively in accordance with the repetitive task parameter.

28. The non-transitory computer accessible memory medium of claim 1 , wherein the program instructions are further executable to perform:

receiving user input selecting the node; and

displaying a more detailed graphical program representing operations of the node.

29. A method for creating a graphical program that performs a task, the method comprising:

utilizing a computer to perform:

displaying a node in a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program;

configuring the node to receive a task specification; and

executing the node in the graphical program, wherein said executing the node comprises:

the node receiving a task specification as input, wherein the task specification specifies a task;

the node generating a program which is configured to perform the task, wherein the node generates the program based on the task specification; and

the node invoking execution of the program to perform the task.

30. The method of claim 29 ,

wherein the node generating the program comprises:

the node invoking an expert system to analyze the task specification; and

the node generating the program based on results of the expert system, wherein the program is configured to perform the task.

31. The method claim 29 ,

wherein the node generating the program comprises:

the node invoking an expert system to analyze the task specification and generate a run-time specification for the task in response to said analyzing; and

the node invoking a run-time builder to analyze the run-time specification and generate a run-time based on the run-time specification, wherein the run-time is executable to perform the task.

32. The method of claim 29 , wherein the task specification comprises a measurement task specification, and wherein the task comprises a measurement task.

33. A system, comprising:

a processor; and

a memory medium coupled to the processor;

wherein the memory medium stores program instructions executable by the processor to:

display a node in a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program;

configure the node to receive a task specification; and

execute the node in the graphical program, wherein the node executes to:

receive a task specification as input, wherein the task specification specifies a task;

generate a program which is configured to perform the task, wherein the node generates the program based on the task specification and invoke execution of the program to perform the task.

34. The system of claim 33 ,

wherein, in generating the program, the node is executable to:

invoke an expert system to analyze the task specification; and

generate the program based on results of the expert system, wherein the program is configured to perform the task.

35. The system of claim 29 ,

wherein, in generating the program, the node is executable to:

invoke an expert system to analyze the task specification and generate a run-time specification for the task in response to said analyzing; and

invoke a run-time builder to analyze the run-time specification and generate a run-time based on the run-time specification, wherein the run-time is executable to perform the task.

36. The system of claim 29 , wherein the task specification comprises a measurement task specification, and wherein the task comprises a measurement task.

37. A non-transitory computer accessible memory medium that stores program instructions, wherein the program instructions are executable by a processor to implement:

a node in a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program;

wherein the node is configurable to receive a task specification as input, wherein the task specification specifies a task; and

wherein the node is executable in the graphical program to:

receive the task specification as input; and

invoke an expert system to analyze the task specification; and

generate a program based on results of the expert system, wherein the program is configured to perform the task.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →