IP Library Granted Patent US 9,785,415
Granted Patent B2
US 9,785,415 · App. 14/500,652 · Granted Oct 10, 2017

Remote interface to logical instruments

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 9,785,415
App. No.
14/500,652
Granted
Oct 10, 2017
Kind
B2
Abstract

System and method for controlling a custom modular measurement system. An editor may receive user input specifying one or more system definitions, each mapping message based commands, parameters, variables and/or metadata (“information”) accordant with a control protocol for standalone instruments to functions and data in a programming language, and generates the definitions accordingly, each being useable by a client application to interface with a custom modular measurement system that includes multiple logical instruments via the message based information. At least one of the definitions may be deployed onto the measurement system. A run-time engine of the measurement system may accept a message based command from the application, and call a corresponding function, which may invoke operation of at least one of the logical instruments. The logical instruments may be operated concurrently, including sharing use of a single physical measurement device by at least two of the logical instruments.

Claims (64)

1. A method for controlling a custom modular measurement system, comprising:

receiving, by an editor, user input specifying one or more system definitions, wherein each system definition maps message based commands, parameters, variables and/or metadata accordant with a control protocol for standalone instruments to functions and data in a programming language;

generating, by the editor, the one or more system definitions based on the user input, wherein each system definition is used by a client application to interface with a custom modular measurement system that includes multiple logical instruments via the message based commands, parameters, variables, and/or metadata, each logical instrument providing custom measurement or analysis functionality for at least one physical measurement device;

deploying at least one of the system definitions onto the custom modular measurement system;

accepting, by a run-time engine of the custom modular measurement system, a message based command from the client application;

calling, by the run-time engine, a function that corresponds to the message based command, based on the at least one of the one or more system definitions; and

performing, by the run-time engine, said accepting and said calling a plurality of times, wherein at least one called function invokes operation of at least one of the logical instruments, wherein each of the multiple logical instruments is configured to lock the measurement device during an exclusive phase of operation of the measurement device, the exclusive phase including an acquire portion of a measure phase, wherein during the measure phase, data are acquired via the measurement device.

2. The method of claim 1 , further comprising:

displaying and editing, by the editor, one or more functions in the programming language.

3. The method of claim 1 , further comprising: displaying and editing, by the editor, at least one of the system definitions in response to the user input.

4. The method of claim 1 , further comprising:

creating, by the editor, a tree of the message based commands organized in accordance with the logical instruments and measurement subsystems of the logical instruments.

5. The method of claim 1 , further comprising:

creating, by the editor, an integrated instrument soft front panel, wherein the integrated instrument soft front panel includes respective subpanels for logical instruments and/or measurement subsystems of the logical instruments, and wherein the integrated instrument soft front panel maps elements on the panels to the functions, parameters, variables, and/or metadata in the programming language.

6. The method of claim 1 , further comprising:

parsing, by the run-time engine, the message based command; and

determining the function based on said parsing;

wherein said calling is performed in response to said determining.

7. The method of claim 1 , wherein each logical instrument represents:

a single physical measurement device;

multiple coordinated physical measurement devices; or

software.

8. The method of claim 1 , wherein during operation, at least two of the logical instruments share use of a single physical measurement device.

9. The method of claim 1 , wherein at least one logical instrument supports concurrent execution of multiple independent measurement subsystems.

10. The method of claim 1 , wherein the run-time engine supports multiple concurrent external connections to a same logical instrument.

11. The method of claim 1 , further comprising: synchronizing, by the run-time engine, access to the physical measurement device by:

multiple logical instruments; or

multiple measurement subsystems within a logical instrument.

12. The method of claim 1 , further comprising:

sending a message containing a result of the operation to the client application.

13. The method of claim 1 , wherein the control protocol for standalone instruments comprises SCPI (Standard Commands for Programmable Instruments).

14. The method of claim 1 , wherein the programming language comprises a graphical programming language.

15. The method of claim 1 , wherein the graphical programming language comprises a graphical data flow programming language.

16. The method of claim 1 , wherein each of the plurality of logical instruments is further configured to unlock the measurement device when the exclusive phase of the operation of the measurement device completes.

17. A non-transitory computer readable memory medium that stores program instructions that are executable to implement:

an editor, configured to:

receive user input specifying one or more system definitions, wherein each system definition maps message based commands, parameters, variables, and/or metadata accordant with a control protocol for standalone instruments to functions and data in a programming language;

generate the one or more system definitions based on the user input;

wherein each system definition is used by a client application to interface with a custom modular measurement system that includes multiple logical instruments via the message based commands, parameters, variables, and/or metadata, each logical instrument providing custom measurement or analysis functionality for at least one physical measurement device;

deploy at least one of the system definitions onto the custom modular measurement system;

accepting, by a run-time engine of the custom modular measurement system, a message based command from the client application;

call, by the run-time engine, a function that corresponds to the message based command, based on the at least one of the one or more system definitions; and

perform, by the run-time engine, said accepting and said calling a plurality of times, wherein at least one called function invokes operation of at least one of the logical instruments, wherein each of the multiple logical instruments is configured to lock the measurement device during an exclusive phase of operation of the measurement device, the exclusive phase including an acquire portion of a measure phase, wherein during the measure phase, data are acquired via the measurement device.

18. The non-transitory computer readable memory medium of claim 17 , wherein the editor is configured to:

display and edit one or more functions in the programming language.

19. The non-transitory computer readable memory medium of claim 17 , wherein the editor is further configured to:

display and edit at least one of the system definitions in response to user input.

20. The non-transitory computer readable memory medium of claim 17 , wherein the editor is further configured to:

create a tree of the message based commands organized in accordance with the logical instruments and measurement subsystems of the logical instruments.

21. The non-transitory computer readable memory medium of claim 17 , wherein the editor is further configured to:

create an integrated instrument soft front panel, wherein the integrated instrument soft front panel includes respective subpanels for logical instruments and/or measurement subsystems of the logical instruments, and wherein the integrated instrument soft front panel maps elements on the subpanels to the functions, parameters, variables, and/or metadata in the programming language.

22. The non-transitory computer readable memory medium of claim 21 , wherein the run-time engine is further configured to: send a message containing a result of the operation to the client application.

23. The method of claim 21 , wherein during operation, at least two of the logical instruments share use of a single physical measurement device.

24. A system, comprising:

a client application; and

a custom modular measurement system, coupled to the client application, wherein the custom modular measurement system comprises:

a controller, comprising:

one or more system definitions, wherein each system definition maps message based commands, parameters, variables, and/or metadata accordant with a control protocol for standalone instruments to functions and data in a programming language; and

a run-time engine; and

a plurality of logical instruments, coupled to or comprised in the controller, each logical instrument providing custom measurement or analysis functionality for at least one physical measurement device;

wherein the client application is configured to receive, via an editor of the client application, user input specifying the one or more system definitions, and wherein the client application is further configured to send one or more message based commands, parameters, variables, and/or metadata accordant with the control protocol to the custom modular measurement system; and wherein the run-time engine is configured to:

accept a message based command from the client application;

call a function that corresponds to the message based command, based on at least one of the one or more system definitions; and

perform said accepting and said calling a plurality of times, wherein at least one called function invokes operation of at least one of the logical instruments, wherein each of the multiple logical instruments is configured to lock the measurement device during an exclusive phase of operation of the measurement device, the exclusive phase including an acquire portion of a measure phase, wherein during the measure phase, data are acquired via the measurement device.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2014
From: KEENE, RICHARD HENRY MACE; MOELLER, JAN VIBORG
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 033946/0320 →