Keysight Instrument Drivers
Test and measurement instruments are often used in applications requiring automation and remote control. Instrument drivers provide an abstraction layer simplifyin g the task and making it easy to incorporate the measurements and data from instrume nts into the workflow . Keysight provides instrument drivers based on industry standards and modern programming languages so you can take advantage of the measurement science and hardware in your preferred environment.
Most instruments will use ASCII-based SCPI (Standard Commands for Programmable Instruments) and each instrument’s SCPI commands are well documented . They are specific to each instrument's family, range, model and firmware version . The instrument driver encapsulates the SCPI commands and provides the abstraction layer for reading and writing instrument settings and measurement data. Th i s provide s a common framework so that you can easily utilize different instruments without having to learn the lower level SCPI commands for each.
In strument drivers provide :
Ease of use in test automation and application development environments
Interchangeability between instrument models or similar families of instruments due to the abstraction of instrument SCPI commands
Built in simulation mode for test automation and code development without an instrument
Common measurements of similar instrument families to reduce the learning curve
I n-line documentation access to API methods and properties
Keysight provides instrument drivers to reduce the time it takes to develop and maintain automated test system software and provides you with the tools to s t ay current with rapidly evolving technology whether it is in software or the instrument hardware . For additional software tools that simplify instrument control and to learn more about our Connectivity Software, please click here .
Types of drivers in use today
IVI drivers
The IVI Foundation specifies industry standards for instrument drivers called Interchangeable Virtual Instrument (IVI) drivers. IVI drivers come in three distinct flavors: IVI.NET, IVI-COM and IVI-C. As the current industry standard, most new instruments include some or all these flavors of IVI drivers. The LXI standard also specifies that all LXI instruments must have an IVI driver.
IVI drivers provide many advanced features, such as: instrument interchangeability without recompiling code, instrument simulation, and a common framework that allows for easy system integration.
Specifications and more detailed information can be found at www.ivifoundation.org and this specification document .
For instructions on getting started with IVI drivers in your favorite application development environment (ADE), check out the IVI Getting Started Guide at www.ivifoundation.org/resources/
IVI.NET drivers
IVI.NET is the IVI driver architecture standard that has a .NET API. IVI.NET drivers present more flexibility with API data types, access to examining/modifying driver source, and clean handling of Events . IVI.NET drivers are distributed on Windows to users in the form of a .NET assembly.
These drivers work best in standard object-oriented ADE’s that are optimized to use the Windows .NET Framework such as:
Microsoft Visual Studio (using Visual Basic .NET , Visual C# .NET , Visual C++.NET )
Keysight VEE
National Instruments LabView
For more details, refer to the “ Guide to Using IVi.Net Drivers with Visual C# and Visual Basic .NET ” document provided by the IVI Foundation.
IVI-COM drivers
IVI-COM is the IVI driver architecture standard that is based on Microsoft´s ubiquitous COM standard. IVI-COM drivers work best in standard object-oriented ADE’s that support COM directly, or through some interoperability mechanism. These environments include:
Keysight VEE
MathWorks MATLAB (requires a MATLAB instrument driver wrapper)
Visual Basic 6.0
Microsoft Visual Studio .Net (using Visual Basic, C/C++, Managed C++ or C#)
VBA environments (MS Office Excel, Word and etc…)
National Instruments LabVIEW
National Instrument LabWindows/CVI
For more details, refer to the “ Your Guide to Using IVI with Visual C# and Visual Basic .NET ” document provided by the IVI Foundation.
IVI-C drivers
IVI-C is the IVI driver architecture standard that is based on the VXI plug&play instrument driver specifications. IVI-C drivers work well in development environments designed to access C-style libraries. These environments include:
C/C++
MathWorks MATLAB ( requires a MATLAB instrument driver wrapper )
National Instruments LABVIEW
National Instruments LabWindows /CVI
For more details, refer to the “ Your Guide to Using IVI with Visual C++ ” document provided by the IVI Foundation.
More details about IVI drivers and the instrument classes it supports can be found here: " IVI Instrument Drivers Overview ".
Python instrument drivers
Python instrument drivers provide a Python API that can be used to create instrument control applications. These drivers allow you to automate Keysight instruments directly from several Python development environment s . For example:
Python IDLE
MS Visual Studio Python Project
VS Code
Spyder
For more examples of Python development environments, please visit https://docs.python-guide.org/dev/env/# .
Python instrument drivers are supported on both Windows and certain Linux operating systems and thus are cross-platform. For more details, please look at this article: " Python Instrument Drivers Details ".
LabVIEW instrument drivers
While other driver types work well in LabVIEW, LabVIEW drivers have the advantage of being written natively in LabVIEW code; that means that the source code is directly available if it needs to be modified. LabVIEW drivers can be written to directly access I/O API’s, such as VISA, or can be used as wrappers on top of other drivers, such as IVI drivers.
LabVIEW is a U.S. registered trademark of National Instruments, Corp.
MATLAB instrument drivers
MATLAB instrument drivers provide a convenient way to wrap existing instrument drivers, such as IVI or VXIplug&play drivers, or create custom instrument drivers for use in MATLAB. MATLAB instrument drivers are created and modified using the Instrument Control Toolbox, and MATLAB instrument drivers can only be used in MATLAB.
MATLAB is a U.S. registered trademark of The Math Works, Inc.
Searching for available instrument drivers on Keysight.com
- To search for these groups of drivers or drivers for a specific instrument model , please click here , and then search for keywords like “IVI.NET driver”, “ IVI-COM driver ” , “ IVI-C driver ”, “Python instrument driver” or the instrument model number like “34401A”:
2. Then scroll down on the search results and click on the “Software” -> “Drivers” filter on the left:
Legacy or Obsolete instrument drivers
VXIplug&play instrument drivers
VXIplug&play is a term indicating conformance to a set of system-level standards, produced by the VXIplug&play Systems Alliance (now maintained by the IVI Foundation). These standards apply to instrument drivers, soft front panels, installation packages, documentation, technical support and application development environments.
VXIplug&play drivers were considered the industry-standard instrument drivers for many years but have been largely replaced by IVI drivers. VXIplug&play drivers can be used in environments such as:
Keysight VEE
C/C++
MathWorks MATLAB ( requires a MATLAB instrument driver wrapper )
Microsoft Visual Studio .Net ( requires a wrapper which can be created by third-party applications )
National Instruments LABVIEW
National Instruments LabWindows/CVI
VXIplug&play drivers are sometimes known by other names, such as VXIpnp , Plug&Play , or Universal Instrument Drivers.
An additional article about " VXIplugandplay G Style Drivers " is available.
VEE Panel instrument drivers
VEE Panel Drivers are essentially a virtual front panel, and make instrument programming interactive and graphical. VEE Panel Drivers were supported only by Keysight VEE, and are now considered obsolete. VEE Panel Drivers were also known as Classic, VEE, or ITG Instrument Drivers.
D-SCPI instrument drivers
Downloadable Standard Commands for Programmable Instruments, or D-SCPI, instrument drivers download into VXI Command Modules (E1300, E1301, E1306, E1405, and E1406) and interpret SCPI commands into register-level I/O. It is highly recommended that the D-SCPI driver be installed whether the VXI instrument is programmed using its VXIplug&play driver or using SCPI commands embedded in an I/O language. This information does not apply to message-based modules which have built-in SCPI drivers.
I-SCPI instrument drivers
I-SCPI stands for Interpreted Standard Commands for Programmable Instruments. Register-based VXI modules installed in Embedded VXI Controllers or MXI or VXLink systems (V743, EPC-7, EPC-8, E6232, E1489, E1383, and E1483) require an I-SCPI driver to provide programming capability. This information does not apply to message-based modules which have built-in SCPI drivers.