IP Library Granted Patent US 7,134,081
Granted Patent B2
US 7,134,081 · App. 10/103,391 · Granted Nov 7, 2006

Method and apparatus for controlling an instrumentation system

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,134,081
App. No.
10/103,391
Granted
Nov 7, 2006
Kind
B2
Abstract

An instrument I/O assistant and the algorithms that may be used to manage instrument responses and that may provide an instrument-centric approach to message-based instrument I/O. The instrument I/O assistant may assist the user in parsing instrument responses by offering an environment to interact with an instrument response without forcing the user to write parsing code. Embodiments may be integrated into instrumentation control programs to make instrument I/O as transparent as possible. The instrument I/O assistant may provide code generation so that the parsing of an instrument response performed in the instrument I/O assistant can be reused. The saved code for one query and response may be referred to as a query block. Two or more query blocks may be saved into a task. A task is a series of executable query blocks. The task may be executed, or alternatively code may be generated to execute the task.

Claims (121)

1. A method executable within an instrumentation system, comprising:

sending a query message to a message-based instrument;

receiving a response from the message-based instrument; and

parsing the response, wherein said parsing comprises:

displaying the response;

graphically selecting a region of the displayed response in response to user input; and

specifying one or more attributes of the selected region;

wherein the selected region is configured in accordance with the specified attributes.

2. The method of claim 1 , wherein said specifying one or more attributes of the selected region configures the selected region as a token in accordance with the specified attributes.

3. The method of claim 1 , wherein the specified one or more attributes of the selected region include one or more of data type, byte ordering, position, size, count, name, and scaling.

4. The method of claim 1 , further comprising, prior to said sending the query message, specifying the message-based instrument to receive the query message in response to user input.

5. The method of claim 4 , wherein specifying the message-based instrument comprises selecting the message-based instrument from a list of two or more instruments coupled to the instrumentation system in response to user input.

6. The method of claim 1 , further comprising:

generating a query block in response to said parsing, wherein the query block comprises program instructions that are executable to perform said sending, said receiving, and said parsing; and

storing the generated query block to memory.

7. The method of claim 6 , wherein the query block is executable within the instrumentation system to interact with the selected message-based instrument to perform said sending, said receiving, and said parsing.

8. The method of claim 6 , wherein the query block is a graphical object configured for use in a graphical programming environment.

9. The method of claim 6 , wherein the query block is a text-based module configured for use in a textual programming environment.

10. The method of claim 6 , further comprising:

adding the query block to an instrument control application program;

executing the instrument control application program; and

executing the query block within the instrument control application program to interact with the selected message-based instrument to perform said sending, said receiving, and said parsing.

11. The method of claim 6 , wherein said parsing generates one or more parsed instrument responses.

12. The method of claim 11 , further comprising displaying at least a subset of the parsed instrument responses.

13. The method of claim 11 , further comprising providing at least a subset of the parsed instrument responses to one or more other objects in the instrument control application program.

14. The method of claim 1 , further comprising:

repeating said sending, said receiving and said parsing for a plurality of query messages to the message-based instrument;

generating a query block for each of the repetitions, wherein the query block comprises program instructions that are executable to perform said sending, said receiving, and said parsing as specified for the particular repetition; and

adding the plurality of generated query blocks for each of the repetitions to a task in memory.

15. The method of claim 14 , wherein the task comprises the plurality of query blocks in a sequence, and wherein the task is executable to execute the plurality of query blocks in the sequence.

16. The method of claim 14 , wherein the task is a graphical object configured for use in a graphical programming environment.

17. The method of claim 14 , wherein the task is a text-based module configured for use in a textual programming environment.

18. The method of claim 1 , wherein the response is displayed in hexadecimal format.

19. The method of claim 1 , wherein the response is displayed in ASCII format.

20. The method of claim 19 , wherein the data format is one of hexadecimal and ASCII.

21. The method of claim 1 , further comprising determining a data format of the response, wherein said displaying the response displays the response in accordance with the determined data format.

22. The method of claim 1 , wherein said displaying the response displays the response in accordance with a data format, the method further comprising:

after said specifying one or more attributes of the selected region, changing the displayed response to another data format in response to user input; and

wherein the selected region is configured in accordance with the specified attributes after said changing.

23. The method of claim 1 , further comprising tokenizing the response prior to said graphically selecting the region.

24. The method of claim 1 , wherein the response is an ASCII response, wherein said displaying the response displays the response as one or more ASCII tokens generated by said tokenizing.

25. The method of claim 1 , wherein said specifying the one or more attributes of the selected region is performed in response to user input.

26. An instrumentation system comprising:

a computing device comprising:

a processor; and

a memory;

a message-based instrument coupled to the computing device;

a unit under test coupled to the message-based instrument;

wherein the memory comprised in the computing device comprises program instructions executable within the computing device to:

send a query message to the message-based instrument;

receive a response from the message-based instrument; and

parse the response;

wherein, to parse the response, the program instructions are further executable to:

display the response;

graphically select one or more regions of the displayed response in response to user input;

specify one or more attributes for each selected region; and

configure each selected region as a token in accordance with the specified one or more attributes of the particular selected region.

27. The instrumentation system of claim 26 , wherein the specified one or more attributes of each selected region include one or more of data type, byte ordering, position, size, count, name, and scaling.

28. The instrumentation system of claim 26 , wherein the program instructions are further executable to specify the message-based instrument to receive the query message in response to user input.

29. The instrumentation system of claim 28 , wherein, to specify the message-based instrument, the program instructions are further executable to select the message-based instrument from a list of two or more instruments coupled to the instrumentation system in response to user input.

