Instrument driver

{{short description|Software that facilitates remote control of electronic test instruments}}

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{{cite news |url=http://www.ivifoundation.org/ |publisher=IVI Foundation |title=IVI Foundation Specifications}} and define an I/O abstraction layer using the virtual instrument software architecture (VISA). The VISA hardware abstraction layer provides an interface-independent communication channel to T&M instruments. The 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=

The VXIplug&play Systems Alliance was founded in 1993{{cite news

|url=http://www.ivifoundation.org/VXIPlug_Play/default.aspx

|publisher=IVI Foundation

|title=VXIplug&play Alliance

|access-date=2009-11-20

|archive-date=2010-03-29

|archive-url=https://web.archive.org/web/20100329001457/http://www.ivifoundation.org/VXIPlug_Play/default.aspx

|url-status=dead

}} 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{{cite news

|url=http://www.ivifoundation.org/docs/vpp2-2010-02-24.pdf

|publisher=IVI Foundation

|title=VPP-3.1: Instrument Drivers Architecture an Design Specification

|access-date=2012-11-06

|archive-date=2013-01-27

|archive-url=https://web.archive.org/web/20130127104918/http://www.ivifoundation.org/docs/vpp2-2010-02-24.pdf

|url-status=dead

}} were also defined.

=IVI=

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{{cite news |url=http://www.ivifoundation.org/specifications/default.aspx

|publisher=IVI Foundation |title=IVI Driver Specifications}} are currently defined in three different architectures:

  1. The IVI-COM driver architecture{{cite news |url=http://ivifoundation.org/downloads/Architecture%20Specifications/IVI-3.1_Architecture_2012-08-06.pdf

|publisher=IVI Foundation |title=IVI-3.1: Driver Architecture Specification}} is based on the Microsoft Component Object Model.

  1. The IVI-C drivers are based on C programming language shared components (shared libraries).
  2. The IVI.NET driver architecture was specified in 2010.{{cite news |url=http://www.ivifoundation.org/downloads/Architecture%20Specifications/IVI-3.18_.NET_Utility_Classes_and_Interfaces_2011-06-30.pdf

|publisher=IVI Foundation |title=IVI-3.18: IVI.NET Utility Classes and Interfaces Specification}} The IVI.NET drivers are based on the .NET framework.

Instrumentation remote control

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 and measurement equipment to be connected through various hardware interfaces. The following interfaces are available:

|publisher=VXI Bus Consortium |title=VXI-11 Bus Specification}} (over TCP/IP)

  • USB488/USBTMC (USB Test & Measurement), USB Test & Measurement Class Specification{{cite news

|url = http://www.usb.org/developers/devclass_docs

|publisher = USB Implementers Forum Inc.

|title = USB Test & Measurement Class Specification

|url-status = dead

|archiveurl = https://web.archive.org/web/20100326005605/http://www.usb.org/developers/devclass_docs/

|archivedate = 2010-03-26

}}

  • HiSLIP{{cite news |url=http://www.ivifoundation.org/downloads/Class%20Specifications/IVI-6.1_HiSLIP-2010-06-08.pdf

|publisher=IVI Foundation |title=IVI-6.1: High-Speed LAN Instrument Protocol (HiSLIP)}} (over TCP/IP).

=LXI=

The LAN eXtensions for Instrumentation (LXI) standard defines the communications protocols for controlling test and measurement systems using Ethernet. The standard requires vendors to offer IVI compliant instrument drivers.

See also

References

{{Reflist}}