This document contains information which is protected by copyright. All rights are
reserved. Reproduction, adaptation, or translation without prior written permission
is prohibited, except as allowed under the copyright laws.
•Product Warranty
Agilent Technologies warrant Agilent Technologies hardware, accessories and
supplies against defects in materials and workmanship for the period of one year
from the warranty start date specified below. If Agilent Technologies receive
notice of such defects during the warranty period, Agilent Technologies will, at
its option, either repair or replace products which prove to be defective.
Replacement products may be either new or like-new.
Warranty service of this product will be performed at Agilent Technologies.
Buyer shall prepay shipping charges to Agilent Technologies and Agilent
Technologies shall pay shipping charges to return the product to Buyer.
However, Buyer shall pay all shipping charges, duties, and taxes for products
returned to Agilent Technologies from another country.
Agilent Technologies do not warrant that the operation of Agilent Technologies
products will be uninterrupted or error free. If Agilent is unable, within a
reasonable time, to repair or replace any product to a condition as warranted,
customer will be entitled to a refund of the purchase price upon prompt return of
the product.
The Agilent Technologies products may contain remanufactured parts
equivalent to new in performance or may have been subject to incidental use.
The warranty period begins on the date of delivery or on the date of installation
if installed by Agilent Technologies. If customer schedules or delays Agilent
Technologies installation more than 30 days after delivery, warranty begins on
the 31st day from delivery.
Warranty does not apply to defects resulting from (a) improper or inadequate
maintenance or calibration, (b) software, interfacing, parts or supplies not
supplied by Agilent Technologies, (c) unauthorized modification or misuse, (d)
operation outside of the published environmental specifications for the product,
or (e) improper site preparation or maintenance.
To the extent allowed by local law, the above warranties are exclusive and no
other warranty or condition, whether written or oral, is expressed or implied and
Agilent Technologies specifically disclaim any implied warranties or conditions
of merchantability, satisfactory quality, and fitness for a particular purpose.
Agilent Technologies will be liable for damage to tangible property per incident
up to the greater of $300,000 or the actual amount paid for the product that is the
subject of the claim, and for damages for bodily injury or death, to the extent
that all such damages are determined by a court of competent jurisdiction to
have been directly caused by a defective Agilent Technologies product.
To the extent allowed by local law, the remedies in this warranty statement are
customer’s sole and exclusive remedies. Expect as indicated above, in no event
will Agilent Technologies or its suppliers be liable for loss of date or for direct,
special, incidental, consequential (including lost profit or date), or other damage,
whether based in contract, tort, or otherwise.
For consumer transactions in Australia and New Zealand: the warranty terms
contained in this statement, except to the extent lawfully permitted, do not
exclude, restrict or modify and are in addition to the mandatory statutory rights
applicable to the sale of this product to you.
•Assistance
Product maintenance agreements and other customer assistance agreements are
available for Agilent Technologies products.
For any assistance, contact your nearest Agilent Technologies Sales Office.
•Certification
Agilent Technologies Inc. certifies that this product met its published
specifications at the time of shipment from the factory. Agilent further certifies
that its calibration measurements are traceable to the National Institute of
Standards and Technology (NIST), to the extent allowed by the Institute’s
calibration facility, and to the calibration facilities of other International
Standards Organization members.
This manual provides information about VXIplug&play driver for Agilent
4155/4156. This manual also introduces two sample application programs using
Agilent VEE and the VXIplug&play driver for the 4155/4156.
•Installation
This chapter describes hardware and software requirements to use
the 4155/4156 VXIplug&play driver, and how to install the driver.
•Driver Functions
This chapter lists the all driver functions for the 4155/4156 and Agilent E5250A
Low Leakage Switch Mainframe.
•Programming Examples Using Agilent VEE
This chapter describes how to create measurement program using Agilent VEE,
and provides programming examples.
•Sample Application Programs For Agilent VEE
This chapter provides how to install, execute, and modify the sample application
programs stored in the VEE Sample Program Disk furnished with the
4155/4156.
This chapter explains the environment requirements and installation of the
VXIplug&play driver for Agilent 4155/4156.
•“Software Requirements”
•“Hardware Requirements with Agilent VEE”
•“Installing 4155/4156 Driver”
NOTEThe hardware required depends on the operating system and programming language
used. This manual provides hardware requirements when using the driver with
Agilent VEE software. When using the driver with a programming language other
than Agilent VEE, refer to the appropriate programming manual.
The following software is required to use the VXIplug&play driver for the
4155/4156. You can select one from Windows NT and Windows 95. You can also
select the most comfortable programming language to develop and run programs.
•Operating System
•Windows NT revision 3.51 or later
•Windows 95
•32-bit VISA I/O Library
I/O Library for GPIB Interface Card, or equivalent
•Programming Environment
•Agilent VEE
•Microsoft Visual Basic
•Microsoft Visual C++
•Borland C/C++
•LabView
•LabWindows
•VXIplug&play Driver Disk (furnished with the 4155/4156)
•4155/4156 Plug&Play Driver Disk
•E5250A Plug&Play Driver Disk
NOTEIf you use the sample application programs, stored in the VEE Sample Program
Disk furnished with the 4155/4156, VEE software must be version 4.0 or later.
See Chapter 4. Also, if you use the Cascade Microtech Summit series semi-auto
prober, confirm the operating system supported by the prober control software
(PCS) supplied from Cascade Microtech, Inc. PCS version 2.50 supports Windows
95 and Windows 3.1.
NOTEThe E5250A Plug&Play Driver Disk stores the VXIplug&play driver for Agilent
E5250A. This driver is required to use the sample application programs.
The installation flow for the VXIplug&play driver is shown below. If you have
already installed the IEEE 488 interface card, VISA I/O library, and programming
software on your PC, skip steps 1 through 4.
1. Install the IEEE 488 interface card into your PC.
See the interface card manual. Note the model number of the interface card, as
you may need it to configure the interface (in step 3).
2. Install VISA I/O library.
Follow the instructions in the I/O library’s setup program.
3. Configure and check the IEEE 488 interface.
See the I/O library manual. If you use the Agilent I/O Library, also see “To
Configure the Interface using Agilent I/O Library” on page 1-6.
4. Install the programming software.
Follow the setup program instructions.
5. Install the VXIplug&play driver.
See “To Install the Driver” on page 1-7.
6. Register the driver in the programming software.
See the programming software manual. If you are using Agilent VEE, also see
“Programming Basics” in Chapter 3.
To Configure the Interface using Agilent I/O Library
After installing the IEEE 488 interface card and the Agilent I/O Library, configure
the interface. The procedure shown below is the easiest way to configure the
interface. First, execute I_O Config in the HP I_O Libraries folder. The I/O Config
window is displayed. See Figure 1-1.
1. Click Auto Add.
If the interface card is installed properly, I_O Config automatically detects the
hardware configuration. The default names for SICL and VISA are assigned and
listed, as shown in the Configured Interface list.
2. Click hpib7 GPIB0.
3. Click Edit to display the Configuration dialog box for the interface card.
If you find any conflicts in the dialog box, such as IRQ line, you may need to
change them manually. Normally you can exit without modifying the default
setup.
4. Click OK to exit. Reboot your PC to configure the interface.
Figure 1-1To Configure the Interface using Agilent I/O Library
NOTEVISA Name is used by the VXIplug&play drivers to access the interface.
This section explains all the driver finctions available for Agilent 41555/4156 and
Agilent E5250A.
•“Driver Functions for the 4155/4156”
•“Driver Functions for the E5250A”
NOTEFor additional information on each function. refer to the on-line help for the
VXIplug&play drivers, or open the hp4156b.hlp or hpe5250a.hlp file in the
direcroty the driver is installed. See “Installing 4155/4156 Driver” in Chpater 1.
Table 2-1 lists all the functions for the 4155/4156. You will see a brief description of
the functions in the table.
For the description, syntax and parameters of the function, refer to the reference
section following this table. The driver functions in the reference section will appear
in the alphabetical order.
Table 2-14155/4156 Driver Function Lists
Category Function Description
Miscellaneoushp4156b_initInitializes the 4155/4156.
hp4156b_closeCloses the connection with the 4155/4156.
hp4156b_resetExecutes the 4155/4156 reset.
hp4156b_self_testExecutes the 4155/4156 self-test.
hp4156b_error_queryQueries the 4155/4156 for error code/message.
hp4156b_error_messageQueries for the driver errors.
hp4156b_revision_queryQueries for the 4155/4156 firmware/driver revisions.
hp4156b_timeOutSets the timeout.
hp4156b_timeOut_QQueries for the timeout setting.
hp4156b_errorQueryDetectSets the automatic error checking.
hp4156b_errorQueryDetect_Q Queries for the automatic error checking setting.
hp4156b_dclSends the Device Clear.
hp4156b_esr_QQueries the ESR status.
hp4156b_readStatusByte_QReads the 4155/4156 status byte.
hp4156b_opc_QChecks the 4155/4156 operation completion status.
Primitive
Measurement
Functions
Calibrationhp4156b_autoCalSets the auto calibration mode
Zero Offset
Cancel
hp4156b_startMeasureStarts a measurement.
hp4156b_readDataReads a measurement result.
hp4156b_stopModeSets the measurement completion mode.
hp4156b_abortMeasureAborts output or measurement.
hp4156b_execCalExecutes the 4155/4156 calibration
hp4156b_offsetCancelSets the zero offset cancel.
hp4156b_execOffsetCancelExecutes the zero offset cancel.
hp4156b_setSwitchSets the output switch.
hp4156b_setFilterSets the output filter.
hp4156b_setIntegSets the integration time.
hp4156b_setVmSets the VMU measurement mode.
hp4156b_setPguRSets the PGU output impedance.
Source Setuphp4156b_forceApplies a dc current or voltage.
hp4156b_forcePulseApplies a pulse by using PGU.
hp4156b_zeroOutputDisables output.
hp4156b_recoverOutputRecovers output.
hp4156b_setIvSets the sweep source.
hp4156b_setPbiasSets the pulsed bias source.
hp4156b_setPivSets the pulsed sweep source.
hp4156b_setSweepSyncSets the synchronous sweep source.
Measurement
Execution
hp4156b_spotMeasExecutes a high speed spot measurement.
hp4156b_measureMExecutes a multi-channel spot measurement.
hp4156b_sweepIvExecutes a one channel sweep measurement.
hp4156b_sweepMivExecutes a multi-channel sweep measurement.
hp4156b_measurePExecutes a pulsed spot measurement.
hp4156b_sweepPivExecutes a pulsed sweep measurement.
hp4156b_sweepPbiasExecutes a sweep measurement with pulsed bias.
Sampling
Measurements
hp4156b_setSampleSets the timing parameters.
hp4156b_addSampleSynclvSets the dc source.
hp4156b_addSampleSyncPulse Sets the pulse source.
hp4156b_sampleExecutes a sampling measurement.
hp4156b_clearSampleSyncClears the source setup.
Stress Forcehp4156b_setStressSets the timing parameters.
hp4156b_addStressSyncIvSets the dc stress source.
hp4156b_addStressSyncPulseSets the pulse stress source.
hp4156b_stressForces stress.
hp4156b_clearStressSyncClears the source setup.
hp4156b_cmdSends a command.
h4156b_cmdIntSends a command with an integer parameter.
hp4156b_cmdRealSends a command with a real parameter.
hp4156b_cmdData_QSends a command to read any data.
hp4156b_cmdString_QSends a command to read string response.
hp4156b_cmdInt16_QSends a command to read 16 bit integer response.
hp4156b_cmdInt16Arr_QSends a command to read 16 bit integer array response.
hp4156b_cmdInt32_QSends a command to read 32 bit integer response.
hp4156b_cmdInt32Arr_QSends a command to read 32 bit integer array response.
hp4156b_cmdReal64_QSends a command to read 64 bit real response.
hp4156b_cmdReal64Arr_QSends a command to read 64 bit real array response.
This function aborts the 4155/4156’s present operation, such as the measurement
executed by the hp4156b_startMeasure function, the pulse output by the
hp4156b_forcePulse function, the stress force by the hp4156b_stress function, and
so on.
Parametersvi Instrument handle returned from hp4156b_init( ).
hp4156b_addSampleSyncIv
This function specifies the constant current source or constant voltage source used
for the sampling measurements, and sets the parameters. Source output starts at the
beginning of the sampling measurement (beginning of the hold time), and stops at
the end of the last sampling measurement point.
Sampling measurement channels are defined by the hp4156b_sample function, and
sampling measurement timing is defined by the hp4156b_setSample function.
This function specifies the pulse source (PGU) used for the sampling measurements,
and sets the parameters. Pulse outputs start at the beginning of the sampling
measurement (beginning of the hold time), and stop at the end of the last sampling
measurement point or stop at the last pulse if it comes earlier than the last sampling
measurement point.
Sampling measurement channels are defined by the hp4156b_sample function, and
sampling measurement timing is defined by the hp4156b_setSample function.
If you want to let the pulse output synchronize with the sampling measurement
timing, you should define carefully both the hp4156b_addSampleSyncPulse timing
parameters (count, period, width, delay, rise and fall) and the hp4156b_setSample
timing parameters.
This function specifies the DC stress source, and sets the parameters. You can use
maximum 4 stress sources at once by using the hp4156b_addStressSyncIv and/or
hp4156b_addStressSyncPulse functions.
This function specifies the pulse stress source (PGU), and sets the parameters. You
can use maximum 4 stress sources at once by using the hp4156b_addStressSyncIv
and/or hp4156b_addStressSyncPulse functions. See “hp4156b_stress” on page 41
for the setting of width and delay.
This function clears the settings of the constant voltage/current source defined by
the hp4156b_addSampleSyncIv function, and the settings of the pulse source
defined by the hp4156b_addSampleSyncPulse function.
Parametersvi Instrument handle returned from hp4156b_init( ).
hp4156b_close
This function terminates the software connection to the instrument and deallocates
system resources. It is generally a good programming habit to close the instrument
handle when the program is done using the instrument.
This function passes the cmd_str string to the instrument. This entry point will wait
for a response which may be any data. You specify the cmd_str and size parameters,
and get result[ ].
Parametersvi Instrument handle returned from hp4156b_init( ).
cmd_str Instrument command (cannot exceed 256 bytes in length).
size Length of result in bytes. 2 to 32767.
result[ ] Response from instrument.
hp4156b_cmdInt
This function passes the cmd_str string to the instrument. This entry point passes
the string in cmd_str followed by a space and then the integer in value. Note that
either an Int16 or 32 can be passed as the Int16 will be promoted.
This function passes the cmd_str string to the instrument. This command expects a
response that is a definite arbitrary block of 16 bit integers. You specify the cmd_str
and size parameters, and get result[ ] and count.
This function passes the cmd_str string to the instrument. This command expects a
response that is a definite arbitrary block of 32 bit integers. You specify the cmd_str
and size parameters, and get result[ ] and count.
This function passes the cmd_str string to the instrument. This entry point passes
the string in cmd_str followed by a space and then the real in value. Note that either
an Real32 or 64 can be passed as the Real32 will be promoted.
Parametersvi Instrument handle returned from hp4156b_init( ).
cmd_str Instrument command (cannot exceed 256 bytes in length).
value Parameter for command. -1E+300 to 1E+300.
hp4156b_cmdReal64Arr_Q
This function passes the cmd_str string to the instrument. This command expects a
response that is a definite arbitrary block of 64 bit reals. You specify the cmd_str
and size parameters, and get result[ ] and count.
Parametersvi Instrument handle returned from hp4156b_init( ).
cmd_str Instrument command (cannot exceed 256 bytes in length).
result Response from instrument.
hp4156b_cmdString_Q
This function passes the cmd_str string to the instrument. This entry point will wait
for a response which must be a string (character data). You specify the cmd_str and
size parameters, and get result[ ].
Parametersvi Instrument handle returned from hp4156b_init( ).
cmd_str Instrument command (cannot exceed 256 bytes in length).
size Length of result in bytes. 2 to 32767.
result[ ] Response from instrument.
hp4156b_dcl
This function sends a device clear (DCL) to the instrument.
A device clear will abort the present operation and enable the instrument to accept a
new command or query. This is particularly useful in situations where it is not
possible to determine the instrument state. In this case, it is customary to send a
device clear before issuing a new instrument driver function. The device clear
ensures that the instrument will be able to begin processing the new commands.
Parametersvi Instrument handle returned from hp4156b_init( ).
error_number Error return value from the driver function.
message[ ] Error message string. This is limited to 256 characters.
hp4156b_error_query
This function returns the error numbers and corresponding error messages in the
error queue of a instrument. See If You Have a Problem manual for a listing of the
instrument error numbers and messages.
Instrument errors may occur when you places the instrument in a bad state such as
sending an invalid sequence of coupled commands. Instrument errors can be
detected by polling. Automatic polling can be accomplished by using the
hp4156b_errorQueryDetect function.
This function measures the zero offset data, and sets the zero offset function to ON.
The parameter 'channel' specifies the measurement channel (SMU or VMU).
If you define SMU for 'channel', the SMU must be set to the voltage force mode by
using the hp4156b_force function, before executing this function.
If you define VMU for 'channel’, the VMU must be set to the differential voltage
measurement mode by using the hp4156b_setVm function, before executing this
function.
This function specifies the dc current source (SMU) or dc voltage source (SMU,
VSU, or PGU), and forces the output immediately. To stop the output, use the
hp4156b_force function with 0 (zero) output.
This function specifies the pulse source (PGU) settings and forces the voltage pulse
immediately. To stop the pulse output, use hp4156b_abortMeasure function.
This function initializes the software connection to the instrument and optionally
verifies that instrument is in the system. In addition, it may perform any necessary
actions to place the instrument in its reset state.
If the hp4156b_init function encounters an error, then the value of the vi output
parameter will be VI_NULL.
This function executes a multi channel spot measurement by the specified units, and
returns the measured value and the measurement status.
The array size of all arrays should be the same together. Then the order of the array
data is important. For example, the measurement setup for the unit specified by
channel[1] must be entered into mode[1] and range[1]. And the measured data and
status data of the units specified by channel[1] will be returned by value[1] and
status[1], respectively.
Parametersvi Instrument handle returned from hp4156b_init( ).
channel[ ] Channel number of the measurement unit. Enter 0 (zero) at the
end of the unit definition for channel[ ]. For example, if you use
two units, the first and second elements of channel[ ] must
specify the units, and the third element must be 0.
1 to 6 (SMU1 to SMU6), 23 (VMU1), or 24 (VMU2).
mode[ ] Measurement mode.
1 (current measurement) or 2 (voltage measurement).
range[ ] Measurement range. 0 (auto ranging), positive value (limited
auto ranging), or negative value (fixed range). See below.
For current measurement: -1E-11 to -1.0 A, 1E-11 to 1.0 A,
or 0.
For voltage measurement: -2.0 to -200.0 V, 2.0 to 200.0 V
(-0.2 and 0.2 are available for
VMU in differential mode), or 0.
value[ ] Measurement data.
status[ ] Measurement status. 0 (no error), or 1 to 255 (error status).
Parametersvi Instrument handle returned from hp4156b_init( ).
channel Channel number of the unit to return the settings. 1 to 6 (SMU1
to SMU6), 21 (VSU1), 22 (VSU2), 27 (PGU1) or 28 (PGU2).
hp4156b_reset
This function places the instrument in a default state. Before issuing this function, it
may be necessary to send a device clear to ensure that the instrument can execute a
reset. A device clear can be issued by invoking hp4156b_dcl function.
This function executes a sampling measurement by the specified channels, and
returns the number of measurement points, measurement data index, measurement
data and the measurement status.
Before executing this function, set the sampling timing by using the
hp4156b_setSample function. The synchronous dc sources used with the sampling
measurement units are defined by using the hp4156b_addSampleSyncIv function.
And the synchronous pulsed sources used with the sampling measurement units are
defined by using the hp4156b_addSampleSyncPulse function.
RemarksThe array size of the parameters should be as shown below.
ViInt32 channel[N]
ViInt32 mode[N]
ViReal64 range[N]
ViInt32 point
ViInt32 index[M]
ViReal64 value[M][N]
ViReal64 status[M][N]
where,
N: Number of channels used for the measurements plus 1, or more.
M: Number of sweep points ('point’ parameter value of hp4156b_setSample
function), or more.
For the parameter definition, the order of the array data is important. For example,
the measurement setup for the unit specified by channel[1] must be entered into
mode[1] and range[1]. And measurement data and status data of the unit specified
by channel[1] will be returned by value[M][1] and status[M][1], respectively.
Driver Functions
hp4156b_self_test
hp4156b_self_test
This function causes the instrument to perform a self-test and returns the result of
that self-test. This is used to verify that an instrument is operating properly. A failure
may indicate a potential hardware problem.
This function specifies the sweep source channel for the staircase sweep measurements and the staircase sweep with pulsed bias measurements, and sets the parameters. For the staircase sweep with pulsed bias measurements, the sweep output
synchronizes with the pulse output by the hp4156b_setPbias function.
This function specifies the pulse output channel for the pulsed spot measurements
and the staircase sweep with pulsed bias measurements, and sets the parameters.
For the staircase sweep with pulsed bias measurements, the pulse output
synchronizes with the staircase sweep output by the hp4156b_setIv function.
This function specifies the measurement timing of the sampling measurements. The
sampling measurement units are defined by the hp4156b_sample function.
This function specifies the synchronous sweep source channel for the staircase
sweep measurements, the pulsed sweep measurements and the staricase sweep with
pulsed bias measurements, and sets the parameters. Synchronous sweep source is
used for the staircase sweep.
For the staircase sweep measurements, the output synchronizes with the staircase
sweep output by the hp4156b_setIv function.
For the pulsed sweep measurements, the output synchronizes with the pulsed sweep
output by the hp4156b_setPiv function.
For the staircase sweep with pulsed bias measurements, the output synchronizes the
staircase sweep output by the hp4156b_setIv function and the pulse output by the
hp4156b_setPbias function.
This function starts the specified measurement by the specified channels. You can
read the measured data by using the hp4156b_readData function. The measurement
data is entered to the 4155/4156 output buffer in the measurement order. If you want
to abort the measurement, use the hp4156b_abortMeasure function.
The array size of all arrays should be the same together. Then the order of the array
data is important. For example, the measurement setup for the unit specified by
channel[1] must be entered into mode[1] and range[1].
3 (pulse spot), 4 (pulse sweep), 5 (sweep with pulsed bias),
10 (sampling), or 11 (stress force).
channel[ ] Channel number of the measurement unit. Enter 0 (zero) at the
end of the unit definition for channel[ ]. For example, if you use
two units, the first and second elements of channel[ ] must
specify the units, and the third element must be 0.
1 to 6 (SMU1 to SMU6), 23 (VMU1), or 24 (VMU2).
mode[ ] Measurement mode. 1 (current measurement, only for SMU) or
2 (voltage measurement).
range[ ] Measurement range. 0 (auto ranging), positive value (limited
auto ranging), or negative value (fixed range). See below.
For current measurement: -1E-11 to -1.0 A, 1E-11 to 1.0 A,
or 0.
For voltage measurement: -2.0 to -200.0 V, 2.0 to 200.0 V
(-0.2 and 0.2 are available for
VMU in differential mode), or 0.
source Source data output mode.
0 (measurement data output without source data) or
1 (measurement data output with source data).
This function specifies the stop condition which enables the automatic abort
function for the sweep measurement, sampling measurement, or stress force. Also
this function specifies the sweep source output of the measurement unit after the
sweep measurement is aborted.
This function executes a staircase sweep measurement by the specified channel, and
returns the number of measurement points, sweep source data, measurement data
and the measurement status.
Before executing this function, set the sweep source setup by using the
hp4156b_setIv function. If you want to use the synchronous sweep source, execute
the hp4156b_setSweepSync function.
The array size of source, value and status should be the same together, and it must be
greater than or equal to the number of sweep points defined by the hp4156b_setIv
function ('point’ parameter).
This function executes a multichannel staircase sweep measurement by the specified
channels, and returns the number of measurement points, sweep source data,
measurement data and the measurement status.
Before executing this function, set the sweep source setup by using the
hp4156b_setIv function. If you want to use the synchronous sweep source, execute
the hp4156b_setSweepSync function.
Parametersvi Instrument handle returned from hp4156b_init( ).
channel[ ] Channel number of the measurement unit. Enter 0 (zero) at the
end of the unit definition for channel[ ]. For example, if you use
two units, the first and second elements of channel[ ] must
specify the units, and the third element must be 0.
1 to 6 (SMU1 to SMU6), 23 (VMU1), or 24 (VMU2).
mode[ ] Measurement mode. 1 (current measurement, only for SMU) or
2 (voltage measurement).
range[ ] Measurement range. 0 (auto ranging), positive value (limited
auto ranging), or negative value (fixed range). See below.
For current measurement: -1E-11 to -1.0 A, 1E-11 to 1.0 A,
or 0.
For voltage measurement: -2.0 to -200.0 V, 2.0 to 200.0 V
(-0.2 and 0.2 are available for
VMU in differential mode), or 0.
point Number of measurement points. 1 to 1001.
source[ ] Sweep source setup data.
value[ ] Measurement data. Two dimentional array.
status[ ] Measurement status. 0 (no error), or 1 to 255 (error status).
RemarksThe array size of the parameters should be as shown below.
ViInt32 channel[N]
ViInt32 mode[N]
ViReal64 range[N]
ViI nt32 point
ViReal64 source[M]
ViReal64 value[M][N]
ViReal64 status[M][N]
where,
N: Number of channels used for the measurements plus 1, or more.
M: Number of sweep points ('point’ parameter value of hp4156b_setIv function),
or more.
For the parameter definition, the order of the array data is important. For example,
the measurement setup for the unit specified by channel[1] must be entered into
mode[1] and range[1]. And measurement data and status data of the unit specified
by channel[1] will be returned by value[M][1] and status[M][1], respectively.
This function executes a staircase sweep with pulsed bias measurement by the
specified channel, and returns the number of measurement points, sweep source
data, measurement data, and the measurement status. Before executing this function,
set the sweep source setup and pulsed bias setup by using the hp4156b_setIv
function and the hp4156b_setPbias function. If you want to use the synchronous
sweep source, execute the hp4156b_setSweepSync function.
The array size of source, value and status should be the same together, and it must be
greater than or equal to the number of sweep points defined by the hp4156b_setIv
function ('point’ parameter).
This function executes a pulsed sweep measurement by the specified channel, and
returns the number of measurement points, sweep source data, measurement value
and the measurement status.
Array size of source, value and status should be the same together, and it must be
greater than or equal to the number of sweep points defined by the hp4156b_setPiv
function ('point’ parameter).
Before executing this function, set the pulsed sweep source setup by using the
hp4156b_setPiv function. If you want to use the synchronous sweep source,
execute the hp4156b_setSweepSync function.
Parametersvi Instrument handle returned from hp4156b_init( ).
pTimeOut Minimum timeout period that the driver can be set to, in
milliseconds.
hp4156b_zeroOutput
This function stores the measurement setup of the units, and sets the units to 0 V
output. To recover the setup, execute hp4156b_recoverOutput function.
Table 2-2 lists all the functions for the E5250A. You will see a brief description of
the functions in the table.
For the description, syntax and parameters of the function, refer to the reference
section following this table. The driver functions in the reference section will appear
in the alphabetical order.
Table 2-2E5250A Driver Function Lists
Category Function Description
Miscellaneoushpe5250a_initInitializes the E5250A.
hpe5250a_closeCloses the connection with the E5250A.
hpe5250a_resetExecutes the E5250A reset.
hpe5250a_self_testExecutes the E5250A self-test.
hpe5250a_error_queryQueries for the E5250A error code/message.
hpe5250a_error_messageQueries for the driver error.
hpe5250a_revision_queryQueries for the E5250A firmware/driver revisions.
hpe5250a_timeOutSets the timeout.
hpe5250a_timeOut_QQueries for the timeout setting.
hpe5250a_errorQueryDetectSets the automatic error checking.
hpe5250a_errorQueryDetect_Q Queries for the automatic error checking setting.
hpe5250a_dclSends the Device Clear.
hpe5250a_esr_QQueries for the ESR status.
hpe5250a_readStatusByte_QReads the E5250A status byte.
hpe5250a_opc_QChecks the E5250A operation completion status.
Mode Controlhpe5250a_funcSets the configuration mode.
hpe5250a_connRuleSeqSets the connection rule/sequence.
Bias Modehpe5250a_biasPortSelects the input bias port.
hpe5250_biasChanCardSelects the card for bias mode.
hpe5250_biasChanListSelects the channel list for bias mode.
hpe5250a_biasStateSets the bias port state.
hpe5250a_biasChanList_QQueries for the bias channel list.
Couple Porthpe5250a_couplePortSelects the couple port.
hpe5250a_coupleStateSets the couple port state.
Route Controlhpe5250a_closeListCloses the channel list.
hpe5250a_openListOpens the channel list.
hpe5250a_openCardOpens all output on the card.
hpe5250a_closeList_QQueries for the channel list status.
hpe5250a_openList_Q
hpe5250a_closeCard_QQueries for the closed channel list on the card.
C/G
Compensation
hpe5250a_CompenCExecutes the C/G compensation.
hpe5250a_selectCompenFileSelects the compensation data file.
Diagnosticshpe5250a_testExec_QExecutes the relay/front-panel/controller test.
hpe5250a_testClearClears the test result.
Passthrough
Functions
hpe5250a_cmdSends a command.
hpe5250a_cmdIntSends a command with an integer parameter.
hpe5250a_cmdRealSends a command with a real parameter.
hpe5250a_cmdData_QSends a command to read any data.
hpe5250a_cmdString_QSends a command to read string response.
hpe5250a_cmdInt16_QSends a command to read 16 bit integer response.
hpe5250a_cmdInt16Arr_QSends a command to read 16 bit integer array response.
hpe5250a_cmdInt32_QSends a command to read 32 bit integer response.
hpe5250a_cmdInt32Arr_QSends a command to read 32 bit integer array response.
hpe5250a_cmdReal64_QSends a command to read 64 bit real response.
hpe5250a_cmdReal64Arr_QSends a command to read 64 bit real array response.
(all card) in the normal configuration mode, or 0 (all card in the
automatic configuration mode). For the configuration mode, see
hpe5250a_func.
hpe5250a_biasChanList
This function will enable or disable bias on all the output ports specified by the
biaschan_list.
The parameter ’biaschan_list’ is an array of integers with each integer representing
one channel. The last number of the ’biaschan_list’ should be "0" (numeric zero)
to identify the end of the list. The maximum number of channels that can be
specified by the list is 100.
number, BC: input port number, DE: output port number.
Top zero(s) can be ignored. For example, if A=0, BC=01, and
DE=01, channel number should be 101 instead of 00101.
This function will query the instrument for the bias status for the channels given in
the list.
The parameter ’biaschan_list’ is an array of integers with each integer representing
one channel. The last number of the ’biaschan_list’ should be "0" (numeric zero)
to identify the end of the list. The maximum number of channels that can be
specified by the list is 100.
The ’bias_status’ parameter is an array of integers containing the return values of
the query. The ’bias_status’ array returned will correspond one to one with
’biaschan_list’ parameter.
Parametersvi Instrument handle returned from hpe5250a_init( ).
bias_disen Bias status for the query.
0 : confirms if the port is the bias enabled.
1 : confirms if the port is the bias disabled.
biaschan_list[ ] Channel numbers to know the bias status. 5 digits integer.
ABCDE. where A: card number, BC: input port number, DE:
output port number. Top zero(s) can be ignored. For example, if
A=0, BC=01, and DE=01, channel number should be 101
instead of 00101.
bias_status[ ] Bias status of the channels given in the biaschan_list. Returned
value depends on the setting of bias_disen as shown below:
when bias_disen=0, 0 means bias disabled, 1 means enabled.
when bias_disen=1, 0 means bias enabled, 1 means disabled.
This function will select which input port is the bias port on the specified card. For
each card, you can specify the same or different Bias Port. This function applies
only to the E5252A card.
(all card) in the normal configuration mode, or 0 (all card in the
automatic configuration mode). For the configuration mode, see
hpe5250a_func.
bias_port Input port number to be set to the bias port. 1 to 10 (input port 1
to input port 10).
hpe5250a_biasState
This function controls the bias mode for the specified card. When Bias Mode is ON,
the input Bias Port is connected to all bias enabled output ports that are not
connected to any other input ports. Bias disabled output ports are never connected to
the input Bias Port when Bias Mode is ON.
This function terminates the software connection to the instrument and deallocates
system resources. It is generally a good programming habit to close the instrument
handle when the program is done using the instrument.
Parametersvi Instrument handle returned from hpe5250a_init( ).
hpe5250a_closeCard_Q
This function will query the card for the channels closed of the specified card.
The parameter ’closechan_list’ contains the channel numbers returned by the
instrument. This will be an array of integers terminated by ’zero’ to identify the end
of the list. Array of enough length should be passed to the function.
This function will connect the input ports to the output ports specified by the
channel list.
The parameter ’closechan_list’ is an array of integers with each integer representing
one channel. The last number of the ’closechan_list’ should be "0" (numeric zero)
to identify the end of the list. The maximum number of channels that can be
specified by the list is 100.
Parametersvi Instrument handle returned from hpe5250a_init( ).
closechan_list[ ] Channel numbers to connect. 5 digits integer. ABCDE. where
A: card number, BC: input port number, DE: output port
number. Top zero(s) can be ignored. For example, if A=0,
BC=01, and DE=01, channel number should be 101 instead of
This function will query the instrument for the channels closed given in the
’closechan_list’.
The parameter ’closechan_list’ is an array of integers with each integer representing
one channel. The last number of the ’closechan_list’ should be "0" (numeric zero)
to identify the end of the list. The maximum number of channels that can be
specified by the list is 100.
The ’close_status’ parameter is an array of integers containing the return values of
the query. The ’close_status’ array returned will correspond one to one with
’closechan_list’ parameter.
Parametersvi Instrument handle returned from hpe5250a_init( ).
closechan_list[ ] Channel numbers to know the close status. 5 digits integer.
ABCDE. where A: card number, BC: input port number, DE:
output port number. Top zero(s) can be ignored. For example, if
A=0, BC=01, and DE=01, channel number should be 101
instead of 00101.
close_status[ ] Status of the channels given in the closechan_list.
0 (opened) or 1 (closed).
hpe5250a_cmd
This function passes the cmd_str string to the instrument. Must be a NULL
terminated C string.
This function passes the cmd_str string to the instrument. This entry point will wait
for a response which may be any data. You specify the cmd_str and size parameters,
and get result[ ].
Parametersvi Instrument handle returned from hpe5250a_init( ).
cmd_str Instrument command (cannot exceed 256 bytes in length).
size Length of result in bytes. 2 to 32767.
result[ ] Response from instrument.
hpe5250a_cmdInt
This function passes the cmd_str string to the instrument. This entry point passes
the string in cmd_str followed by a space and then the integer in value. Note that
either an Int16 or 32 can be passed as the Int16 will be promoted.
This function passes the cmd_str string to the instrument. This command expects a
response that is a definite arbitrary block of 16 bit integers. You specify the cmd_str
and size parameters, and get result[ ] and count.
This function passes the cmd_str string to the instrument. This command expects a
response that is a definite arbitrary block of 32 bit integers. You specify the cmd_str
and size parameters, and get result[ ] and count.
This function passes the cmd_str string to the instrument. This entry point passes
the string in cmd_str followed by a space and then the real in value. Note that either
an Real32 or 64 can be passed as the Real32 will be promoted.
Parametersvi Instrument handle returned from hpe5250a_init( ).
cmd_str Instrument command (cannot exceed 256 bytes in length).
value Parameter for command. -1E+300 to 1E+300.
hpe5250a_cmdReal64Arr_Q
This function passes the cmd_str string to the instrument. This command expects a
response that is a definite arbitrary block of 64 bit reals. You specify the cmd_str
and size parameters, and get result[ ] and count.
Parametersvi Instrument handle returned from hpe5250a_init( ).
cmd_str Instrument command (cannot exceed 256 bytes in length).
result Response from instrument.
hpe5250a_cmdString_Q
This function passes the cmd_str string to the instrument. This entry point will wait
for a response which must be a string (character data). You specify the cmd_str and
size parameters, and get result[ ].
This function compensates capacitance/conductance data measured by using
Agilent 4284A C meter, and returns compensation results. If you change the compensation data, create the compensation data file, and specify the data file using
hpe5250a_selectCompenFile function before executing this function.
This function sets the couple ports which are used for making kelvin connections on
the specified card. The specified input port number will be coupled with the next
input port and two output ports. For each card, you may setup the same or different
couple ports. This command overwrites the previous couple port setting for the card.
This command applies only to the E5252A card.
The couple port mode is controlled by the hpe5250a_coupleState function.
(all card) in the normal configuration mode, or 0 (all card in the
automatic configuration mode). For the configuration mode, see
hpe5250a_func.
couple_state Couple port mode. 0 (OFF) or 1 (ON).
hpe5250a_dcl
This function sends a device clear (DCL) to the instrument.
A device clear will abort the present operation and enable the instrument to accept a
new command or query.
This is particularly useful in situations where it is not possible to determine the
instrument state. In this case, it is customary to send a device clear before issuing a
new instrument driver function. The device clear ensures that the instrument will be
able to begin processing the new commands.
Parametersvi Instrument handle returned from hpe5250a_init( ).
error_number Error return value from the driver function.
message[ ] Error message string. This is limited to 256 characters.
hpe5250a_error_query
This function returns the error numbers and corresponding error messages in the
error queue of a instrument. See Agilent E5250A User’s Guide for a listing of the
instrument error numbers and messages.
Instrument errors may occur when you places the instrument in a bad state such as
sending an invalid sequence of coupled commands. Instrument errors can be
detected by polling. Automatic polling can be accomplished by using the
hpe5250a_errorQueryDetect function.
This function initializes the software connection to the instrument and optionally
verifies that instrument is in the system. In addition, it may perform any necessary
actions to place the instrument in its reset state.
If the hpe5250a_init function encounters an error, then the value of the vi output
parameter will be VI_NULL.
This function will disconnect all input ports from all output ports for the specified
card. Then if bias mode is ON, connects the input bias port to all bias enabled output
ports.
(all card) in the normal configuration mode, or 0 (all card in the
automatic configuration mode). For the configuration mode, see
hpe5250a_func.
hpe5250a_openList
This function will disconnect the input ports from the output ports specified by the
channel list.
The parameter ’openchan_list’ is an array of integers with each integer representing
one channel. The last number of the ’openchan_list’ should be "0" (numeric zero)
to identify the end of the list. The maximum number of channels that can be
specified by the list is 100.
Parametersvi Instrument handle returned from hpe5250a_init( ).
openchan_list[ ] Channel numbers to disconnect. 5 digits integer. ABCDE.
where A: card number, BC: input port number, DE: output port
number. Top zero(s) can be ignored. For example, if A=0,
BC=01, and DE=01, channel number should be 101 instead of
This function will query the instrument for the channels open given in the
’openchan_list’.
The parameter ’openchan_list’ is an array of integers with each integer representing
one channel. The last number of the ’openchan_list’ should be "0" (numeric zero)
to identify the end of the list. The maximum number of channels that can be
specified by the list is 100.
The ’open_status’ parameter is an array of integers containing the return values of
the query. The ’open_status’ array returned will correspond one to one with
’openchan_list’ parameter.
Parametersvi Instrument handle returned from hpe5250a_init( ).
openchan_list[ ] Channel numbers to know the open status. 5 digits integer.
ABCDE. where A: card number, BC: input port number, DE:
output port number. Top zero(s) can be ignored. For example, if
A=0, BC=01, and DE=01, channel number should be 101
instead of 00101.
open_status[ ] Status of the channels given in the openchan_list.
1 (opened) or 0 (closed).
hpe5250a_readStatusByte_Q
This function returns the contents of the status byte register.
This function places the instrument in a default state. Before issuing this function, it
may be necessary to send a device clear to ensure that the instrument can execute a
reset. A device clear can be issued by invoking hpe5250a_dcl function.
Parametersvi Instrument handle returned from hpe5250a_init( ).
file_name Compensation data file name. Use absolute path. If the value is
NULL string, the default data is used.
RemarksIf you change the compensation data, copy the default data shown below, and
modify the data for your measurement cable. You will need to change the data for
DATA05 and 06, and/or DATA07 and 08 corresponding to your cables. To measure
and change the compensation data, refer to Agilent E5250A User’s Guide. To get
the R, L, and C value, measure R, L, and C of the cable using the 4284A, and divide
them by cable length (in m). Compensation data must be the value for 1 m length.
Do not change the data format in the file.
This function causes the instrument to perform a self-test and returns the result of
that self-test. This is used to verify that an instrument is operating properly. A failure
may indicate a potential hardware problem.
This function executes the controller test, the front panel test, or the relay test for the
specified card. You must attach the relay test adapter before executing the relay test.
The Front Panel test requires the key to be pressed within 10 seconds else the test
will fail.
This chapter describes how to create measurement programs using Agilent VEE and
the VXIplug&play driver for Agilent 4155/4156, and provides programming
examples.
Programming Examples Using Agilent VEE
Programming Basics
Registrating the Driver on Agilent VEE
To use the VXIplug&play driver on Agilent VEE, register the driver as described
below and as shown in Figure 3-1 on page 3-5.
1. Click the I/O menu.
2. Select Instrument Manager from the I/O menu. The Instrument Manager dialog
box is displayed. The dialog box lists the available devices (instruments). If this
is the first time using Agilent VEE, only off-line (NOT LIVE) devices are
shown in the Instrument List.
3. Click Add. The Device Configuration dialog box is displayed.
4. Enter the device name in the Name field. The example shown in Figure 3-1 sets
"HP4156B".
5. Enter the GPIB address for the device in the Address field. The example shown
in Figure 3-1 sets "717".
6. Click Advanced I/O Config. The Advanced Device Configuration dialog box is
displayed.
7. Click the Plug&play Driver tab.
8. Select HP4156B in the Plug&play Driver Name field to configure the
4155/4156 driver. If the driver is not installed properly, "HP4156B" is not
available in this field. Install the driver properly at this time.
9. Click OK to close the Advanced Device Configuration dialog box.
10. Click OK to close the Device Configuration dialog box.
11. Click Save Config to save the configuration of the drivers. The Instrument
Manager dialog box is closed.
You can now use the VXIplug&play driver for the 4155/4156.
Programming Examples Using Agilent VEE
Programming Basics
Basic Objects to Control the Instrument
You can create programs using Agilent VEE and the VXIplug&play driver, as
shown in the following steps. In this procedure you use only three objects; To/From,
Data, and Display, shown in Figure 3-2.
1. Display the To/From object for the VXIplug&play driver.
2. Define the transactions (functions of the driver) in the To/From object.
3. Set the input parameters for the transaction.
4. (Optional: Use a variable for the input parameter.)
5. Repeat steps 2, 3, and 4 to complete the To/From object.
6. Connect the input terminals of the To/From object to the Data object.
7. Connect the output terminals of the To/From object to the Display object.