Keithley Instruments
Release Note for Version B01.4
IVI Instrument Driver for the Model 2700/2701/2750


IMPORTANT: To work properly with the driver, your instrument must have a compatible version of firmware.  Refer to section 2 (System Requirements) below for specific details regarding the required firmware version for your instrument.  Visit for upgrade instructions if your instrument’s firmware is not a compatible version.  The instrument’s firmware version is shown on the display when the instrument is first powered up, immediately to the right of the model number.


This document provides additional information for the installation and use of the 2700-852-B01.4 2700/2701/2750 driver for LabView and LabWindows CVI, Visual Basic, and C/C++.



Table of Contents


1        Introduction  2

1.1            Included in this release  2

1.1.1                KE2700 IVI Driver 2

1.1.2                Installation Locations  3

1.2            Additional available software  3

2      System Requirements. 4

2.1            Supported Operating Systems and System Software. 4

3      Installation. 4

3.1            Keithley I/O Layer Installation. 4

3.2            Upgrading from a previous version of the Instrument Driver 5

3.3            Instrument Driver Installation. 5

3.3.1                Installing the driver from CD   5

3.3.2                Installing the driver from the Web  5

4      Using the KE2700 IVI Instrument Driver 6

4.1            Virtual Instruments. 6

4.2            Create your own Virtual Instruments. 7

4.3            Logical Names. 7

4.4            VISA resources. 7

4.4.1                GPIB   7

4.4.2                RS232  7

4.4.3                Ethernet (Socket connection) 7

4.4.4                Example of using VISA resources: 7

4.5            Driver Speed up solutions  8

4.5.1                QueryInstrStatus  8

4.5.2                RangeCheck  8

4.5.3                Caching  8

4.6            Using the Example Programs. 8

4.7            Using the driver with LabView   8

5      Known problems and issues  9

5.1            LabWindows/CVI examples. 9

5.2            Invalid Data Type Error 9

5.3       Max Time Exceeded Error 9

5.4            Duplicate Functions. 10

5.5            KE2700_ConfigureApertureTimeInfo  10

5.6            Fetching data back when the Real-Time Clock is enabled. 10

5.7            KE4500_FetchMultiReading. 10

5.8            KE2700_ConfigureAperatureTimeInfo  10

5.9            KE2700_WriteInstrData  11

6      Copyright Notice. 11



1         Introduction

1.1      Included in this release


The components described below are provided as part of the KE2700 IVI Instrument Driver for the Integra Model 2700, 2701, and 2750 instruments.  Some shortcuts for them are added to the Keithley Instruments folder on your Start Menu.

1.1.1      KE2700 IVI Driver


Version B01.4 of the KE2700 driver supports the Integra Model 2700, 2701, and 2750 instruments.


The Instrument driver conforms to the IVI DMM Class specification. The driver uses the Keithley I/O layer (VISA) to communicate with your instrument. IVI (Interchangeable Virtual Instruments) and VISA (Virtual Instrument Software Architecture) provide a common foundation for application development across multiple communication buses and multiple instrument vendors.  This software driver supports many Application Development Environments under Windows, such as Visual Basic, C/C++, LabView, LabWindows/CVI, and TestPoint. Numerous examples and an on-line help utility are provided to help programmers build their custom applications.


Important note: The Keithley Configuration Utility and Keithley I/O Layer software are no longer bundled with the driver as a single installation package.  The Keithley I/O layer may be downloaded from the Keithley Web site along with the driver.  The Keithley I/O software should be installed before the driver itself is installed, if possible.


1.1.2      Installation Locations


Version B01.4 will try to detect the presence of the IVI Shared Components and the National Instruments IVI Engine. Depending upon the versions it finds the installer could put the driver files in either of two locations, listed below. If the installer finds the IVI shared components but no NI IVI engine then it will abort the installation and ask the user to install the NI IVI Compliance package first.


If the installer finds there is no IVI shared components on the system then the following files will be installed to the following locations:


Ke2700_32.dll             C:\VXIPnP\WinNT\bin

Ke2700.fp                   C:\VXIPnP\WinNT\Ke2700

Ke2700.sub                 C:\VXIPnP\WinNT\Ke2700

Ke2700.txt                   C:\VXIPnP\WinNT\Ke2700

Ke2700.h                     C:\VXIPnP\WinNT\include

