Using VXI Plug&Play Function Panel Drivers

ATEasy allow you to use VXI Plug&Play drivers created by instrument vendors. These instrument drivers support various interface types such as GPIB, VXI , Serial or PC based board and more. The function panel driver has a .fp file extension and can be imported to ATEasy using the File Open command similar to the way you do when you insert an ATEasy driver. Once the driver is loaded to ATEasy you will need to save it to ATEasy driver (.drv or .drt file).

VISA

Prior to using function panel drivers, you will need to install the VISA library. Currently two vendors provide the VISA library: Keysight Technologies (http://www.keysight.com) and National Instrument (http://www.ni.com). The VISA library can be downloaded from their web site. We recommend to use the VISA library from the same vendor that manufacture the GPIB/VXI board you're using. If no GPIB or VXI board is used, than any of these libraries will do. The VISA Library Specification (VPP-4.3) is authored by the VXIplug&play Systems Alliance member companies. You can obtain the specification of the VISA library from the alliance’s web site at http://www.ivifoundation.org. The VISA specification provides a common standard for the VXIplug&play System Alliance for developing multi-vendor software programs, including instrument drivers. This specification describes the VISA software model and the VISA Application Programming Interface (API). VISA gives VXI and GPIB software developers, particularly instrument driver developers, the functionality needed by instrument drivers in an interface-independent fashion for MXI, embedded VXI, GPIB-VXI, GPIB, and asynchronous serial controllers. VXIplug&play drivers written to the VISA specifications can execute on VXIplug&play system frameworks that have the VISA I/O library.

Function Panel Driver Files

You can obtain and download a Function Panel driver (sometimes refer to as  IVI-C driver) from the instrument manufacturer web site. Most vendors also register their driver at the IVI Foundation web site http://www.ivifoundation.org under the Driver Registry section. Some vendor such as Keysight Technologies or NI (National Instruments) carry also third party instruments drivers. After installing the Function Panel driver. Its Function Panel file along with other files (such as help file, source files and read me files) will be in a new sub-folder below the VXIPNP folder that holds the instrument name (e.g., Keysight 34401A). Additional driver file will be in the BIN folder (the driver DLL), LIB and Include (.h C language header file) directories. You may use the driver help file to view the its function reference. The DLL file will be used by the ATEasy driver and must be shipped along with your application along with the VISA library. The following table provides an example to the files copied after loading the HP34401A digital multimeter driver from National Instruments web site:

 

Folder

File

Description

VXIPNP\WINNT\BIN

hp34401a_32.dll

DLL (dynamic link library) for the driver. Contains all the functions required to program the instrument. This file will be used also by the ATEasy driver to program the instrument.

VXIPNP\WINNT\\hp34401a

hp34401a.fp

function panel driver. This file contains the description of the driver function and their parameters as well as the command tree. Used by ATEasy only when converting the function panel to ATEasy driver.

hp34401a.sub

 

Describes attributes used by the driver function parameters.  This file is provided with in newer function panel drivers that are IVI compatible. Used by ATEasy only when converting the function panel to ATEasy driver.

hp34401a.hlp

Windows help file. Contains reference information about the DLL functions.

hp34401a.c

Source file for the DLL functions. Not used by ATEasy.

hp34401a.txt

Read me text file. Contains information about the driver and its files. Not used by ATEasy.

hp34401a_example.c

C example. Shows how to program the board.

VXIPNP\WINNT\\Include

 

hp34401a.h

C header file. Includes the DLL functions prototypes. Used by ATEasy only during the convert process.

VXIPNP\WINNT\\Lib\bc

 

hp34401a.lib

Borland C++ library. Not used by ATEasy.

VXIPNP\WINNT\\Lib\msc

 

hp34401a.lib

Microsoft VC++ library. Not used by ATEasy.

Converting Function Panel Driver to an ATEasy Driver  

  1. Select Open from the File menu.

  2. Select Driver files from the File Open dialog File of type drop down list and select the FP file form the VXIPNP driver folder.

  3. Click Open.

See the Import FP File (Insert Menu) for information.

ATEasy will start converting the FP file to ATEasy driver. During the conversion ATEasy may need to open other files used by the .FP file, these files may be the C header file .H and the .SUB file (if exist). Other files that may be required are additional header files that are included in C header file, these file are typically installed by the VISA library (e.g. IVI.h or VISA.h) or by your C compiler (if you have one). If ATEasy is unable to find these files it will prompt you to select the path in which these files reside, if you are unable to find these files select Cancel, in that case ATEasy will try to continue with the convertion. After the conversion is complete you may need to save the ATEasy driver file to an ATEasy driver file (drv or drt format).

Before using the driver you will need to configure its parameters as follows:

Configuring the Converted Function Panel ATEasy Driver  

  1. Open the Driver Shortcut properties window.

  2. Click to show the Parameters property page.

  3. Select the ResourceName string parameter and type in the address of the instrument that you are trying to use. This address typically looks as "GPIB0::14::INSTR" if the address is GPIB Board #0, primary address 14. The next paragraph explains in detail how to address a instrument.

  4. Select the IdQuery numeric parameter and type 0 if you do not want to perform In-System Verification in the address of the instrument that you are trying to use. Type 1 to verify that the instrument exist when Initialize is called.

  5. Select the ResetOnInit numeric parameter and set its value to 1 if you want to reset the instrument when the driver OnInit is called else set its value to 0.

  6. Select the InitializeOnInit numeric parameter and set its value to 1 if you want to initialize the driver  when the driver OnInit is called else set its value to 0.

Specifying ResourceName

The ResourceName string has the following grammar:

 

Interface

Grammar

Example

VXI

VXI[board]::VXI logical address[::INSTR]

"VXI0::1::INSTR" - a VXI device at logical address 1 in VXI interface VXI0.

VXI

VXI[board]::MEMACC

"VXI::MEMACC" - board-level register access to the VXI interface.

VXI

VXI[board][::VXI logical address]::BACKPLANE

"VXI::1::BACKPLANE" - mainframe resource for chassis 1 on the default VXI system, which is interface 0.

VXI

VXI[board]::SERVANT

"VXI0::SERVANT" - servant/device-side resource for VXI interface 0.

GPIB-VXI

GPIB-VXI[board]::VXI logical address[::INSTR]

"GPIB-VXI::9::INSTR" - a VXI device at logical address 9 in a GPIB-VXI controlled VXI system.

GPIB-VXI

GPIB-VXI[board]::MEMACC

"GPIB-VXI1::MEMACC" - board-level register access to GPIB-VXI interface number 1.

GPIB-VXI

GPIB-VXI[board][::VXI logical address]::BACKPLANE

"GPIB-VXI2::BACKPLANE" - mainframe resource for default chassis on GPIB-VXI interface 2.

GPIB

GPIB[board]::primary address[::secondary address][::INSTR]

"GPIB::1::0::INSTR" - a GPIB device at primary address 1 and secondary address 0 in GPIB interface 0.

GPIB

GPIB[board]::INTFC

"GPIB2::INTFC" - Interface or raw resource for GPIB interface 2.

GPIB

GPIB[board]::SERVANT

"GPIB1::SERVANT" - Servant/device-side resource for GPIB interface 1.

ASRL

ASRL[board][::INSTR]

"ASRL1::INSTR" - a serial device located on port 1.

TCPIP

TCPIP[board][::LAN device name]::SERVANT

"TCPIP::inst0::SERVANT"- Servant/device-side resource for TCPIP device.

TCPIP

TCPIP[board]::host address[::LAN device name]::INSTR

"TCPIP::dmm2301@ki.com::INSTR" -a TCP/IP device dmm2301located at the specified address.

TCPIP

TCPIP[board]::host address::port::SOCKET

"TCPIP0::1.2.3.4::999::SOCKET" - raw TCP/IP access to port 999 at the specified address.

Comments:

        The VXI keyword is used for VXI instruments via either embedded or MXIbus controllers.

        The GPIB-VXI keyword is used for a GPIB-VXI controller.

        The GPIB keyword can be used to establish communication with a GPIB device.

        The ASRL keyword is used to establish communication with an asynchronous serial (such as RS-232) device.

        The TCPIP keyword is used to establish communication with Ethernet instruments.

        The default value for board is 0.

        The default value for secondary address is none.

        The default value for LAN device name is inst0.

Using the Converted Function Panel ATEasy Driver  

Once the driver is inserted into the system and configured you can start using its commands. ATEasy generates a command to each of the functions that are exported by the FP file. Each command is attached to an ATEasy procedure which contains a call the DLL procedure. The ATEasy procedure generated also involves checking of the return value from the DLL procedure, if an error occurs ATEasy will generate an exception using the error statement. This allows you to concentrate on using the driver commands and implement error handling in one place (e.g. in OnError) without adding code for error checking after each commands is used.

The driver command tree typically contains the following commands:

Additional commands may be available to provide control of the instrument configuration and measurements functions as provided by the driver manufacturer. These commands are documented in the driver help file.