IVI-C vs. IVI-COM: Key Differences in Instrument Driver Technologies
This article explores the distinctions between IVI-C and IVI-COM, two driver technologies developed by National Instruments (NI) within the framework of Interchangeable Virtual Instruments (IVI). IVI, a software instrument driver technology, aims to facilitate instrument interchangeability, similar to the principles behind LabVIEW and LabWindows/CVI. The IVI Foundation has established specifications for 13 instrument classes, including oscilloscopes, signal generators, and more, to achieve this goal.
Benefits of IVI Drivers
IVI drivers offer several key advantages:
- Interchangeability: Easily swap instruments with minimal code modifications, saving time and effort.
- Ease of Use: Utilize your preferred Application Development Environments (ADEs) with standard APIs for quick and intuitive access to functions.
- Quality: Benefit from common commands, desirable options, and rigorous testing to ensure driver reliability.
- Simulation: Develop and test code even when the physical instrument is unavailable.
- Performance and Reliability: Leverage range checking and state caching for improved performance and reliability.
Minimum Software Requirements for IVI
To effectively use IVI, ensure you have the following minimum software installed:
- LabWindows/CVI 2010
- NI-VISA 5.0
- Agilent 34401A IVI-C Driver
IVI-C vs. IVI-COM: A Detailed Comparison
The following table outlines the key differences between IVI-C and IVI-COM drivers:
Features | IVI-C | IVI-COM |
---|---|---|
Adoption in IVI spec. | since Aug. 1998 | since Jan. 2003 |
Source code for message type instruments | Available | Available through custom install |
Driver tools for development | IVI driver wizard (CVI) | Third party custom tools |
Stability | Industry proven and based on VXI Plug & Play spec. | Based on Superceded COM |
Native interface | C, LabWindows, CVI | Visual studio |
Native Interface via custom wrapper | labview, visual studio | C, Labwindows/CVI |
IVI based software products | NI switch executive | None |
Multi-platform capability | Yes | No |
Interchangeability, Simulation, multithreading | Yes | Yes |
State caching | On all drivers written by NI | Driver supplier dependent |
Interchange checking | On all drivers written by NI | Driver supplier dependent |
Trace class level calls | Yes (NI I/O Trace) | No |
Advanced simulation | Yes (NI class simulation drivers) | No |
Support for custom IVI classes | Yes | Yes |
This table highlights that while both IVI-C and IVI-COM serve the purpose of instrument control, they differ significantly in their implementation and characteristics. IVI-C, being the older and more mature technology, boasts features like robust stability and a wider range of tools. On the other hand, IVI-COM utilizes COM architecture, providing specific advantages in certain development environments.