Ke2700.lib                   C:\VXIPnP\WinNT\lib\bc

Ke2700.lib                   C:\VXIPnP\WinNT\lib\msc


* Win95 would replace WinNT on Windows 9X systems.



If the IVI shared components are found on the system then the following files get installed to the following locations:


Ke2700_32.dll             C:\Program Files\IVI\bin

Ke2700.fp                   C:\Program Files\IVI\Drivers\Ke2700

Ke2700.sub                 C:\Program Files\IVI\\Drivers\Ke2700

Ke2700.txt                   C:\Program Files\IVI\\Drivers\Ke2700

Ke2700.h                     C:\Program Files\IVI\include

Ke2700.lib                   C:\Program Files\IVI\lib\bc

Ke2700.lib                   C:\Program Files\IVI\lib\msc



1.2      Additional available software


ExceLINX-1A is a Microsoft Excel add-in for the 2700, 2701, and 2750 systems. Within minutes of installing ExceLINX-1A on a PC, users can acquire data dynamically within Excel, and then employ the familiar Excel graphics, charting, and analysis capabilities. No Programming is required to use ExceLINX - a few mouse clicks are all it takes to configure channels, set parameters, triggers, scan lists, etc. ExceLINX is sold separately.  Check or call 1-888-KEITHLEY (534-8453) for more information.


TestPoint Professional Development System is a complete package for creating test & measurement applications, including support for GPIB and serial instruments, control, math, graphing, A/D and many more features.

2         System Requirements


Pentium-class PC.


2700 firmware release B03 or later.


2701 firmware release A01 or later.


2750 firmware release A02 or later.


Keithley I/O Layer software KIOL-850 version B02.3 or later.


KE2700 now supports 7700, 7701, 7702, 7703, 7705, 7706, 7707, 7708, 7709, 7710, 7711, and 7712 Switch Cards.


NOTE: It is strongly recommended that your computer and instrument be powered by an Uninterruptible Power Supply (UPS) when running a critical application.

2.1      Supported Operating Systems and System Software


Windows XP Professional service pack 1 or later

Windows 2000 Service pack 3 or later

Windows NT Service pack 6a or later

Windows 98 Second edition only

Note: Windows 95 is not supported.


The driver has been tested with a variety of International versions of Windows, including Chinese (Simplified and Traditional), Japanese, German, and French. 


Note that Windows 95 is not supported in any language.


LabVIEW versions 5.1 through 7.1 are supported.

3         Installation


3.1      Keithley I/O Layer Installation

Before installing the KE2700 instrument driver, download and install the Keithley I/O Layer, KIOL-850, following the instructions in the I/O layer readme file to install and configure the software, and to connect your instrument to your computer.


3.2      Upgrading from a previous version of the Instrument Driver


If you have an earlier version of the driver software installed on your computer, uninstall it by following the steps below before installing this version.


Using the Add/Remove Programs Wizard in Control Panel, uninstall the following components:


Keithley 2700 IVI Driver.

Keithley I/O Layer.

NI-VISA x.x.x Runtime (If present) (x.x.x will be the VISA version)


Reboot your computer.

3.3      Instrument Driver Installation

3.3.1      Installing the driver from CD


The Instrument Driver is included on the Software CD provided with the Instrument, or it can be downloaded from


If you have a previous version of the Instrument Driver installed on your computer, uninstall it as described above before installing the new version.


Before installing from the CD, it is recommended you visit to see if a newer version of the driver is available.


Insert the Software CD in your computer.  The installation utility should start automatically.  If it does not start automatically, run the setup.exe file in the root directory of the CD.


Follow the instructions on the screen to install the software.  Note: during the early part of the installation, the installation utility may appear to stop for a minute or so.  This is normal and the utility will continue running in a short while.


When the installation is complete, reboot your computer.

3.3.2      Installing the driver from the Web


If you have a previous version of the Instrument Driver installed on your computer, uninstall it as described above before installing the new version.


Download the driver software from the Keithley Web site,  The software is a single compressed file, approximately 24 MB in size, and should be downloaded to a temporary directory.


Run the downloaded file from the temporary directory.


Follow the instructions on the screen to install the software.  Note: during the early part of the installation, the installation utility may appear to stop for a minute or so.  This is normal and the utility will continue running in a short while.


