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).
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.
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. |
Select Open from the File menu.
Select Driver files from the File Open dialog File of type drop down list and select the FP file form the VXIPNP driver folder.
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:
Open the Driver Shortcut properties window.
Click to show the Parameters property page.
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.
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.
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.
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.
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.
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:
Initialize - Establishes communication with the instrument. Must be called prior to any other command to obtain the instrument session handle. This handle is used when accessing all other commands by the driver.
[Configuration] - Optional. Contains commands to configure the instrument.
Attributes - In IVI based driver Contains attributes to set or get the instrument configuration.
[Measurement] - Optional. Contains commands to return a measurement from the instrument.
...
...
Utility
Error Message - Translates the error return value from a VXIplug&play instrument driver function to a user-readable string.
Error Query - Queries the instrument and returns instrument-specific error information.
Reset - Places the instrument in a default state.
Self Test - Causes the instrument to perform a self-test and returns the result of that self-test.
Revision Query - Returns the revision of the instrument driver and the firmware revision of the instrument being used.
...
Close - Terminates the software connection to the instrument and de-allocates system resources associated with that instrument.
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.