30. The instrumentation system of claim 26 , wherein the message-based instrument is one of one or more message-based instruments coupled to the computing device, wherein, prior to said sending the query message, the program instructions are further executable to detect the message-based instrument coupled to the device.

31. The instrumentation system of claim 26 , wherein the program instructions are further executable to:

generate a query block in response to said parsing, wherein the query block comprises program instructions that are executable to perform said sending, said receiving, and said parsing; and

store the generated query block to the memory.

32. The instrumentation system of claim 31 , wherein the query block is executable within the instrumentation system to:

send the query message of the query block to the message-based instrument;

receive the response from the message-based instrument;

select one or more regions of the response; and

configure each of the selected one or more regions as a token in accordance with the specified one or more attributes of the particular region.

33. The instrumentation system of claim 31 , wherein the query block is a text-based module configured for use in a textual programming environment.

34. The instrumentation system of claim 31 , wherein the query block is a graphical object configured for use in a graphical programming environment.

35. The instrumentation system of claim 31 , wherein the program instructions are further executable to:

add the query block to an instrument control application program stored in the memory;

execute the instrument control application program; and

execute the query block within the instrument control application program to interact with the selected message-based instrument to perform said sending, said receiving, and said parsing.

36. The instrumentation system of claim 35 , wherein said parsing during execution of the query block generates a parsed instrument response.

37. The instrumentation system of claim 36 , further comprising displaying the parsed instrument response.

38. The instrumentation system of claim 36 , further comprising providing the parsed instrument response to one or more other objects in the instrument control application program.

39. The instrumentation system of claim 31 , wherein the query block is configured to be exported to other instrumentation systems.

40. The instrumentation system of claim 26 , wherein the program instructions are further executable to:

repeat said sending, said receiving and said parsing for a plurality of query messages to the message-based instrument;

generate a query block for each of the repetitions, wherein the query block comprises program instructions that are executable to perform said sending, said receiving, and said parsing as specified for the particular repetition; and

add the plurality of generated query blocks for each of the repetitions to a task in the memory.

41. The instrumentation system of claim 40 , wherein the task comprises the plurality of query blocks in a sequence, wherein the task is executable within the instrumentation system, and wherein, in said executing within the computer system, the task is configured to execute the plurality of query blocks in the sequence.

42. The instrumentation system of claim 40 , wherein the task is configured to be exportable to other instrumentation systems.

43. The instrumentation system of claim 40 , wherein the task is a text-based module configured for use in a textual programming environment.

44. The instrumentation system of claim 40 , wherein the task is a graphical object configured for use in a graphical programming environment.

45. The instrumentation system of claim 26 , wherein the response is displayed in a hexadecimal format.

46. The instrumentation system of claim 26 , wherein the response is displayed in an ASCII format.

47. The instrumentation system of claim 26 , wherein the message-based instrument is a GPIB instrument.

48. The instrumentation system of claim 26 , wherein the message-based instrument is a serial instrument.

49. A computer-readable memory medium comprising program instructions executable within an instrumentation system, wherein the program instructions are executable to implement:

sending a query message to a message-based instrument;

receiving a response from the message-based instrument; and

parsing the response, wherein said parsing comprises:

displaying the response;

graphically selecting a region of the displayed response in response to user input; and

specifying one or more attributes of the selected region;

wherein the selected region is configured in accordance with the specified attributes.

50. The computer-readable memory medium of claim 49 , wherein said specifying one or more attributes of the selected region configures the selected region as a token in accordance with the specified attributes.

51. The computer-readable memory medium of claim 49 , wherein the specified one or more attributes of the selected region include one or more of data type, byte ordering, position, size, count, name, and scaling.

52. The computer-readable memory medium of claim 49 , wherein the program instructions are further executable to implement, prior to said sending the query message, specifying the message-based instrument to receive the query message in response to user input.

53. The computer-readable memory medium of claim 52 , wherein, in said specifying the message-based instrument, the program instructions are further executable to implement selecting the message-based instrument from a list of two or more instruments coupled to the instrumentation system in response to user input.

54. The computer-readable memory medium of claim 49 , wherein the program instructions are further executable to implement:

generating a query block in response to said parsing, wherein the query block comprises program instructions that are executable to perform said sending, said receiving, and said parsing; and

storing the generated query block to memory;

wherein the query block is executable within the instrumentation system to interact with the selected message-based instrument to perform said sending, said receiving, and said parsing.

55. The computer-readable memory medium of claim 54 , wherein the query block is a graphical object configured for use in a graphical programming environment.

56. The computer-readable memory medium of claim 54 , wherein the query block is a text-based module configured for use in a textual programming environment.

57. The computer-readable memory medium of claim 54 , wherein the program instructions are further executable to implement:

adding the query block to an instrument control application program;

executing the instrument control application program; and

executing the query block within the instrument control application program to interact with the selected message-based instrument to perform said sending, said receiving, and said parsing.

58. The computer-readable memory medium of claim 49 , wherein the program instructions are further executable to implement:

repeating said sending, said receiving and said parsing for a plurality of query messages to the message-based instrument;

generating a query block for each of the repetitions, wherein the query block comprises program instructions that are executable to perform said sending, said receiving, and said parsing as specified for the particular repetition; and

adding the plurality of generated query blocks for each of the repetitions to a task in memory;

wherein the task comprises the plurality of query blocks in a sequence, and wherein the task is executable to execute the plurality of query blocks in the sequence.

59. The computer-readable memory medium of claim 58 , wherein the task is a graphical object configured for use in a graphical programming environment.

60. The computer-readable memory medium of claim 58 , wherein the task is a text-based module configured for use in a textual programming environment.

61. The computer-readable memory medium of claim 49 , wherein the response is displayed in one of a hexadecimal format and an ASCII format.

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 →