Tektronix 2601B-PULSE Reference manual

Model 2601B-PULSE
tek.com/keithley
System SourceMeter
Reference Manual
2601B-PULSE-901-01 Rev. B November 2021
®
*P2601B-PULSE-901-01B*
2601B-PULSE-901-01B
System SourceMeter® Instrument
Reference Manual
Model 2601B-PULSE
© 2021, Keithley Instruments, LLC
Cleveland, Ohio, U.S.A.
All rights reserved.
Any unauthorized reproduction, photocopy, or use of the information herein, in whole or in part,
without the prior written approval of Keithley Instruments, LLC, is strictly prohibited.
These are the original instructions in English.
TSPTM and TSP-LinkTM are trademarks of Keithley Instruments, LLC. All Keithley Instruments
product names are trademarks or registered trademarks of Keithley Instruments, LLC. Other brand
names are trademarks or registered trademarks of their respective holders.
The Lua 5.0 software and associated documentation files are copyright © 1994 - 2015, Lua.org,
PUC-Rio. You can access terms of license for the Lua software and associated documentation at
the Lua licensing site (https://www.lua.org/license.html).
Microsoft, Visual C++, Excel, and Windows are either registered trademarks or trademarks of
Microsoft Corporation in the United States and/or other countries.
Document number: 2601B-PULSE-901-01 Rev. B November 2021

Safety precautions

The following safety precautions should be observed before using this product and any associated instrumentation. Although some instruments and accessories would normally be used with nonhazardous voltages, there are situations where hazardous conditions may be present.
This product is intended for use by personnel who recognize shock hazards and are familiar with the safety precautions required to avoid possible injury. Read and follow all installation, operation, and maintenance information carefully before using the product. Refer to the user documentation for complete product specifications.
If the product is used in a manner not specified, the protection provided by the product warranty may be impaired. The types of product users are:
Responsible body is the individual or group responsible for the use and maintenance of equipment, for ensuring that the equipment is operated within its specifications and operating limits, and for ensuring that operators are adequately trained.
Operators use the product for its intended function. They must be trained in electrical safety procedures and proper use of the instrument. They must be protected from electric shock and contact with hazardous live circuits.
Maintenance personnel perform routine procedures on the product to keep it operating properly, for example, setting the line voltage or replacing consumable materials. Maintenance procedures are described in the user documentation. The procedures explicitly state if the operator may perform them. Otherwise, they should be performed only by service personnel.
Service personnel are trained to work on live circuits, perform safe installations, and repair products. Only properly trained service personnel may perform installation and service procedures.
Keithley products are designed for use with electrical signals that are measurement, control, and data I/O connections, with low transient overvoltages, and must not be directly connected to mains voltage or to voltage sources with high transient overvoltages. Measurement Category II (as referenced in IEC 60664) connections require protection for high transient overvoltages often associated with local AC mains connections. Certain Keithley measuring instruments may be connected to mains. These instruments will be marked as category II or higher.
Unless explicitly allowed in the specifications, operating manual, and instrument labels, do not connect any instrument to mains. Exercise extreme caution when a shock hazard is present. Lethal voltage may be present on cable connector jacks or test
fixtures. The American National Standards Institute (ANSI) states that a shock hazard exists when voltage levels greater than 30 V RMS, 42.4 V peak, or 60 VDC are present. A good safety practice is to expect that hazardous voltage is present in any unknown circuit before measuring.
Operators of this product must be protected from electric shock at all times. The responsible body must ensure that operators are prevented access and/or insulated from every connection point. In some cases, connections must be exposed to potential human contact. Product operators in these circumstances must be trained to protect themselves from the risk of electric shock. If the circuit is capable of operating at or above 1000 V, no conductive part of the circuit may be exposed.
Do not connect switching cards directly to unlimited power circuits. They are intended to be used with impedance-limited sources. NEVER connect switching cards directly to AC mains. When connecting sources to switching cards, install protective devices to limit fault current and voltage to the card.
Before operating an instrument, ensure that the line cord is connected to a properly-grounded power receptacle. Inspect the connecting cables, test leads, and jumpers for possible wear, cracks, or breaks before each use.
When installing equipment where access to the main power cord is restricted, such as rack mounting, a separate main input power disconnect device must be provided in close proximity to the equipment and within easy reach of the operator.
For maximum safety, do not touch the product, test cables, or any other instruments while power is applied to the circuit under test. ALWAYS remove power from the entire test system and discharge any capacitors before: connecting or disconnecting cables or jumpers, installing or removing switching cards, or making internal changes, such as installing or removing jumpers.
Do not touch any object that could provide a current path to the common side of the circuit under test or power line (earth) ground. Always make measurements with dry hands while standing on a dry, insulated surface capable of withstanding the voltage being measured.
For safety, instruments and accessories must be used in accordance with the operating instructions. If the instruments or accessories are used in a manner not specified in the operating instructions, the protection provided by the equipment may be impaired.
Do not exceed the maximum signal levels of the instruments and accessories. Maximum signal levels are defined in the specifications and operating information and shown on the instrument panels, test fixture panels, and switching cards.
When fuses are used in a product, replace with the same type and rating for continued protection against fire hazard. Chassis connections must only be used as shield connections for measuring circuits, NOT as protective earth (safety ground)
connections. If you are using a test fixture, keep the lid closed while power is applied to the device under test. Safe operation requires the use
of a lid interlock.
If a screw is present, connect it to protective earth (safety ground) using the wire recommended in the user documentation. The symbol on an instrument means caution, risk of hazard. The user must refer to the operating instructions located in the
user documentation in all cases where the symbol is marked on the instrument. The symbol on an instrument means warning, risk of electric shock. Use standard safety precautions to avoid personal
contact with these voltages. The symbol on an instrument shows that the surface may be hot. Avoid personal contact to prevent burns.
The symbol indicates a connection terminal to the equipment frame. If this symbol is on a product, it indicates that mercury is present in the display lamp. Please note that the lamp must be
properly disposed of according to federal, state, and local laws. The WARNING heading in the user documentation explains hazards that might result in personal injury or death. Always read
the associated information very carefully before performing the indicated procedure. The CAUTION heading in the user documentation explains hazards that could damage the instrument. Such damage may
invalidate the warranty. The CAUTION heading with the symbol in the user documentation explains hazards that could result in moderate or minor
injury or damage the instrument. Always read the associated information very carefully before performing the indicated procedure. Damage to the instrument may invalidate the warranty.
Instrumentation and accessories shall not be connected to humans. Before performing any maintenance, disconnect the line cord and all test cables. To maintain protection from electric shock and fire, replacement components in mains circuits including the power
transformer, test leads, and input jacks must be purchased from Keithley. Standard fuses with applicable national safety approvals may be used if the rating and type are the same. The detachable mains power cord provided with the instrument may only be replaced with a similarly rated power cord. Other components that are not safety-related may be purchased from other suppliers as long as they are equivalent to the original component (note that selected parts should be purchased only through Keithley to maintain accuracy and functionality of the product). If you are unsure about the applicability of a replacement component, call a Keithley office for information.
Unless otherwise noted in product-specific literature, Keithley instruments are designed to operate indoors only, in the following environment: Altitude at or below 2,000 m (6,562 ft); temperature 0 °C to 50 °C (32 °F to 122 °F); and pollution degree 1 or 2.
To clean an instrument, use a cloth dampened with deionized water or mild, water-based cleaner. Clean the exterior of the instrument only. Do not apply cleaner directly to the instrument or allow liquids to enter or spill on the instrument. Products that consist of a circuit board with no case or chassis (e.g., a data acquisition board for installation into a computer) should never require cleaning if handled according to instructions. If the board becomes contaminated and operation is affected, the board should be returned to the factory for proper cleaning/servicing.
Safety precaution revision as of June 2018.
Introduction .............................................................................................................. 1-1
Welcome .............................................................................................................................. 1-1
Extended warranty ............................................................................................................... 1-1
Contact information .............................................................................................................. 1-1
Customer documentation ..................................................................................................... 1-2
Product software and drivers ............................................................................................... 1-2
Capabilities and features...................................................................................................... 1-3
Sourcing and measuring ......................................................................................... 2-1
Basic source-measure procedure ........................................................................................ 2-1
Front-panel source-measure procedure .................................................................................... 2-2
Remote source-measure commands ........................................................................................ 2-4
Combining SMU outputs ...................................................................................................... 2-5
Source current using two 2601B-PULSE instruments in parallel ............................................... 2-7
Source voltage using two 2601B-PULSE instruments in series .............................................. 2-10
Source voltage with extended current using two 2601B-PULSE instruments in parallel ......... 2-13
Output-off modes ............................................................................................................... 2-16
Normal output-off mode .......................................................................................................... 2-16
High-impedance output-off mode ............................................................................................ 2-16
Zero output-off mode ............................................................................................................... 2-16
Saved setups ..................................................................................................................... 2-17
Saving user setups .................................................................................................................. 2-17
Start-up configuration .............................................................................................................. 2-19
Restoring the factory default setups using remote commands ................................................ 2-19
Operation considerations for the ADC ............................................................................... 2-20
Autozero .................................................................................................................................. 2-20
NPLC caching ......................................................................................................................... 2-21
Triggering in local mode ..................................................................................................... 2-21
Configuring trigger attributes in local mode ....................................................................... 2-22
Front-panel triggering example ............................................................................................... 2-23
Configuring for measure-only tests using the MODE key .................................................. 2-23
Voltmeter and ammeter measurements ............................................................................. 2-24
Ohms measurements ......................................................................................................... 2-25
Ohms ranging .......................................................................................................................... 2-25
Basic ohms measurement procedure ...................................................................................... 2-25
Ohms sensing ......................................................................................................................... 2-27
Power measurements ........................................................................................................ 2-28
Basic power measurement procedure ..................................................................................... 2-29
Power measurements using the remote interface ................................................................... 2-30
Range ................................................................................................................................. 2-30
Available ranges ...................................................................................................................... 2-31
Maximum source values and readings .................................................................................... 2-31
Measure autodelay .................................................................................................................. 2-32
Manual ranging ....................................................................................................................... 2-32

Table of contents

Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
Ranging limitations .................................................................................................................. 2-32
Autoranging ............................................................................................................................. 2-33
Low range limits ...................................................................................................................... 2-33
Range considerations ............................................................................................................. 2-34
Range commands ................................................................................................................... 2-35
Range programming example ................................................................................................. 2-36
Digits .................................................................................................................................. 2-36
Setting display resolution from the front panel ........................................................................ 2-36
Setting display resolution from a remote interface .................................................................. 2-36
Speed when the pulser is disabled .................................................................................... 2-37
Setting the speed from the front panel .................................................................................... 2-37
Setting the speed using the remote interface .......................................................................... 2-37
Sweep operation ................................................................................................................ 2-38
Linear staircase sweeps .......................................................................................................... 2-40
Logarithmic staircase sweeps ................................................................................................. 2-41
List sweeps ............................................................................................................................. 2-45
Pulse sweeps .......................................................................................................................... 2-46
Configuring and running sweeps ............................................................................................. 2-48
Sweeping using factory scripts ................................................................................................ 2-50
Sweep programming examples ............................................................................................... 2-51
Relative offset .................................................................................................................... 2-52
Enabling and disabling relative offset from the front panel ...................................................... 2-52
Defining a relative offset value from the front panel ................................................................ 2-53
Setting relative offset using a remote interface ....................................................................... 2-53
Filters.................................................................................................................................. 2-53
Filter types............................................................................................................................... 2-54
Response time ........................................................................................................................ 2-55
Enabling the filter from the front panel .................................................................................... 2-56
Configuring the filter from the front panel ................................................................................ 2-56
Setting the filter using a remote interface ................................................................................ 2-56
High-capacitance mode ..................................................................................................... 2-57
Understanding high-capacitance mode ................................................................................... 2-57
Enabling high-capacitance mode ............................................................................................ 2-60
Reading buffers ........................................................................................................ 3-1
Overview .............................................................................................................................. 3-1
Front-panel reading buffer control ........................................................................................ 3-1
Reading buffer options .............................................................................................................. 3-1
Configuring reading buffers ....................................................................................................... 3-2
Appending or overwriting existing reading buffers ..................................................................... 3-3
Storage operation ...................................................................................................................... 3-3
Saving reading buffers .............................................................................................................. 3-4
Recalling readings ..................................................................................................................... 3-5
Remote reading buffer programming ................................................................................... 3-6
Dedicated reading buffer designations ...................................................................................... 3-6
Reading buffer commands ........................................................................................................ 3-6
Buffer status ............................................................................................................................ 3-11
Dynamic reading buffers ......................................................................................................... 3-11
Buffer examples ...................................................................................................................... 3-12
Triggering ................................................................................................................. 4-1
Triggering ............................................................................................................................. 4-1
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents
Remote triggering overview ................................................................................................. 4-1
Using the trigger model ............................................................................................................. 4-3
SMU event detectors ............................................................................................................ 4-8
Clearing SMU event detectors .................................................................................................. 4-9
Using the TRIG key to trigger a sweep ..................................................................................... 4-9
Using trigger events to start actions on trigger objects ...................................................... 4-10
Action overruns ....................................................................................................................... 4-11
Digital I/O port and TSP-Link synchronization lines ........................................................... 4-11
Mode ....................................................................................................................................... 4-12
Pulse width ................................ .............................................................................................. 4-12
Trigger configuration on hardware lines .................................................................................. 4-12
Action overruns on hardware lines .......................................................................................... 4-14
Timers ................................................................................................................................ 4-14
Timer attributes ....................................................................................................................... 4-14
Triggering a timer .................................................................................................................... 4-15
Timer action overruns ............................................................................................................. 4-16
Using timers to perform pulsed sweeps .................................................................................. 4-16
Event blenders ................................................................................................................... 4-22
Event blender modes .............................................................................................................. 4-22
Assigning input trigger events ................................................................................................. 4-23
Action overruns ....................................................................................................................... 4-23
LAN triggering overview ..................................................................................................... 4-23
Understanding hardware value and pseudo line state ............................................................ 4-23
Understanding LXI trigger event designations ........................................................................ 4-24
Generating LXI trigger packets ................................................................................................ 4-24
Command interface triggering ............................................................................................ 4-25
Trigger generator ............................................................................................................... 4-25
Manual triggering ............................................................................................................... 4-26
Interactive triggering ........................................................................................................... 4-26
Detecting trigger events using the wait() function .................................................................... 4-26
Using the assert function to generate output triggers .............................................................. 4-27
Using the release function of the hardware lines ..................................................................... 4-27
Using the set function to bypass SMU event detectors ........................................................... 4-28
Event detector overruns .......................................................................................................... 4-28
Examples using interactive triggering ...................................................................................... 4-29
Hardware trigger modes..................................................................................................... 4-30
Falling edge trigger mode ....................................................................................................... 4-31
Rising edge master trigger mode ............................................................................................ 4-32
Rising edge acceptor trigger mode ......................................................................................... 4-33
Either edge trigger mode ......................................................................................................... 4-34
Understanding synchronous triggering modes .................................................................. 4-35
Synchronous master trigger mode (SynchronousM) ............................................................... 4-35
Synchronous acceptor trigger mode (SynchronousA) ............................................................. 4-36
Synchronous trigger mode ...................................................................................................... 4-37
Digital I/O ........................................................................................................................... 4-38
Port configuration .................................................................................................................... 4-38
Digital I/O configuration ........................................................................................................... 4-40
Controlling digital I/O lines....................................................................................................... 4-40
TSP-Link trigger lines .............................................................................................................. 4-43
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
Theory of operation ................................................................................................. 5-1
Analog-to-digital converters ................................................................................................. 5-1
Source-measure concepts ................................................................................................... 5-1
Limit principles .......................................................................................................................... 5-2
Power equations ....................................................................................................................... 5-2
Duty cycle with the pulser disabled ........................................................................................... 5-2
Duty cycle with the pulser enabled ............................................................................................ 5-4
Optimizing apertures and filters for the 1 MS/s sample rate ...................................................... 5-5
Operating boundaries ................................................................................................................ 5-6
Basic circuit configurations ................................................................ ................................ ...... 5-20
Guard ...................................................................................................................................... 5-25
Measurement settling time considerations ......................................................................... 5-28
Programming example for controlling settling time delay ........................................................ 5-28
Effects of load on current source settling time ................................................................... 5-29
Creating pulses with the 2601B-PULSE SMU ................................................................... 5-30
Pulse rise and fall times .......................................................................................................... 5-30
SMU pulse width ..................................................................................................................... 5-31
Introduction to TSP operation ................................................................................. 6-1
Introduction to TSP operation .............................................................................................. 6-1
Controlling the instrument by sending individual command messages ..................................... 6-1
Queries ..................................................................................................................................... 6-3
Information on scripting and programming ................................................................................ 6-3
About TSP commands ......................................................................................................... 6-3
Beeper control ........................................................................................................................... 6-3
Bit manipulation and logic operations ........................................................................................ 6-4
Calibration ................................................................................................................................. 6-5
Data queue................................................................................................................................ 6-5
Digital I/O .................................................................................................................................. 6-5
Display ...................................................................................................................................... 6-6
Error queue ............................................................................................................................... 6-7
Event log ................................................................................................................................... 6-7
File I/O ...................................................................................................................................... 6-7
GPIB ......................................................................................................................................... 6-9
Instrument identification ............................................................................................................ 6-9
LAN and LXI ............................................................................................................................ 6-10
Miscellaneous ......................................................................................................................... 6-11
Parallel script execution .......................................................................................................... 6-11
Queries and response messages ............................................................................................ 6-12
Reading buffer ......................................................................................................................... 6-12
Reset ....................................................................................................................................... 6-13
RS-232 .................................................................................................................................... 6-13
Saved setups .......................................................................................................................... 6-13
Scripting .................................................................................................................................. 6-13
SMU ........................................................................................................................................ 6-14
Status model ........................................................................................................................... 6-16
Time ........................................................................................................................................ 6-17
Triggering ................................................................................................................................ 6-17
TSP-Link ................................................................................................................................. 6-19
TSP-Net .................................................................................................................................. 6-19
Userstrings .............................................................................................................................. 6-20
Factory scripts .................................................................................................................... 6-20
Running a factory script .......................................................................................................... 6-21
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents
Retrieving and modifying a factory script listing ...................................................................... 6-21
KISweep factory script ............................................................................................................ 6-22
KIHighC factory script ............................................................................................................. 6-22
KIParlib factory script .............................................................................................................. 6-22
KISavebuffer factory script ...................................................................................................... 6-22
Instrument programming ......................................................................................... 7-1
Fundamentals of scripting for TSP ....................................................................................... 7-1
What is a script? ........................................................................................................................ 7-2
Runtime and nonvolatile memory storage of scripts .................................................................. 7-2
What can be included in scripts? ............................................................................................... 7-2
Commands that cannot be used in scripts ................................................................................ 7-3
Manage scripts .......................................................................................................................... 7-3
Working with scripts in nonvolatile memory............................................................................. 7-11
Programming example: Interactive script ................................................................................ 7-13
Fundamentals of programming for TSP ............................................................................. 7-14
What is Lua? ........................................................................................................................... 7-15
Lua basics ............................................................................................................................... 7-15
Standard libraries .................................................................................................................... 7-29
Programming example: User script ......................................................................................... 7-33
Password management ..................................................................................................... 7-33
Setting the password from a command or web interface ........................................................ 7-34
Unlocking the remote interface ................................................................................................ 7-35
Resetting the password ........................................................................................................... 7-35
Key-press codes ................................................................................................................ 7-35
Sending key codes .................................................................................................................. 7-35
Capturing key-press codes...................................................................................................... 7-36
Test Script Builder .............................................................................................................. 7-37
Installing the TSB software...................................................................................................... 7-37
Using Test Script Builder (TSB) .............................................................................................. 7-38
Project navigator ..................................................................................................................... 7-39
Script editor ............................................................................................................................. 7-40
Outline view............................................................................................................................. 7-40
Programming interaction ......................................................................................................... 7-41
Working with TSB Embedded ............................................................................................ 7-41
Simplify the display ................................................................................................................. 7-42
Create a script using TSB Embedded ..................................................................................... 7-42
Copy an existing script ............................................................................................................ 7-42
Run a script ............................................................................................................................. 7-43
Delete a script ......................................................................................................................... 7-43
Modify a script ......................................................................................................................... 7-43
Import a script from a computer .............................................................................................. 7-43
Export a script to a computer .................................................................................................. 7-44
Export a script to the instrument USB ..................................................................................... 7-44
Reset the instrument using TSB Embedded ........................................................................... 7-44
Send individual instrument commands with TSB Embedded .................................................. 7-45
Advanced scripting for TSP ............................................................................................... 7-45
Global variables and the script.user.scripts table .................................................................... 7-45
Create a script using the script.new() command ..................................................................... 7-47
Rename a script ...................................................................................................................... 7-49
Retrieve a user script .............................................................................................................. 7-51
Delete user scripts from the instrument ................................................................................... 7-52
Restore a script to the runtime environment ........................................................................... 7-53
Memory considerations for the runtime environment .............................................................. 7-53
TSP-Link system expansion interface ................................................................................ 7-55
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
Master and subordinates ......................................................................................................... 7-55
TSP-Link nodes ....................................................................................................................... 7-56
Connections ............................................................................................................................ 7-56
Initialization ............................................................................................................................. 7-57
Resetting the TSP-Link network .............................................................................................. 7-57
Accessing nodes ..................................................................................................................... 7-58
Using the reset() command ..................................................................................................... 7-59
Using the abort command ....................................................................................................... 7-60
Triggering with TSP-Link ......................................................................................................... 7-60
TSP advanced features ........................................................................................................... 7-60
Using groups to manage nodes on TSP-Link network ............................................................ 7-63
Running simultaneous test scripts ........................................................................................... 7-64
Using the data queue for real-time communication ................................................................. 7-65
Copying test scripts across the TSP-Link network .................................................................. 7-66
Removing stale values from the reading buffer cache ............................................................ 7-66
TSP-Net ............................................................................................................................. 7-67
TSP-Net capabilities ................................................................................................................ 7-67
Using TSP-Net with any ethernet-enabled instrument ............................................................ 7-68
TSP-Net compared to TSP-Link to communicate with TSP-enabled devices ......................... 7-70
TSP-Net instrument commands: General device control ........................................................ 7-70
TSP-Net instrument commands: TSP-enabled device control ................................................ 7-70
Example: Using tspnet commands .......................................................................................... 7-71
TSP command reference ......................................................................................... 8-1
TSP command programming notes ..................................................................................... 8-1
Placeholder text ........................................................................................................................ 8-1
Syntax rules .............................................................................................................................. 8-2
Time and date values ................................................................................................................ 8-2
Settings ignored when the pulser is enabled ................................................................ ............. 8-3
Settings ignored when the pulser is disabled ............................................................................ 8-3
Using the TSP command reference ..................................................................................... 8-4
Command name and summary table ........................................................................................ 8-4
Command usage ....................................................................................................................... 8-6
Command details ...................................................................................................................... 8-6
Example section ........................................................................................................................ 8-7
Related commands and information .......................................................................................... 8-7
TSP commands .................................................................................................................... 8-8
beeper.beep() ............................................................................................................................ 8-8
beeper.enable ........................................................................................................................... 8-8
bit.bitand() ................................................................................................................................. 8-9
bit.bitor() .................................................................................................................................. 8-10
bit.bitxor() ................................................................................................................................ 8-10
bit.clear() ................................................................................................................................. 8-11
bit.get() .................................................................................................................................... 8-12
bit.getfield() ............................................................................................................................. 8-13
bit.set() .................................................................................................................................... 8-14
bit.setfield().............................................................................................................................. 8-15
bit.test() ................................................................................................................................... 8-16
bit.toggle() ............................................................................................................................... 8-17
bufferVar.appendmode ........................................................................................................... 8-18
bufferVar.basetimestamp ........................................................................................................ 8-19
bufferVar.cachemode .............................................................................................................. 8-20
bufferVar.capacity ................................................................................................................... 8-21
bufferVar.clear() ...................................................................................................................... 8-22
bufferVar.clearcache() ............................................................................................................. 8-22
bufferVar.collectsourcevalues ................................................................................................. 8-23
bufferVar.collecttimestamps .................................................................................................... 8-24
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents
bufferVar.fillcount .................................................................................................................... 8-25
bufferVar.fillmode .................................................................................................................... 8-26
bufferVar.measurefunctions .................................................................................................... 8-26
bufferVar.measureranges ....................................................................................................... 8-28
bufferVar.n .............................................................................................................................. 8-29
bufferVar.readings ................................................................................................................... 8-30
bufferVar.sourcefunctions ....................................................................................................... 8-31
bufferVar.sourceoutputstates .................................................................................................. 8-32
bufferVar.sourceranges ........................................................................................................... 8-33
bufferVar.sourcevalues ........................................................................................................... 8-34
bufferVar.statuses ................................................................................................................... 8-35
bufferVar.timestampresolution ................................................................................................ 8-36
bufferVar.timestamps .............................................................................................................. 8-37
dataqueue.add() ...................................................................................................................... 8-38
dataqueue.CAPACITY ............................................................................................................ 8-39
dataqueue.clear() .................................................................................................................... 8-40
dataqueue.count ..................................................................................................................... 8-41
dataqueue.next() ..................................................................................................................... 8-42
delay() ..................................................................................................................................... 8-43
digio.readbit() .......................................................................................................................... 8-43
digio.readport() ........................................................................................................................ 8-44
digio.trigger[N].assert() ............................................................................................................ 8-45
digio.trigger[N].clear() .............................................................................................................. 8-45
digio.trigger[N].EVENT_ID ...................................................................................................... 8-46
digio.trigger[N].mode ............................................................................................................... 8-46
digio.trigger[N].overrun ............................................................................................................ 8-48
digio.trigger[N].pulsewidth ....................................................................................................... 8-48
digio.trigger[N].release() .......................................................................................................... 8-49
digio.trigger[N].reset() ............................................................................................................. 8-50
digio.trigger[N].stimulus ........................................................................................................... 8-51
digio.trigger[N].wait() ............................................................................................................... 8-52
digio.writebit() .......................................................................................................................... 8-53
digio.writeport() ....................................................................................................................... 8-54
digio.writeprotect ..................................................................................................................... 8-54
display.clear() .......................................................................................................................... 8-55
display.getannunciators() ........................................................................................................ 8-55
display.getcursor() ................................................................................................................... 8-57
display.getlastkey() ................................................................................................................. 8-58
display.gettext() ....................................................................................................................... 8-59
display.inputvalue() ................................................................................................................. 8-60
display.loadmenu.add() ........................................................................................................... 8-62
display.loadmenu.catalog() ..................................................................................................... 8-63
display.loadmenu.delete() ....................................................................................................... 8-64
display.locallockout ................................................................................................................. 8-64
display.menu() ......................................................................................................................... 8-65
display.numpad ....................................................................................................................... 8-66
display.prompt() ...................................................................................................................... 8-66
display.screen ......................................................................................................................... 8-68
display.sendkey() .................................................................................................................... 8-68
display.smua.digits .................................................................................................................. 8-69
display.setcursor() ................................................................................................................... 8-70
display.settext() ....................................................................................................................... 8-71
display.smua.limit.func ............................................................................................................ 8-72
display.smua.measure.func..................................................................................................... 8-73
display.trigger.clear() ............................................................................................................... 8-73
display.trigger.EVENT_ID ....................................................................................................... 8-74
display.trigger.overrun ............................................................................................................. 8-74
display.trigger.wait() ................................................................................................................ 8-75
display.waitkey() ...................................................................................................................... 8-75
errorqueue.clear() ................................................................................................................... 8-77
errorqueue.count ..................................................................................................................... 8-77
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
errorqueue.next() .................................................................................................................... 8-78
eventlog.all() ............................................................................................................................ 8-79
eventlog.clear() ....................................................................................................................... 8-79
eventlog.count ......................................................................................................................... 8-80
eventlog.enable ....................................................................................................................... 8-80
eventlog.next() ........................................................................................................................ 8-81
eventlog.overwritemethod ....................................................................................................... 8-82
exit() ........................................................................................................................................ 8-83
fileVar:close() .......................................................................................................................... 8-83
fileVar:flush() ........................................................................................................................... 8-84
fileVar:read() ........................................................................................................................... 8-85
fileVar:seek() ........................................................................................................................... 8-87
fileVar:write() ........................................................................................................................... 8-88
format.asciiprecision ............................................................................................................... 8-89
format.byteorder ...................................................................................................................... 8-90
format.data .............................................................................................................................. 8-91
fs.chdir() .................................................................................................................................. 8-92
fs.cwd() ................................................................................................................................... 8-93
fs.is_dir() ................................................................................................................................. 8-93
fs.is_file() ................................................................................................................................. 8-94
fs.mkdir() ................................................................................................................................. 8-95
fs.readdir() ................................ ................................ ............................................................... 8-95
fs.rmdir() ................................................................................................................................ .. 8-96
gettimezone() .......................................................................................................................... 8-97
gm_isweep() ............................................................................................................................ 8-97
gm_vsweep() ........................................................................................................................... 8-98
gpib.address ............................................................................................................................ 8-99
i_leakage_measure() ............................................................................................................ 8-100
i_leakage_threshold() ............................................................................................................ 8-101
io.close()................................................................................................................................ 8-103
io.flush() ................................................................................................................................ 8-103
io.input() ................................................................................................................................ 8-104
io.open() ................................................................................................................................ 8-105
io.output() .............................................................................................................................. 8-106
io.read() ................................................................................................................................. 8-107
io.type() ................................................................................................................................. 8-108
io.write() ................................................................................................................................ 8-109
lan.applysettings() ................................................................................................................. 8-111
lan.autoconnect ..................................................................................................................... 8-111
lan.config.dns.address[N] ...................................................................................................... 8-112
lan.config.dns.domain ........................................................................................................... 8-113
lan.config.dns.dynamic .......................................................................................................... 8-114
lan.config.dns.hostname ....................................................................................................... 8-114
lan.config.dns.verify .............................................................................................................. 8-115
lan.config.duplex ................................................................................................................... 8-116
lan.config.gateway ................................................................................................................ 8-116
lan.config.ipaddress .............................................................................................................. 8-117
lan.config.method .................................................................................................................. 8-118
lan.config.speed .................................................................................................................... 8-118
lan.config.subnetmask .......................................................................................................... 8-119
lan.linktimeout ....................................................................................................................... 8-120
lan.lxidomain ......................................................................................................................... 8-120
lan.nagle................................................................................................................................ 8-121
lan.reset() .............................................................................................................................. 8-121
lan.restoredefaults() .............................................................................................................. 8-122
lan.status.dns.address[N] ...................................................................................................... 8-123
lan.status.dns.name ................................................................ .............................................. 8-123
lan.status.duplex ................................................................................................................... 8-124
lan.status.gateway ................................................................................................................ 8-125
lan.status.ipaddress .............................................................................................................. 8-125
lan.status.macaddress .......................................................................................................... 8-126
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents
lan.status.port.dst .................................................................................................................. 8-126
lan.status.port.rawsocket ...................................................................................................... 8-127
lan.status.port.telnet .............................................................................................................. 8-127
lan.status.port.vxi11 .............................................................................................................. 8-128
lan.status.speed .................................................................................................................... 8-128
lan.status.subnetmask .......................................................................................................... 8-129
lan.timedwait ......................................................................................................................... 8-129
lan.trigger[N].assert() ............................................................................................................ 8-130
lan.trigger[N].clear() .............................................................................................................. 8-130
lan.trigger[N].connect() .......................................................................................................... 8-131
lan.trigger[N].connected ........................................................................................................ 8-132
lan.trigger[N].disconnect() ..................................................................................................... 8-132
lan.trigger[N].EVENT_ID ....................................................................................................... 8-133
lan.trigger[N].ipaddress ......................................................................................................... 8-133
lan.trigger[N].mode ................................................................................................................ 8-134
lan.trigger[N].overrun ............................................................................................................ 8-135
lan.trigger[N].protocol ............................................................................................................ 8-136
lan.trigger[N].pseudostate ..................................................................................................... 8-136
lan.trigger[N].stimulus ........................................................................................................... 8-137
lan.trigger[N].wait() ................................................................................................................ 8-138
localnode.autolinefreq ........................................................................................................... 8-139
localnode.description ............................................................................................................ 8-140
localnode.license ................................................................................................................... 8-140
localnode.linefreq .................................................................................................................. 8-141
localnode.model .................................................................................................................... 8-142
localnode.password .............................................................................................................. 8-142
localnode.passwordmode ..................................................................................................... 8-143
localnode.prompts ................................................................................................................. 8-144
localnode.prompts4882 ......................................................................................................... 8-145
localnode.reset() ................................................................................................................... 8-145
localnode.revision ................................................................................................................. 8-146
localnode.serialno ................................................................................................................. 8-147
localnode.showerrors ............................................................................................................ 8-147
makegetter() .......................................................................................................................... 8-148
makesetter() .......................................................................................................................... 8-149
meminfo() .............................................................................................................................. 8-149
node[N].execute() .................................................................................................................. 8-150
node[N].getglobal() ................................................................................................................ 8-151
node[N].setglobal() ................................................................................................................ 8-152
opc() ...................................................................................................................................... 8-152
os.remove() ........................................................................................................................... 8-153
os.rename() ........................................................................................................................... 8-154
os.time() ................................................................................................................................ 8-154
print() ..................................................................................................................................... 8-155
printbuffer()............................................................................................................................ 8-156
printnumber() ......................................................................................................................... 8-157
reset() .................................................................................................................................... 8-158
savebuffer() ........................................................................................................................... 8-159
script.anonymous .................................................................................................................. 8-159
script.delete() ........................................................................................................................ 8-160
script.factory.catalog() ........................................................................................................... 8-161
script.load() ........................................................................................................................... 8-161
script.new()............................................................................................................................ 8-162
script.newautorun() ............................................................................................................... 8-163
script.restore() ....................................................................................................................... 8-164
script.run() ............................................................................................................................. 8-165
script.user.catalog() ............................................................................................................... 8-165
scriptVar.autorun ................................................................................................................... 8-166
scriptVar.list() ........................................................................................................................ 8-167
scriptVar.name ...................................................................................................................... 8-167
scriptVar.run() ....................................................................................................................... 8-168
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
scriptVar.save() ..................................................................................................................... 8-169
scriptVar.source .................................................................................................................... 8-170
serial.baud............................................................................................................................. 8-170
serial.databits ........................................................................................................................ 8-171
serial.flowcontrol ................................................................................................................... 8-172
serial.parity ............................................................................................................................ 8-173
serial.read() ........................................................................................................................... 8-174
serial.write() ........................................................................................................................... 8-175
settime() ................................................................................................................................ 8-175
settimezone() ........................................................................................................................ 8-176
setup.poweron ....................................................................................................................... 8-177
setup.recall() ......................................................................................................................... 8-178
setup.save() .......................................................................................................................... 8-179
smua.abort() .......................................................................................................................... 8-180
smua.buffer.getstats() ........................................................................................................... 8-180
smua.buffer.recalculatestats() ............................................................................................... 8-182
smua.cal.adjustdate .............................................................................................................. 8-182
smua.cal.date ........................................................................................................................ 8-183
smua.cal.due ......................................................................................................................... 8-184
smua.cal.lock() ...................................................................................................................... 8-185
smua.cal.password ............................................................................................................... 8-186
smua.cal.polarity ................................................................................................................... 8-186
smua.cal.restore() ................................................................................................................. 8-187
smua.cal.save() ..................................................................................................................... 8-188
smua.cal.state ....................................................................................................................... 8-189
smua.cal.unlock() .................................................................................................................. 8-190
smua.contact.calibratehi() ..................................................................................................... 8-190
smua.contact.calibratelo() ..................................................................................................... 8-192
smua.contact.check() ............................................................................................................ 8-193
smua.contact.r() .................................................................................................................... 8-194
smua.contact.speed ................................................................ .............................................. 8-195
smua.contact.threshold ......................................................................................................... 8-196
smua.interlock.enable ........................................................................................................... 8-197
smua.makebuffer() ................................................................................................................ 8-197
smua.measure.autorangeY ................................................................................................... 8-198
smua.measure.autozero ....................................................................................................... 8-199
smua.measure.calibrateY() ................................................................................................... 8-200
smua.measure.count ............................................................................................................. 8-201
smua.measure.delay ............................................................................................................. 8-202
smua.measure.delayfactor .................................................................................................... 8-203
smua.measure.filter.count ..................................................................................................... 8-203
smua.measure.filter.enable ................................................................................................... 8-204
smua.measure.filter.type ....................................................................................................... 8-205
smua.measure.highcrangedelayfactor .................................................................................. 8-206
smua.measure.interval .......................................................................................................... 8-206
smua.measure.lowrangeY..................................................................................................... 8-207
smua.measure.nplc ............................................................................................................... 8-208
smua.measure.overlappedY() ............................................................................................... 8-209
smua.measure.rangeY .......................................................................................................... 8-210
smua.measure.rel.enableY ................................................................................................... 8-211
smua.measure.rel.levelY ....................................................................................................... 8-212
smua.measure.Y() ................................................................................................................. 8-213
smua.measureYandstep() ..................................................................................................... 8-214
smua.nvbufferY ..................................................................................................................... 8-215
smua.pulser.enable ............................................................................................................... 8-216
smua.pulser.measure.aperture ............................................................................................. 8-217
smua.pulser.measure.calibrateY() ........................................................................................ 8-218
smua.pulser.measure.delay .................................................................................................. 8-219
smua.pulser.protect.sensev .................................................................................................. 8-220
smua.pulser.protect.sourcev ................................................................................................. 8-221
smua.pulser.protect.tripped ................................................................ ................................... 8-222
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents
smua.pulser.source.calibratebiasi() ....................................................................................... 8-223
smua.pulser.rangeY .............................................................................................................. 8-224
smua.pulser.source.calibratei() ............................................................................................. 8-225
smua.reset() .......................................................................................................................... 8-226
smua.savebuffer() ................................................................................................................. 8-226
smua.sense ........................................................................................................................... 8-227
smua.source.autorangeY ...................................................................................................... 8-228
smua.source.calibrateY() ...................................................................................................... 8-229
smua.source.compliance ...................................................................................................... 8-230
smua.source.delay ................................................................................................ ................ 8-230
smua.source.func .................................................................................................................. 8-231
smua.source.highc ................................................................................................ ................ 8-232
smua.source.levelY ............................................................................................................... 8-233
smua.source.limitY ................................................................................................................ 8-234
smua.source.lowrangeY ........................................................................................................ 8-235
smua.source.offfunc .............................................................................................................. 8-235
smua.source.offlimitY ............................................................................................................ 8-236
smua.source.offmode ............................................................................................................ 8-237
smua.source.output ............................................................................................................... 8-238
smua.source.rangeY ............................................................................................................. 8-239
smua.source.settling ............................................................................................................. 8-240
smua.source.sink .................................................................................................................. 8-241
smua.trigger.arm.count ......................................................................................................... 8-241
smua.trigger.arm.set() ........................................................................................................... 8-242
smua.trigger.arm.stimulus ..................................................................................................... 8-242
smua.trigger.ARMED_EVENT_ID ......................................................................................... 8-244
smua.trigger.autoclear .......................................................................................................... 8-244
smua.trigger.count ................................................................................................................ 8-245
smua.trigger.endpulse.action ................................................................................................ 8-247
smua.trigger.endpulse.set()................................................................................................... 8-247
smua.trigger.endpulse.stimulus............................................................................................. 8-249
smua.trigger.endsweep.action .............................................................................................. 8-250
smua.trigger.IDLE_EVENT_ID .............................................................................................. 8-251
smua.trigger.initiate() ............................................................................................................ 8-251
smua.trigger.measure.action ................................................................................................. 8-252
smua.trigger.measure.set() ................................................................................................... 8-254
smua.trigger.measure.stimulus ............................................................................................. 8-254
smua.trigger.measure.Y()...................................................................................................... 8-256
smua.trigger.MEASURE_COMPLETE_EVENT_ID .............................................................. 8-257
smua.trigger.PULSE_COMPLETE_EVENT_ID .................................................................... 8-257
smua.trigger.source.action .................................................................................................... 8-258
smua.trigger.source.limitY ..................................................................................................... 8-259
smua.trigger.source.linearY() ................................................................................................ 8-260
smua.trigger.source.listY() .................................................................................................... 8-261
smua.trigger.source.logY() .................................................................................................... 8-262
smua.trigger.source.pulsewidth ............................................................................................. 8-263
smua.trigger.source.set() ...................................................................................................... 8-264
smua.trigger.source.stimulus ................................................................................................ 8-264
smua.trigger.SOURCE_COMPLETE_EVENT_ID ................................................................. 8-266
smua.trigger.SWEEP_COMPLETE_EVENT_ID ................................................................... 8-266
smua.trigger.SWEEPING_EVENT_ID .................................................................................. 8-267
status.condition ..................................................................................................................... 8-268
status.measurement.* ........................................................................................................... 8-270
status.measurement.buffer_available.* ................................................................................. 8-272
status.measurement.current_limit.* ....................................................................................... 8-273
status.measurement.instrument.* .......................................................................................... 8-274
status.measurement.instrument.smua.* ................................................................................ 8-276
status.measurement.protection.* ........................................................................................... 8-278
status.measurement.reading_overflow.* ............................................................................... 8-279
status.measurement.voltage_limit.* ...................................................................................... 8-280
status.node_enable ............................................................................................................... 8-282
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
status.node_event ................................................................................................................. 8-284
status.operation.* .................................................................................................................. 8-285
status.operation.calibrating.* ................................................................................................. 8-288
status.operation.instrument.*................................................................................................. 8-289
status.operation.instrument.digio.* ........................................................................................ 8-291
status.operation.instrument.digio.trigger_overrun.* ............................................................... 8-292
status.operation.instrument.lan.* ........................................................................................... 8-295
status.operation.instrument.lan.trigger_overrun.* .................................................................. 8-297
status.operation.instrument.smua.* ....................................................................................... 8-299
status.operation.instrument.smua.trigger_overrrun.* ............................................................ 8-301
status.operation.instrument.trigger_blender.*........................................................................ 8-303
status.operation.instrument.trigger_blender.trigger_overrun.* .............................................. 8-304
status.operation.instrument.trigger_timer.* ........................................................................... 8-306
status.operation.instrument.trigger_timer.trigger_overrun.* .................................................. 8-307
status.operation.instrument.tsplink.* ..................................................................................... 8-310
status.operation.instrument.tsplink.trigger_overrun.* ............................................................ 8-311
status.operation.measuring.*................................................................................................. 8-313
status.operation.remote.* ...................................................................................................... 8-314
status.operation.sweeping.* .................................................................................................. 8-315
status.operation.trigger_overrun.* ......................................................................................... 8-317
status.operation.user.* .......................................................................................................... 8-319
status.questionable.* ............................................................................................................. 8-321
status.questionable.calibration.* ............................................................................................ 8-323
status.questionable.instrument.* ........................................................................................... 8-325
status.questionable.instrument.smua.* ................................................................................. 8-326
status.questionable.over_temperature.* ................................................................................ 8-328
status.questionable.unstable_output.* .................................................................................. 8-329
status.request_enable ........................................................................................................... 8-330
status.request_event ............................................................................................................. 8-332
status.reset() ......................................................................................................................... 8-334
status.standard.* ................................................................................................................... 8-334
status.system.* ...................................................................................................................... 8-336
status.system2.* .................................................................................................................... 8-339
status.system3.* .................................................................................................................... 8-341
status.system4.* .................................................................................................................... 8-343
status.system5.* .................................................................................................................... 8-345
SweepILinMeasureV() ........................................................................................................... 8-347
SweepIListMeasureV() .......................................................................................................... 8-348
SweepILogMeasureV() ......................................................................................................... 8-349
SweepVLinMeasureI() ........................................................................................................... 8-350
SweepVListMeasureI() .......................................................................................................... 8-352
SweepVLogMeasureI() ......................................................................................................... 8-353
timer.measure.t() ................................................................................................................... 8-354
timer.reset() ........................................................................................................................... 8-355
trigger.blender[N].clear() ....................................................................................................... 8-356
trigger.blender[N].EVENT_ID ................................................................................................ 8-356
trigger.blender[N].orenable.................................................................................................... 8-357
trigger.blender[N].overrun ..................................................................................................... 8-357
trigger.blender[N].reset() ....................................................................................................... 8-358
trigger.blender[N].stimulus[M] ............................................................................................... 8-359
trigger.blender[N].wait() ......................................................................................................... 8-360
trigger.clear() ......................................................................................................................... 8-361
trigger.EVENT_ID ................................................................................................................. 8-361
trigger.generator[N].assert() .................................................................................................. 8-362
trigger.generator[N].EVENT_ID ............................................................................................. 8-362
trigger.timer[N].clear() ........................................................................................................... 8-363
trigger.timer[N].count ............................................................................................................. 8-363
trigger.timer[N].delay ............................................................................................................. 8-364
trigger.timer[N].delaylist ........................................................................................................ 8-365
trigger.timer[N].EVENT_ID .................................................................................................... 8-366
trigger.timer[N].overrun ......................................................................................................... 8-366
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents
trigger.timer[N].passthrough .................................................................................................. 8-367
trigger.timer[N].reset() ........................................................................................................... 8-367
trigger.timer[N].stimulus ........................................................................................................ 8-368
trigger.timer[N].wait() ............................................................................................................. 8-370
trigger.wait() .......................................................................................................................... 8-370
tsplink.group .......................................................................................................................... 8-371
tsplink.master ........................................................................................................................ 8-372
tsplink.node ........................................................................................................................... 8-372
tsplink.readbit() ...................................................................................................................... 8-373
tsplink.readport() ................................................................................................................... 8-373
tsplink.reset() ......................................................................................................................... 8-374
tsplink.state ........................................................................................................................... 8-375
tsplink.trigger[N].assert() ....................................................................................................... 8-375
tsplink.trigger[N].clear() ......................................................................................................... 8-376
tsplink.trigger[N].EVENT_ID .................................................................................................. 8-377
tsplink.trigger[N].mode .......................................................................................................... 8-377
tsplink.trigger[N].overrun ....................................................................................................... 8-379
tsplink.trigger[N].pulsewidth .................................................................................................. 8-379
tsplink.trigger[N].release() ..................................................................................................... 8-380
tsplink.trigger[N].reset() ......................................................................................................... 8-381
tsplink.trigger[N].stimulus ...................................................................................................... 8-381
tsplink.trigger[N].wait() .......................................................................................................... 8-383
tsplink.writebit() ..................................................................................................................... 8-383
tsplink.writeport() ................................................................................................................... 8-384
tsplink.writeprotect ................................................................................................................ 8-385
tspnet.clear() ......................................................................................................................... 8-385
tspnet.connect() .................................................................................................................... 8-386
tspnet.disconnect() ................................................................................................................ 8-387
tspnet.execute() .................................................................................................................... 8-388
tspnet.idn() ............................................................................................................................ 8-389
tspnet.read() .......................................................................................................................... 8-390
tspnet.readavailable() ............................................................................................................ 8-391
tspnet.reset() ......................................................................................................................... 8-391
tspnet.termination() ............................................................................................................... 8-392
tspnet.timeout ........................................................................................................................ 8-393
tspnet.tsp.abort() ................................................................................................................... 8-393
tspnet.tsp.abortonconnect ..................................................................................................... 8-394
tspnet.tsp.rbtablecopy() ......................................................................................................... 8-395
tspnet.tsp.runscript() ............................................................................................................. 8-396
tspnet.write() ......................................................................................................................... 8-397
userstring.add() ..................................................................................................................... 8-397
userstring.catalog() ............................................................................................................... 8-398
userstring.delete() ................................................................................................................. 8-399
userstring.get() ...................................................................................................................... 8-400
waitcomplete() ....................................................................................................................... 8-400
Troubleshooting guide ............................................................................................ 9-1
Introduction .......................................................................................................................... 9-1
Error levels ........................................................................................................................... 9-1
Effects of errors on scripts ................................................................................................... 9-1
Retrieving errors ................................................................................................................... 9-2
Error summary list ................................................................................................................ 9-2
Calibration .............................................................................................................. 10-1
Calibration .......................................................................................................................... 10-1
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
Calibration test requirements .................................................................................................. 10-2
Uninstalling the 2601B-P-INT .................................................................................................. 10-5
Restoring factory defaults........................................................................................................ 10-6
Performing the calibration test procedures .............................................................................. 10-6
Current source accuracy ......................................................................................................... 10-8
Current measurement accuracy ............................................................................................ 10-10
Voltage source accuracy ....................................................................................................... 10-13
Voltage measurement accuracy ............................................................................................ 10-14
Pulse accuracy ...................................................................................................................... 10-15
Bias source accuracy ............................................................................................................ 10-19
Adjustment ....................................................................................................................... 10-20
Environmental conditions ...................................................................................................... 10-21
Adjustment considerations .................................................................................................... 10-21
Adjustment overview ............................................................................................................. 10-23
Calibration and adjustment commands quick reference ........................................................ 10-25
Adjustment procedure ........................................................................................................... 10-27
Common commands .............................................................................................. 11-1
Common command summary ............................................................................................ 11-1
Script command equivalents .............................................................................................. 11-3
Command reference .......................................................................................................... 11-3
Identification query: *IDN?....................................................................................................... 11-3
Operation complete and query: *OPC and *OPC? .................................................................. 11-4
Reset: *RST ............................................................................................................................ 11-4
Self-test query: *TST? ............................................................................................................. 11-4
Trigger: *TRG .......................................................................................................................... 11-4
Wait-to-continue: *WAI ............................................................................................................ 11-5
General bus commands ..................................................................................................... 11-5
REN ........................................................................................................................................ 11-5
IFC .......................................................................................................................................... 11-6
LLO ......................................................................................................................................... 11-6
GTL ......................................................................................................................................... 11-6
DCL ......................................................................................................................................... 11-6
SDC ........................................................................................................................................ 11-7
GET ......................................................................................................................................... 11-7
SPE, SPD................................................................................................................................ 11-7
Status model .......................................................................................................... 12-1
Overview ............................................................................................................................ 12-1
Status register set contents ................................................................ ................................ ..... 12-1
Queues ................................................................................................................................... 12-2
Status function summary ......................................................................................................... 12-3
Status model diagrams ........................................................................................................... 12-5
Clearing registers ............................................................................................................. 12-13
Programming enable and transition registers .................................................................. 12-14
Reading registers ............................................................................................................. 12-15
Status byte and service request (SRQ) ........................................................................... 12-15
Status Byte Register ............................................................................................................. 12-16
Service Request Enable Register ......................................................................................... 12-17
Serial polling and SRQ .......................................................................................................... 12-18
SPE, SPD (serial polling) ...................................................................................................... 12-18
Status byte and service request commands.......................................................................... 12-19
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents
Enable and transition registers .............................................................................................. 12-19
Controlling node and SRQ enable registers .......................................................................... 12-19
Status register sets .......................................................................................................... 12-20
System Summary Registers .................................................................................................. 12-20
Standard Event Register ....................................................................................................... 12-21
Operation Status Registers ................................................................................................... 12-22
Questionable Status Registers .............................................................................................. 12-23
Measurement Event Registers .............................................................................................. 12-24
Register programming example ............................................................................................ 12-25
TSP-Link system status ................................................................................................... 12-25
Status model configuration example ..................................................................................... 12-25
Display character codes ........................................................................................ 13-1
2601B-PULSE display character codes ............................................................................. 13-1
Frequently asked questions .................................................................................. 14-1
How do I display the instrument's serial number? ............................................................. 14-1
How do I optimize performance? ....................................................................................... 14-1
Disabling autozero to increase speed ..................................................................................... 14-2
How do I use the digital I/O port? ....................................................................................... 14-2
How do I trigger other instruments? ................................................................................... 14-2
Triggering a scanner ............................................................................................................... 14-3
Interactive trigger programming .............................................................................................. 14-3
More information about triggering ........................................................................................... 14-3
How do I generate a GPIB service request?...................................................................... 14-3
Setting up a service request .................................................................................................... 14-4
Service request programming example ................................................................................... 14-4
Polling for SRQs ...................................................................................................................... 14-4
How do I store measurements in nonvolatile memory? ..................................................... 14-4
When should I change the output-off state? ...................................................................... 14-5
How do I make contact check measurements? ................................................................. 14-5
How can I change the line frequency or voltage? .............................................................. 14-6
Where can I get the LabVIEW driver? ............................................................................... 14-6
What should I do if I get an 802 interlock error? ................................................................ 14-6
Why is the reading value 9.91e37? .................................................................................... 14-6
Next steps ............................................................................................................... 15-1
Additional 2601B-PULSE information ................................................................................ 15-1
In this section:
Welcome .................................................................................. 1-1
Extended warranty ................................................................... 1-1
Contact information ................................ .................................. 1-1
Customer documentation ......................................................... 1-2
Product software and drivers.................................................... 1-2
Capabilities and features .......................................................... 1-3

Welcome

Thank you for choosing a Keithley Instruments product. The 2601B-PULSE System SourceMeter® 10 μs Pulser/SMU Instrument with PulseMeter™ technology is an industry-leading high current/high speed pulser with measure capabilities and the full functionality of a traditional source-measure instrument (SMU). This instrument offers 10 A current pulse output at 10 V with a minimum pulse width of 10 μs. Its built-in dual 1 megasample/second (MS/s), 18-bit digitizers make it possible to acquire both pulse current and voltage waveforms simultaneously without the need to use a separate instrument.

Extended warranty

Additional years of warranty coverage are available on many products. These valuable contracts protect you from unbudgeted service expenses and provide additional years of protection at a fraction of the price of a repair. Extended warranties are available on new and existing products. Contact your local Keithley Instruments office, sales partner, or distributor for details.

Contact information

If you have any questions after you review the information in this documentation, please contact your local Keithley Instruments office, sales partner, or distributor. You can also call the Tektronix corporate headquarters (toll-free inside the U.S. and Canada only) at 1-800-833-9200. For worldwide contact numbers, visit tek.com/contact-us.
Section 1

Introduction

Section 1: Introduction Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
1-2 2601B-PULSE-901-01 Rev. B November 2021

Customer documentation

The documentation for the 2601B-PULSE includes a Quick Start Guide, User's Manual (this document), and Reference Manual. The 2601B-PULSE Quick Start Guide is provided as a hard copy with the instrument. You can also access it from tek.com/keithley as an Adobe Acrobat PDF file.
The documents include the following information:
Quick Start Guide: Provides unpacking instructions, describes basic connections, and reviews
basic operation information. If you are new to Keithley Instruments equipment, refer to the Quick Start Guide to take the steps needed to unpack, set up, and verify operation.
User's Manual: Includes installation, instrument description, operation, and maintenance
information.
Reference Manual: Includes advanced operation information. Programmers looking for a
command reference and users looking for an in-depth description of how the instrument works (including troubleshooting and optimization) should refer to the Reference Manual.

Product software and drivers

Go to the Product Support and Downloads web page (tek.com/product-support) to download drivers and software for your instrument.
Available drivers and software include:
KickStart Software: Enables quick test setup and data visualization when using one or
more instruments.
Test Script Builder (TSB): This software provides an environment to develop a test program and
the ability to load the test program onto the instrument. Running a program loaded on the instrument eliminates the need to send individual commands from the host computer to the instrument when running a test.
IVI-COM Driver: An IVI instrument driver you can use to create your own test applications in
C/C++, VB.NET, or C# programming languages. It can also be called from other languages that support calling a DLL or ActiveX (COM) object. Refer to IVI Foundation (ivifoundation.org) for additional information.
LabVIEW
Software drivers: Drivers to communicate with National Instruments
LabVIEW Software.
Keithley I/O layer: Manages the communications between Keithley instrument drivers and
software applications and the instrument itself. The I/O Layer handles differences in communications required to support GPIB, serial, ethernet, and other communications buses so that drivers and software applications do not need to handle the differences themselves.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 1: Introduction
2601B-PULSE-901-01 Rev. B November 2021 1-3
To identify IP addresses of instruments that are connected to the local area network (LAN) and support the VXI-11 discovery protocol, you can also use LXI Discovery Tool, available from the
Resources (lxistandard.org/Resources/Resources.aspx) page of the LXI Consortium website
(lxistandard.org).

Capabilities and features

Key features:
Pulser output of 10 A at 10 V
Source-measure unit (SMU) output of 10 A at 20 V
No tuning required; works with inductive loads up to 3 μH
Pulser has dual 1 megasample/second digitizers for simultaneous high-speed sampling of current
and voltage
SMU has dual integrating analog-to-digital converters for simultaneous measurement of current
and voltage
DC capability up to ±40 V at ±1.0 A, 40 W
TSP technology embeds complete test programs inside the instrument for best-in-class
system-level throughput
TSP-Link expansion technology for multi-channel parallel test without a mainframe
USB 2.0, ethernet, GPIB, RS-232, and digital I/O interfaces
Supported in the Keithley KickStart Software.
Section 1: Introduction Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
1-4 2601B-PULSE-901-01 Rev. B November 2021
General features:
4.5, 5.5, or 6.5 digit display resolution
Resistance and power measurement functions
Four-quadrant sink or source operation
Linear, logarithmic, and custom sweeping
Filtering to reduce reading noise
Trigger model supports extensive triggering and synchronization schemes at hardware speeds
The SMU provides contact check
The SMU provides high-capacitance mode for load impedances up to 50 µF
Internal memory stores five user setup options
Dedicated reading buffers that can each store and recall over 140,000 measurements; additional
dynamic reading buffers can be created
USB flash drive access for saving data buffers, test scripts, and user setups
Digital I/O port: Allows the 2601B-PULSE to control other devices
Version 1.5 LXI Device Specification 2016 compliant
In this section:
Basic source-measure procedure ............................................ 2-1
Combining SMU outputs .......................................................... 2-5
Output-off modes ................................................................... 2-16
Saved setups ......................................................................... 2-17
Operation considerations for the ADC .................................... 2-20
Triggering in local mode ......................................................... 2-21
Configuring trigger attributes in local mode ............................ 2-22
Configuring for measure-only tests using the MODE key ....... 2-23
Voltmeter and ammeter measurements ................................. 2-24
Ohms measurements ............................................................. 2-25
Power measurements ............................................................ 2-28
Range .................................................................................... 2-30
Digits ...................................................................................... 2-36
Speed when the pulser is disabled ......................................... 2-37
Sweep operation .................................................................... 2-38
Relative offset ........................................................................ 2-52
Filters ..................................................................................... 2-53
High-capacitance mode ......................................................... 2-57

Basic source-measure procedure

You can perform basic source-measure operations from the front panel of the instrument, which is shown in the following figure.
Figure 1: Model 2601B-PULSE front panel
Section 2

Sourcing and measuring

Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-2 2601B-PULSE-901-01 Rev. B November 2021

Front-panel source-measure procedure

Use the following procedure to perform the basic source-measure operations of the 2601B-PULSE SMU using the front panel. The following procedure assumes that the 2601B-PULSE is already
connected to the device under test (DUT), as explained in “DUT test connections” in the
Model 2601B-PULSE User's Manual.
Hazardous voltages may be present on all output and guard terminals. To prevent electrical shock that could cause injury or death, never make or break connections to the 2601B-PULSE while the instrument is powered on. Turn off the equipment from the front panel or disconnect the main power cord from the rear of the 2601B-PULSE before handling cables. Putting the equipment into standby does not guarantee that the outputs are powered off if a hardware or software fault occurs.
Step 1: Select and set the source level
To select the source and edit the source value:
1. Press the SRC key as needed to select the voltage source or current source, as indicated by the units in the source field on the display. The flashing digit (cursor) indicates which value is presently selected for editing.
2. Move the cursor to the digit to change, then press the navigation wheel to enter the EDIT mode.
3. Use the RANGE keys to select a range that accommodates the value you want to set. For best accuracy, use the lowest possible source range.
4. Enter the source value.
5. Press the ENTER key or the navigation wheel to complete editing.
Step 2: Set the compliance limit
Perform the following steps to edit the compliance limit value:
1. Press the LIMIT key.
2. Move the cursor to the digit to change, then press the navigation wheel to enter the EDIT mode, as indicated by the EDIT indicator.
3. Enter the limit value, then press the ENTER key or the navigation wheel to complete editing.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-3
Step 3: Select the measurement function and range
Select measurement function and range as follows:
1. Select the measurement function by pressing the MEAS key.
2. Set the measurement range with the RANGE keys, or enable AUTO range. When setting the range, consider the following points:
When measuring the source (such as when sourcing V and measuring V), you cannot select
the measurement range using the RANGE keys. The selected source range determines the measurement range.
When not measuring the source (such as when sourcing V but measuring I), you can select
the measurement range selection manually or the instrument can set it automatically. When using manual ranging, use the lowest possible range for best accuracy. When autorange is enabled, the 2601B-PULSE automatically goes to the most sensitive range to make the measurement.
Step 4: Turn the output on
Turn on the output by pressing the OUTPUT ON/OFF switch. The OUTPUT indicator light turns on.
Step 5: Observe readings on the display.
Press the TRIG key if necessary to trigger the instrument to begin making readings. The readings are on the top line, and source and limit values are on the bottom line.
Step 6: Turn the output off
When finished, turn the output off by pressing the OUTPUT ON/OFF switch. The OUTPUT indicator light turns off.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-4 2601B-PULSE-901-01 Rev. B November 2021

Remote source-measure commands

Basic source-measurement procedures can also be performed through a remote interface. To do this, send the appropriate commands. The following table summarizes basic source-measure commands. See Introduction to TSP operation (on page 6-1) for more information on using these commands. Some source-measure commands are not available when the pulser is enabled. Refer to Settings
ignored when the pulser is enabled (on page 8-3) for information on those commands.
Basic source-measure commands
Command
Description
smua.measure.autorangei = smua.AUTORANGE_ON
Enable current measure autorange
smua.measure.autorangev = smua.AUTORANGE_ON
Enable voltage measure autorange
smua.measure.autorangei = smua.AUTORANGE_OFF
Disable current measure autorange
smua.measure.autorangev = smua.AUTORANGE_OFF
Disable voltage measure autorange
smua.measure.rangei = rangeval
Set current measure range
smua.measure.rangev = rangeval
Set voltage measure range
reading = smua.measure.i()
Request a current reading
reading = smua.measure.v()
Request a voltage reading
iReading, vReading = smua.measure.iv()
Request a current and voltage reading
reading = smua.measure.r()
Request a resistance reading
reading = smua.measure.p()
Request a power reading
smua.source.autorangei = smua.AUTORANGE_ON
Enable current source autorange
smua.source.autorangev = smua.AUTORANGE_ON
Enable voltage source autorange
smua.source.autorangei = smua.AUTORANGE_OFF
Disable current source autorange
smua.source.autorangev = smua.AUTORANGE_OFF
Disable voltage source autorange
smua.source.func = smua.OUTPUT_DCVOLTS
Select voltage source function
smua.source.func = smua.OUTPUT_DCAMPS
Select current source function
smua.source.leveli = sourceval
Set current source value
smua.source.levelv = sourceval
Set voltage source value
smua.source.limiti = level
Set current limit
smua.source.limitv = level
Set voltage limit
smua.source.limitp = level
Set power limit
smua.source.output = smua.OUTPUT_ON
Turn on source output
smua.source.output = smua.OUTPUT_OFF
Turn off source output
smua.source.rangei = rangeval
Set current source range
smua.source.rangev = rangeval
Set voltage source range
smua.sense = smua.SENSE_LOCAL
Select local sense (2-wire)
smua.sense = smua.SENSE_REMOTE
Select remote sense (4-wire)
Requesting readings
You can request readings by including the appropriate measurement command as the argument for the print() command. The following programming example illustrates how to request a current reading:
print(smua.measure.i())
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-5
Source-measure programming example
The following SMU programming example illustrates the setup and command sequence of a basic source-measure procedure with the following parameters:
Source function and range: Voltage, autorange
Source output level: 5 V
Current compliance limit: 10 mA
Measure function and range: Current, 10 mA
-- Restore 2601B-PULSE defaults. This disables the pulser.
smua.reset()
-- Select voltage source function.
smua.source.func = smua.OUTPUT_DCVOLTS
-- Set source range to auto.
smua.source.autorangev = smua.AUTORANGE_ON
-- Set voltage source to 5 V.
smua.source.levelv = 5
-- Set current limit to 10 mA.
smua.source.limiti = 10e-3
-- Set current range to 10 mA.
smua.measure.rangei = 10 e-3
-- Turn on output.
smua.source.output = smua.OUTPUT_ON
-- Print and place the current reading in the reading buffer.
print(smua.measure.i(smua.nvbuffer1))
-- Turn off output.
smua.source.output = smua.OUTPUT_OFF

Combining SMU outputs

The following information provides important considerations that need to be observed when combining SMU outputs.
Use care when combining SMUs. Whenever SMUs are combined, it is best to use instruments with identical current and voltage envelopes and ranges.
Carefully consider and configure the appropriate output-off state, source function, and compliance limits before connecting the 2601B-PULSE to a device that can deliver energy (for example, other voltage sources, batteries, capacitors, solar cells, or other 2601B-PULSE instruments). Configure recommended instrument settings before making connections to the device. Failure to consider the output-off state, source, and compliance limits may result in damage to the instrument or to the device under test (DUT).
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-6 2601B-PULSE-901-01 Rev. B November 2021
The following figure and table illustrate the pulse regions for each SMU when used in combination with another SMU. The programmed current and voltage levels for both SMUs must fall within the same pulse region. Refer to the 2601B-PULSE specifications on tek.com/keithley for the latest pulse width and duty cycle information. Measurements are given priority over source and display operations, so make sure that the measurement time does not exceed the allowable pulse width and duty cycle in a particular pulse region.
Figure 2: Pulse regions
Pulse region specification (pulser disabled)
Region (quadrant diagram)
Region maximum
Maximum pulse width
Maximum duty cycle
1
1 A at 40 V
DC, no limit
100%
1
3 A at 6 V
DC, no limit
100%
2
1.5 A at 40 V
100 ms
25%
3
5 A at 35 V
4 ms
4% 4 10 A at 20 V
1.8 ms
1% 5 5 A at 6 V
10 ms
10%
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-7
Additional guidelines for combining SMU outputs:
When combining the outputs of two 2601B-PULSE instruments, restrict operation to pulse only or
limited duty cycle operations whenever possible. DC operation in Region 1 is possible if necessary.
For comparable rise times, the source range and level of SMU 1 must match the source range
and level of SMU 2.
Do not place two voltage sources in parallel.
Do not place two current sources in series.
Carefully consider the appropriate output-off mode (smua.source.offmode) and output-off
function (smua.source.offfunc) whenever changes are made to the source function. The alternative is to always use the high impedance output-off mode (smua.source.offmode = smua.OUTPUT_HIGH_Z).
Additional configuration guidelines are presented in the following topics. Additional information,
including examples on combining SMU instruments, is available in application notes on
tek.com/keithley.

Source current using two 2601B-PULSE instruments in parallel

This example shows the recommended approach for setting the source and limit ranges and levels when combining SMU current sources in parallel.
Figure 3: Source current using parallel SMU instruments
The values are based on the current and voltage levels available in Region 4, as shown in the table in
Combining SMU outputs (on page 2-5). For information about generating pulses, refer to Using timers to perform pulse mode sweeps (on page 4-16).
This configuration allows the combined SMUs to supply more current than a single SMU current source can provide. In this example, SMU 1 and SMU 2 each supply one-half of the total current for the SMU combination.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-8 2601B-PULSE-901-01 Rev. B November 2021
In this configuration, it is best practice to use only one SMU to limit the voltage output of the SMU combination. In this example, SMU 2 limits the voltage. A good approach for making sure that both SMUs are set to the same source limit range, which is recommended, is to set SMU 1 to the maximum voltage allowed in Region 4, then set the limit for SMU 2 ten percent lower.
A 10% source limit margin is generally recommended, but this value can be adjusted to meet the requirements of a specific application.
Disable the pulser:
smua.pulser.enable = smua.DISABLE
Configure two 2601B-PULSE SMUs to get the maximum pulsed current level possible in Region 4:
20 A with 18 V source limit SMU 1 configuration (sources one-half of the total pulse current): Source function:
smua.source.func = smua.OUTPUT_DCAMPS
Source range:
smua.source.rangei = 10
Idle (bias) source level (source level at the base of pulse):
smua.source.leveli = 0
Idle (bias) source limit (source limit at base of pulse):
smua.source.limitv = 6
Pulse source level (source level at top of pulse):
smua.trigger.source.listi({10})
Pulse source limit. SMU 2 controls the source limit for the combined SMUs. Set the voltage source limit of SMU 1 to the maximum voltage allowed in Region 4:
smua.trigger.source.limitv = 20
Output-off mode:
smua.source.offmode = smua.OUTPUT_NORMAL
Output-off function:
smua.source.offfunc = smua.OUTPUT_DCAMPS
Normal output-off voltage limit:
smua.source.offlimitv = 20
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-9
SMU 2 configuration (sources one-half of the total pulse current): Source function:
smua.source.func = smua.OUTPUT_DCAMPS
Source range:
smua.source.rangei = 10
Idle (bias) source level (source level at base of pulse):
smua.source.leveli = 0
Idle (bias) source limit (source limit at base of pulse). Set the SMU 2 idle source limit ten percent lower than the SMU 1 idle source limit:
smua.source.limitv = 5.4
Pulse source level (source level at top of pulse):
smua.trigger.source.listi({10})
Pulse source limit. SMU 2 controls the source limit for the combined SMUs. Set the voltage source limit of SMU 2 ten percent lower than the source limit of SMU 1:
smua.trigger.source.limitv = 18
Output-off mode:
smua.source.offmode = smua.OUTPUT_NORMAL
Output-off function:
smua.source.offfunc = smua.OUTPUT_DCVOLTS
Current limit for normal output-off mode (this is the maximum current that flows between the two SMUs when the output is off):
smua.source.offlimiti = 1e-3 -- default
Voltage compliance must be ten percent lower than the voltage compliance of SMU 1. This causes SMU 1 to control the maximum voltage across the DUT. Voltage compliance limit (maximum):
smua.trigger.source.limitv = 18
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-10 2601B-PULSE-901-01 Rev. B November 2021

Source voltage using two 2601B-PULSE instruments in series

This example shows the recommended approach for setting the source and limit ranges and levels when combining SMU voltage sources in series.
Figure 4: Source voltage using 2601B-PULSE instruments in series
The following values are based on the current and voltage levels available in Region 4, as shown in the table in Combining SMU outputs (on page 2-5). For information about generating pulses, refer to
Using timers to perform pulse mode sweeps (on page 4-16).
This configuration supplies more voltage than a single SMU voltage source can provide. In this example, SMU 1 and SMU 2 each supply one-half of the total voltage for the SMU combination. For the back-to-back series connection shown, the total voltage of the combined SMUs is V
SMU 2
− V
SMU 1
.
To obtain a net differential voltage that is twice V
SMU 2
, the polarity of SMU 1 is set to the opposite of
the polarity of SMU 2. In this configuration, it is best practice to use only one SMU to limit the current output of the SMU
combination. In this example, SMU 2 limits the current. A good approach for making sure that both SMUs are set to the same source limit range, which is recommended, is to set SMU 1 to the maximum current allowed in Region 4, then set the limit for SMU 2 ten percent lower.
A 10% source limit margin is generally recommended, but this value can be adjusted to meet the requirements of a specific application.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-11
Set the pulser to disabled:
smua.pulser.enable = smua.DISABLE
Configure two 2601B-PULSE SMUs to get the maximum pulsed voltage level possible in Region 4:
40 V with 9 A source limit SMU 1 configuration (sources one-half of the total pulse voltage): Source function:
smua.source.func = smua.OUTPUT_DCVOLTS
Source range:
smua.source.rangev = 20
Idle (bias) source level (source level at base of pulse):
smua.source.levelv = -1e-12
Source polarity changes incur a 100 μs settling delay. Because the number 0 is treated as a positive
value in the 2601B-PULSE, negative-going pulses with a 0 V bias level require the source to change polarity. To ensure the proper pulse timing of SMU 1 and SMU 2, it is best to eliminate the SMU 1
polarity changes and avoid the associated 100 μs time penalty. The easiest way to do this is set the
bias level to a negative value that is significantly less than the programming resolution of the instrument, such as −1e−12. Functionally, this value is the same as zero, but it is mathematically negative, which eliminates the polarity change.
Idle (bias) source limit (source limit at base of pulse):
smua.source.limiti = 1
Pulse source level (source level at top of pulse):
smua.trigger.source.listv({-20})
As explained in the note above, the polarity of SMU 1 is generally the opposite of the voltage polarity across the device. To achieve a positive voltage across the device, program SMU 1 to a negative voltage level. For example, to output 40 V across the device, program SMU 1 to −20 V and SMU 2 to +20 V. To achieve a negative voltage across the device, program SMU 1 to a positive voltage level and SMU 2 to a negative voltage level.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-12 2601B-PULSE-901-01 Rev. B November 2021
Pulse source limit. SMU 2 controls the source limit for the combined SMUs. Set the current source limit of SMU 1 to the maximum current allowed in Region 4:
smua.trigger.source.limiti = 10
Output-off mode:
smua.source.offmode = smua.OUTPUT_NORMAL
Output-off function:
smua.source.offfunc = smua.OUTPUT_DCVOLTS
Normal output-off current limit:
smua.source.offlimiti = 1e-3 --(default)
SMU 2 configuration (sources one-half of the total pulse voltage): Source function:
smua.source.func = smua.OUTPUT_DCVOLTS
Source range:
smua.source.rangev = 20
Idle (bias) source level (source level at base of pulse):
smua.source.levelv = 0
Idle (bias) source limit (source limit at base of pulse). This is similar to the pulse source limit. Set the SMU 2 idle source limit ten percent lower than the SMU 1 limit:
smua.source.limiti = 0.9
Pulse source level (source level at top of pulse):
smua.trigger.source.listv({-20})
Pulse source limit. SMU 2 controls the source limit for the combined SMUs. Set the current source limit of SMU 2 ten percent lower than the source limit of SMU 1:
smua.trigger.source.limiti = 9
Output-off mode:
smua.source.offmode = smua.OUTPUT_NORMAL
Output-off function:
smua.source.offfunc = smua.OUTPUT_DCVOLTS
Normal output-off current limit (0.9 mA, which is 10% less than the SMU 1 output-off limit):
smua.source.offlimiti = 0.9e-3
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-13
Source voltage with extended current using two 2601B-PULSE
instruments in parallel
This example shows the recommended approach for setting the source and limit ranges and levels when combining a SMU voltage source in parallel with a SMU current source.
Figure 5: Source voltage with extended current using parallel SMUs
The values are based on the current and voltage levels available in Region 4, as shown in the table in
Combining SMU outputs (on page 2-5). For information about generating pulses, refer to Using timers to perform pulse mode sweeps (on page 4-16).
The purpose of this configuration is to supply more current than a single SMU voltage source can provide. In this example, SMU 2 controls the voltage applied to a device-under-test (DUT). At full power, SMU 1 supplies 47% of the current required by the load and SMU 2 supplies 53%. SMU2 sinks excess current from SMU 1 when DUT current draw is less than the maximum current of the SMU combination.
Proper operation of this configuration requires that SMU 1 does not limit the voltage from SMU 2 and that SMU 2 does not limit the current from SMU 1. To accomplish this:
Set the voltage source level of SMU 2 ten percent lower than voltage source limit of SMU 1.
Set the current source level of SMU 1 ten percent lower than the current source limit of SMU 2.
Set the voltage source limit of SMU 1 to the maximum voltage allowed in Region 4.
Set the current source limit of SMU 2 to the maximum current allowed in Region 4.
These settings ensure that both SMUs are set to the same source and limit ranges, as recommended.
A 10% source limit margin is generally recommended, but this value can be adjusted to meet the requirements of a specific application.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-14 2601B-PULSE-901-01 Rev. B November 2021
Set the pulser to disabled:
smua.pulser.enable = smua.DISABLE
Configure two 2601B-PULSE SMUs to obtain the maximum pulsed voltage level possible in Region 4:
18 V with 19 A capacity SMU 1 configuration (supplies additional current that SMU 2 alone cannot provide): Source function:
smua.source.func = smua.OUTPUT_DCAMPS
Source range:
smua.source.rangei = 10
Idle (bias) source level (source level at base of pulse):
smua.source.leveli = 0
Idle (bias) source limit (source limit at base of pulse):
smua.source.limitv = 6
Pulse source level (source level at top of pulse). Set the pulse source level ten percent lower than the current source limit of SMU 2:
smua.trigger.source.listi({9})
Pulse source limit. SMU 1 voltage source limit must be greater than the maximum voltage supplied by SMU 2. Set the voltage source limit of SMU 1 to the maximum voltage allowed in Region 4:
smua.trigger.source.limitv = 20
Output-off mode:
smua.source.offmode = smua.OUTPUT_NORMAL
Output-off function:
smua.source.offfunc = smua.OUTPUT_DCAMPS
Normal output-off voltage limit (40 V maximum):
smua.source.offlimitv = 20
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-15
SMU 2 configuration (SMU 2 controls the voltage applied to the device-under-test): Source function:
smua.source.func = smua.OUTPUT_DCVOLTS
Source range:
smua.source.rangev = 20
Idle (bias) source level (source level at base of pulse):
smua.source.levelv = 0
Idle (bias) source limit (source limit at base of pulse):
smua.source.limiti = 1
Pulse source level (source level at top of pulse). Set the source level of SMU 2 ten percent lower than the voltage source limit of SMU 1:
smua.trigger.source.listv({18})
Pulse source limit. The pulse current source limit of SMU 2 must be greater than the maximum current supplied by SMU 1. Set the current source limit of SMU 2 to the maximum current level allowed in Region 4:
smua.trigger.source.limiti = 10
Output-off mode:
smua.source.offmode = smua.OUTPUT_NORMAL
Output-off function:
smua.source.offfunc = smua.OUTPUT_DCVOLTS
Normal output-off current limit:
smua.source.offlimiti = 1e-3
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-16 2601B-PULSE-901-01 Rev. B November 2021

Output-off modes

Carefully consider and configure the appropriate output-off state, source function, and compliance limits before connecting the 2601B-PULSE to a device that can deliver energy (for example, other voltage sources, batteries, capacitors, solar cells, or other 2601B-PULSE instruments). Configure recommended instrument settings before making connections to the device. Failure to consider the output-off state, source, and compliance limits may result in damage to the instrument or to the device under test (DUT).
Turning off the 2601B-PULSE output may not completely isolate the instrument from the external circuit. You can use the output-off mode to place the 2601B-PULSE in a noninteractive state during idle periods. The available output-off modes are normal, high-impedance, and zero.

Normal output-off mode

The default output-off mode is normal. When normal is selected and the pulser is disabled, the source function sources either 0 A or 0 V, as set by the smua.source.offfunc attribute. You can limit the output by setting the smua.source.offlimitY attribute.
When normal is selected and the pulser is enabled, the output circuit is shorted.

High-impedance output-off mode

For the high-impedance output-off mode (HI-Z), the output relay opens when the output is turned off. This disconnects external circuitry from the input/output of the source-measure unit (SMU). To prevent excessive wear on the output relay, do not use this output-off mode for tests that turn the output off and on frequently.

Zero output-off mode

When the pulser is disabled and the zero output-off mode is selected, the programmed source remains on the display, but internally, the voltage source is selected and is set to 0 V. Measurements are made and displayed.
When the selected source is voltage, the current compliance setting remains the same as the output-on value and compliance detection remains active.
When the selected source is current, the current compliance setting is the programmed current source value or 10 percent full-scale of the present current range, whichever is greater.
You can use the 2601B-PULSE as a current meter when it is in zero output-off mode because it outputs 0 V but measures current.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-17
When the pulser is enabled and the zero output-off mode is selected, the output circuit is shorted and measurements cannot be made.
To configure the output-off mode from the front panel:
1. Press the CONFIG key.
2. Press the OUTPUT ON/OFF control.
3. Select OFF-STATE.
4. Select MODE.
5. Select the output-off mode: HI-Z (high-impedance), NORMAL, or ZERO.
6. Press the EXIT key to return to the normal display.
To select the normal output-off mode over a remote interface:
smua.source.offmode = smua.OUTPUT_NORMAL
To select the high-impedance output-off mode over a remote interface:
smua.source.offmode = smua.OUTPUT_HIGH_Z
To select the zero output-off mode over a remote interface:
smua.source.offmode = smua.OUTPUT_ZERO

Saved setups

You can restore the 2601B-PULSE to one of six nonvolatile-memory setup configurations (five user setups and one factory default), or to a setup stored on an external USB flash drive. As shipped from the factory, the 2601B-PULSE powers up with the factory default settings, which cannot be overwritten. The default settings are also in the five user setup locations, but may be overwritten. The factory default settings are listed in the command descriptions in the TSP command reference (on page 8-1).
You can also change the setup configuration that is used when the instrument powers up.

Saving user setups

You can save the present 2601B-PULSE setup to internal nonvolatile memory or a USB flash drive.
To save a user setup to nonvolatile memory from the front panel:
1. Configure the 2601B-PULSE to the settings that you want to save.
2. Press the MENU key.
3. Select SETUP and then press the ENTER key.
4. Select the SAVE menu item and then press the ENTER key.
5. Select INTERNAL and then press the ENTER key.
6. Select the user number (1 through 5) and press the ENTER key.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-18 2601B-PULSE-901-01 Rev. B November 2021
To save a user setup to an external USB flash drive from the front panel:
1. Configure the 2601B-PULSE to the settings that you want to save.
2. Insert the USB flash drive into the USB port on the front panel of the 2601B-PULSE.
3. Press the MENU key.
4. Select SETUP and then press the ENTER key.
5. Select SAVE and then press the ENTER key.
6. Select USB1. The file name setup000.set is displayed.
7. Turn the navigation wheel to change the last three digits of the file name and then press the ENTER key.
To save and recall user setups using remote commands:
Use the setup.save() and setup.recall() functions to save and recall user setups. The following example saves the present setup as setup 1, and then recalls setup 1.
-- Save the present setup to nonvolatile memory.
setup.save(1)
-- Recall the saved user setup from nonvolatile memory.
setup.recall(1)
Recalling a saved setup using the front panel
You can recall setups from internal nonvolatile memory or a USB flash drive.
To recall a saved setup from the front panel:
1. Press the MENU key to access the main menu.
2. Select SETUP, and then press the ENTER key.
3. Select the RECALL menu item, and then press the ENTER key.
4. Select one of the following:
INTERNAL ▪ USB1
5. For INTERNAL only, do one of the following:
Select FACTORY to restore factory defaults, then press the ENTER key. ▪ Select the user number (1 through 5), then press the ENTER key.
6. USB1 only: Select the appropriate file and then press the ENTER key.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-19

Start-up configuration

The start-up configuration allows you to apply specific settings every time the instrument powers up. The settings are defined in a user setup. You can also select the factory default setup.
To select the power-on setup from the front panel:
1. Press the MENU key to access the main menu.
2. Select SETUP, and then press the ENTER key.
3. Select POWERON, and then press the ENTER key.
4. Select the configuration to use.
5. Press the ENTER key.
6. Use the EXIT (LOCAL) key to return to the main display.
To select the power-on setup using remote commands:
Use the setup.poweron attribute to select which setup to use when the instrument powers up. To set the setup.poweron configuration attribute:
setup.poweron = n
Where n is:
0 (*RST or reset() factory defaults)
1 to 5 (user setup 1 to 5)

Restoring the factory default setups using remote commands

Use one of the reset functions to return the 2601B-PULSE to the original factory defaults. An example of each type of reset is shown in the following program examples.
Restore all factory defaults of all nodes on the TSP-Link® network:
reset()
Restore all factory defaults (note that you cannot use *rst in a script):
*rst
Restore all factory defaults:
setup.recall(0)
Restore SMU defaults:
smua.reset()
Reset only the local TSP-Link node:
localnode.reset()
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-20 2601B-PULSE-901-01 Rev. B November 2021

Operation considerations for the ADC

The following paragraphs discuss autozero and NPLC caching with the analog-to-digital converter
(ADC) (on page 5-1).

Autozero

When the pulser is disabled, the ADC of the 2601B-PULSE uses a ratiometric A/D conversion technique. To ensure reading accuracy, the instrument must periodically obtain fresh measurements of its internal ground and voltage reference. Separate reference and zero measurements are used for each aperture.
You can set autozero to occur automatically or turn it off and run it manually. By default, autozero is set to AUTO, which automatically checks the reference measurements
whenever a signal measurement is made. If the reference measurements are out of date when a signal measurement is made, the instrument automatically makes two more A/D conversions, one for the reference and one for the zero, before returning the result. Thus, occasionally, a measurement takes longer than normal. This extra time can cause problems in sweeps and other test sequences in which measurement timing is critical.
To avoid the extra time for the reference measurements, you can select OFF. This setting disables the automatic reference measurements. Note that with automatic reference measurements disabled, the instrument may gradually drift out of specification. Select the autozero ONCE option to refresh the reference and zero measurements that are used for the current aperture setting.
To minimize the drift, a reference and zero measurement should be made immediately before critical test sequences.
When the pulser is enabled, two high-speed digitizing sampling ADCs are used to measure voltage and current. These ADCs do not use a ratiometric conversion technique, so the autozero settings are ignored when the pulser is enabled.
Setting autozero from the front panel
To change autozero from the front panel:
1. Press the CONFIG key.
2. Press the MEAS key.
3. Turn the navigation wheel to select AUTO-ZERO, and then press the ENTER key or the navigation wheel.
4. Turn the navigation wheel to select the mode (OFF, ONCE, or AUTO), and then press the ENTER key or the navigation wheel.
5. Press the EXIT (LOCAL) key to return to the previous display.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-21
Remote command autozero
To set autozero from a remote interface:
Use the autozero command with the appropriate option shown in the following table to set autozero through a remote interface. For additional detail, refer to smua.measure.autozero (on page 8-199)). For example, send the following command to enable automatic reference measurements:
smua.measure.autozero = smua.AUTOZERO_AUTO
Autozero command and options
Command
Description
smua.measure.autozero = smua.AUTOZERO_OFF
Disable autozero. Old NPLC cache values are used when autozero is disabled (see NPLC
caching (on page 2-21)).
smua.measure.autozero = smua.AUTOZERO_ONCE
After immediately taking one reference and one zero measurement, turns automatic reference measurements off.
smua.measure.autozero = smua.AUTOZERO_AUTO
Automatically takes new acquisitions when the 2601B-PULSE determines reference and zero values are out-of-date.