When the installation is complete, reboot your computer.

4         Using the KE2700 IVI Instrument Driver


To connect to the instrument via the driver you need to first call KE2700_init or KE2700_InitWithOptions. The first parameter for either function is a VISA resource string, which indicates to the I/O layer which communication device you want to use to connect to the instrument and in most cases the address of the instrument.  This can be specified using a Virtual Instrument name, a Logical Name, or a VISA Resource string.  We recommend that you do not use the VISA resource string form, since it builds hardware and bus dependencies into your code.  If you use the Virtual Instrument Name or the Logical Name form, the Keithley Configuration Panel can be used to select a different bus or address with no code changes required.

4.1      Virtual Instruments


The Keithley I/O Layer installer creates several virtual instruments that you can use to automatically connect to an instrument.


If you are using a National Instruments GPIB card, select KE2700_GPIB16 as your device.


If you are using a Keithley Instruments or CEC ISA or PCI GPIB card, select KE2700_GPIB1_16 as your device.


If you are using a Keithley Instrument or INES PCMCIA GPIB card, select KE2700_GPIB2_16 as your device.


If you are using COM Port 1, select KE2700_COM1 as your device.


If you are using COM Port 2, select KE2700_COM2 as your device.


If you are using Ethernet to connect to a 2701, you will need to use the Keithley Configuration Utility to add a device with the proper IP address.


An example of using a Virtual Instrument Name to connect to an instrument connected to COM Port 1 is:


KE2700_init("KE2700_COM1", VI_TRUE, VI_TRUE, handle)

4.2      Create your own Virtual Instruments


If you want to create your own virtual instruments then use the Configuration Panel or Wizard. Open the Configuration Panel by selecting Start> Programs> Keithley Instruments> Keithley Configuration Panel, and wait for the Wizard to start.  Follow the Wizard instructions to create a new configuration or modify an existing one.

4.3      Logical Names


You can also define logical Names for your devices using the configuration panel.  One logical name is created by default: KE2700ExampleInstr.  This default logical name is used by the example programs supplied with the driver, and is associated with the KE2700_GPIB16 device by default.

4.4      VISA resources

4.4.1      GPIB


For GPIB instruments, you would use a resource string of the following format:



x is the GPIB card number.

yy is the GPIB address of the instrument.

4.4.2      RS232


For RS232 instruments, the VISA resource string has the following format:

"ASRLx::INSTR" where x is the COM Port number.

4.4.3      Ethernet (Socket connection)


For Ethernet instruments, such as the 2701, use the following VISA resource string format:


x is the Ethernet card number.

IP is the IP address of the instrument.

Port is the port number of the instrument (1394 for the 2701).

4.4.4      Example of using VISA resources:






would connect to a 2701 on IP address "".

4.5      Driver Speed up solutions


Using the KE2700_InitWithOptions function there is a parameter, called OptionString, where you can enable/disable certain features of an IVI driver.

4.5.1      QueryInstrStatus


If this feature is enabled the driver will query the instrument after every function call to see if there where any errors. This is useful while you are writing your application but once it is finalized then you can disable this feature to gain extra performance.

4.5.2      RangeCheck


If enabled the IVI engine will check to see if the parameters you are passing in are within range. Disabling this feature in the final application will also gain some performance increase.

4.5.3      Caching


The driver has the option of caching all the settings it sends to the instrument so that it doesn't send a setting to the instrument a second time if it hasn't changed. By default this is enabled.

4.6      Using the Example Programs


The KE2700 Driver includes a number of example programs written in Visual Basic, LabVIEW, and C.  The examples demonstrate how to perform common functions using the driver. Some of the example programs are hard coded to use a 2700 at GPIB address 16 using a National Instruments GPIB interface card for communications. If you are using a different bus, address, or interface card, you must edit the example programs to change the address, bus, or interface.


Other examples are using a hard coded logical name: KE2700ExampleInstr for the device identifier. By default, the logical name is associated with the KE2700_GPIB12 device, which is a 2700 at GPIB address 12 using a National Instruments GPIB interface card for communications.  If you are using a different bus, address, or interface card, you must reassign the logical name to the correct device using the Keithley Configuration Panel.  For example, if you are using a CEC GPIB card instead of a National Instrument GPIB card, you would use the Keithley Configuration Panel to reassign the logical name from the KE2700_GPIB12 device to the KE2700_GPIB1_12 device.


