{'fraction_non_alphanumeric': 0.02196078431372549, 'fraction_numerical': 0.001568627450980392, 'mean_word_length': 5.645833333333333, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Using IVI-C class drivers to achieve the ultimate in instrument interchangeability

Instrument interchangeability has been a desire of test engineers for many years. When developing long-life systems that need to be maintained for more than 20 years, it is important to have the ability to exchange instruments in those systems when they become damaged or obsolete. Interchangeable Virtual Instruments (IVI) is an instrument driver standard defined by the IVI Foundation (a consortium of vendors, integrators, and users) that achieves instrument interchangeability by defining generic instrument classes for types of instruments such as oscilloscopes, digital multimeters, spectrum analyzers, or power meters. The IVI Foundation also defined two architectures, one based on ANSI-C technology and the other based on Microsoft component object model (COM) technology. Drivers written to these two architectures are totally interoperable but are not always interchangeable. This paper presents a method for using IVI-C class drivers (generic class drivers based on the ANSI-C compliant IVI standards) to achieve true interchangeability of instruments. These drivers provide native interfaces to several development environments, providing for the most intuitive user experience.