Using IVI Specific Instrument Drivers in Linux
I would like to use IVI-compliant Instrument Drivers on my Linux system, is this possible?
The IVI specifications (IVI-3.1) states that IVI Instrument Drivers can only be IVI-compliant on Windows. Quote from Section 4.2.1:
Note: The IVI Foundation does not define vendor-interoperability and cross-vendor interchangeability for drivers that are ported to other operating systems. Therefore, the IVI Foundation considers such drivers to be non-compliant when used on other operating systems.
Because of that, we will refer to the instrument drivers on Linux as "IVI-style" Instrument Drivers. National Instruments has ported sections of the IVI Engine over to Linux for use with NI Modular Instruments. The ported version of the IVI-style engine does not support interchangeability, just direct calls to the IVI-style Specific Instrument Drivers. The only distributions of Linux that are supported are those that are supported by the Modular Instruments Drivers.
You can install the IVI-style engine for Linux from any of the NI Modular Instruments Drivers as part of the NI LabWindows/CVI Run-Time Module for Linux.
Please take note that the IVI Foundation might define specifications for non-Windows operating systems in the future. Quote from Section 2.16 of IVI-3.1:
2.16 Operating System Dependencies
IVI class specifications are operating system independent. Installation and deployment are operating system dependent. The IVI Foundation recognizes that Microsoft Windows is the most commonly used operating system. Therefore, the initial specifications define how to create and deploy drivers on Microsoft Windows operating systems. Nevertheless, specifications do not preclude driver suppliers from deploying on other operating systems. It should be noted the IVI Foundation might, in the future, define deployment requirements for other operating systems. If so, the specifications might conflict with implementations that predate the standards.
In order to get your Windows-based IVI-C compliant instrument specific instrument driver to work as an IVI-style Instrument Driver on Linux you will need to do the following:
STEP 1: Install LabWindows/CVI Run-time Module for Linux
STEP 2: Build the IVI Specific Driver
STEP 3: Build a client application of the IVI Specific Driver
There are two ways you can build an application that is a client of the IVI specific driver you created above. The first method statically compiles and links the specific driver source code into the application. The second method links to the driver’s dynamic library and loads it at run-time.
METHOD 1: Statically build the application with the driver source
METHOD 2: Link to the driver’s dynamic library (.so)
Linux Support: National Instruments and Linux: Frequently Asked Questions
Products & Services: NI LabWindows/CVI Run-Time Module for Linux
On-Demand Training: IVI Fundamentals I - What Are IVI Drivers? (SSP required)
On-Demand Training: IVI Fundamentals II - Why Use IVI Drivers? (SSP required)
NI-VISA Support in Linux
IVI-3.1: Driver Architecture Specification
Report Date: 09/23/2008
Last Updated: 06/13/2012
Document ID: 4PMBOKW1