IP Library Granted Patent US 7,865,349
Granted Patent B2
US 7,865,349 · App. 10/053,521 · Granted Jan 4, 2011

Simulation, measurement and/or control system and method with coordinated timing

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,865,349
App. No.
10/053,521
Granted
Jan 4, 2011
Kind
B2
Abstract

A system and method for coordinating timing between simulation of a system and measurement and/or control of the system. A measurement/control loop comprising a measurement/control program, a simulation program, and an execution coordination kernel is described. The simulation program may be operable to simulate any of various types of systems. The measurement/control program may provide measurement/control logic for measuring various variables associated with the simulated system. The execution coordination kernel is responsible for coordinating the execution and time advancement of the measurement/control and simulation programs. The execution coordination kernel may be operable to intercept I/O calls produced by the measurement/control program and the simulation program. If the execution coordination kernel determines that the system is in simulation mode, the calls may be routed to software routines instead of to the I/O hardware.

Claims (78)

1. A system for performing a simulation, the system comprising:

one or more processors;

memory storing program instructions; and

an input device;

wherein the program instructions are executable by the one or more processors to:

turn a simulation mode either on or off in response to user input;

receive a request for input from a measurement/control program;

determine whether the simulation mode is turned on or off; and

selectively route the request for input to either a simulation program or the input device, depending on whether the simulation mode is turned on or off, wherein selectively routing the request for input comprises:

routing the request for input to the simulation program if the simulation mode is turned on;

routing the request for input to the input device if the simulation mode is turned off.

2. The system of claim 1 ,

wherein the measurement/control program performs the request for input identically, regardless of whether the simulation mode is turned on or off.

3. The system of claim 1 , further comprising:

an output device;

wherein the program instructions are further executable by the one or more processors to:

receive a request for output from the measurement/control program; and

selectively route the request for output to either the simulation program or the output device, depending on whether the simulation mode is turned on or off, wherein selectively routing the request for output comprises:

routing the request for output to the simulation program if the simulation mode is turned on;

routing the request for output to the output device if the simulation mode is turned off.

4. The system of claim 1 ,

wherein after determining that the simulation mode is turned on and routing the request for input to the simulation program, the program instructions are further executable by the one or more processors to:

receive results for the input request from the simulation program; and

pass the results received from the simulation program to the measurement/control program.

5. The system of claim 1 , wherein the request for input comprises a request for input through a first I/O channel;

wherein the program instructions are further executable by the one or more processors to determine that the first I/O channel is mapped to a first software routine of the simulation program;

wherein said routing the request for input to the simulation program comprises routing the request for input to the first software routine of the simulation program.

6. The system of claim 1 ,

wherein the program instructions are further executable by the one or more processors to map the first I/O channel to the first software routine of the simulation program in response to user input requesting the first I/O channel to be mapped to the first software routine of the simulation program.

7. The system of claim 1 ,

wherein turning the simulation mode either on and off comprises turning the simulation mode either on or off without requiring the measurement/control program to be modified, wherein the measurement/control program operates correctly, regardless of whether the simulation mode is turned on or off.

8. The system of claim 1 ,

wherein the measurement/control program is stored in the memory and executed by the one or more processors.

9. The system of claim 8 ,

wherein the simulation program is also stored in the memory and executed by the one or more processors.

10. The system of claim 8 ,

wherein the one or more processors are one or more processors of a first computer system included in the system;

wherein the system further includes a second computer system coupled to the first computer system;

wherein the simulation program executes on the second computer system.

11. The system of claim 1 ,

wherein the simulation program executes to simulate a physical system.

12. The system of claim 1 ,

wherein the simulation program executes to simulate operation of a device.

13. The system of claim 1 ,

wherein the measurement/control program comprises a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.

14. The system of claim 1 ,

wherein the simulation program comprises a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.

15. A method for performing a simulation, the method comprising:

turning a simulation mode either on or off in response to user input;

executing a measurement/control program;

executing a simulation program, wherein the simulation program executes to simulate a system;

receiving a request for input from the measurement/control program;

determining whether the simulation mode is turned on or off; and

selectively routing the request for input to either the simulation program or an input device, depending on whether the simulation mode is turned on or off, wherein selectively routing the request for input comprises:

routing the request for input to the simulation program if the simulation mode is turned on;

routing the request for input to the input device if the simulation mode is turned off.

16. The method of claim 15 , further comprising:

receiving a request for output from the measurement/control program; and

selectively routing the request for output to either the simulation program or an output device, depending on whether the simulation mode is turned on or off, wherein selectively routing the request for output comprises:

routing the request for output to the simulation program if the simulation mode is turned on;

routing the request for output to the output device if the simulation mode is turned off.

17. The method of claim 15 , further comprising:

after determining that the simulation mode is turned on and routing the request for input to the simulation program, receiving results for the input request from the simulation program, and passing the results received from the simulation program to the measurement/control program.

18. A tangible computer-readable memory medium storing program instructions for performing a simulation, wherein the program instructions are executable to:

turn a simulation mode either on or off in response to user input;

receive a request for input from a measurement/control program;

determine whether the simulation mode is turned on or off; and

selectively route the request for input to either a simulation program or an input device, depending on whether the simulation mode is turned on or off, wherein selectively routing the request for input comprises:

routing the request for input to the simulation program if the simulation mode is turned on;

routing the request for input to the input device if the simulation mode is turned off.

19. The tangible computer-readable memory medium of claim 18 , wherein the program instructions are further executable to:

receive a request for output from the measurement/control program; and

selectively route the request for output to either the simulation program or an output device, depending on whether the simulation mode is turned on or off, wherein selectively routing the request for output comprises:

routing the request for output to the simulation program if the simulation mode is turned on;

routing the request for output to the output device if the simulation mode is turned off.

20. The tangible computer-readable memory medium of claim 18 , wherein after determining that the simulation mode is turned on and routing the request for input to the simulation program, the program instructions are further executable to:

receive results for the input request from the simulation program; and

pass the results received from the simulation program to the measurement/control program.

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 →