Test instrumentation I/O communication interface and method
First Claim
1. A universal I/O interface apparatus for allowing communication with instrumentation over a plurality of different underlying I/O configurations, comprising:
- a plurality of methods;
a plurality of I/O interfaces each of which specifies a set of said plurality of methods for supporting a particular one of said plurality of different underlying I/O configurations;
a system registry comprising a plurality of component classes that supports a component category associated with one or more of said plurality of I/O interfaces;
a device connection function which receives a device address of a device, accesses said system registry, selects one of said plurality of component classes that supports said component category and can handle connection to said device address, and instantiates an object of said selected component class.
3 Assignments
0 Petitions
Accused Products
Abstract
A universal I/O interface is presented which allows communication with a number of different instruments independent of the underlying I/O configuration. The universal I/O interface is a set of Component Object Model (COM) interfaces that are independent of the underlying I/O bus and API. In addition, the universal I/O interface allows instrument data to be parsed and instrument commands to be formatted in a programming language independent way. In the preferred embodiment, the universal I/O interface comprises an ActiveX Automation Server that abstracts the APIs for various possible underlying I/O buses and vendor software libraries into a single universal I/O interface. This allows instrument application programmers to design applications that are universally supported on any number of instrument I/O buses.
78 Citations
13 Claims
-
1. A universal I/O interface apparatus for allowing communication with instrumentation over a plurality of different underlying I/O configurations, comprising:
-
a plurality of methods;
a plurality of I/O interfaces each of which specifies a set of said plurality of methods for supporting a particular one of said plurality of different underlying I/O configurations;
a system registry comprising a plurality of component classes that supports a component category associated with one or more of said plurality of I/O interfaces;
a device connection function which receives a device address of a device, accesses said system registry, selects one of said plurality of component classes that supports said component category and can handle connection to said device address, and instantiates an object of said selected component class. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
said plurality of methods and said plurality of I/O interfaces is embodied in a type library, said type library comprising a set of interface definitions that interface to a plurality of I/O hardware application programming interfaces (APIs).
-
-
3. A universal I/O interface apparatus in accordance with claim 1, wherein:
said plurality of methods and said plurality of I/O interfaces is embodied in a Component Object Module (COM) object.
-
4. A universal I/O interface apparatus in accordance with claim 3, wherein:
said COM object is an ActiveX Universal I/O Automation Server.
-
5. A universal I/O interface apparatus in accordance with claim 1, comprising:
a parsing function which reads data from said selected one of said plurality of different underlying I/O configurations and parses said data into constituent parts.
-
6. A universal I/O interface apparatus in accordance with claim 1, wherein:
-
said universal IIO interface comprises;
a write function which formats instrument commands into a command string and writes said command string to said selected one of said plurality of different underlying I/O configurations.
-
-
7. A universal I/O interface apparatus in accordance with claim 1, wherein:
-
said plurality of I/O interfaces comprises a General Purpose Interface Bus (GPIB) interface comprising;
a plurality of methods for supporting control of a GPIB interface.
-
-
8. A universal I/O interface apparatus in accordance with claim 1, wherein:
-
said plurality of I/O interfaces comprises a VME extension Interface (VXI) interface comprising;
a plurality of methods for supporting control of a VXI interface.
-
-
9. A universal I/O interface apparatus in accordance with claim 1, wherein:
-
said plurality of I/O interfaces comprises an RS-232 interface comprising;
a plurality of methods for supporting control of an RS-232 interface.
-
-
10. A method for allowing communication with instrumentation over a plurality of different underlying I/O configurations, said method comprising the steps of:
-
obtaining a device address of a selected device;
accessing a system registry to select a component class that supports a component category associated with a universal I/O interface, said universal I/O interface comprising a plurality of methods and a plurality of I/O interfaces each of which specifies a set of said plurality of methods for supporting a particular one of said plurality of different underlying I/O configurations;
determining whether said selected component class can handle connection to said device address;
if said selected component class can handle said connection to said device address;
instantiating an object of said component class; and
returning said instantiated object;
if said selected component class cannot handle said connection to said device address;
accessing said system registry to determine whether another component class that supports said component category associated with said universal I/O interface exists; and
repeating said determining step through said repeating step if said another component class exists. - View Dependent Claims (11)
invoking methods on said instantiated object to communicate with said selected device.
-
-
12. A computer readable storage medium tangibly embodying program instructions for performing a method for communicating with instrumentation over a plurality of different underlying I/O configurations, said method comprising:
-
obtaining a device address of a selected device;
accessing a system registry 60 to select a component class that supports a component category associated with a universal I/O interface, said universal I/O interface comprising a plurality of methods and a plurality of I/O interfaces each of which specifies a set of said plurality of methods for supporting a particular one of said plurality of different underlying I/O configurations;
determining whether said selected component class can handle connection to said device address;
if said selected component class can handle said connection to said device address;
instantiating an object of said component class; and
returning said instantiated object;
if said selected component class cannot handle said connection to said device address;
accessing said system registry to determine whether another component class that supports said component category associated with said universal I/O interface exists; and
repeating said determining step through said repeating step if said another component class exists.
-
-
13. The method of claim 13, comprising:
invoking methods on said instantiated object to communicate with said selected device.
Specification