Instrument Driver
An Instrument Driver, in the context of test and measurement (T&M) application development, is a set of software routines that simplifies remote instrument control. Instrument Drivers are specified by the IVI Foundation[1] and define an I/O abstraction layer using Virtual Instrument Software Architecture (VISA). The VISA hardware abstraction layer provides an interface-independent communication channel to T&M instruments. Furthermore, the Instrument Drivers encapsulate the Standard Commands for Programmable Instruments (SCPI) commands, which are an ASCII-based set of commands for reading and writing instrument settings and measurement data. This standard allows an abstract way of using various programming languages to program remote-control applications instead of using SCPI commands. An Instrument Driver usually has a well-defined API.
Contents
Standards
VXIplug&play Instrument Driver
The VXIplug&play Systems Alliance was founded in 1993[2] with the aim of unifying VXI hardware and software to achieve 'plug and play' interoperability for VXI and GPIB instruments. As part of the unifying process, VXIplug&play instrument drivers[3] were also defined.
IVI Instrument Drivers
When the IVI Foundation took over the Alliance in 2002, it defined a new generation of instrument drivers to replace the VXIplug&play standard. The IVI instrument driver specification intends to overcome the drawbacks of VXIplug&play. These IVI (Interchangeable Virtual Instrumentation) drivers[4] are currently defined in three different architectures:
- The IVI-COM driver architecture[5] is based on the Microsoft Component Object Model.
- The IVI-C drivers are based on C programming language shared components (shared libraries).
- The IVI.NET driver architecture was specified in 2010.[5][6] The IVI.NET drivers are based on the .NET framework.
Remote Control of Instrumentation
Instrument Drivers allow quicker development of remote-control applications for instrumentation. The drivers reduce the difficulty of string formatting when using SCPI commands by providing a well-defined API. The IVI and VXIplug&play Instrument Drivers use the VISA as the hardware abstraction layer so that hardware-independent applications can be developed.
I/O Hardware Abstraction Layer VISA
The VISA library allows test & measurement equipment to be connected through various hardware interfaces. The following interfaces are available:
- Serial Port
- GPIB/IEEE-488
- VXI-11[7] (over TCPIP)
- USB488/USBTMC (USB Test & Measurement), USB Test & Measurement Class Specification[8]
- HiSLIP[9] (over TCPIP).
LXI
The LAN eXtensions for Instrumentation (LXI) standard defines the communications protocols for controlling the arming, triggering and event functions of LXI instrumentation using Ethernet.
See also
- Instrument control
- Standard Commands for Programmable Instruments
- Automation
- IEEE-488
- VISA
- LabVIEW
- LabWindows
- Agilent VEE
- MATLAB
- LAN eXtensions for Instrumentation
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- IVI Foundation
- SCPI Consortium
- VXIplug&play Systems Alliance
- LXI Consortium
- Introduction to Attribute Based Instrument Drivers
- Development Hints and Best Practices for Using Instrument Drivers
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.