NPLC caching

NPLC caching speeds up operation by caching A/D reference and zero values for up to the ten most recent measurement aperture settings. Whenever the integration rate is changed using the SPEED key, or a user setup is recalled, the NPLC cache is checked. If the integration rate is already stored in the cache, the stored reference and zero values are recalled and used. If the integration rate is not already stored in the cache, a reference and zero value is acquired and stored in the cache when the next measurement is made. If there are already ten NPLC values stored, the oldest one is overwritten by the newest one. When autozero is off, NPLC values stored in the cache are used, regardless of age.Triggering in local mode
You do not need to change any trigger settings to use the basic source and measurement procedures described in the following topics.
Press the MENU key, and then select SETUP > RECALL > INTERNAL > FACTORY to reset the factory default conditions.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-22 2601B-PULSE-901-01 Rev. B November 2021
The following figure shows the general sequence for SMU measurement triggering. The basic sequence is as follows:
When the output is turned on, the programmed source value is immediately applied to the device
under test (DUT).
Through the front panel only: If the immediate trigger source is selected, a measurement is
triggered immediately. However, if the manual trigger source is selected, the front-panel TRIG key must be pressed.
The instrument waits for the programmed delay period (if any).
The instrument makes one measurement.
If the number of measurements is less than the programmed trigger count, it cycles to make
another measurement (the measurement cycle is repeated indefinitely if the infinite trigger count is selected).
For multiple measurements, the instrument waits for the programmed trigger interval (if any)
before making the next measurement.
Figure 6: Local triggering

Configuring trigger attributes in local mode

From the front panel, press the CONFIG key, and then select TRIG. The following menu items are available:
TRIGGER-IN: Use these options to select the trigger-in source:
IMMEDIATE: Triggering occurs immediately and the instrument starts to make
measurements when it is ready (for example, after the source output is turned on).
MANUAL: The front-panel TRIG key must be pressed to trigger the instrument to
make readings.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-23
COUNT: Sets the trigger count (number of measurements) as follows:
FINITE: The instrument goes through measurement cycles for the programmed trigger count
(1 to 99999).
INFINITE: The instrument goes through measurement cycles indefinitely until halted.
INTERVAL: Sets the time interval between measurements (0 s to 999.999 s) when the count is
greater than 1.
DELAY: Sets the delay period between the trigger and the start of measurement
(0 s to 999.999 s).

Front-panel triggering example

This example uses the front panel to configure the trigger parameters to meet the following requirements:
Manual triggering (TRIG key)
Infinite trigger count (cycle indefinitely through measurement cycles)
Interval (time between measurements): 1 s
Delay (time from trigger to measurement): 2 s
To configure the trigger parameters:
1. Press the CONFIG key, and then the TRIG key.
2. Select TRIGGER-IN, and then press the ENTER key or the navigation wheel.
3. Select MANUAL, and then press the ENTER key or the navigation wheel.
4. Select COUNT, then select INFINITE, and then press the ENTER key or the navigation wheel.
5. Select INTERVAL, set the interval to 1 s, and then press the ENTER key or the navigation wheel.
6. Choose DELAY, set the delay to 2 s, and then press the ENTER key or the navigation wheel.
7. Use the EXIT (LOCAL) key to return to the normal display.
8. Press the OUTPUT ON/OFF control to turn the output on.
9. Press the TRIG key. A 2 s delay occurs before the first measurement. The instrument cycles through measurements indefinitely with a 1 s interval between measurements.
10. Press the OUTPUT ON/OFF control again to stop making readings.

