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.
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
- ↑ "IVI Foundation Specifications". IVI Foundation.
- ↑ "VXIplug&play Alliance". IVI Foundation.
- ↑ "VPP-3.1: Instrument Drivers Architecture an Design Specification". IVI Foundation.
- ↑ "IVI Driver Specifications". IVI Foundation.
- ↑ 5.0 5.1 "IVI-3.1: Driver Architecture Specification". IVI Foundation.
- ↑ "IVI-3.18: IVI.NET Utility Classes and Interfaces Specification". IVI Foundation.
- ↑ "VXI-11 Bus Specification". VXI Bus Consortium.
- ↑ "USB Test & Measurement Class Specification". USB Implementers Forum Inc.
- ↑ "IVI-6.1: High-Speed LAN Instrument Protocol (HiSLIP)". IVI Foundation.
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