IP Library Granted Patent US 10,235,868
Granted Patent B2
US 10,235,868 · App. 14/500,781 · Granted Mar 19, 2019

Embedded shared logical instrument

Inventors: Richard Henry Mace Keene (Gwent, GB); Jan Viborg Moeller (Greve, DK)
Assignee: National Instruments Corporation
G08C15/02G06F11/2733H04L1/00
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 10,235,868
App. No.
14/500,781
Granted
Mar 19, 2019
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 (58)

1. A system, comprising:

a processor; and

a memory, coupled to the processor, wherein the processor is configured to execute program instructions stored on the processor, wherein the program instructions to cause the processor to implement:

a plurality of logical instruments, wherein each logical instrument is configured to perform measurement functions via at least one corresponding physical measurement device;

a plurality of isolated memory spaces in the memory, wherein each isolated memory space is configured to store configuration information and working data for a respective logical instrument; and

at least one measurement engine;

wherein the plurality of logical instruments are configured to operate concurrently, and wherein each of the plurality of logical instruments is configured to:

communicate with a respective client application independently; and

acquire, generate, or process data using the at least one corresponding physical measurement device via the at least one measurement engine per the configuration information; and

wherein during operation, at least two of the logical instruments share use of a single physical measurement device.

2. The system of claim 1 , wherein use of a single physical measurement device by a logical instrument comprises operating the single physical measurement device in a plurality of phases, including at least one phase that includes an exclusive portion that requires exclusive access to the single physical measurement device, and wherein to share use of the single physical measurement device, each logical instrument is configured to:

lock the single physical measurement device for duration of the exclusive portion of the at least one phase, thereby blocking other logical instruments from using the single physical measurement device for the duration of the exclusive portion of the at least one phase; and

unlock the single physical measurement device when the exclusive portion of the at least one phase completes, thereby allowing use of the single physical measurement device by the other logical instruments.

3. The system of claim 2 , wherein the exclusive portion of the at least one phase comprises an acquire portion in which data are acquired via the corresponding single physical measurement device.

4. The system of claim 2 , wherein the exclusive portion of the at least one phase comprises a generate portion in which signals are generated via the corresponding single physical measurement device.

5. The system of claim 1 , wherein the at least one measurement engine comprises a plurality of measurement engines.

6. The system of claim 5 , wherein the plurality of measurement engines are configured to operate concurrently.

7. The system of claim 1 , wherein each logical instrument is configured to lock and unlock the single physical measurement device via a mechanism implemented in the at least one measurement engine.

8. The system of claim 7 , wherein the mechanism is implemented in the at least one measurement engine using operating system (OS) features.

9. The system of claim 8 , wherein the operating system (OS) features comprise one or more of:

one or more semaphores; or

at least one mutex.

10. The system of claim 7 , wherein the mechanism is implemented in the at least one measurement engine using virtual instrument software architecture (VISA) locks.

11. The system of claim 7 , wherein the mechanism is implemented by putting threads to sleep or disabling OS interrupts.

12. The system of claim 1 , wherein at least one logical instrument of the plurality of logical instruments is configured to provide:

measurement capabilities; and

analysis functionality implemented in software, wherein the analysis functionality operates on data obtained from the at least one corresponding physical measurement device.

13. A method, comprising:

configuring a custom modular measurement system, the custom modular measurement system comprising:

a plurality of logical instruments, wherein each logical instrument is configured to perform measurement functions via at least one corresponding physical measurement device;

a plurality of isolated memory spaces in the memory, wherein each isolated memory space is configured to store configuration information and working data for a respective logical instrument; and

at least one measurement engine;

operating the custom modular measurement system, comprising:

operating the plurality of logical instruments concurrently, comprising:

for each logical instrument of the plurality of logical instruments:

communicating with a respective client application independently; and

acquiring, generating, or processing data using the at least one corresponding physical measurement device via the at least one measurement engine per the configuration information;

wherein said operating the plurality of logical instruments concurrently comprises:

sharing, by at least two of the logical instruments, use of a single physical measurement device.

14. The method of claim 13 , wherein use of a single physical measurement device by a logical instrument comprises operating the single physical measurement device in a plurality of phases, including at least one phase that includes an exclusive portion that requires exclusive access to the single physical measurement device, and wherein sharing comprising:

locking, by a first logical instrument of the at least two logical instruments, the single physical measurement device for duration of the exclusive portion of the at least one phase, thereby blocking others of the at least two logical instruments from using the single physical measurement device for the duration of the exclusive portion of the at least one phase; and

unlocking, by the first logical instrument of the at least two logical instruments, the single physical measurement device when the exclusive portion of the at least one phase completes, thereby allowing use of the single physical measurement device by the others of the at least two logical instruments.

15. The method of claim 14 , wherein the exclusive portion of the at least one phase comprises an acquire portion in which data are acquired via the corresponding single physical measurement device.

16. The method of claim 14 , wherein the exclusive portion of the at least one phase comprises a generate portion in which signals are generated via the corresponding single physical measurement device.

17. The method of claim 13 , wherein the at least one measurement engine comprises a plurality of measurement engines.

18. The method of claim 17 , wherein the plurality of measurement engines are configured to operate concurrently.

19. The method of claim 13 , wherein said locking and unlocking the single physical measurement device is performed via a mechanism implemented in the at least one measurement engine.

20. The method of claim 19 , wherein the mechanism is implemented in the at least one measurement engine using operating system (OS) features.

21. The method of claim 13 , wherein the operating system (OS) features comprise one or more of:

one or more semaphores; or

at least one mutex.

22. The method of claim 13 , wherein the mechanism is implemented in the at least one measurement engine using virtual instrument software architecture (VISA) locks.

23. The method of claim 13 , wherein said locking or unlocking comprises one or more of:

putting threads to sleep; or

disabling OS interrupts.

24. The method of claim 13 , wherein at least one logical instrument of the plurality of logical instruments provides:

measurement capabilities; and

analysis functionality implemented in software, wherein the analysis functionality operates on data obtained from the at least one corresponding physical 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 Sep 29, 2014
From: KEENE, RICHARD HENRY MACE; MOELLER, JAN VIBORG
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 033844/0310 →
Continuity (1)
Related Publication 20160091876A1 · Mar 31, 2016