It is important to understand the basic characteristics of each driver, the capability of the programming environment and any limitations of the target environment before selecting a driver.
First consider the basic characteristics of each driver type:
- Direct_IO - Does not require any additional software installation, no additional licenses
- VISA - Requires a VISA installation, may require a license, not available on Pickering LXI devices
- IVI - Provides a degree of interchangeability, requires VISA and IVI installations, may require licenses
- SOAP - Platform independent, no driver installation required, only available on Pickering LXI devices
- .NET - Particularly suitable for .NET programming environments
Choice of driver depends on a number of factors:
- product type
- programming environment
- personal preference
Not all products have a full choice of driver types available.
PXI - Direct IO Driver, VISA Driver, IVI Driver
LXI - Direct IO Driver, IVI Driver, SOAP interface
While most programming environments will support many driver types, some drivers may be more suitable.
National Instruments Switch Executive is designed to use IVI drivers.
VISA provides a mechanism to externally define device address thus permitting device location changes without recompilation of target software.
What is IVI and do I need it?
IVI stands for Interchangeable Virtual Instrument and is a standard that defines a software driver. This standard is supported and maintained by the IVI Foundation (www.ivifoundation.org). An IVI driver works as a Layer on top of VISA. The idea behind the standard was to define a driver for various types or classes of instruments. Any instrument driver developed in a particular class would look and act the same as any other instrument driver in that class. Switching is one class as are oscilloscopes, digital multimeters, power supplies and others.
An IVI driver used in switching should look the same for a Pickering card as it does for a National Instruments card or anyone else's switch card. This can be an advantage to anyone that is writing application code in that the functions used for any IVI switch driver should look the same as well as the parameters used. In theory, a switch of the same configuration and specifications could be easily substituted with a minimal change in software.
When a switch is opened in software the VISA resource name is used as well as the model number of the switch card. Attributes (parameters) for the opened switch card are contained in an INI file supplied by the switch card manufacturer and attributes can be checked to match conditions used in the application. This although a nice feature isn't generally used as hardware would normally be installed during integration and there would be no need to check this. Another nice feature is that in IVI you can use a switch card in "simulate mode". This allows the programmer to develop code without having the hardware present in "simulate mode" and then turning this off when used with hardware.
Another feature is in the naming of parameters, in this case switch channel names. The IVI standard for switch classes defines the names used for channels for each type of switch (MUX, matrix, simple switch). This insures that all IVI switch drivers use the same signal names. If your test environment requires the use of National Instruments Switch Executive an IVI driver must be used.
So, when do you need to use the IVI driver? IVI is a nice standard but the Pickering VISA and Direct I/O switch drivers offer the same functionality and are as easy or easier to use. The 4 reasons to use IVI that come to mind are interchangeability, National Instruments Switch Executive use, simulation with the hardware not being present or that IVI is a required standard internal to your company. The idea of being able to easily replace a switch card to another switch card with the same configuration sounds good but this seldom comes up as a requirement in switching applications.
With all the available switch configurations available out in the world very few are direct replacements. The most common reason to use the Pickering IVI driver is if you are using National Instruments Switch Executive as it requires the IVI standard channel names and parameters to work. Operating a switch in simulate mode can be a nice feature but still does not guarantee everything will work when you have hardware installed, In simulate mode successful execution of code insures all the specified channel names and connections are legitimate but you would still need to verify and debug your program. The last reason is that IVI may be an across the board company decision that all instrument drivers are IVI compliant.
OK, when would you not use IVI as your switching driver? Since IVI is another layer of software this is just one more software component that needs to be loaded and supported. Because the IVI standard defines what a switch is there are some Pickering switch cards that don't fit this criteria. In some cases the Pickering software has been modified support these switch configurations to work. In other cases they will not be supported with the IVI driver and the VISA or Direct I/O driver must be used. An example of this is resistor cards, both standard and precision models. Although they contain relays they do not match the IVI model for a switch or any other class model. For that reason you need to use the VISA or Direct I/O driver. There is no reason why you can't use an IVI driver for supported switching and VISA or Direct I/O at the same time for other cards that aren't.
For a list of the Pickering models supported by the IVI driver, please go to our IVI driver downloads page: http://downloads.pickeringtest.info/downloads/drivers/IVI/ or feel free to contact support at firstname.lastname@example.org.