Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

IVI

IVI Architecture


IVI is an integral component of a complete National Instruments test system. IVI sits above the VISA I/O layer in the program hierarchy and is integrated into the application development environments that National Instruments provides. The IVI architecture breaks the traditional instrument driver into two parts – an instrument-specific driver and a class driver. The instrument-specific driver functions the way traditional instrument drivers have in the past, but with an underlying architecture that is optimized for performance and includes instrument simulation. The class instrument driver contains generic functions for controlling an instrument category and calls the corresponding instrument-specific driver functions at run time. You can write your test program with either the class driver or the specific driver, but only programs written to the class driver are interchangeable.

In addition, the IVI Foundation has defined the IVI architecture to work with two interface technologies, one based on the ANSI C standard and one on Microsoft COM (Component Object Model) technology. The two architecture types are designed to be interoperable. The IVI drivers that National Instruments provides are based on the IVI-C architecture, as it offers many benefits over IVI-COM (see a more detailed comparison of IVI-C vs. IVI-COM):

  • Stability and Robustness
    IVI-C is based on the industry-proven VXIplug&play specifications and was the basis of the original IVI standard released in 1998. IVI-COM, based on technology that has already been superseded by .NET, is new to the IVI specifications, having been added in January 2003.


  • Source Code Availability
    Source code is generally available for IVI-C drivers but not for IVI-COM drivers.


  • Driver Usability in Development Environments
    IVI-C drivers are native in C environments, including LabWindows/CVI. The IVI-C drivers provided by National Instruments have custom wrappers optimized for LabVIEW and for Measurement Studio for Visual C++; they can also be used in Visual Basic 6.0. IVI-COM drivers are native in Visual Basic 6.0 and are usable, but not optimal, in other environments.


To Learn More: