B2900A Prog
B2900A Prog
Precision Source/Measure
Unit
Programming Guide
Agilent Technologies
Notices
© Agilent Technologies, Inc. 2011 Warranty receive no greater than Restricted Rights as
defined in FAR 52.227-19(c)(1-2) (June
No part of this manual may be reproduced
The material contained in this docu- 1987). U.S. Government users will receive
in any form or by any means (including
ment is provided “as is,” and is sub- no greater than Limited Rights as defined in
electronic storage and retrieval or transla-
tion into a foreign language) without prior
ject to being changed, without notice, FAR 52.227-14 (June 1987) or DFAR
agreement and written consent from Agi- in future editions. Further, to the max- 252.227-7015 (b)(2) (November 1995), as
lent Technologies, Inc. as governed by imum extent permitted by applicable applicable in any technical data.
United States and international copyright law, Agilent disclaims all warranties,
laws. either express or implied, with regard Open Software License
to this manual and any information A portion of the software in this product is
Manual Part Number contained herein, including but not licensed under terms of the General Public
limited to the implied warranties of License Version 2 (“GPLv2”). The text of
B2910-90020 merchantability and fitness for a par- the license and source code can be found
ticular purpose. Agilent shall not be at:
Edition liable for errors or for incidental or
www.agilent.com/find/GPLV2
Edition 1, May 2011 consequential damages in connection
Edition 2, July 2011 with the furnishing, use, or perfor-
mance of this document or of any
information contained herein. Should About Customer Feedback
Agilent Technologies, Inc.
5301 Stevens Creek Blvd Agilent and the user have a separate We love hearing from you. Please take a few
Santa Clara, CA 95051 USA written agreement with warranty moments and let us know how we can
terms covering the material in this improve this manual. Click here to open the
document that conflict with these Agilent B2900 manual feedback form.
terms, the warranty terms in the sep-
We respect your privacy. Be assured that
arate agreement shall control.
Agilent will never sell or rent your informa-
Technology Licenses tion. Nor will Agilent share this information
with other companies without your
The hardware and/or software described in expressed consent. We make a commit-
this document are furnished under a ment to you that we will respect and protect
license and may be used or copied only in your privacy. Please see the details of this
accordance with the terms of such license. commitment in our Privacy Statement. Click
here to open the statement.
Restricted Rights Legend
If software is for use in the performance of
a U.S. Government prime contract or sub-
contract, Software is delivered and licensed
as “Commercial computer software” as
defined in DFAR 252.227-7014 (June 1995),
or as a “commercial item” as defined in
FAR 2.101(a) or as “Restricted computer
software” as defined in FAR 52.227-19
(June 1987) or any equivalent agency regu-
lation or contract clause. Use, duplication
or disclosure of Software is subject to Agi-
lent Technologies’ standard commercial
license terms, and non-DOD Departments
and Agencies of the U.S. Government will
In This Manual
This manual provides the information for controlling the Agilent Technologies B2900
by using an external computer, and consists of the following chapters.
• “Programming Examples”
Introduces example programs for controlling the B2900.
See Agilent B2900 User's Guide for information about the B2900 itself.
Refer to Agilent B2900 SCPI Command Reference for the SCPI messages and
conventions, data output format, error code, and the details on Agilent B2900 SCPI
commands.
Microsoft, Windows, and Visual Basic are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
Contents
2. Programming Examples
Preparations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
To Create Your Project Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
To Create Measurement Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Spot Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Pulsed Spot Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Staircase Sweep Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
Pulsed Sweep Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
List Sweep Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21
Pulsed List Sweep Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25
Sampling Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29
Pass/Fail Judgement and Math Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33
Using Program Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37
Reading Binary Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40
This chapter describes basic information to control the Agilent B2900, and consists
of the following sections.
• “Before Starting”
• “Controlling Various Functions”
• “Controlling the Source Output”
• “Controlling the Measurement Function”
• “Using the Math Function”
• “Performing the Limit Test”
• “Using the Trace Buffer”
• “Using Program Memory”
The following conventions are used in this document for expressing SCPI
commands.
Convention Description
Before Starting
This section describes the information needed before starting programming.
• “Software Requirements”
• “Connecting to the Interface”
• “Starting the Instrument Control”
Software Requirements
Programming examples described in this manual use the following software. Install
the software to your computer to execute the programming examples.
Example ioObj.WriteString("*RST")
For the initial settings, see SCPI Command Reference.
Example ioObj.WriteString("*TST?")
Dim d As String = ioObj.ReadString()
If d = 0 Then
Console.WriteLine("PASS")
Else
Console.WriteLine("FAIL")
End If
This example performs the self-test, and displays the test result, pass or fail.
Example ioObj.WriteString("*CAL?")
Dim d As String = ioObj.ReadString()
If d = 0 Then
Console.WriteLine("PASS")
Else
Console.WriteLine("FAIL")
End If
This example performs the self-calibration, and displays the result, pass or fail.
Example ioObj.WriteString(":SYST:ERR?")
Dim d As String = ioObj.ReadString()
Console.WriteLine(d)
If the error buffer is empty, the response is +0,“No error”.
Example ioObj.WriteString(":SYST:ERR:ALL?")
Dim d As String = ioObj.ReadString()
Console.WriteLine(d)
If the error buffer is empty, the response is +0,“No error”.
Reading Timestamp
Timestamp is read by the :SYST:TIME:TIM:COUN? command.
Example ioObj.WriteString(":SYST:TIME:TIM:COUN?")
Dim d As String = ioObj.ReadString()
Console.WriteLine(d)
Clearing Timestamp
Timestamp is cleared by the :SYST:TIME:TIM:COUN:RES command.
Example ioObj.WriteString(":SYST:TIME:TIM:COUN:RES")
Example ioObj.WriteString("*IDN?")
Dim d As String = ioObj.ReadString()
Console.WriteLine(d)
The returned value will be as follows.
Agilent Technologies,model,serial,revision
model: mainframe model number
serial: mainframe serial number
revision: firmware revision number
NOTE The string :SOUR in the command string described in this manual can be omitted.
For example, :SOUR:VOLT can be :VOLT.
Logarithmic Sweep
:SWE:SPAC LOG
Previous value
:PULS:WIDT
:SOUR:WAIT
:PULS:DEL
:SENS:WAIT
:TRIG:TRAN:DEL
Trigger :TRIG:ACQ:DEL : Measurement
Time
NOTE If you want to use arm trigger, use the :ARM<:TRAN | [:ALL]>:SOUR,
:ARM<:TRAN | [:ALL]>:TIM, :ARM<:TRAN | [:ALL]>:COUN, and
:ARM<:TRAN | [:ALL]>:DEL commands. For more details, see SCPI Command
Reference.
NOTE If source channels are set as shown below, the source output starts simultaneously.
Example ioObj.WriteString(":SENS:FUNC:ALL")
ioObj.WriteString(":SENS:FUNC:OFF ""RES""")
ioObj.WriteString(":SENS:FUNC:OFF:ALL")
ioObj.WriteString(":SENS:FUNC ""RES""")
Example ioObj.WriteString(":MEAS:RES?")
ioObj.WriteString(":FORM:ELEM:SENS RES,STAT")
ioObj.WriteString(":MEAS?")
NOTE If measurement channels are set as shown below, the measurement starts
simultaneously.
NOTE If you want to use arm trigger, use the :ARM<:ACQ | [:ALL]>:SOUR,
:ARM<:ACQ | [:ALL]>:TIM, :ARM<:ACQ | [:ALL]>:COUN, and :ARM<:ACQ |
[:ALL]>:DEL commands. For more details, see SCPI Command Reference.
:SENS:WAIT
:SOUR:WAIT
:TRIG:TRAN:DEL
Previous value : Measurement
Start value :CURR:STAR or :VOLT:STAR
Time
:SOUR:WAIT
:TRIG:ACQ:DEL
:TRIG:TRAN:DEL
:PULS:DEL :CURR:STAR or
Start value :VOLT:STAR
Previous value
:PULS:WIDT : Measurement
Time
NOTE To specify the data to obtain, use the :FORM:ELEM:SENS command for the
measurement data or the :FORM:ELEM:CALC command for the calculation data.
Stopping Measurement
Measurement is stopped by the :OUTP OFF command.
NOTE If you want to use the GPIO port for sending a pass/fail bit pattern, use the
:CALC:DIG commands to specify the output port. See SCPI command reference.
If you want to use the null offset function for cancelling the offset value from the
measurement data automatically, use the :CALC:OFFS commands. See SCPI
command reference.
VOLT
FETCh? CURR
READ? RES
MEASure? TIME
SENS:DATA? STAT
SOUR
MATH
Feeding
CALC
CALC:MATH:DATA? TIME Limit Test
STAT Offset
Binning
CALC
CALC:DATA? TIME
STAT
Trace
Feeding
VOLT
CURR MEAN
RES SDEV
CALC MIN
TIME MAX
STAT PKPK
SOUR
TRACe:DATA? TRACe:STAT:DATA?
NOTE The :TRAC:TST:FORM command is used to specify the timestamp data format,
delta (DELT) or absolute (ABS).
To specify the data to collect, use the :FORM:ELEM:SENS command for the
measurement data or the :FORM:ELEM:CALC command for the calculation data.
Deleting a Program
Memory program is deleted by the :PROG:DEL commands.
This chapter provides the following sections which explain programming example.
• “Preparations”
• “Spot Measurements”
• “Pulsed Spot Measurements”
• “Staircase Sweep Measurements”
• “Pulsed Sweep Measurements”
• “List Sweep Measurements”
• “Pulsed List Sweep Measurements”
• “Sampling Measurements”
• “Pass/Fail Judgement and Math Function”
• “Using Program Memory”
• “Reading Binary Data”
• “Performing MOSFET Id-Vd Measurements”
Preparations
This section provides the basic information for programming of the automatic
measurement using the Agilent B2900, Agilent IO Libraries, and Microsoft Visual
Basic .NET.
NOTE To execute the example programs in this chapter, you need to install Agilent GPIB
interface, Agilent IO Libraries Suite, and Microsoft Visual Basic .NET on your
computer.
Step 1. Connect Agilent B2900 (e.g. GPIB address 23) to the computer via GPIB.
Step 2. Launch Visual Basic .NET and create a new project. The project type should be
Console Application to simplify the programming.
• Ivi.Visa.Interop
• System.IO
Step 4. Open a module (e.g. Module1.vb) in the project. And enter a program code as
template. See Table 2-1 for example.
Step 1. Plan the automatic measurements. Then decide the following items:
• Measurement devices
• Parameters/characteristics to be measured
hFE, Vth, sheet resistance, and so on.
• Measurement method
Step 6. Open the module that contains the template code as shown in Table 2-1. On the code
window, complete the B2900control subprogram.
Step 7. Insert the code to display, store, or calculate data into the subprogram.
Step 8. Save the project (e.g. \test\dev_a\spot1V).
Module Module1
Sub Main() ’1
Dim rm As Ivi.Visa.Interop.ResourceManager
Dim ioObj As Ivi.Visa.Interop.FormattedIO488
Dim ifAddress As String = "23"
Dim filename As String = ""
Dim filedata As String = "Result: "
Dim s As String = ""
Try ’9
rm = New Ivi.Visa.Interop.ResourceManager
ioObj = New Ivi.Visa.Interop.FormattedIO488
Try
ioObj.IO = rm.Open("GPIB0::" + ifAddress + "::INSTR")
ioObj.IO.Timeout = 60000
ioObj.IO.TerminationCharacter = 10
ioObj.IO.TerminationCharacterEnabled = True
Catch ex As Exception
Console.WriteLine("An error occurred: " + ex.Message)
End Try
B2900control(ioObj, s, filename) ’21
Console.Write(filedata + s)
MsgBox("Click OK to close the console window.", vbOKOnly, "")
FileOpen(1, filename, OpenMode.Output, OpenAccess.Write,
OpenShare.LockReadWrite) ’25
Print(1, filedata + s)
FileClose(1)
ioObj.IO.Close() ’29
System.Runtime.InteropServices.Marshal.ReleaseComObject(ioObj)
System.Runtime.InteropServices.Marshal.ReleaseComObject(rm)
Catch ex As Exception
Console.WriteLine("An error occurred: " + ex.Message)
End Try
End Sub
Sub B2900control(ByVal ioObj As Ivi.Visa.Interop.FormattedIO488, ByRef s As
String, ByRef filename As String) ’37
filename = "C:/temp/resultdata1.txt"
End Sub
End Module
Line Description
1 to 8 Beginning of the Main subprogram. And defines the variables used in this program.
9 to 20 Establishes the connection with the B2900 specified by the GPIB address ifAddress=23 on
the interface GPIB0.
Module Module1
Sub Main() ’1
Dim rm As Ivi.Visa.Interop.ResourceManager
Dim ioObj As Ivi.Visa.Interop.FormattedIO488
Dim ifAddress As String = "23"
Dim filename As String = ""
Dim filedata As String = "Result: "
Dim s As String = ""
Try ’9
rm = New Ivi.Visa.Interop.ResourceManager
ioObj = New Ivi.Visa.Interop.FormattedIO488
Try
ioObj.IO = rm.Open("GPIB0::" + ifAddress + "::INSTR")
ioObj.IO.Timeout = 60000
ioObj.IO.TerminationCharacter = 10
ioObj.IO.TerminationCharacterEnabled = True
Catch ex As Exception
Console.WriteLine("An error occurred: " + ex.Message)
End Try
B2900control(ioObj, s, filename) ’21
Console.Write(filedata + s)
MsgBox("Click OK to close the console window.", vbOKOnly, "")
FileOpen(1, filename, OpenMode.Output, OpenAccess.Write,
OpenShare.LockReadWrite) ’25
Print(1, filedata + s)
FileClose(1)
ioObj.IO.Close() ’29
System.Runtime.InteropServices.Marshal.ReleaseComObject(ioObj)
System.Runtime.InteropServices.Marshal.ReleaseComObject(rm)
Catch ex As Exception
Console.WriteLine("An error occurred: " + ex.Message)
End Try
End Sub
Sub B2900control(ByVal ioObj As Ivi.Visa.Interop.FormattedIO488, ByRef s As
String, ByRef filename As String) ’37
filename = "C:/temp/resultdata1.txt"
End Sub
End Module
Line Description
21 to 23 Calls the B2900control subprogram. And displays the result data in a console window.
25 to 27 Saves the result data to a file specified by filename.
Spot Measurements
A program example of spot measurements is shown in Table 2-2. This example is
used to apply voltage and measure current.
Spot measurements can be performed by using the following commands.
Function Command
v-or-c is VOLT for voltage source or limit (compliance), or CURR for current
source or limit (compliance).
func is VOLT for voltage measurement, CURR for current measurement, or RES for
resistance measurement.
type is VOLT for voltage data, CURR for current data, RES for resistance data,
SOUR for source output data, STAT for status data, or TIME for time data.
chanlist is (@1) for selecting the channel 1 only, (@2) for selecting the channel 2
only, or (@1,2), (@1:2), (@2,1), or (@2:1) for selecting both channels 1 and 2.
Abbreviating this parameter sets chanlist=(@1) for the 1-channel models, and
chanlist=(@1,2) for the 2-channel models.
Line Description
2 Defines the file name used for saving the result data.
6 to 8 Sets the voltage source function. And sets the source value to 0.1 V.
11 to 14 Sets the current measurement function and the auto range measurement. And sets the
aperture time to 0.1 PLC and the current limit (compliance) value to 0.1 A.
Function Command
[:SOUR[c]]:v-or-c:RANG value
:SENS[c]:func:RANG value
Function Command
:FETC[:SCAL]:type? [chanlist]
Reads result data (array data) :FETC:ARR? [chanlist]
:FETC:ARR:type? [chanlist]
v-or-c is VOLT for voltage source or limit (compliance), or CURR for current
source or limit (compliance).
func is VOLT for voltage measurement, CURR for current measurement, or RES for
resistance measurement.
source is AINT for the automatic trigger, BUS for the remote interface trigger
command, TIM for the internal timer, INTn for a signal from the internal bus (n=1
or 2), EXTm for a signal from the GPIO pin m (m=1 to 14), or LAN for the LXI
trigger.
type is VOLT for voltage data, CURR for current data, RES for resistance data,
SOUR for source output data, STAT for status data, or TIME for time data.
chanlist is (@1) for selecting the channel 1 only, (@2) for selecting the channel 2
only, or (@1,2), (@1:2), (@2,1), or (@2:1) for selecting both channels 1 and 2.
Abbreviating this parameter sets chanlist=(@1) for the 1-channel models, and
chanlist=(@1,2) for the 2-channel models.
Line Description
2 Defines the file name used for saving the result data.
7 to 8 Sets the voltage source function. And sets the pulse output function.
11 to 12 Sets the pulse base voltage and the pulse peak voltage.
15 to 16 Sets the pulse delay time and the pulse width.
19 to 23 Sets the current measurement function and the 100 mA fixed range measurement. And
sets the aperture time to 0.1 ms and the current limit (compliance) value to 0.1 A.
26 to 27 Sets the transient (source) delay time and the acquire (measurement) delay time.
Line Description
30 to 32 Sets the timer trigger source. And sets the trigger interval to 4 ms, and the trigger count
to 3. The B2900 will perform the pulsed spot measurement three times.
Function Command
[:SOUR[c]]:SWE:POIN value
:SENS[c]:func:RANG value
Function Command
:FETC:ARR:type? [chanlist]
v-or-c is VOLT for voltage source or limit (compliance), or CURR for current
source or limit (compliance).
func is VOLT for voltage measurement, CURR for current measurement, or RES for
resistance measurement.
source is AINT for the automatic trigger, BUS for the remote interface trigger
command, TIM for the internal timer, INTn for a signal from the internal bus (n=1
or 2), EXTm for a signal from the GPIO pin m (m=1 to 14), or LAN for the LXI
trigger.
type is VOLT for voltage data, CURR for current data, RES for resistance data,
SOUR for source output data, STAT for status data, or TIME for time data.
chanlist is (@1) for selecting the channel 1 only, (@2) for selecting the channel 2
only, or (@1,2), (@1:2), (@2,1), or (@2:1) for selecting both channels 1 and 2.
Abbreviating this parameter sets chanlist=(@1) for the 1-channel models, and
chanlist=(@1,2) for the 2-channel models.
Line Description
2 Defines the file name used for saving the result data.
4 Resets the B2900.
6 to 11 Sets the voltage sweep output function. And sets the sweep output from 0 to 0.1 V in
0.02 V step (5 points).
14 to 16 Sets the current measurement function. And sets the aperture time to 0.1 PLC and the
current limit (compliance) value to 0.1 A. Auto range is ON with the default setting.
Line Description
19 to 20 Sets the trigger source to AINT (automatic trigger). And sets the trigger count to 5 to
perform a 5-step staircase sweep measurement.
27 Enables the channel. And starts source output (0 V with the default setting).
Function Command
[:SOUR[c]]:SWE:POIN value
Function Command
:SENS[c]:func:RANG value
:FETC:ARR:type? [chanlist]
v-or-c is VOLT for voltage source or limit (compliance), or CURR for current
source or limit (compliance).
func is VOLT for voltage measurement, CURR for current measurement, or RES for
resistance measurement.
source is AINT for the automatic trigger, BUS for the remote interface trigger
command, TIM for the internal timer, INTn for a signal from the internal bus (n=1
or 2), EXTm for a signal from the GPIO pin m (m=1 to 14), or LAN for the LXI
trigger.
type is VOLT for voltage data, CURR for current data, RES for resistance data,
SOUR for source output data, STAT for status data, or TIME for time data.
chanlist is (@1) for selecting the channel 1 only, (@2) for selecting the channel 2
only, or (@1,2), (@1:2), (@2,1), or (@2:1) for selecting both channels 1 and 2.
Abbreviating this parameter sets chanlist=(@1) for the 1-channel models, and
chanlist=(@1,2) for the 2-channel models.
Line Description
2 Defines the file name used for saving the result data.
6 to 12 Sets the voltage pulse sweep output function. And sets the sweep output from 0 to 0.1
V in 0.02 V step (5 points).
26 to 27 Sets the transient (source) delay time and the acquire (measurement) delay time.
Line Description
30 to 32 Sets the timer trigger source. And sets the trigger interval to 4 ms, and the trigger count
to 5 to perform a 5-step pulsed sweep measurement.
39 Enables the channel. And starts source output (0 V with the default setting).
Function Command
[:SOUR[c]]:v-or-c:RANG value
:SENS[c]:func:RANG value
Function Command
:FETC:ARR:type? [chanlist]
v-or-c is VOLT for voltage source or limit (compliance), or CURR for current
source or limit (compliance).
func is VOLT for voltage measurement, CURR for current measurement, or RES for
resistance measurement.
source is AINT for the automatic trigger, BUS for the remote interface trigger
command, TIM for the internal timer, INTn for a signal from the internal bus (n=1
or 2), EXTm for a signal from the GPIO pin m (m=1 to 14), or LAN for the LXI
trigger.
type is VOLT for voltage data, CURR for current data, RES for resistance data,
SOUR for source output data, STAT for status data, or TIME for time data.
chanlist is (@1) for selecting the channel 1 only, (@2) for selecting the channel 2
only, or (@1,2), (@1:2), (@2,1), or (@2:1) for selecting both channels 1 and 2.
Abbreviating this parameter sets chanlist=(@1) for the 1-channel models, and
chanlist=(@1,2) for the 2-channel models.
Line Description
2 Defines the file name used for saving the result data.
12 to 14 Sets the current measurement function. And sets the aperture time to 0.1 PLC and the
current limit (compliance) value to 0.1 A. Auto range is ON with the default setting.
Line Description
17 to 18 Sets the trigger source to AINT (automatic trigger). And sets the trigger count to 3 to
perform a 3-point list sweep measurement.
25 Enables the channel. And starts source output (0 V with the default setting).
Function Command
[:SOUR[c]]:v-or-c:RANG value
:SENS[c]:func:RANG value
Function Command
:FETC:ARR:type? [chanlist]
v-or-c is VOLT for voltage source or limit (compliance), or CURR for current
source or limit (compliance).
func is VOLT for voltage measurement, CURR for current measurement, or RES for
resistance measurement.
source is AINT for the automatic trigger, BUS for the remote interface trigger
command, TIM for the internal timer, INTn for a signal from the internal bus (n=1
or 2), EXTm for a signal from the GPIO pin m (m=1 to 14), or LAN for the LXI
trigger.
type is VOLT for voltage data, CURR for current data, RES for resistance data,
SOUR for source output data, STAT for status data, or TIME for time data.
chanlist is (@1) for selecting the channel 1 only, (@2) for selecting the channel 2
only, or (@1,2), (@1:2), (@2,1), or (@2:1) for selecting both channels 1 and 2.
Abbreviating this parameter sets chanlist=(@1) for the 1-channel models, and
chanlist=(@1,2) for the 2-channel models.
Line Description
2 Defines the file name used for saving the result data.
6 to 10 Sets the voltage pulse list sweep output function. And sets the pulsed list sweep output
0.03 V, 0.06 V, and 0.1 V (3 points). Pulse base value is 0 V with the default setting.
17 to 21 Sets the current measurement function and the 100 mA fixed range measurement. And
sets the aperture time to 0.1 ms and the current limit (compliance) value to 0.1 A.
24 to 25 Sets the transient (source) delay time and the acquire (measurement) delay time.
Line Description
28 to 30 Sets the timer trigger source. And sets the trigger interval to 4 ms, and the trigger count
to 3 to perform a 3-point pulsed list sweep measurement.
37 Enables the channel. And starts source output (0 V with the default setting).
Sampling Measurements
A program example of sampling measurements is shown in Table 2-8. This example
is used to apply constant voltage and measure current six times.
Sampling measurements can be performed by using the following commands.
Function Command
[:SOUR[c]]:v-or-c:RANG value
:SENS[c]:func:RANG value
Function Command
:FETC:ARR:type? [chanlist]
v-or-c is VOLT for voltage source or limit (compliance), or CURR for current
source or limit (compliance).
func is VOLT for voltage measurement, CURR for current measurement, or RES for
resistance measurement.
source is AINT for the automatic trigger, BUS for the remote interface trigger
command, TIM for the internal timer, INTn for a signal from the internal bus (n=1
or 2), EXTm for a signal from the GPIO pin m (m=1 to 14), or LAN for the LXI
trigger.
type is VOLT for voltage data, CURR for current data, RES for resistance data,
SOUR for source output data, STAT for status data, or TIME for time data.
chanlist is (@1) for selecting the channel 1 only, (@2) for selecting the channel 2
only, or (@1,2), (@1:2), (@2,1), or (@2:1) for selecting both channels 1 and 2.
Abbreviating this parameter sets chanlist=(@1) for the 1-channel models, and
chanlist=(@1,2) for the 2-channel models.
Line Description
2 Defines the file name used for saving the result data.
11 to 13 Sets the current measurement function and the auto range measurement. And sets the
aperture time to 0.1 PLC and the current limit (compliance) value to 0.1 A.
Line Description
17 to 19 Sets the timer trigger source. And sets the timer interval to 4 ms, and the trigger count
to 6 to perform a 6-point sampling measurement.
26 Enables the channel. And starts source output (0 V with the default setting).
Function Command
Function Command
type is VOLT for voltage measurement data, CURR for current measurement data,
RES for resistance measurement data, or MATH for math result data.
Line Description
2 Defines the file name used for saving the result data.
Line Description
35 to 36 Sets the arm count to 1, and the trigger count to 201 to perform a 201-step staircase
sweep measurement.
43 Enables the channel. And starts source output (0 V with the default setting).
46 Starts staircase sweep measurement.
49 to 52 Waits for operation complete. And write “*OPC?: 1” on the console window when the
operation is completed.
Function Command
operation is RUN to change to the running status, PAUS to change to the paused
status, CONT to change to the running status, STOP to change to the stopped status,
or STEP to perform step execution.
Line Description
2 Defines the file name used for saving the result data.
6 to 18 Enters program code to the “program” variable. The program is for performing current
source voltage measure sweep measurement from 0 A to 40 mA, 21 points, with the
aperture time 0.1 PLC.
23 to 24 Stores the program code to the program memory as the program name “sample”.
’ Run program
ioObj.WriteString(":prog:stat run") ’31
’ Wait for operation complete
ioObj.WriteString("*OPC?") ’34
s = ioObj.ReadString()
Console.Write("*OPC?: " + s)
Console.WriteLine()
Try ’ Retrieve measurement result ’39
ioObj.WriteString(":fetch:arr:volt? (@1)")
s = ioObj.ReadString()
Catch ex As Exception
Console.WriteLine("An error occurred: " + ex.Message)
End Try
End Sub
Line Description
34 to 37 Waits for operation complete. And write “*OPC?: 1” on the console window when the
operation is completed.
Function Command
format is ASC for the ASCII data output format, REAL,32 for the IEEE-754 single
precision format (4-byte data), or REAL,64 for the IEEE-754 double precision
format (8-byte data).
byte_order is NORM for the normal byte order from byte 1 to byte 4 or 8, or SWAP
for the reverse byte order from byte 4 or 8 to byte 1.
Line Description
2 Specifies the data to return. This example selects voltage measurement data, current
measurement data, time data, and status data.
High Sense
Low Sense
High Sense
Low Sense
Measurement Result:
Result Example -2.102110E-06,+1.149380E-03,+1.827990E-03,+2.150970E-03,+2.272340
E-03,+2.313980E-03,+2.333310E-03,+2.346400E-03,+2.356810E-03,+2.3
65510E-03,+2.373160E-03,-1.332470E-05,+2.465270E-03,+4.501590E-03
,+6.113420E-03,+7.326210E-03,+8.180630E-03,+8.736170E-03,+9.07385
0E-03,+9.283210E-03,+9.427320E-03,+9.536790E-03,-2.731010E-05,+3.
513460E-03,+6.642130E-03,+9.363240E-03,+1.167520E-02,+1.359510E-0
2,+1.513140E-02,+1.631180E-02,+1.717590E-02,+1.778500E-02,+1.8216
90E-02
Line Description
2 Defines the file name used for saving the result data.
14 to 20 Sets the channel 2 to the secondary sweep source. And sets the sweep output from 1 to
3 V in 1 V step (3 steps, 33 points to perform 11-step staircase sweep measurement
three times).
23 to 25 Sets the channel 1 measurement function to the current measurement. And sets the
aperture time to 0.1 PLC and the current limit (compliance) value to 100 mA. Auto
range is ON with the default setting.
Line Description
29 to 32 For the channels 1 and 2, sets the trigger source to AINT (automatic trigger). And sets
the trigger count to 33 to perform the 11-step staircase sweep measurement three times.
39 to 40 Enables the channels 1 and 2. And starts source output (0 V with the default setting).
43 Starts MOSFET Id-Vd measurement.