Instrument Driver
An Instrument Driver, in the context of Test & Measurement (T&M) application development, is a set of software routines, which simplifies remote instrument control. The specification of instrument drivers is defined by the IVI Foundation[1]. Due to this definition an I/O abstraction via Virtual Instrument Software Architecture (VISA) is done. The VISA hardware abstraction layer provides an interface independent communication channel to T&M instruments. Furthermore an encapsulation of the SCPI-commands is done by instrument drivers. Whereas the SCPI command is a ASCII-based set of commands for reading and writing instrument settings and measurement data. This allows an abstract way of programming in various programming languages, compared to programming remote control applications with SCPI commands only. An instrument driver is usually characterized by a well defined API.
Contents
Standards
For instrument drivers the VXIplug&play Alliance[2] (became part of the IVI Foundation in 2002) defined a common structure for so called 'VXIplay&play instrument drivers'. As designed successor of the VXIplug&play standard, the IVI Foundation defined a new generation of instrument drivers, these so called IVI (Interchangeable Virtual Instrumentation) drivers[3] are currently defined in three different architectures.
VXIplug&play Instrument Driver
The VXIplug&play Systems Alliance was founded 1993 with the aim of unifying VXI hard- and software to achieve 'plug&play' interoperability for VXI and GPIB instruments. As part of unifying process also VXIplug&play instrument drivers[4] where defined.
IVI Instrument Drivers
The IVI instrument driver specification is a further development of the VXIplug&play driver standard. This specification intends to overcome the VXIplug&play drawbacks. 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). Beside this, the IVI.NET driver architecture was specified in 2010[6]. The IVI.NET drivers are based on the .NET framework.
Remote Control of Instrumentation
The development time needed for remote control applications for instrumentation can be decreased due to the usage of instrument drivers. Instrument drivers try to overcome the difficulty of string formatting when using SCPI commands by providing a well defined API. The IVI and VXIplug&play instrument drivers are utilizing the VISA as hardware abstraction layer thus interface hardware independent applications can be developed.
I/O Hardware Abstraction Layer VISA
The VISA library allows to connect test & measurement equipment via various hardware interfaces. 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 functionality of LXI instrumentation using Ethernet.
See also
- Instrument control
- Standard Commands for Programmable Instruments
- Automation
- IEEE-488
- VISA
- LabVIEW
- LabWindows
- Agilent VEE
- LAN eXtensions for Instrumentation
References
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