4.7      Using the driver with LabView


If LabView is already installed on your computer when the driver is installed, the LabView VIs will be installed in the proper subdirectory of the LabView directory so that they are directly accessible from within LabView.


If LabView is not installed on your computer when the driver is installed, the LabView VIs will placed in a subdirectory of the Keithley Instruments directory.  Once LabView has been installed, the VIs must be copied to the proper subdirectory under LabView before they can be used.  This directory is typically:


C:\Program Files\National Instruments\LabView X\inst.lib\KE2700


Depending on the particular driver, there may be separate versions of the VIs for LabView 5.x and 6.x, in which case they will be installed into separate directories.  Copy the appropriate version of the VIs into the National Instrument directory tree.

5         Known problems and issues

5.1      LabWindows/CVI examples


The examples were built on a system where the VXIPnP directory was installed on the d: drive. If VXIPnP is on the C: drive then you may see a warning dialog when you open up the example project in LabWindows/CVI. It has detected this mismatch and is asking if you want to switch to the correct location. Select yes and the project should compile and link. If not see the following issue.


The LabWindows/CVI examples have the Ke2700.fp and Ke2700.lib files referenced in the project files. These files could be installed under the VXIPnP folder or the Program Files/IVI folder. See issue 1.1.2 about this.

When you compile these examples if there is an error that these files can’t be found then replace them in the project. Right-mouse-click on the ke2700.lib or ke2700.fp file in CVI and then select "Replace File in Project” and browse for the file. Refer to 1.1.2 for the correct location.


5.2      Invalid Data Type Error


Where ever you see the following data types in the Visual BASIC help file: ViChar, ViChar[], ViString or ViConstString use the VB data type STRING. If you use one of these data types your VB program will run but when the code executes it will generate an error, "Invalid data type for automation". All the VB examples use the correct data type.  (PR19585)

5.3      Max Time Exceeded Error


Fetch Buffer & example  - Max time exceeded before operation completed. If using large buffers then increase the timeout value.  (PR19573


5.4      Duplicate Functions


KE2700_ConfigureFixedRefJunction and KE2700_ConfigureSimRefJunction are duplicate functions.  Use KE2700_ConfigureFixedRefJuntion. (PR18886)

5.5      KE2700_ConfigureApertureTimeInfo


When using the KE2700_ConfigureApertureTimeInfo() function to configure multiple channels by using a channel list, all the channels in the list must be configured for the same measurement function (e.g. DC Volt) or a -221 Settings Conflict error will occur.  You may use multiple KE2700_ConfigureApertureTimeInfo() function calls to configure channels with different function settings.


In addition, the KE2700_ConfigureAperatureTimeInfo() must precede any KE2700_ConfigureMultiPoint() function calls in your program or the same error will occur.  (PR21832)


5.6      Fetching data back when the Real-Time Clock is enabled


If the real-time clock is enabled then you shouldn’t use the KE2700_ FetchMultiReading that returns an array of doubles. The real-time clock data has colons in it, which confuses the formatting routines. You need to use the function that returns strings KE2700_FetchMultiReadingChar.  (PR21852)


5.7      KE4500_FetchMultiReading

FetchMultireading does not list the valid parameters for the 2701 in the help file.  It lists them for the 2700 and the 2750 but not the 2701.  The parameters are the start and also the count.


For a 2701 the valid start parameter values are 0 to 449,999 and for the count parameter valid values are 1 to 450,000. (PR21853)


5.8      KE2700_ConfigureAperatureTimeInfo

This function should take values as low as 0.002 NPLC for the Model 2701. It is limited to 0.01 as the help file reflects. (PR21854 & PR21855)


5.9      KE2700_WriteInstrData

When using this function you must append a linefeed character to the end of the command that you send to the instrument. In LabVIEW and C add a “\n” whilst in Visual BASIC add the “Chr(10)” or “vbLf” command to the end of the string.


6         Copyright Notice


The VISA software supplied with the Instrument Driver is Copyright (c) 2001 –2004 National Instruments Corporation.  All Rights Reserved.


The KE2700 Series instrument driver is Copyright (c) 2001-2004 Keithley Instruments.  All Rights Reserved.


End of Release notes.