Configuring for measure-only tests using the MODE key

In addition to using the 2601B-PULSE for conventional source-measure operations, you can also use it as a meter to measure current, voltage, resistance, or power.
Measure-only tests are not available when the pulser is enabled.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-24 2601B-PULSE-901-01 Rev. B November 2021
To configure the 2601B-PULSE as a voltage meter, current meter, ohmmeter, or wattmeter:
1. Press the MODE key.
2. Turn the navigation wheel to select the type of meter from the menu (I-METER, V-METER, OHM-METER, or WATT-METER).
3. Press the ENTER key to complete the configuration of the 2601B-PULSE as the selected meter.
To manually configure the settings, refer to the following topics:
Voltmeter and ammeter measurements (on page 2-24)
Ohms measurements (on page 2-25)
Power measurements (on page 2-28)

Voltmeter and ammeter measurements

Voltmeter and ammeter measurements are not available when the pulser is enabled.
You can make voltmeter and ammeter measurements without using the MODE key, such as when configuring measure-only tests over the remote interface.
To use the 2601B-PULSE to measure voltage or current:
1. Select the source-measure functions: Voltmeter: Press the SRC key to select the current source and press the MEAS key to select
the voltage measurement function.
Ammeter: Press the SRC key to select the voltage source and press the MEAS key to select
the current measurement function.
2. Set source and compliance levels. To edit the source level, use the procedure provided in Step 1:
Select and set the source level (on page 2-2); to edit the compliance level, use the procedure
provided in Step 2: Set the compliance limit (on page 2-2):
Select the lowest source range and set the source level to zero. ▪ Set the compliance level to a value that is higher than the expected measurement.
When using the 2601B-PULSE as a voltmeter, the voltage compliance limit must be set higher than the voltage that is being measured. Failure to do this could result in excessive current flow into the 2601B-PULSE, incorrect measurements, and possible damage to the instrument.
3. Use the RANGE keys to select a fixed measurement range that accommodates the expected reading. Use the lowest possible range for best accuracy. You can also select autorange, which automatically sets the 2601B-PULSE to the most sensitive range.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-25
4. Connect the voltage or current to be measured. Make sure to use 2-wire connections from the 2601B-PULSE to the device under test (DUT) (see “DUT test connections” in the Model 2601B-PULSE User's Manual).
5. Press the OUTPUT ON/OFF control to turn the output on.
6. View the displayed reading (press the TRIG key if necessary).
7. When finished, press the OUTPUT ON/OFF control to turn the output off.

Ohms measurements

Resistance readings are calculated from the measured current and measured voltage as follows: R = V/I Where:
R is the calculated resistance
V is the measured voltage
I is the measured current

Ohms ranging

The front-panel ohms function does not use ranging. The instrument formats a calculated resistance reading (V/I) to best fit the display. There may be leading zeros if the ohms reading is less than 1 mΩ.

Basic ohms measurement procedure

When you use the MODE key to select ohms measurement, the 2601B-PULSE is automatically configured as a current source with a level of 1 mA. To change the source function, source value, or compliance value (in other words, customize the standard ohmmeter configuration of the MODE key), use the following steps to make ohms measurements. The following procedure assumes that the 2601B-PULSE is already connected to the device under test (see “DUT test connections” in Model 2601B-PULSE User's Manual).
To make an ohms measurement:
1. Press the SRC key to select the source function.
2. Set the output source, as indicated by the units in the source field on the display. The flashing digit (cursor) indicates which value is presently selected for editing.
3. Move the cursor to the digit to change, then press the navigation wheel to enter the EDIT mode.
4. Use the RANGE keys to select a range that accommodates the value you want to set. For best accuracy, use the lowest possible source range.
5. Enter the source value.
6. Press the ENTER key or the navigation wheel to complete editing
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-26 2601B-PULSE-901-01 Rev. B November 2021
7. Press the LIMIT key to edit the voltage or current limit. When programming a voltage limit, set the voltage limit above the maximum expected voltage across the resistor under test. When programming a current limit, set the current limit at or above the maximum expected current through the resistor under test.
8. Move the cursor to the digit to change, then press the navigation wheel to enter the EDIT mode, as indicated by the EDIT indicator.
9. Enter the limit value, then press the ENTER key or the navigation wheel to complete editing.
10. Press the MEAS key to display voltage or current.
11. Make sure that AUTO measurement range is on (press the AUTO key if needed).
12. Press the MEAS key as many times as needed to display ohms.
13. Press the OUTPUT ON/OFF control to turn the output on.
14. View the displayed reading (press the TRIG key if necessary). When finished, press the OUTPUT
ON/OFF control to turn the output off.
Remote ohms command
Use the smua.measure.r() function to get a resistance reading. The programming example below illustrates how to get a resistance reading:
reading = smua.measure.r()
See Remote source-measure commands (on page 2-4) for more commands to set up source and measure functions, and Introduction to TSP operation (on page 6-1) for more details.
Ohms programming example
The following programming example illustrates the setup and command sequence of a typical ohms measurement procedure with the following parameters:
Source function: Current, 10 mA range, 10 mA output
Voltage measure range: Autorange
Voltage compliance: 10 V
Sense mode: 4-wire
-- Restore 2601B-PULSE defaults.
smua.reset()
-- Select the current source function.
smua.source.func = smua.OUTPUT_DCAMPS
-- Set the source range to 10 mA.
smua.source.rangei = 10e-3
-- Set the current source to 10 mA.
smua.source.leveli = 10e-3
-- Set the voltage limit to 10 V.
smua.source.limitv = 10
-- Enable 4-wire ohms.
smua.sense = smua.SENSE_REMOTE
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-27
-- Set the voltage range to auto.
smua.measure.autorangev = smua.AUTORANGE_ON
-- Turn on output.
smua.source.output = smua.OUTPUT_ON
-- Retrieve a resistance reading.
print(smua.measure.r())
-- Turn off output.
smua.source.output = smua.OUTPUT_OFF

Ohms sensing

Ohms measurements can be made using either 2-wire or 4-wire sensing. See “DUT test connections” in the Model 2601B-PULSE User's Manual for information on connections and sensing methods.
The 2-wire sensing method has the advantage of requiring only two test leads. However, as shown in the following figure (2-wire resistance sensing), test lead resistance can seriously affect the accuracy of 2-wire resistance measurements, particularly with lower resistance values.
Figure 7: Two-wire resistance sensing
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-28 2601B-PULSE-901-01 Rev. B November 2021
The 4-wire sensing method, as shown in the following figure (4-wire resistance sensing), minimizes or eliminates the effects of lead resistance by measuring the voltage across the resistor under test with a second set of test leads. Because of the high input impedance of the voltmeter, the current through the sense leads is negligible, and the measured voltage is essentially the same as the voltage across the resistor under test.
Figure 8: Four-wire resistance sensing

Power measurements

Power readings are calculated from the measured current and voltage as follows:
Where: P is the calculated power V is the measured voltage I is the measured current
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-29

Basic power measurement procedure

If you need to customize the standard wattmeter configuration of the MODE key, perform the following steps to make power measurements. The following procedure assumes that the 2601B-PULSE is already connected to the device under test (DUT) as explained in DUT test connections.
Hazardous voltages may be present on all output and guard terminals. To prevent electrical shock that could cause injury or death, never make or break connections to the 2601B-PULSE while the output is on. Turn off the equipment from the front panel or disconnect the main power cord from the rear of the 2601B-PULSE before handling cables. Putting the equipment into an output-off state does not guarantee that the outputs are powered off if a hardware or software fault occurs.
To perform power measurements from the front panel:
1. Set source function and value. Press the SRC key to select the voltage or current source function, as required.
2. Set the output voltage or current to an appropriate value.
3. Move the cursor to the digit to change, then press the navigation wheel to enter the EDIT mode.
4. Use the RANGE keys to select a range that accommodates the value you want to set. For best accuracy, use the lowest possible source range.
5. Enter the source value.
6. Press the ENTER key or the navigation wheel to complete editing.
7. Press the LIMIT key and set the voltage or current limit high enough for the expected voltage or current across the DUT to be measured.
8. Press the LIMIT key.
9. Move the cursor to the digit to change, then press the navigation wheel to enter the EDIT mode, as indicated by the EDIT indicator.
10. Enter the limit value, then press the ENTER key or the navigation wheel to complete editing.
11. Press the MEAS key as many times as needed to display power.
12. Press the OUTPUT ON/OFF control to turn the output on.
13. View the displayed reading (press the TRIG key if necessary).
14. When finished, press the OUTPUT ON/OFF control again to turn the output off.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-30 2601B-PULSE-901-01 Rev. B November 2021

Power measurements using the remote interface

The following paragraphs summarize basic power measurement commands using the remote interface and also give a programming example for a typical power measurement situation.
Remote power reading command
The programming example below illustrates how to get a power reading:
reading = smua.measure.p()
See Remote source-measure commands (on page 2-4) for more commands necessary to set up source and measure functions and also Introduction to TSP operation (on page 6-1).
Power measurement programming example
The following SMU programming example illustrates the setup and command sequence for a typical power measurement procedure with the following parameters:
Source function: Voltage, source autorange, 5 V output
Current measure function and range: Current, autorange
Current compliance: 50 mA
-- Restore 2601B-PULSE defaults. This disables the pulser.
smua.reset()
-- Select voltage source function.
smua.source.func = smua.OUTPUT_DCVOLTS
-- Enable source autoranging.
smua.source.autorangev = smua.AUTORANGE_ON
-- Set voltage source to 5 V.
smua.source.levelv = 5
-- Set current limit to 50 mA.
smua.source.limiti = 50e-3
-- Set current range to auto.
smua.measure.autorangei = smua.AUTORANGE_ON
-- Turn on output.
smua.source.output = smua.OUTPUT_ON
-- Get power reading.
print(smua.measure.p())
-- Turn off output.
smua.source.output = smua.OUTPUT_OFF

Range

The selected measurement range affects the accuracy of the measurements and the maximum signal that can be measured. If the range is changed, the front-panel display may contain dashes instead of a reading (for example, --.---- mA). This indicates that no measurement was made using the range that is presently selected. To update the displayed reading, trigger a measurement (if in local control, press the TRIG key).
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-31

Available ranges

The following table lists the available SMU source and measurement ranges.
Voltage range
Current range
100 mV
100 nA
1 V
1 µA
6 V
10 µA
40 V
100 µA
1 mA
10 mA
100 mA
1 A
3 A
The following table lists the pulser voltage and current ranges.
Voltage range
Source
Measure
5 V
Not applicable
5.1 V
10 V
Not applicable
10.2 V
Current range
1 A
±1.01 A
±1.02 A
5 A
±5.05 A
±5.1 A
10 A
±10.1 A
±10.2 A
250 mA (dc bias)
±250 mA
Selected pulse measure range
The maximum pulse and measure rates that the 2601B-PULSE pulser can sustain are determined by the following formula.
(Pulse rate per second) + (Measurements per second × Filter count) < 33000
If this rate is exceeded, the instrument may not be able to sustain the sweep.

Maximum source values and readings

The full-scale output for each voltage and current source range is 101 percent of the selected range, but the full-scale measurement is 102 percent of the range. For example, ±1.01 A is the full-scale source value for the 1 A range, and ±102 mA is the full-scale reading for the 100 mA measurement range. Input levels that exceed the maximum levels cause the overflow message to be displayed. The instrument autoranges at 100 percent of the range.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-32 2601B-PULSE-901-01 Rev. B November 2021

Measure autodelay

When the pulser is disabled, the measure delay is a specific delay that is applied before each measurement is made. This delay is disabled by default (measurements are made immediately). You can change the default delay by setting the smua.measure.delay (on page 8-202) attribute either to a specific value or to an autodelay setting (set smua.measure.delay = smua.DELAY_AUTO). If the measure delay is set to the autodelay setting, a range-dependent delay is applied each time the instrument performs a current measurement. This delay also happens for the measurement that is made after changing current ranges during an autoranged measurement.
You can increase or decrease the autodelay by changing the delay factor. For example, to reduce the delay across all ranges by half, set smua.measure.delayfactor = 0.5. For additional information, refer to smua.measure.delayfactor (on page 8-203).

Manual ranging

Use the range keys, and , to select a fixed range:
To set the source range, press the SRC key, and then use the RANGE keys to set the range.
To set the measure range, select the display mode, and then use the RANGE keys to set
the range.
If the instrument displays the overflow message on a particular range, select a higher range until an on-range reading is displayed. To ensure the best accuracy and resolution, use the lowest range possible that does not cause an overflow.

Ranging limitations

If the source and measure functions are different (such as source V and measure I, or source I and measure V), you can set source and measure ranges separately. If both the source and the measure functions are the same, the measure range is locked to the source range.
With the 40 V V-Source range selected, the highest current measurement range is 1 A. With the 3 A I-Source range selected, the highest voltage measurement range is 6 V. Refer to Operating
boundaries (on page 5-6) for power derating information.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-33

Autoranging

To use automatic source ranging, press SRC then the AUTO range key. To use automatic measure ranging, press the MEAS key followed by the AUTO range key. The
AUTO indicator turns on when source or measure autoranging is selected. When autorange is selected, the instrument automatically sets the best range to source or measure
the applied signal. The instrument increases the range to 100 percent of the present range.
When you change a source value, source autoranging is automatically turned off and remains off until you re-enable it.

Low range limits

The low range limit sets the lowest range that the 2601B-PULSE uses when autoranging is enabled. This feature is useful for minimizing autorange settling times when measurements require numerous range changes.
To individually set low range limits for Source V, Source I, Measure V, and Measure I:
1. Press the CONFIG key, then press either the SRC key (for source) or the MEAS key (for measure).
2. Select voltage or current source, or measure, as appropriate, and then press the ENTER key or the navigation wheel.
3. Select LOWRANGE, and then press the ENTER key or the navigation wheel.
4. Set the low range to the appropriate setting, and then press the ENTER key or the navigation wheel.
5. Press the EXIT (LOCAL) key twice to return to the main display.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-34 2601B-PULSE-901-01 Rev. B November 2021

Range considerations

The source range and measure range settings can interact depending on the source function. Additionally, the output state (on or off) can affect how the range is set. The following table describes these interactions.
If...
Then...
Notes
The source function is the same as the measurement function (for example, sourcing voltage and measuring voltage)
The measurement range is locked to be the same as the source range.
The setting for the voltage measure range is retained and used when the source function is changed to current. 2601B-PULSE example:
smua.source.func = smua.OUTPUT_DCVOLTS smua.source.rangev = 1 smua.measure.rangev = 10
-- Prints 1, the source range print(smua.measure.rangev) smua.source.func = smua.OUTPUT_DCAMPS
-- Prints 10, the measure range print(smua.measure.rangev)
A source or measurement range for a function is explicitly set
Autoranging for that function is disabled.
Autoranging is controlled separately for each source and measurement function: Source voltage, source current, measure voltage, and measure current. Autoranging is enabled for all measurement functions by default.
Source autoranging is enabled
The output level controls the range.
Querying the range after the level is set returns the range the instrument chose as appropriate.
You send a source level that is out of range while autorange is off
The instrument does not return an error until the output is turned on.
While the output is turned off, the display shows a series of question marks. For example, ???.???mA is displayed for the 100 mA range. The display also shows a series of question marks when pulsing in the extended operating area on the 10 A range.
Measure autoranging is enabled
The measure range changes only when a measurement is made.
Querying the range after the measurement is made returns the range that the instrument chose.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-35

Range commands

The following tables summarize the commands that control measure and source ranges. For information on the measure, source, and pulser ranges, refer to Available ranges (on page 2-31). See the TSP command reference (on page 8-1) for more details about these commands.
Measure range commands
Command
Description
smua.measure.autorangei = smua.AUTORANGE_ON
Enable current measure autorange.
smua.measure.autorangei = smua.AUTORANGE_OFF
Disable current measure autorange.
smua.measure.autorangev = smua.AUTORANGE_ON
Enable voltage measure autorange.
smua.measure.autorangev = smua.AUTORANGE_OFF
Disable voltage measure autorange.
smua.measure.lowrangei = lowrange
Set lowest I measure range for autorange.
smua.measure.lowrangev = lowrange
Set lowest V measure range for autorange.
smua.measure.rangei = rangeval
Select manual current measure range.
smua.measure.rangev = rangeval
Select manual voltage measure range.
Source range and limit commands
Command
Description
smua.source.autorangei = smua.AUTORANGE_ON
Enable current source autorange.
smua.source.autorangei = smua.AUTORANGE_OFF
Disable current source autorange.
smua.source.autorangev = smua.AUTORANGE_ON
Enable voltage source autorange.
smua.source.autorangev = smua.AUTORANGE_OFF
Disable voltage source autorange.
smua.source.limiti = level
Set voltage source current limit (compliance).
smua.source.limitv = level
Set current source voltage limit (compliance).
smua.source.limitp = level
Set source power limit (compliance).
smua.source.lowrangei = lowrange
Set lowest I source range for autorange.
smua.source.lowrangev = lowrange
Set lowest V source range for autorange.
smua.source.rangei = rangeval
Select manual current source range.
smua.source.rangev = rangeval
Select manual voltage source range.
Pulser range commands
Command
Description
smua.pulser.rangei = rangeval
Sets the source and measure current ranges.
smua.pulser.rangev = rangeval
Sets the voltage measure range.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-36 2601B-PULSE-901-01 Rev. B November 2021

Range programming example

The SMU programming example below illustrates how to control both source and measure ranges. The 2601B-PULSE is set up as follows:
Voltage source range: Auto
Current measure range: 10 mA
Voltage source current limit: 10 mA
-- Restore 2601B-PULSE defaults. This disables the pulser.
smua.reset()
-- Set V source range to auto.
smua.source.autorangev = smua.AUTORANGE_ON
-- Select 10 mA measure range.
smua.measure.rangei = 10e-3
-- Set limit level to 10 mA.
smua.source.limiti = 10e-3

Digits

The display resolution of the measured reading depends on the DIGITS setting. The default display resolution setting is 6.5 digits. The DIGITS setting selects display resolution for all measurement functions.
The DIGITS setting has no effect on the format of readings returned by a print() command over a remote interface. To adjust the format of remote interface readings, see format.asciiprecision (on page 8-89).
The number of displayed digits does not affect accuracy or speed. Accuracy and speed are controlled by the SPEED setting (see Speed (on page 2-37)).

Setting display resolution from the front panel

To set the display resolution, press the DIGITS key until the correct number of digits is displayed. Available display resolutions are 4.5, 5.5, and 6.5 digits.

Setting display resolution from a remote interface

You use the display.smua.digits command to set the display resolution remotely. A summary of the commands are shown in the following table. See the TSP command reference (on page 8-1) for more information.
Digits commands
Command
Description
display.smua.digits = display.DIGITS_4_5
Set display to 4.5 digits.
display.smua.digits = display.DIGITS_5_5
Set display to 5.5 digits.
display.smua.digits = display.DIGITS_6_5
Set display to 6.5 digits.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-37

Speed when the pulser is disabled

The SPEED key sets the integration time, or measurement aperture, of the analog to digital (A/D) converter (period the input signal is measured). The integration time affects the usable digits, the amount of reading noise, and the reading rate of the instrument. The integration time is specified in parameters based on the number of power line cycles (NPLC), where 1 PLC for 60 Hz is 16.67 ms (1/60) and 1 PLC for 50 Hz is 20 ms (1/50).
In general, the fastest integration time (0.001 PLC) results in the fastest reading rate, but also causes increased reading noise and fewer usable digits. The slowest integration time (25 PLC) provides the best common-mode and normal-mode noise rejection but has the slowest reading rate. Settings between the fastest and slowest integration times are a compromise between speed and noise. The default power-on speed setting is NORMAL (1 PLC).
The SPEED setting affects all measurement functions. After setting speed, display resolution can be changed using the DIGITS key.

Setting the speed from the front panel

Press the SPEED key (or use the CONFIG menu) to display the following menu items:
FAST: Sets the measurement speed to 0.01 PLC (fast performance, but accuracy is reduced).
MED: Sets the measurement speed to 0.10 PLC (speed and accuracy are balanced).
NORMAL: Sets the measurement speed to 1.00 PLC (speed and accuracy are balanced).
HI-ACCURACY: Sets the measurement speed to 10.00 PLC (high accuracy, but speed is
reduced).
OTHER: Sets the measurement speed to any value from 0.001 PLC to 25 PLC.

Setting the speed using the remote interface

The following table shows the command that controls speed. See the TSP command reference (on page 8-1) for more information.
Speed command
Command
Description
smua.measure.nplc = nplc
Sets the speed of the ADC (nplc = 0.001 to 25).
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-38 2601B-PULSE-901-01 Rev. B November 2021
Speed programming example
Use the NPLC command to set the speed of the integrating analog-to-digital converter (ADC). The programming example below illustrates how to set the speed to 10 PLC:
-- Set NPLC to 10.
smua.measure.nplc = 10

Sweep operation

The following topics describe how to use the 2601B-PULSE for sweeps. The 2601B-PULSE can perform source-only sweeps, source-and-measure sweeps, or measure-only
sweeps. The 2601B-PULSE SMU can generate both dc and pulsed sweeps. The 2601B-PULSE pulser can only generate pulsed sweeps.
The following topics describe the following types of sweeps:
DC and pulsed linear staircase sweeps
DC and pulsed logarithmic staircase sweeps
DC and pulsed list sweeps
DC and pulsed linear staircase sweeps: With this type of sweep, the voltage or current increases or decreases in fixed steps, beginning with a start voltage or current and ending with a stop voltage or current. The figure below shows an increasing linear staircase sweep and a pulsed staircase sweep. Pulsed linear staircase sweeps function the same way that dc linear staircase sweeps function, except that pulsed linear staircase sweeps return to the idle level between pulses.
Figure 9: DC and pulsed linear staircase sweeps
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-39
DC and pulsed logarithmic staircase sweeps: In this type of sweep, the current or voltage increases or decreases geometrically, beginning with a start voltage or current and ending with a stop voltage or current. The figure below shows an increasing logarithmic staircase sweep and a pulsed logarithmic staircase sweep. Pulsed logarithmic staircase sweeps function the same way that dc logarithmic staircase sweeps function, except that pulsed logarithmic staircase sweeps return to the idle level between pulses.
Figure 10: DC and pulsed logarithmic staircase sweeps
DC and pulsed list sweeps: The list sweep allows you to program arbitrary sweep steps anywhere
within the output voltage or current range of the 2601B-PULSE. The following figure shows a list sweep with arbitrary steps and a pulsed list sweep. Pulsed list sweeps function the same way that dc list sweeps function, except that pulsed list sweeps return to the idle level between pulses.
Figure 11: DC and pulsed list sweeps
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-40 2601B-PULSE-901-01 Rev. B November 2021

Linear staircase sweeps

As shown below, this sweep type steps from a start voltage or current value to an ending (stop) value. When enabled, a measurement is made at each point after the source and measurement settling time.
Figure 12: Linear staircase sweep
A linear staircase sweep is configured using a start level, a stop level, and the total number of points, including the start and stop points. The step size is determined by the start and stop levels, and the number of sweep points:
step = (stop - start) / (points - 1)
The number of sweep steps actually performed is determined by the trigger count. Refer to
Triggering (on page 4-1) for more information.
The sweep can be either positive-going or negative-going, depending on the relative values of the start and stop parameters. When the sweep starts, the output goes to the start source level. The output then changes in equal steps until the stop level is reached. If the trigger count is greater than the number of points specified, the SMU starts over at the beginning value.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-41
To configure a linear staircase sweep, use smua.trigger.source.linearY(). This function configures the source values the SMU will output when performing a linear sweep. After configuring the sweep, you must also enable the source action by setting the following attribute:
smua.trigger.source.action
Example:
-- Configure a sweep from 0 to 10 V in 1 V steps.
smua.trigger.source.linearv(0, 10, 11)
-- Enable the source action.
smua.trigger.source.action = smua.ENABLE
For more information, see smua.trigger.source.linearY() (on page 8-260).

Logarithmic staircase sweeps

This type of sweep is similar to the linear staircase sweep. The steps, however, are done on a logarithmic scale.
Like a linear staircase sweep, logarithmic sweeps are configured using a start level, a stop level, and the number of points. The step size is determined by the start and stop levels, and the number of sweep points. However, in a logarithmic sweep, the step size increases or decreases exponentially. To create an increasing logarithmic sweep, set the stop value to be greater than the start value. To create a decreasing logarithmic sweep, set the stop value to be less than the start value. When enabled, a measurement is made at each step after source and measurement settling time. An asymptote can also be used to control the inflection of a sweep.
The number of sweep steps actually performed is determined by the trigger count. See Triggering (on page 4-1) for more information.
The formula for a logarithmic sweep is:
vi = A + kbi
Where:
vi = The source value at source point i
i = The index of points in the sweep (ranges from 0 to N − 1), where N is
the number of points in the sweep
k = The initial source value as an offset from the asymptote
b = The step size ratio
A = The asymptote value
The asymptote is used to change the inflection of the sweep curve and allow it to sweep through zero. The following figures depict the effect of the asymptote on the inflection of the sweep curve.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-42 2601B-PULSE-901-01 Rev. B November 2021
Figure 13: Increasing logarithmic sweep
Figure 14: Decreasing logarithmic sweep
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-43
Solving for k and b provides the following formulas:
Where:
V
end
= The source value at the end point
V
start
= The source value at the start point
N
= The number of points in the sweep
A
= The asymptote value
The number of points in a sweep is one greater than the number of steps in the sweep.
The following figure is an example of a five-point logarithmic sweep from 1 V to 10 V.
Figure 15: Logarithmic staircase sweep (1 V to 10 V, five steps)
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-44 2601B-PULSE-901-01 Rev. B November 2021
In this example: A = 0, V
start
= 1, V
end
= 10, N = 5 Using the formula above, k = 1 Step size (b) for the sweep in the above figure is calculated as follows:
Therefore, b = 10
(log step size)
= 1.7783
The log steps for this sweep are listed in the table below.
Logarithmic sweep points
Source point (N)
Source level (V)
Step number (i)
1 1 0
2
1.7783
1 3 3.1623
2 4 5.6234
3 5 10
4
When this sweep starts, the output goes to the start level (1 V) and sweeps through the symmetrical log points.
To configure a logarithmic staircase sweep, use the smua.trigger.source.logY()function. This function configures the source values the source-measure unit (SMU) outputs when performing a logarithmic sweep. After configuring the sweep, you must also enable the source action by setting the smua.trigger.source.action attribute.
Example:
-- Configure a sweep from 1 to 10 V in 10 steps with an asymptote of 0 V. smua.trigger.source.logv(1, 10, 11, 0)
-- Enable the source action. smua.trigger.source.action = smua.ENABLE
For more information, see smua.trigger.source.logY() (on page 8-262).
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-45

List sweeps

Use a list sweep to configure a sweep with arbitrary steps. When enabled, a measurement is made at each point after source and measurement settling time.
To configure a list sweep, use the smua.trigger.source.listY()function. This function configures the source values that the source-measure unit (SMU) outputs when performing a list sweep. After configuring the sweep, you must also enable the source action by setting the smua.trigger.source.action attribute.
Example:
-- Sweep through 3 V, 1 V, 4 V, 5 V, and 2 V. smua.trigger.source.listv({3, 1, 4, 5, 2})
-- Enable the source action. smua.trigger.source.action = smua.ENABLE
When the sweep is started, the output level goes to the first point in the sweep. The sweep continues through the steps in the order that they were programmed.
The following figure shows a different example of a list sweep with six measurement points. When the sweep starts, the current or voltage goes to the first point in the sweep. The unit cycles through the sweep points in the programmed order.
Figure 16: List sweep example
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-46 2601B-PULSE-901-01 Rev. B November 2021

Pulse sweeps

The pulse sweep described in the following is done with the pulser disabled. For information on pulse
sweeps with the pulser enabled, see the examples in “Pulser operation” in the Model 2601B-PULSE User's Manual.
To create a pulse sweep for any of the sweep types, configure the end pulse action. To configure a pulse sweep, send:
smua.trigger.endpulse.action = smua.SOURCE_IDLE
To configure a dc sweep, send:
smua.trigger.endpulse.action = smua.SOURCE_HOLD
Timers must be used to configure the pulse width and period. Refer to Using timers to perform pulsed
sweeps (on page 4-16) for details.
The pulse width is managed by controlling the duration between the source stimulus event and the end pulse stimulus event. A latency exists between these stimulus events and their resulting source level transitions. This trigger latency can vary based on factors such as the source range and the electrical characteristics of the device under test (DUT).
The figure below shows the source and end pulse stimulus events in relationship to the pulse (see
Triggering (on page 4-1) for information on stimulus events). Any change in Δt results in a
corresponding change in the pulse width.
Figure 17: Pulse width control
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-47
Pulse duty cycle
Duty cycle is the percentage of time during the pulse period that the output is on. It is calculated as follows:
Duty cycle = Pulse width / (Pulse width + Off time) For example, if the pulse width is 10 ms and the off time is 90 ms, the duty cycle is calculated
as follows:
Duty cycle
= 10 ms / (10 ms + 90 ms)
= 10 ms / 100 ms
= 0.10
= 10 percent
See Maximum duty cycle equation (on page 5-2) for additional information on calculating the maximum duty cycle for a SMU.
Pulsing in the extended operating area
When the pulser is disabled, you can pulse in the extended operating area of the SMU. Pulse sweeps can be performed outside of the standard operating area by setting the appropriate
compliance level. Review the specifications for the 2601B-PULSE to determine the maximum current and voltage values available in pulse mode. When pulsing in the extended operating area, the source-measure unit (SMU) forces the pulse to end early if the pulse width exceeds the maximum value. It also delays the next source action as necessary to stay within the duty cycle capabilities of the SMU. The following figure and table illustrate the pulse regions for a SMU when pulsing in the extended operating area. Refer to the 2601B-PULSE specifications on tek.com/keithley for the latest pulse width and duty cycle information.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-48 2601B-PULSE-901-01 Rev. B November 2021
Figure 18: Pulsing in the extended operating area
Pulse region specification
Region (quadrant diagram)
Region maximum
Maximum pulse width
Maximum duty cycle
1
1 A at 40 V
DC, no limit
100%
1
3 A at 6 V
DC, no limit
100%
2
1.5 A at 40 V
100 ms
25%
3
5 A at 35 V
4 ms
4%
4
10 A at 20 V
1.8 ms
1% 5 5 A at 6 V
10 ms
10%

Configuring and running sweeps

Use the following topics to configure and run a sweep.
Configuring compliance limits remotely
You can configure voltage and current limits using the smua.trigger.source.limitY attribute, which sets the sweep source limits. For example, to set the SMU A sweep limit to 10 V, send the command:
smua.trigger.source.limitv = 10
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-49
Configuring end sweep actions remotely
When the pulser is disabled, use the end sweep action to configure the source action at the end of the sweep. The source-measure unit (SMU) can be programmed to return to the idle source level or hold the last value of the sweep. Configure the end sweep action by setting the smua.trigger.endsweep.action attribute. For example, execute the following command to configure SMU A to return the source to the idle source level at the end of a sweep:
smua.trigger.endsweep.action = smua.SOURCE_IDLE
When the pulser is enabled, the instrument ignores the actual setting of smua.trigger.endsweep.action and behaves as if it is set to smua.SOURCE_IDLE.
Configuring measurements during a sweep
You can make measurements during a sweep using the smua.trigger.measure.Y() function. When sweeps are run, measurements are stored in the specified reading buffer for later recall. You can specify which reading buffer stores the readings. For example, to store the voltage readings made during the sweep, send the commands:
smua.trigger.measure.v(vbuffername) smua.trigger.measure.action = smua.ENABLE
To recall sweep data using the front panel:
1. Press the RECALL key.
2. Select DATA or STATISTICS.
3. If you selected DATA: Select the buffer and use the navigation wheel or cursor keys to choose
reading numbers to display.
4. If you selected STATISTICS: Select the buffer and use the navigation wheel or cursor keys to
choose MEAN, STD DEV, SAMPLE SIZE, MINIMUM, MAXIMUM, or PK-PK.
Recalling readings from the reading buffer using the front panel can be done only if one of the dedicated reading buffers is used to store the sweep data.
To recall sweep data using remote commands:
Use the printbuffer() function to request buffer readings. See Reading buffers (on page 3-1) for details about recalling data from the buffer.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-50 2601B-PULSE-901-01 Rev. B November 2021
Source and measurement delays
The source and measurement delays described here only apply when the pulser is disabled.
Whenever the source-measure unit (SMU) outputs a source value in a sweep, it also applies the programmed source delay. The default source delay is zero (0) seconds. Set an additional source delay using the smua.source.delay attribute.
Whenever the SMU makes a measurement in a sweep, it also applies any configured measurement delays. Use the smua.measure.delay attribute to program a specific measurement delay. The default measurement delay varies by measure range.
Initiating and running sweeps
To run a sweep, you must configure the number of sweep points to output and the number of sweeps to perform. See Triggering (on page 4-1) for more information.
Examples: To start a sweep, use the smua.trigger.initiate() function. Sweeps are overlapped
operations, so you can use the waitcomplete() function to suspend further operation until the sweep is complete.
To sweep 15 source points:
smua.trigger.count = 15
To perform eight sweeps:
smua.trigger.arm.count = 8
Aborting a sweep
You can use the smua.abort() function to terminate all overlapped operations on the 2601B-PULSE SMU or pulser, including sweeps. It returns the SMU or pulser to the idle state of the remote trigger model. See Triggering (on page 4-1) for more information.

Sweeping using factory scripts

Factory script functions that perform linear staircase, logarithmic staircase, and list sweeps are described in Factory scripts (on page 6-20). You can use the factory script functions to execute simple sweeps or use them as examples for programming your own custom sweeps.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-51
To run a sweep from the front panel:
1. Press the LOAD key, and then select FACTORY.
2. Select the name of the test to run.
3. Press the RUN key. Follow the display prompts to complete the test. See Factory scripts (on page 6-20) for more information about using factory scripts. Press the RECALL key to access sweep data stored in dedicated reading buffer 1. See Reading
buffers (on page 3-1) for more details about the buffer.

Sweep programming examples

Procedures for programming and running a sweep are provided in the following topics. Each of these procedures includes commands for a typical sweep example. The following table summarizes parameters for each of these examples.
You can retrieve the source code for the factory scripts by using the scriptVar.list() (on page 8-167) or scriptVar.source (on page 8-170) commands.
Sweep example parameters
Sweep type
Parameters for sweep examples
Linear staircase sweep
Start current: 1 mA
Stop current: 10 mA
Settling time: 0.1 s
Number of points: 10
List sweep
Points: 3 V, 1 V, 4 V, 5 V, 2 V
Settling time 0.1 s
Number of points: 5
Linear staircase sweep example
The SMU programming example below illustrates a staircase sweep.
-- Restore 2601B-PULSE defaults. This disables the pulser. smua.reset()
-- Set compliance limit to 1 V. smua.source.limitv = 1
-- Configure and execute the linear staircase sweep to
-- sweep current from 1 mA to 10 mA with a
-- 0.1 second settling time for 10 points. SweepILinMeasureV(smua, 1e-3, 10e-3, 0.1, 10)
-- Request readings from buffer 1. printbuffer(1, 10, smua.nvbuffer1.readings)
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-52 2601B-PULSE-901-01 Rev. B November 2021
List sweep example
The SMU programming example below illustrates a list sweep.
-- Restore 2601B-PULSE defaults. This disables the pulser. smua.reset()
-- Set compliance limit to 10 mA. smua.source.limiti = 10e-3
-- Define the voltage list. vlist = {3, 1, 4, 5, 2}
-- Define the list sweep with 3 V, 1 V, 4 V, 5 V, and 2 V steps
-- with a 0.1 s delay; 5 points. SweepVListMeasureI(smua, vlist, 0.1, 5)
-- Request readings from buffer 1. printbuffer(1, 5, smua.nvbuffer1.readings)

Relative offset

When making measurements, you may want to subtract an offset value from a measurement. The relative offset feature subtracts a set value or a baseline reading from measurement readings.
When you enable relative offset, all measurements are recorded as the difference between the actual measured value and the relative offset value. The formula to calculate the offset value is:
Displayed value = Actual measured value − Relative offset value
When a relative offset value is established for a measure function, the value is the same for all ranges for that measure function. For example, if 0.5 A is set as a relative offset value on the 1 A range, the relative offset value is also 0.5 A on the lower current ranges. Selecting a range that cannot accommodate the relative offset value does not cause an overflow condition, but it also does not increase the maximum allowable input for that range. For example, on the 1 A range, the 2601B-PULSE still overflows for an input of more than 1.02 A.
When relative offset is enabled, the REL indicator turns on. Changing measurement functions changes the relative offset value to the established relative offset value and state for that measurement function.

Enabling and disabling relative offset from the front panel

To enable and use the relative offset feature, press the REL key on the front panel. The reading (which becomes the relative offset value) is subtracted from itself, causing the SMU to display a zero value. The reading is stored for use with subsequent measurements. Press the REL key a second time to disable the relative offset.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-53

Defining a relative offset value from the front panel

You can establish a relative offset value for the selected measurement function.
To establish a relative offset value from the front panel:
1. Press the CONFIG key and then the REL key.
2. Select the measurement function (CURRENT, VOLTAGE, OHMS, or WATTS).
3. Press ENTER or the navigation wheel. The present relative offset value is displayed.
4. Set the relative offset value.
5. With the relative offset value displayed, press the ENTER key or the navigation wheel, and then
press the EXIT (LOCAL) key to back out of the menu structure.

Setting relative offset using a remote interface

Relative offset commands are summarized in the following table.
Command
Description
To set relative offset values:
smua.measure.rel.leveli = relval
Set current relative offset value
smua.measure.rel.levelp = relval
Set power relative offset value
smua.measure.rel.levelr = relval
Set resistance relative offset value
smua.measure.rel.levelv = relval
Set voltage relative offset value
To enable/disable relative offset:
smua.measure.rel.enablei = smua.REL_OFF
Disable current relative offset
smua.measure.rel.enablep = smua.REL_OFF
Disable power relative offset
smua.measure.rel.enabler = smua.REL_OFF
Disable resistance relative offset
smua.measure.rel.enablev = smua.REL_OFF
Disable voltage relative offset
smua.measure.rel.enablei = smua.REL_ON
Enable current relative offset
smua.measure.rel.enablep = smua.REL_ON
Enable power relative offset
smua.measure.rel.enabler = smua.REL_ON
Enable resistance relative offset
smua.measure.rel.enablev = smua.REL_ON
Enable voltage relative offset
Relative offset programming example
The programming example below performs a current measurement, uses it as the relative offset value, and enables current relative offset:
-- Measure and set present current value as the relative offset. smua.measure.rel.leveli = smua.measure.i()
-- Enable current relative offset. smua.measure.rel.enablei = smua.REL_ON

Filters

The filter feature lets you set the filter response to stabilize noisy measurements. The 2601B-PULSE uses a digital filter, which is based on reading conversions. The displayed, stored, or transmitted reading is calculated using one or more reading conversions (from 1 to 100).
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-54 2601B-PULSE-901-01 Rev. B November 2021

Filter types

If the pulser is enabled, the repeating filter is the only available filter.
The 2601B-PULSE provides two averaging filters and a median filter. The power-on default is the repeating filter.
The averaging filters are repeating and moving, as shown in the following figure. For the repeating filter, the stack (filter count) is filled, and the conversions are averaged to yield a reading. The stack is then cleared, and the process starts over.
Figure 19: Repeating and moving average filters
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-55
The moving filter uses a first-in, first-out stack. When the stack (filter count) becomes full, the measurement conversions are averaged, yielding a reading. For each subsequent conversion placed into the stack, the oldest conversion is discarded. The stack is averaged again, yielding a new reading.
The median filter is used to pass the reading that is nearest to the middle from a group of readings that are arranged according to size. The median filter uses a first-in, first-out stack similar to the moving filter. For each subsequent conversion placed into the stack, the oldest conversion is discarded. The median is then redetermined.
Figure 20: Median filter
When a moving filter or a median filter is first enabled, the stack is empty. The first reading conversion is placed in the stack and is then copied to the other stack locations to fill it. Thus, the first filtered reading is the same as the first reading conversion. The normal moving filter process continues. A true average or median reading is only yielded when the stack is filled with new reading conversions (no copies in the stack). For example, in the figure for the moving filter, it makes ten filtered readings to fill the stack with new reading conversions. The first nine filtered readings are calculated using copied reading conversions.

Response time

The filter parameters have speed and accuracy trade-offs for the time needed to display, store, or output a filtered reading. These affect the number of reading conversions for speed versus accuracy and response to input signal changes.
The filter type and count affect the overall reading speed. The moving average filter is much faster than the repeat average filter because the instrument does not have to refill the filter stack for each reading. Also, the number of readings averaged affects reading speed; as the number of readings averaged increases, the reading speed decreases.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-56 2601B-PULSE-901-01 Rev. B November 2021

Enabling the filter from the front panel

The filter is enabled by pressing the FILTER key on the front panel. The FILT indicator is on while the filter is enabled. Pressing FILTER a second time disables the filter.

Configuring the filter from the front panel

Filter type and count are configured from the filter configuration menu on the front panel. The same filter configuration is used for all measurement functions.
To configure the filter:
1. Press the CONFIG key and then the FILTER key.
2. Select TYPE, and then select the filter type: AVERAGE or MEDIAN.
AVERAGE: Use this menu item to select an averaging filter, then select the averaging filter
type: MOVING or REPEAT.
MEDIAN: Use this menu item to select a median filter. The MOVING filter type is the
only option.
3. Select COUNT, and then specify the filter count (1 to 100 readings).

Setting the filter using a remote interface

The following table summarizes the filter commands. See the TSP command reference (on page 8-1) for details about commands.
Command
Description
smua.measure.filter.count = count
Set filter count (1 to 100)
smua.measure.filter.enable = smua.FILTER_ON
Enable filter
smua.measure.filter.enable = smua.FILTER_OFF
Disable filter
smua.measure.filter.type = smua.FILTER_MEDIAN
Select median filter type
smua.measure.filter.type = smua.FILTER_MOVING_AVG
Select moving average filter type
smua.measure.filter.type = smua.FILTER_REPEAT_AVG
Select repeating average filter type
Filter programming example
The programming example below illustrates how to set the following filter options:
Filter type: Moving average
Filter count: 10
Filter state: Enabled
-- Set the program count to 10. smua.measure.filter.count = 10
-- Set the moving average filter type. smua.measure.filter.type = smua.FILTER_MOVING_AVG
-- Enable the filter. smua.measure.filter.enable = smua.FILTER_ON
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-57

High-capacitance mode

The Keithley Instruments 2601B-PULSE has a high-capacitance mode. Because the source-measure unit (SMU) can measure low current, issues can arise when driving a
capacitive load. The pole formed by the load capacitance and the current range resistor can cause a phase shift in the SMU voltage control loop. This shift can lead to overshoot, ringing, and instability. Due to the large dynamic range of current measurement and wide range of internal resistors, the operating conditions for a given capacitive load can vary.
Based on the type, some test applications may require capacitors larger than 10 nF. While running test scripts, it may not be possible to disconnect the capacitor from the integrated circuit and extract accurate data. For this purpose, you can use the high-capacitance mode to minimize overshoot, ringing, and instability.
This section provides the details that you need to estimate performance based on load capacitance and measurement conditions.
High-capacitance mode is not available when the pulser is enabled.

Understanding high-capacitance mode

The source-measure unit (SMU) in the 2601B-PULSE drives 10 nF of capacitance in normal operation. Typically, an internal capacitor across the current measuring element provides phase lead to compensate for the phase lag caused by the load capacitance on the output. This internal capacitance across the range resistance limits the speed for a specific measurement range.
The SMU in the 2601B-PULSE implements frequency compensation to achieve the highest throughput possible for a 10 nF or less load. In addition, you must consider the settling time, voltage range, measure delay, the quality of the capacitor, the current measure range resistor, and the load resistor.
In normal operation, the SMU in the 2601B-PULSE can drive capacitive loads as large as 10 nF. In high-capacitance mode, the SMU can drive a maximum of 50 μF of capacitance.
When high-capacitance mode is enabled, a minimum load capacitance of 100 nF is recommended. In absence of this minimum load capacitance, overshoot and ringing may occur.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-58 2601B-PULSE-901-01 Rev. B November 2021
Highest throughput is achieved by using normal operation. In high-capacitance mode, the speed of the 2601B-PULSE SMU is reduced to compensate for the larger load capacitance. Stability is achieved by inserting an internal capacitance across the current measuring element of the SMU. This internal capacitor limits the speed for the source and measurement ranges. Therefore, when optimizing the speed of your test configuration in high-capacitance mode, you must consider the settling time, voltage, and current ranges, measure delay, quality of the load capacitor, and load resistance.
Understanding source settling times
Each 2601B-PULSE can drive up to 50 μF of a capacitance in high-capacitance mode. To accomplish this, the speed of the 2601B-PULSE SMU is reduced. Source settling times increase when high-capacitance mode is enabled. The following tables compare the source settling times in normal and high-capacitance modes.
Source settling times
Range
Normal mode
High capacitance mode (C
LOAD
= 4.7 μF)
100 mV
< 50 μs
< 200 μs
1 V
< 50 μs
< 200 μs
6 V
< 110 μs
< 200 μs
40 V (Add 150 μs when
measuring on the 1 A range
< 150 μs
< 7000 μs
In high-capacitance mode, the frequency compensation capacitance across the measure range resistors increases. This increase causes longer settling times on some current measure ranges. The same range elements that are used to measure current are used to source current. As a result, the current limit response times respond in a similar manner.
Current measure and source settling times
Current measure range
Normal mode (typical)
High capacitance mode (typical)
1 μA
< 2 ms
< 230 ms
10 μA
< 500 μs
< 230 ms
100 μA
< 150 μs
<3 ms
1 mA
< 100 μs
<3 ms
10 mA
80 μs (R
LOAD
> 6 Ω)
100 μs
100 mA
80 μs (R
LOAD
> 6 Ω)
100 μs
1 A
80 μs (R
LOAD
> 6 Ω)
120 μs (R
LOAD
> 2 Ω)
3 A
< 80 μs (current < 2.5 A, R
LOAD
> 2 Ω)
120 μs (R
LOAD
> 2 Ω)
When high-capacitance mode is enabled, the amount of time to change the current measure range increases for each SMU. The current measure range and the current limit range are locked together. Setting the current limit automatically updates the measure range.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-59
Adjusting the voltage source
When driving large capacitive loads with high-capacitance mode enabled, the response time may be lengthened by the current limit. For example, see the table titled "Current measure and source settling times" in Understanding source settling times (on page 2-58). If a 1 μF capacitor charges to 10 V in 10 μs with a 1 A limit and the limit is set to 100 nA, the charging time is 100 seconds, as shown in the following equation.
The total response times while in high-capacitance mode are a combination of the time spent charging the capacitor (current limit) or the response time, whichever is greater. There is a direct relationship between the current limit and the charging time. As the current limit decreases, the amount of time required to charge the capacitor increases.
Understanding the capacitor
Based on the capacitor dielectric absorption, the settling time may change and the values in the "Current measure and source settling times" table in Understanding source settling times (on page 2-58) may differ.
Tantalum or electrolytic capacitors are well known for long dielectric absorption settling times. Film capacitors and ceramics perform better, with NPO/COG dielectric ceramics yielding the best settling response.
Charging the capacitor and making readings
To charge and read a capacitor in high-capacitance mode:
1. Set the current limit to a value that is higher than the value that is used for the measurement (for
example, if measuring at 10 μA, the initial current limit can be set to 1 A).
2. After the capacitor charges, lower the current limit and measure range to obtain the
current measurement.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-60 2601B-PULSE-901-01 Rev. B November 2021

Enabling high-capacitance mode

Before enabling high-capacitance mode, note the following:
It is important to read High-capacitance mode (on page 2-57) to understand the impact of
high-capacitance mode.
Test the device under test (DUT) and the capacitor to determine the best current limit and range
of output voltages.
The settling times can vary based on the DUT. It is important to test the limits of the DUT before
you use high-capacitance mode.
Test the DUT for the appropriate current limit and output voltages.
For optimal performance, do not continuously switch between normal mode and
high-capacitance mode.
Before you charge the capacitor, start with 0 (zero) voltage across the capacitor.
Failure to test the DUT for the appropriate current limit and output voltages can result in damage to or destruction of the DUT.
To enable high-capacitance mode from the front panel:
1. Press the CONFIG key.
2. Press the SRC key and then select HIGHC-MODE.
3. Select SRC-ENABLE and then press the navigation wheel (or the ENTER key).
4. Select ENABLE and then press the navigation wheel (or the ENTER key).
5. Press the EXIT (LOCAL) key to back out of the menu structure.
Command interface
Turning on high-capacitance mode has the following effects on the SMU settings:
smua.measure.autorangei is set to smua.AUTORANGE_FOLLOW_LIMIT and cannot
be changed.
Current ranges below 1 μA are not accessible.
If smua.source.limiti is less than 1 μA, it is raised to 1 μA.
If smua.source.rangei is less than 1 μA, it is raised to 1 μA.
If smua.source.lowrangei is less than 1 μA, it is raised to 1 μA.
If smua.measure.lowrangei is less than 1 μA, it is raised to 1 μA.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring
2601B-PULSE-901-01 Rev. B November 2021 2-61
Measuring current using high-capacitance mode
The following inputs are required to test leakage using the factory leakage script, as shown in the following script example.
SMU: Sets the 2601B-PULSE source-measure unit to use ▪ levelv: Sets the output voltage level ▪ limiti: Sets the current limit for discharging or charging the capacitor ▪ sourcedelay: Solves the following equation to determine the amount of time before making a
current reading:
Where: i is the limiti setting (current limit)
measurei: Sets the current measure range ▪ measuredelay: Defines the delay to wait after lowering the current limit before making
the measurement
Script example
Use the smua.source.highc attribute to set and control the options for high-capacitance mode. The programming examples and figure below illustrate how to enable high-capacitance mode.
1. To enable high-capacitance mode, send:
-- Enables high-capacitance mode. smua.source.highc = smua.ENABLE
2. To run the i_leakage_measure() function in the KIHighC factory script, send:
-- Charges the capacitor. smua.source.levelv = 5 smua.source.output = smua.OUTPUT_ON delay(1) imeas = i_leakage_measure(smua, 0, 1, 300e-3, 10e-6, 100e-3)
-- The parameters in the i_leakage_measure() function represent
-- the following:
-- smu = smua
-- levelv = 0 V
-- limiti = 1 A
-- sourcedelay = 300 ms
-- measurei = 10 uA range
-- measuredelay = 100 ms
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
2-62 2601B-PULSE-901-01 Rev. B November 2021
Adjust the voltage level and source delays based on:
The value and type of capacitor The magnitude of the voltage step The current measure range
Figure 21: Enabling high-capacitance mode
In this section:
Overview .................................................................................. 3-1
Front-panel reading buffer control ............................................ 3-1
Remote reading buffer programming ....................................... 3-6

Overview

Reading buffers capture measurements, ranges, instrument status, and output state of the Keithley Instruments 2601B-PULSE. The 2601B-PULSE has two default reading buffers. In addition to the default buffers, you can create user-defined reading buffers. You can use the reading buffers to acquire readings.
You can access reading buffers from the front panel or over the remote command interface. The default reading buffers can store more than 60,000 readings if you enable the options for
timestamps and source values. To store 140,000 readings internally, you can disable the timestamps and source values.
You can save reading buffers to internal nonvolatile memory in the instrument or to a USB flash drive. Once you save the reading buffers to a USB flash drive, insert the USB flash drive into the USB port
on your computer to view the data in any compatible data analysis application or to transfer the data from the USB flash drive to your computer.

Front-panel reading buffer control

The dedicated reading buffers can be configured, stored, and recalled when in local mode operation. Use the front panel to navigate and configure the reading buffers options and to save and recall stored readings.

Reading buffer options

The following list outlines the menu structure and menu items associated with front-panel reading buffer control. This section provides a description for each reading buffer option. Use the procedure in
Configuring reading buffers (on page 3-2) as a guideline to configure these reading buffer options.
CHANA-BUFF: Configures Channel A buffer.
Section 3

Reading buffers

Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
3-2 2601B-PULSE-901-01 Rev. B November 2021
DEST: Sets data storage destination (buffer 1, buffer 2, or none).
BUFFER1: Configure Buffer 1.
CLEAR: Clear buffer (YES or NO). ▪ ELEMENTS: Enable (ON) or disable (OFF) data storage elements.
SRC-VAL: Enable or disable source values. ▪ TSTAMP: Enable or disable timestamps.
BUFFER2: Configure Buffer 2.
CLEAR: Clear buffer (YES or NO). ▪ ELEMENTS: Enable (ON) or disable (OFF) data storage elements.
SRC-VAL: Enable or disable source values. ▪ TSTAMP: Enable or disable timestamps.

Configuring reading buffers

In the following example, enabling or disabling the source value or the timestamp is optional.
To configure reading buffers from the front panel:
1. Press the CONFIG key.
2. Press the STORE key.
3. Select CHANA-BUFF.
4. To select a storage destination, select the DEST option, and then choose one of the following:
CHANA-BUFF1 CHANA-BUFF2 NONE
5. Select BUFFER1 or BUFFER2.
6. Clear the buffer by turning the navigation wheel to select CLEAR > YES.
You must clear the reading buffer before you can enable or disable the source value or the timestamp options.
7. Select ELEMENTS.
8. Configure the timestamp elements of the reading buffer:
a. Select TSTAMP. b. Select OFF or ON.
9. Configure the source value elements of the reading buffer:
a. Select SRC-VAL. b. Select OFF or ON.
10. Press the EXIT (LOCAL) key as needed to return to the main menu.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers
2601B-PULSE-901-01 Rev. B November 2021 3-3

Appending or overwriting existing reading buffers

When storing data to a reading buffer that already holds data, the new data can be appended to the reading buffer data, or it can overwrite the old data.
To configure the instrument to append or overwrite measurements the next time data is acquired:
1. Press the CONFIG key.
2. Select STORE, and then select STORAGE-MODE. The Storage Mode menu is shown.
3. Select one of the following:
APPEND OVERWRITE
4. Press the EXIT (LOCAL) key to return to the main menu.

Storage operation

Use this option to initiate a storage operation and to configure the number of readings to acquire during the storage operation. The reading count can be more than 60,000 if timestamps and source values are enabled. The count can be more than 140,000 if timestamps and source values are disabled.
To store the maximum number of readings in a reading buffer, disable the source values and timestamps for that reading buffer.
To specify the number of readings and initiate the storage operation:
1. From the front panel, press the STORE key, and then select TAKE_READINGS.
2. Use the navigation wheel to select the number of readings.
3. Press the navigation wheel to switch to edit mode.
4. Turn the navigation wheel to change the numeric value.
5. Press the navigation wheel to save the numeric value.
6. Press the ENTER key to save the count.
7. Press the OUTPUT ON/OFF control to start making readings.
If the output-off mode is ZERO or the output is already on, the instrument starts acquiring readings when the ENTER key is pressed. Otherwise, the instrument starts acquiring readings when the output is turned on.
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
3-4 2601B-PULSE-901-01 Rev. B November 2021

Saving reading buffers

You can save the dedicated reading buffers to nonvolatile memory or you can save them to a USB flash drive.
The instrument restores the dedicated reading buffers from internal nonvolatile memory when the instrument is turned off and back on.
You can also save reading buffer data to a .csv file using the web interface.
Saving the reading buffers to nonvolatile memory
After the measurements are complete, you can save the reading buffer data to the nonvolatile memory in the instrument.
To save the reading buffer data:
1. From the front panel, press the STORE key, and then select SAVE.
2. Select INTERNAL to save to internal nonvolatile memory.
3. Select one of the following:
SMUA_BUFFER1 SMUA_BUFFER2
4. The front panel displays Saving... This may take awhile.
5. Press the EXIT (LOCAL) key to return to the main menu.
Saving the reading buffer to a USB flash drive
After the measurements are complete, you can save the reading buffer data to a USB flash drive.
To save the reading buffer data to a USB flash drive:
1. Insert the USB flash drive into the USB port.
2. Press the STORE key and use the navigation wheel to select SAVE.
3. Select USB1.
4. Select one of the following file formats:
CSV XML
5. Use the navigation wheel to select the reading buffer.
6. Use the navigation wheel to change the file name.
7. Press the navigation wheel or the ENTER key to save the file.
8. Press the EXIT (LOCAL) key to return to the main menu.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers
2601B-PULSE-901-01 Rev. B November 2021 3-5

Recalling readings

To recall the data stored in a reading buffer:
1. Press the RECALL key.
2. Select DATA or STATISTICS.
3. Select the buffer to display CHANA-BUFF1 or CHANA-BUFF2. The data or statistics are
displayed. If recalling data, the reading display is on the top left, and the buffer location number is on the
right. The source values are on the lower left side of the display (if enabled); the timestamp (if used) is on the lower right side.
If recalling statistics, the information includes values for MEAN, STD DEV, SAMPLE SIZE,
MINIMUM, MAXIMUM, and PK-PK.
The source display field identifies the buffer: SrcA1 (buffer 1) or SrcA2 (buffer 2).
Buffer location number
The buffer location number indicates the memory location of the source-measure reading. For example, location #000001 indicates that the displayed source-measure reading is stored at the first memory location.
Timestamp
If the timestamp is enabled, the first source-measure reading stored in the buffer (#0000001) is timestamped at 0.000 seconds. Subsequent readings are timestamped relative to when the first measurement was made. The interval between readings depends on the reading rate.
Displaying other buffer readings and statistics
To display other readings and statistics in the reading buffer:
1. While still in the buffer recall mode:
If viewing the data stored in the buffer, turn the navigation wheel to increment and decrement
the selected digit of the location number by one. Press the navigation wheel and then turn it or use the CURSOR keys to move to the next digit.
If viewing the statistics stored in the buffer, turn the navigation wheel or use the CURSOR
keys to scroll between MEAN, STD DEV, SAMPLE SIZE, MINIMUM, MAXIMUM, and PK-PK.
2. To exit from the reading buffer recall mode, press the EXIT (LOCAL) key.
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
3-6 2601B-PULSE-901-01 Rev. B November 2021

Remote reading buffer programming

You can get readings by making overlapped or sequential measurements. Overlapped commands do not finish executing before the next command starts. Sequential commands complete execution before the next command starts executing.
The measured value is not the only component of a reading. The measurement status (for example, “In Compliance” or “Overranged”) is also an element of data associated with a particular reading.
All routines that return measurements can store the measurements in the reading buffers. Overlapped measurements always return readings in a reading buffer. Nonoverlapped measurement functions can return single-point measurement values or store multiple values in a reading buffer.
A reading buffer is based on a Lua table. The measurements are retrieved with ordinary array accesses. If rb is a reading buffer, the first measurement is accessed as rb[1] and the ninth measurement as rb[9]. The additional information in the table is accessed as additional members of the table.
The load, save, and write operations for reading buffers function differently in the remote state. From a remote command interface, you can extract data from reading buffers as the instrument acquires the data.

Dedicated reading buffer designations

The 2601B-PULSE contains two dedicated reading buffers:
smua.nvbuffer1 (buffer 1)
smua.nvbuffer2 (buffer 2)
To access a reading buffer, include the name of the buffer in the command. For example, the following command stores readings into buffer 1:
smua.measure.overlappedi(smua.nvbuffer1)

Reading buffer commands

The following tables summarize commands associated with the reading buffers. See TSP command
reference (on page 8-1) for detailed reading buffer command information.
Command
Description
Commands to save or clear readings:
smua.savebuffer(smua.nvbufferY)
Saves the reading buffer to the nonvolatile memory on the 2601B-PULSE.
smua.nvbuffer1.clear()
Clears buffer 1.
smua.nvbuffer2.clear()
Clears buffer 2.
mybuffer = smua.makebuffer(n)
Creates a dynamically allocated buffer for n readings.
mybuffer = nil
Deletes the dynamically allocated buffer.
savebuffer(smua.nvbuffer1,"csv", "/usb1/mybuffer.csv")
Saves the reading buffer to the USB flash drive.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers
2601B-PULSE-901-01 Rev. B November 2021 3-7
Command
Description
Commands to store readings
smua.measure.count = count
The number of measurements to acquire.
smua.measure.overlappedi(rbuffer)
Makes current measurements; stores readings in rbuffer.
smua.measure.overlappediv(ibuffer, vbuffer)
Makes both current and voltage measurements; stores current readings in ibuffer and stores voltage readings in vbuffer.
smua.measure.overlappedp(rbuffer)
Makes power measurements; stores readings in rbuffer.
smua.measure.overlappedr(rbuffer)
Makes resistance measurements; stores readings in rbuffer.
smua.measure.overlappedv(rbuffer)
Makes overlapped voltage measurements; stores readings in rbuffer.
smua.measure.v(rbuffer)
Makes voltage measurements; stores readings in rbuffer.
smua.measure.i(rbuffer)
Makes current measurements; stores readings in rbuffer.
smua.measure.iv(ibuffer, vbuffer)
Makes both current and voltage measurements; stores current readings in ibuffer and stores voltage readings in vbuffer.
smua.measure.r(rbuffer)
Makes resistance measurements; stores readings in rbuffer.
smua.measure.p(rbuffer)
Makes power measurements; stores readings in rbuffer.
smua.trigger.measure.v(rbuffer)
Configures voltage measurements to be made during a sweep, including where readings are stored (rbuffer).
smua.trigger.measure.i(rbuffer)
Configures current measurements to be made during a sweep, including where readings are stored (rbuffer).
smua.trigger.measure.r(rbuffer)
Configures resistance measurements to be made during a sweep, including where readings are stored (rbuffer).
smua.trigger.measure.p(rbuffer)
Configures power measurements to be made during a sweep, including where readings are stored (rbuffer).
smua.trigger.measure.iv(ibuffer, vbuffer)
Configures both current and voltage measurements to be made during a sweep, including where readings are stored; current readings are stored in ibuffer and voltage readings are stored in vbuffer.
Command
Description
Commands to access readings
printbuffer(start_index, end_index, st_1, st_2, ... st_n)
Prints data from buffer subtables:
start_index (starting index of values to print) end_index (ending index of values to print) st_1, st_2, ... st_n (subtables from which to
print, each separated by a comma)
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
3-8 2601B-PULSE-901-01 Rev. B November 2021
Buffer storage control attributes
The following table contains buffer storage control attributes.
Before changing the collectsourcevalues, collecttimestamps, or timestampresolution attributes, you must clear the buffer using the smua.nvbuffer1.clear() or smua.nvbuffer2.clear() command.
Buffer storage attribute
Description
appendmode
The append mode is either off or on. When the append mode is off, a new measurement to this buffer overwrites the previous contents. When the append mode is on, the first new measurement is stored at the end of the existing data. This attribute is off when the buffer is created.
cachemode
When this attribute is on, the reading buffer cache improves access speed to reading buffer data. When running successive operations that overwrite reading buffer data without running any commands that automatically invalidate the cache, the reading buffer may return stale cache data. This attribute is initialized to on when the buffer is created.
collectsourcevalues
When this attribute is on, source values are stored with readings in the buffer. This value, off or on, can be changed only when the buffer is empty. When the buffer is created, this attribute is initialized to off.
collecttimestamps
When this attribute is on, timestamps are stored with readings in the buffer. This value, off or on, can be changed only when the buffer is empty. When the buffer is created, this attribute is initialized to off.
fillcount
The reading buffer fill count sets the number of readings to store before restarting at index 1. If the value is 0, then the capacity of the buffer is used. This attribute is only used when the fillmode attribute is set to
FILL_WINDOW.
fillmode
The reading buffer fill mode controls how new data is added to the reading buffer. When this attribute is set to FILL_ONCE, the reading buffer does not overwrite readings. If the buffer fills up, new readings are discarded. When this attribute is set to FILL_WINDOW, new readings are added after existing data until the buffer holds fillcount elements. Once there are
fillcount elements, new data starts overwriting data starting at index 1.
timestampresolution
The timestamp resolution, in seconds. When the buffer is created, its initial resolution is 0.000001 seconds. At this resolution, the reading buffer can store unique timestamps for up to 71 minutes. This value can be increased for long tests.
Buffer read-only attributes
The following table contains buffer read-only attributes that access the buffer parameters.
Attribute
Description
basetimestamp
The timestamp of when the reading at rb[1] was stored, in seconds from midnight January 1, 1970 GMT. See Time and date values (on page 8-2) for additional details.
capacity
The total number of readings that can be stored in the reading buffer.
n
The number of readings in the reading buffer.
next
This attribute indicates where the next element that is added to the reading buffer is stored.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers
2601B-PULSE-901-01 Rev. B November 2021 3-9
Buffer storage control programming examples
The programming examples below illustrate the use of buffer storage control attributes.
Command
Description
smua.nvbuffer1.collectsourcevalues = 1
Enable source value storage.
smua.nvbuffer1.appendmode = 1
Enable buffer append mode.
smua.nvbuffer1.collecttimestamps = 0
Disable timestamp storage.
smua.nvbuffer1.timestampresolution = 0.001
Set timestamp resolution to 0.001024 s.
smua.nvbuffer1.fillcount = 50
Set 50 as the number of readings the buffer stores before restarting at index 1.
smua.nvbuffer1.fillmode = 0
Set the reading buffer to fill once (do not overwrite old data).
Buffer read-only attribute programming examples
The following programming examples illustrate use of buffer read-only attributes.
Command
Description
number = smua.nvbuffer1.n
Request the number of readings in the buffer.
buffer_size = smua.nvbuffer1.capacity
Request buffer size.
Statistic attributes
Use the smua.buffer.getstats() function to access the reading buffer data statistics. The table below lists the attributes that you can use to access the reading buffer statistics.
Attributes for accessing reading buffer data
Attribute
When returned
Description
n
Always
The number of data points on which the statistics are based
mean
When n > 0
The average of all readings added to the buffer
stddev
When n > 1
The standard deviation of all readings (samples) added to the buffer
min
When n > 0
A table containing data about the minimum reading value added to the buffer
max
When n > 0
A table containing data about the maximum reading value added to the buffer
If n equals zero (0), all other attributes are nil because there is no data to base any statistics on. If n equals 1, the stddev attribute is nil because the standard deviation of a sample size of 1 is undefined.
The min and max entries have the attributes described in the following table (bufferVar is the name of the buffer). See smua.buffer.getstats() (on page 8-180) for additional information.
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
3-10 2601B-PULSE-901-01 Rev. B November 2021
Min and max entry attributes
Attribute
Description
measurefunction
String indicating the function that was measured for the reading (current, voltage, ohms, or watts)
measurerange
The full-scale range value for the measurement range used when the measurement was made
reading
The reading value
sourcefunction
String indicating the source function at the time of the measurement (current or voltage)
sourceoutputstate
String indicating the state of the source (off or on)
sourcerange
Full-scale range value for the source range used when the measurement was made
sourcevalue
If bufferVar.collectsourcevalues is enabled, the sourced value in effect at the time of the reading
status
Status value for the reading; the status value is a floating-point number that encodes the status value into a floating-point value
timestamp
If bufferVar.collecttimestamps is enabled, the timestamp, in seconds, between when the reading was acquired and when the first reading in the buffer was acquired; adding this value to the base timestamp produces the actual time the measurement was acquired
The following programming example illustrates how to output mean and standard deviation statistics from buffer 1:
statistics = smua.buffer.getstats(smua.nvbuffer1) print(statistics.mean, statistics.stddev)
Reading buffer attributes
Use the reading buffer attributes to access the reading buffer data. The table below displays the attributes that you can use to access the reading buffer data.
Recall attribute*
Description
measurefunctions
An array (a Lua table) of strings indicating the function measured for the reading (current, voltage, ohms, or watts).
measureranges
An array (a Lua table) of full-scale range values for the measure range used when the measurement was made.
readings
An array (a Lua table) of the readings stored in the reading buffer. This array holds the same data that is returned when the reading buffer is accessed directly; that is, rb[2] and rb.readings[2] access the same value.
sourcefunctions
An array (a Lua table) of strings indicating the source function at the time of the measurement (current or voltage).
sourceoutputstates
An array (a Lua table) of strings indicating the state of the source (off or on).
sourceranges
An array (a Lua table) of full-scale range values for the source range used when the measurement was made.
sourcevalues
If enabled, an array (a Lua table) of the sourced values in effect at the time of the reading.
statuses
An array (a Lua table) of status values for all the readings in the buffer. The status values are floating-point numbers that encode the status value into a floating-point value. See Buffer status (on page 3-11).
timestamps
If enabled, an array (a Lua table) of timestamps, in seconds, of when each reading occurred. These are relative to the basetimestamp for the buffer. See Reading buffer commands (on page 3-6).
* The default attribute is readings, which can be omitted.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers
2601B-PULSE-901-01 Rev. B November 2021 3-11
Examples: The following programming example illustrates how to output 100 readings from buffer 1:
printbuffer(1, 100, smua.nvbuffer1.readings)
The default reading attribute is readings and can be omitted. Thus, the following also outputs 100 readings from buffer 1:
printbuffer(1, 100, smua.nvbuffer1)
Similarly, the following outputs 100 corresponding source values from buffer 1:
printbuffer(1, 100, smua.nvbuffer1.sourcevalues)

Buffer status

The buffer reading status attribute includes the status information as a numeric value; see the following table for values. For example, to access status information for the second element of SMU buffer 1, use the following command:
stat_info = smua.nvbuffer1.statuses[2]
Buffer status bits
Bit
Name
Hex value
Description
B0
Pulser
0x01
The pulser was enabled
B1
Overtemp
0x02
Over temperature condition
B2
AutoRangeMeas
0x04
Measure range was autoranged
B3
AutoRangeSrc
0x08
Source range was autoranged
B4
4Wire
0x10
4-wire (remote) sense mode enabled
B5
Rel
0x20
Rel applied to reading
B6
Compliance
0x40
Source function in compliance
B7
Filtered
0x80
Reading was filtered

Dynamic reading buffers

Reading buffers can also be allocated dynamically. You create and allocate the dynamic reading buffers with the smua.makebuffer(n) command, where n is the number of readings the buffer can store. For example, the following command allocates a reading buffer named mybuffer that can
store 100 readings:
mybuffer = smua.makebuffer(100)
You can delete allocated reading buffers by sending the following command:
mybuffer = nil
You can use dynamically allocated reading buffers interchangeably with the smua.nvbufferY buffers that are described in Dedicated reading buffer designations (on page 3-6).
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
3-12 2601B-PULSE-901-01 Rev. B November 2021

Buffer examples

Dedicated reading buffer example
The following programming example illustrates how to store data using dedicated reading buffer 1. In the example, the 2601B-PULSE loops for voltages from 0.01 V to 1 V with 0.01 V steps (performing a staircase sweep), stores 100 current readings and source values in buffer 1, and then recalls all 100 readings and source values.
-- Restore 2601B-PULSE defaults. smua.reset()
-- Select channel A display. display.screen = display.SMUA
-- Display current. display.smua.measure.func = display.MEASURE_DCAMPS
-- Select measure I autorange. smua.measure.autorangei = smua.AUTORANGE_ON
-- Select ASCII data format. format.data = format.ASCII
-- Clear buffer 1. smua.nvbuffer1.clear()
-- Enable append buffer mode. smua.nvbuffer1.appendmode = 1
-- Enable source value storage. smua.nvbuffer1.collectsourcevalues = 1
-- Set the count to 1. smua.measure.count = 1
-- Select the source voltage function. smua.source.func = smua.OUTPUT_DCVOLTS
-- Set the bias voltage to 0 V. smua.source.levelv = 0.0
-- Turn on the output. smua.source.output = smua.OUTPUT_ON
-- Loop for voltages from 0.01 V to 1 V. for v = 1, 100 do
-- Set the source voltage. smua.source.levelv = v * 0.01
-- Measure the current and store in nvbuffer1. smua.measure.i(smua.nvbuffer1) end
-- Turn off the output. smua.source.output = smua.OUTPUT_OFF
-- Output readings 1 to 100. printbuffer(1, smua.nvbuffer1.n, smua.nvbuffer1.readings)
-- Output source values 1 to 100. printbuffer(1, smua.nvbuffer1.n, smua.nvbuffer1.sourcevalues)
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers
2601B-PULSE-901-01 Rev. B November 2021 3-13
Dual buffer example
The programming example below shows a script that stores current and voltage readings using buffer 1 for current and buffer 2 for voltage readings. The 2601B-PULSE stores 100 current and voltage readings and then recalls all 100 sets of readings.
-- Restore 2601B-PULSE defaults. smua.reset()
-- Select measure I autorange. smua.measure.autorangei = smua.AUTORANGE_ON
-- Select measure V autorange. smua.measure.autorangev = smua.AUTORANGE_ON
-- Select ASCII data format. format.data = format.ASCII
-- Clear buffer 1. smua.nvbuffer1.clear()
-- Clear buffer 2. smua.nvbuffer2.clear()
-- Set buffer count to 100. smua.measure.count = 100
-- Set measure interval to 0.1 s. smua.measure.interval = 0.1
-- Select source voltage function. smua.source.func = smua.OUTPUT_DCVOLTS
-- Output 1 V. smua.source.levelv = 1
-- Turn on output. smua.source.output = smua.OUTPUT_ON
-- Store current readings in buffer 1, voltage readings in buffer 2. smua.measure.overlappediv(smua.nvbuffer1, smua.nvbuffer2)
-- Wait for buffer to fill. waitcomplete()
-- Turn off output. smua.source.output = smua.OUTPUT_OFF
-- Output buffer 1 readings 1 to 100. printbuffer(1, 100, smua.nvbuffer1)
-- Output buffer 2 readings 1 to 100. printbuffer(1, 100, smua.nvbuffer2)
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual
3-14 2601B-PULSE-901-01 Rev. B November 2021
Dynamically allocated buffer example
The programming example below illustrates how to store data to an allocated buffer called mybuffer. The 2601B-PULSE stores 100 current readings in mybuffer and then recalls all the readings.
-- Restore 2601B-PULSE defaults. smua.reset()
-- Select measure I autorange. smua.measure.autorangei = smua.AUTORANGE_ON
-- Select measure V autorange. smua.measure.autorangev = smua.AUTORANGE_ON
-- Select ASCII data format. format.data = format.ASCII
-- Set the buffer count to 100. smua.measure.count = 100
-- Set the measure interval to 0.1 s. smua.measure.interval = 0.1
-- Select the source voltage function. smua.source.func = smua.OUTPUT_DCVOLTS
-- Set the source voltage to output 1 V. smua.source.levelv = 1
-- Turn on the output. smua.source.output = smua.OUTPUT_ON
-- Create a temporary reading buffer. mybuffer = smua.makebuffer(smua.measure.count)
-- Store current readings in mybuffer. smua.measure.overlappedi(mybuffer)
-- Wait for the buffer to fill. waitcomplete()
-- Turn off the output. smua.source.output = smua.OUTPUT_OFF
-- Output readings 1 to 100 from mybuffer. printbuffer(1, 100, mybuffer)
-- Delete mybuffer. mybuffer = nil
Loading...