Assessing the Use of IVI Drivers in Your Test System: Determining When IVI Is the Right Choice Application Note

Total Page:16

File Type:pdf, Size:1020Kb

Assessing the Use of IVI Drivers in Your Test System: Determining When IVI Is the Right Choice Application Note Assessing the use of IVI drivers in your test system: Determining when IVI is the right choice Application Note If software reuse and system “portability” are important to your organization, it may be to your advan- tage to use IVI drivers in present and future test systems. This is especially true if you are making the shift from GPIB-based control to LAN and LXI: All LXI-compliant instruments include an IVI driver. To help you decide if IVI drivers are • Choices in instrument control Much of the material in this applica- right for your system, this applica- • Why use an instrument driver? tion note has been leveraged from the tion note provides an overview of • Benefits of using an IVI driver IVI Foundation’s IVI Getting Started the technology, presents additional Guide. Sections taken directly from considerations, and describes the • IVI driver classes the Getting Started Guide are marked tradeoffs. The note includes eight • Requirements to use an IVI driver in italics. That document is available major sections: • Tradeoffs and limitations of IVI as a PDF from the IVI Foundation drivers Web site at www.ivifoundation.org. • Steps to getting started • Using IVI drivers in Visual Basic .NET or Visual C# Choices in instrument control There are four choices available for SCPI provides fine-level instrument providing computer-based control of control through a consistent, test- A quick look at SCPI most instruments: focused command set. However, it can be complicated to use with more Beginning in 1989, a group of • Standard Commands for complex instruments where it may instrument manufacturers devel- Programmable Instrumentation seem like programming a computer (SCPI) in assembly language. SCPI carries oped Standard Commands for • A program- or language-specific three other important considerations: Programmable Instrumentation driver (e.g., a LabVIEW driver) (SCPI). This defined a set of • It is not dependent on the operat- • A proprietary driver (supplied with ing system or programming lan- commands for controlling many vendors’ instruments) guage so is highly portable among instruments using ASCII test systems. • An open driver such as IVI characters, providing some basic • It defines common functions, so is Each of these carries a set of standardization and consistency generally portable among instru- tradeoffs. For example, choosing a to the commands used to control ments. proprietary or program-specific driver instruments. For example, when may result in very tight integration • It does not require a certain set of you want to measure a DC volt- with any provided tools or programs; functions, so some calls may not however, this comes at the expense be implemented on similar instru- age, the standard SCPI command of test system portability. You may ments. is “MEASURE:VOLTAGE:DC?.” also be confronted with a com- In many cases, SCPI is a suitable mon problem: the available set of and sufficient choice. However, instrument drivers doesn’t match drivers provide extended capabilities your desired (or required) list of that simplify instrument control and instruments. We’ll talk about the reduce programming time. tradeoffs in using an IVI driver in a later section. SCPI control is one of the most popular methods of programmatically controlling instruments. These com- mands work on instruments that have implemented an appropriate SCPI command set and also contain an on-board command parser, typically implemented through a microproces- sor or state machine. This specifically means that SCPI control will not work on most register-based devices housed in a cardcage (e.g., neither VXI nor PXI architectures). 2 Why use an Benefi ts of using an instrument driver? IVI driver To understand the benefits of IVI Before IVI drivers, there was a stan- This level of commonality—or drivers, we need to start by defining dard framework called VXIplug&play interoperability—was the motivation instrument drivers in general and drivers. This specification defined a behind the development of IVI drivers. describing why they are useful. An standard dynamic-link library (.dll) The specifications define an open instrument driver is a set of software interface; however, did not provide driver architecture, a set of instru- routines that controls a program- for interchangeability among similar ment classes, and shared software mable instrument. Each routine cor- types of instruments. In fact, the nor- components. Together these provide responds to a programmatic operation mal syntax of a VXIplug&play driver consistency and ease of use, as such as configuring, writing to, read- discouraged inter-vendor operability well as the crucial elements needed ing from, or triggering the instrument. because the keywords contained ven- for advanced features. IVI drivers Instrument drivers simplify instrument dor names. Furthermore, the standard also support instrument simulation, control and reduce test program did not define standard keywords for automatic range checking and state development time by eliminating common actions. For instance, one caching. These capabilities provide the need to learn the programming vendor may use “read” while another several benefits: protocol for each instrument. may use “get” as the syntax for acquiring a measured value from an • Instrument simulation enables Although you must be syntactically instrument. program development and debug- correct in all calls to an instrument ging even when an instrument is driver, making calls to a subroutine in In contrast, the IVI standard defines not available. This is particularly your preferred programming language the concept of an “instrument class.” useful when you are waiting for the is less error prone. This is especially For any type or “class” of instru- test hardware to arrive or if several true if you are using a language that ment, common functions have been people must share expensive test supports the Intellisense capabil- defined. Using digital multimeters resources. ity, which presents valid syntax (DMMs) as an example, the IVI driver • Automatic range checking can choices as you type each command. for every DMM from any vendor eliminate unnecessary program- An instrument driver such as IVI uses the measurement command ming errors. integrates more tightly with your IviDmmMeasurement.Read. Once you programming language than will SCPI learn to program the IVI-specified • State caching is optionally imple- calls through the VISA I/O library. commands for the instrument class, mented within the driver. This you can use any vendor’s instrument capability can accelerate the exe- If you’ve been programming instru- without relearning the commands. cution of certain test programs by ments without using a driver, then Commands that are common to all making only the minimum changes you are probably well acquainted drivers, such as Initialize and Close, to the state of an instrument. with the chore of hunting through are identical for every instrument Eliminating unnecessary instrument the programming guide while looking class. This commonality ensures resets, range changes or other similar for the right SCPI command and its portability across test systems and functions can further accelerate the exact syntax. You’ve also been deal- lets you spend less time searching execution of measurement functions. ing with an I/O library to format and through help files or programming an send strings, and then embedding instrument—and leaves more time response strings into variables. Let’s for your primary job. take a look at some advantages of IVI drivers. 3 IVI driver classes Tradeoffs and limitations of IVI drivers The IVI Foundation has created IVI provide the same consistency and The various companies that defined class specifications that define a benefits described above for an IVI the IVI standard tried to minimize the common set of capabilities for drivers driver, but are specific to a device tradeoffs in using an IVI driver. Even for eight instrument classes (Table 1). so lack interchangeability across so, there five key considerations you vendors. should keep in mind: Class IVI driver • An IVI driver may or may not Digital multimeter IviDmm take full advantage of the speed Oscilloscope IviScope capabilities of an instrument. Arbitrary waveform/ IviFgen Requirements to use function generator an IVI driver • An IVI driver will seldom imple- DC power supply IviDCPwr ment the entire feature set of an Switch IviSwitch The primary gating item is the avail- instrument. Power meter IviPwrMeter ability of a specific IVI driver for the • IVI drivers are not available Spectrum analyzer IviSpecAn instrument you want to control. If for all commercially available RF signal generator IviRFSigGen such a driver is available, it must be installed on the controlling computer instruments. Table 1. The IVI standard includes eight along with four other essential items: • The two types of IVI drivers, IVI-C instrument classes. and IVI-COM (Common Object ® • An appropriate Microsoft operat- Model) (see sidebar), mean that ing system and certain operating- you will need to choose one or the In addition to the existing class system services. drivers, there are six other classes in other. To make an informed choice, development as this paper is being • An appropriate programming it’s useful to understand the ben- written. The timer/counter and language. efits and tradeoffs of each type. AC power classes are directed at • An appropriate I/O library. • Your system must meet the general-purpose instruments while requirements
Recommended publications
  • Drivers" Labview Advanced Programming Techinques Boca Raton: CRC Press LLC,2001
    Bitter, Rick et al "Drivers" LabVIEW Advanced Programming Techinques Boca Raton: CRC Press LLC,2001 5 Drivers This chapter discusses LabVIEW drivers. A driver is the bottom level in the three- tiered approach to software development; however, it is possibly the most important. If drivers are used and written properly, the user will benefit through readability, code reuse, and application speed. LabVIEW drivers are designed to allow a programmer to direct an instrument, process, or control. The main purpose of a driver is to abstract the underlying low- level code. This allows someone to instruct an instrument to perform a task without having to know the actual instrument command or how the instrument communi- cates. The end user writing a test VI does not have to know the syntax to talk to an instrument, but only has to be able to wire the proper inputs to the instrument driver. The following sections will discuss some of the common communication meth- ods that LabVIEW supports for accessing instruments and controls. After the dis- cussion of communication standards, we will go on to discuss classifications, inputs and outputs, error detection, development suggestions, and, finally, code reuse. The standard LabVIEW driver will be discussed first. This standard driver is the basis for most current LabVIEW applications. In an effort to improve application performance and flexibility, a new style of driver has been introduced. The Inter- changeable Virtual Instrument (IVI) driver is a new driver technology and will be described in depth later in this chapter. 5.1 COMMUNICATION STANDARDS There are many ways in which communications are performed every day.
    [Show full text]
  • Labview Instrument I/O VI Reference Manual
    01 Title Page 1 Friday, December 22, 1995 11:45 AM LabVIEW Instrument I/O VI Reference Manual January 1996 Edition Part Number 320537C-01 Copyright 1992, 1995 National Instruments Corporation. All Rights Reserved. This document was created with FrameMaker 4.0.4 01 Title Page 2 Friday, December 22, 1995 11:45 AM Internet Support GPIB: [email protected] DAQ: [email protected] VXI: [email protected] LabVIEW: [email protected] LabWindows: [email protected] HiQ: [email protected] E-mail: [email protected] FTP Site: ftp.natinst.com Web Address: http://www.natinst.com Bulletin Board Support BBS United States: (512) 794-5422 or (800) 327-3077 BBS United Kingdom: 01635 551422 BBS France: 1 48 65 15 59 FaxBack Support (512) 418-1111 or (800) 329-7177 Telephone Support (U.S.) Tel: (512) 795-8248 Fax: (512) 794-5678 or (800) 328-2203 International Offices Australia 03 9 879 9422, Austria 0662 45 79 90 0, Belgium 02 757 00 20, Canada (Ontario) 519 622 9310, Canada (Québec) 514 694 8521, Denmark 45 76 26 00, Finland 90 527 2321, France 1 48 14 24 24, Germany 089 741 31 30, Hong Kong 2645 3186, Italy 02 48301892, Japan 03 5472 2970, Korea 02 596 7456, Mexico 95 800 010 0793, Netherlands 0348 433466, Norway 32 84 84 00, Singapore 2265886, Spain 91 640 0085, Sweden 08 730 49 70, Switzerland 056 200 51 51, Taiwan 02 377 1200, U.K. 01635 523545 National Instruments Corporate Headquarters 6504 Bridge Point Parkway Austin, TX 78730-5039 Tel: (512) 794-0100 Important Information Warranty The media on which you receive National Instruments software are warranted not to fail to execute programming instructions, due to defects in materials and workmanship, for a period of 90 days from date of shipment, as evidenced by receipts or other documentation.
    [Show full text]
  • Agilent Technologies Connectivity Guide
    Agilent Technologies USB/LAN/GPIB Interfaces Connectivity Guide Agilent Technologies Notices © Agilent Technologies, Inc. 2003, 2004 Warranty Restricted Rights Legend No part of this manual may be reproduced in The material contained in this docu- If software is for use in the performance of a any form or by any means (including elec- ment is provided “as is,” and is sub- U.S. Government prime contract or subcon- tronic storage and retrieval or translation ject to being changed, without notice, tract, Software is delivered and licensed as into a foreign language) without prior agree- “Commercial computer software” as ment and written consent from Agilent in future editions. Further, to the max- imum extent permitted by applicable defined in DFAR 252.227-7014 (June 1995), Technologies, Inc. as governed by United or as a “commercial item” as defined in FAR States and international copyright laws. law, Agilent disclaims all warranties, either express or implied, with regard 2.101(a) or as “Restricted computer soft- ware” as defined in FAR 52.227-19 (June Edition to this manual and any information contained herein, including but not 1987) or any equivalent agency regulation or contract clause. Use, duplication or disclo- Second edition, November 2004 limited to the implied warranties of sure of Software is subject to Agilent Tech- Agilent Technologies, Inc. merchantability and fitness for a par- nologies’ standard commercial license 815 14th St. SW ticular purpose. Agilent shall not be terms, and non-DOD Departments and Loveland, CO 80537 USA liable for errors or for incidental or Agencies of the U.S.
    [Show full text]
  • Introduction to Attribute Based Instrument Drivers Application Note
    Introduction to Attribute Based Instrument Drivers Application Note Products: | R&SFSW | R&SCMW | R&SETL | R&SFSV | R&SRTM | R&SETH | R&SFSVR | R&SRTO | R&SSFC | R&SFSQ | R&SZNC | R&SSFE | R&SFSP | R&SZNB | R&SSFU | R&SFSU | R&SZVL | R&SCLG | R&SFSMR | R&SZVH | R&SDVSG | R&SFSUP | R&SPR100 | R&SFSL | R&S EM100 | R&SESL | R&SFSC | R&SFSH4/8 This application note introduces a novel attribute based architecture for VXIplug&play instrument drivers. The presented architecture uses the attribute based concept of IVI-C instrument drivers to introduce a two-layer design for VXIplug&play instrument drivers. e 3 Engelbrecht 1MA170_ - 20 December 2012 Introduction to Attribute Based Instrument Drivers Jiri Kominek, Juergen Table of Contents Table of Contents 1 VXIplug&play Instrument Drivers ......................................... 3 1.1 Preface ........................................................................................................... 3 1.2 The Definition of Instrument Drivers .......................................................... 4 2 Attribute Based Instrument Drivers ...................................... 5 2.1 Attribute Access Functions ......................................................................... 6 2.2 Attributes and its Data Types ...................................................................... 6 2.2.1 Implementation of Attributes in C............................................................... 7 2.2.2 Implementation of Attributes in LabVIEW ................................................. 7 2.3
    [Show full text]
  • Developing a Labview™ Instrument Driver Noël Adorno
    Application Note 006 Developing a LabVIEW™ Instrument Driver Noël Adorno Introduction LabVIEW, the graphical programming language that pioneered the concept of virtual instrumentation, has been an enabling technology in the hands of scientists and engineers for over a decade. As LabVIEW has grown in popularity, so has the proliferation of instrument drivers, the software modules designed to control programmable instruments. To aid in the development of these drivers, National Instruments has created standards for instrument driver structure, device management, instrument I/O, and error reporting. This application note describes these standards, as well as the purpose of a LabVIEW instrument driver, instrument driver components, and the integration of these components. In addition, this application note suggests a process for developing useful instrument drivers. While these recommendations are primarily intended for those developers who intend to submit drivers to the National Instruments LabVIEW Instrument Library, other users should find this information equally useful. This document presumes that you understand basic GPIB, Serial and/or VXI concepts and are familiar with the operation of LabVIEW. You should also be familiar with communication with VISA. The LabVIEW Instrument Driver Overview An instrument driver is a set of software routines that control a programmable instrument. Each routine corresponds to a programmatic operation such as configuring, reading from, writing to, and triggering the instrument. Instrument drivers simplify instrument control and reduce test program development time by eliminating the need to learn the programming protocol for each instrument. The LabVIEW Instrument Library contains instrument drivers for a variety of programmable instrumentation, including GPIB, VXI, RS-232/422, and CAMAC instruments.
    [Show full text]
  • Keysight Technologies Tips and Tricks for Using USB, LAN, and GPIB
    Keysight Technologies Tips and Tricks for Using USB, LAN, and GPIB Application Note Introduction GPIB has been and will continue to be a popular choice for input/output (I/O) in test equipment. However, with high performance LAN and USB ports built into most current generation PCs, many test-system developers are ready to explore the benefits of using LAN or USB for instrument I/O. Keysight Technologies, Inc. was one of the first test-and-measurement (T&M) manufacturers to enable those benefits by including LAN and USB ports in its instruments and by offering I/O drivers, software, and configuration tools that make connections as easy as using GPIB. Along the way, Keysight has been working with other manufacturers to develop T&M-specific standards that enhance LAN and USB for use in test systems. This application note provides a variety of tips and tricks that will help you create flexible test systems that can easily incorporate USB, LAN, GPIB, and RS-232C. By expanding your range of I/O alternatives you can enable new usage models that boost productivity, and add new tools that protect your investments in system hardware and software. The foundation of these benefits is an approach we call Keysight Open, which simplifies system development through system- ready instrumentation, open software environments, and PC-standard I/O. Tip: Utilize faster, simpler I/O Most current-generation PCs include one high-speed LAN port and multiple that’s built in USB ports. An increasing number of measurement instruments-and most new Keysight instruments-now include LAN and USB ports alongside the GPIB connector.
    [Show full text]
  • Development Hints and Best Practices for Using Instrument Drivers Application Note
    Development Hints and Best Practices for Using Instrument Drivers Application Note Products: | All Instrument Drivers This document answers frequently asked questions regarding Rohde & Schwarz instrument drivers and their programming environments. Juergen Straub Application Note 12.2009-1MA153_1e Table of Contents Table of Contents 1 Preface................................................................................................. 4 2 Frequently Asked Questions (FAQ) .................................................. 5 2.1 What is an instrument driver?....................................................................................5 2.2 Why should I use an instrument driver instead of SCPI commands? ...................5 2.3 VISA and physical interfaces......................................................................................7 2.4 What are attribute based instrument drivers?..........................................................7 2.5 What is the RsSpecAn instrument driver?................................................................8 2.6 Are R&S instrument drivers compatible with the VXIPnP driver standard? .........8 2.7 Where to find the VXIPnP installation directory?.....................................................8 2.8 How to install R&S instrument drivers on Windows?..............................................8 3 Best practice for software development......................................... 10 3.1 Getting started ...........................................................................................................10
    [Show full text]
  • IO Libraries Suite 15 Connectivity Guide with Getting Started
    Agilent Technologies GPIB/USB/LAN Interfaces E2094R IO Libraries Suite 15 Connectivity Guide with Getting Started Agilent Technologies Notices © Agilent Technologies, Inc. 2003 - 2008 Warranty puter Software or Computer Software Documentation). No part of this manual may be reproduced The material contained in this doc- in any form or by any means (including ument is provided “as is,” and is electronic storage and retrieval or transla- Safety Notices subject to being changed, without tion into a foreign language) without prior agreement and written consent from Agi- notice, in future editions. Further, lent Technologies, Inc. as governed by to the maximum extent permitted CAUTION United States and international copyright by applicable law, Agilent disclaims laws. all warranties, either express or A CAUTION notice denotes a implied, with regard to this manual hazard. It calls attention to an Manual Part Number and any information contained herein, including but not limited to operating procedure, practice, or 5989-6150 the implied warranties of mer- the like that, if not correctly per- chantability and fitness for a par- Edition formed or adhered to, could result ticular purpose. Agilent shall not be in damage to the product or loss Sixth edition, October 2008 liable for errors or for incidental or of important data. Do not proceed consequential damages in connec- Printed in USA tion with the furnishing, use, or beyond a CAUTION notice until Agilent Technologies, Inc. performance of this document or of the indicated conditions are fully 3501 Stevens Creek Blvd. any information contained herein. understood and met. Santa Clara, CA 95052 USA Should Agilent and the user have a separate written agreement with Trademark Information warranty terms covering the mate- Visual Studio is a registered trademark of rial in this document that conflict WARNING Microsoft Corporation in the United States with these terms, the warranty and other countries.
    [Show full text]
  • Agilent Technologies Connectivity Guide
    Agilent Technologies USB/LAN/GPIB Interfaces Connectivity Guide Contents USB/LAN/GPIB Interfaces Connectivity Guide CONNECTIVITY GUIDELINES Getting Started ......................................................................................... 7 Using This Guide ........................................................................... 8 Steps to Get Started ...................................................................... 9 Connecting Instruments to LANs ......................................................... 11 LAN Quick Start ........................................................................... 12 Step 1: Select LAN Network Type ............................................... 15 Typical Site LAN Networks ................................................... 16 Typical Private LAN Networks .............................................. 17 Step 2: Gather Network Information ............................................ 18 Gather Site LAN Network Information .................................. 19 Define Private LAN Network Parameters ............................. 21 Step 3: Connect Your Instruments............................................... 23 Connect Instruments to Site LAN ......................................... 24 Connect Devices to Private LAN .......................................... 26 Step 4: Install I/O Software on Your PC ...................................... 28 Step 5: Configure Your Instruments ............................................ 29 Check Your Web Browser ...................................................
    [Show full text]
  • Development Hints and Best Practices for Using Instrument Drivers Application Note
    Development Hints and Best Practices for Using Instrument Drivers Application Note Products: | Instrument Drivers This document answers frequently asked questions regarding Rohde & Schwarz instrument drivers and their programming environments. e 5 1 1MA153_ - Miloslav Macko Application Application Note 16 - Feb - 15 Table of Contents Table of Contents 1 Preface .................................................................................... 3 2 Frequently Asked Questions (FAQ) ...................................... 4 2.1 What Is an Instrument Driver? .................................................................... 4 2.2 Why Should I Use an Instrument Driver Instead of SCPI Commands? .. 4 2.3 VISA and Physical Interfaces ...................................................................... 6 2.4 Which 64-bit operating systems are supported by Instrument Drivers?6 2.5 Where Do I Find the VXIplug&play Installation Directory? ...................... 6 2.6 How Do I Install an Instrument Drivers? .................................................... 7 2.7 How Do I Determine the VISA Resource Identifier?.................................. 7 3 Best Practices for Software Development ........................... 9 3.1 Getting Started.............................................................................................. 9 3.2 How to Start to Develop my Own Application ........................................... 9 3.3 How to Integrate an Instrument Drivers into Microsoft Visual Studio ..10 3.3.1 C# and Instrument Drivers: Getting Started
    [Show full text]
  • IO Libraries Suite 15 Connectivity Guide with Getting Started
    Agilent Technologies GPIB/USB/LAN Interfaces E2094Q IO Libraries Suite 15 Connectivity Guide with Getting Started Agilent Technologies Notices © Agilent Technologies, Inc. 2003 - 2007 Warranty puter Software or Computer Software Documentation). No part of this manual may be reproduced The material contained in this doc- in any form or by any means (including ument is provided “as is,” and is electronic storage and retrieval or transla- Safety Notices subject to being changed, without tion into a foreign language) without prior agreement and written consent from Agi- notice, in future editions. Further, lent Technologies, Inc. as governed by to the maximum extent permitted CAUTION United States and international copyright by applicable law, Agilent disclaims laws. all warranties, either express or A CAUTION notice denotes a implied, with regard to this manual hazard. It calls attention to an Manual Part Number and any information contained herein, including but not limited to operating procedure, practice, or 5989-6133EN the implied warranties of mer- the like that, if not correctly per- chantability and fitness for a par- Edition formed or adhered to, could result ticular purpose. Agilent shall not be in damage to the product or loss Fifth edition, October 2007 liable for errors or for incidental or of important data. Do not proceed consequential damages in connec- Printed in USA tion with the furnishing, use, or beyond a CAUTION notice until Agilent Technologies, Inc. performance of this document or of the indicated conditions are fully 3501 Stevens Creek Blvd. any information contained herein. understood and met. Santa Clara, CA 95052 USA Should Agilent and the user have a separate written agreement with Trademark Information warranty terms covering the mate- Visual Studio is a registered trademark of rial in this document that conflict WARNING Microsoft Corporation in the United States with these terms, the warranty and other countries.
    [Show full text]
  • Instrument Control
    Instrument Control This lesson describes instrument control of stand-alone instruments using a GPIB or serial interface. Use LabVIEW to control and acquire data from instruments with the Instrument I/O Assistant, the VISA API, and instrument drivers. Topics A. Instrument Control B. GPIB C. Serial Port Communication D. Using Other Interfaces E. Software Architecture F. Instrument I/O Assistant G. VISA H. Instrument Drivers A. Instrument Control When you use a PC to automate a test system, you are not limited to the type of instrument you can control. You can mix and match instruments from various categories. The most common categories of instrument interfaces are GPIB, serial, modular instruments, and PXI modular instruments. Additional types of instruments include image acquisition, motion control, USB, Ethernet, parallel port, NI-CAN, and other devices. When you use PCs to control instruments, you need to understand properties of the instrument, such as the communication protocols to use. Refer to the instrument documentation for information about the properties of an instrument. B. GPIB The ANSI/IEEE Standard 488.1-1987, also known as General Purpose Interface Bus (GPIB), describes a standard interface for communication between instruments and controllers from various vendors. GPIB, or General Purpose Interface Bus, instruments offer test and manufacturing engineers the widest selection of vendors and instruments for general-purpose to specialized vertical market test applications. GPIB instruments are often used as stand-alone benchtop instruments where measurements are taken by hand. You can automate these measurements by using a PC to control the GPIB instruments. IEEE 488.1 contains information about electrical, mechanical, and functional specifications.
    [Show full text]