Series 2600B System SourceMeter® Instrument Reference Manual Keithley 2612

Manual%20Keithley%202612

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 897 [warning: Documents this large are best viewed by clicking the View PDF Link!]

Series 2600B
System SourceMeter® Instrument
Reference Manual
2600BS-901-01 Rev. C / August 2016
*P2600BS-901-01C*
2600BS-901-01
A Tektr onix Company
A Greater Measure of Condence
www.tek.com/keithley
System SourceMeter® Instrument
Reference Manual
© 2012-2016, Keithley Instruments, Inc.
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, Inc. is strictly prohibited.
TSP®, TSP-Link®, and TSP-Net® are trademarks of Keithley Instruments, Inc. All Keithley
Instruments product names are trademarks or registered trademarks of Keithley Instruments, Inc.
Other brand names are trademarks or registered trademarks of their respective holders.
Document number: 2600BS-901-01 Rev. C / August 2016
Series 2600B
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 qualified 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 Instruments 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 danger. 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 caution, 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 dangers 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.
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 Instruments. 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 Instruments to maintain accuracy and functionality of the product). If you are unsure about the
applicability of a replacement component, call a Keithley Instruments 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 damp cloth 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 March 2016.
Introduction ................................................................................................................. 1-1
Welcome .............................................................................................................................. 1-1
Extended warranty ............................................................................................................... 1-1
Contact information .............................................................................................................. 1-1
Customer documentation ..................................................................................................... 1-2
Organization of manual sections ............................................................................................... 1-2
Product software and drivers ............................................................................................... 1-2
Capabilities and features ..................................................................................................... 1-3
General information .............................................................................................................. 1-4
Displaying the instrument's serial number ................................................................................. 1-4
General operation ....................................................................................................... 2-1
General ratings ..................................................................................................................... 2-1
Controls, indicators, and connectors .................................................................................... 2-2
Front panel ................................................................................................................................ 2-2
Rear panel................................................................................................................................. 2-6
Cooling vents ..................................................................................................................... 2-12
Turning your instrument on and off .................................................................................... 2-13
Procedure................................................................................................................................ 2-13
Placing a Series 2600B in standby .......................................................................................... 2-14
Warmup period ........................................................................................................................ 2-14
Line frequency configuration ................................................................................................... 2-15
Fuse replacement ................................................................................................................... 2-15
System information ............................................................................................................ 2-15
Menu overview ................................................................................................................... 2-16
Menu navigation ...................................................................................................................... 2-16
Menu trees .............................................................................................................................. 2-16
Setting values .......................................................................................................................... 2-21
Beeper ................................................................................................................................ 2-23
Display mode ..................................................................................................................... 2-24
Basic operation .................................................................................................................. 2-24
Operation overview ................................................................................................................. 2-25
Operation considerations for the ADC ..................................................................................... 2-31
Basic source-measure procedure ........................................................................................... 2-33
Triggering in local mode .......................................................................................................... 2-37
Configuring trigger attributes in local mode ............................................................................. 2-37
Configuring for measure-only tests using the MODE key ........................................................ 2-38
V-meter and I-meter measurements ....................................................................................... 2-39
Ohms measurements .............................................................................................................. 2-39
Power measurements ............................................................................................................. 2-43
Contact check measurements ................................................................................................. 2-45
Saved setups .......................................................................................................................... 2-47
DUT test connections ......................................................................................................... 2-49
Input/output connectors ........................................................................................................... 2-49
2-wire local sensing connections ............................................................................................. 2-54
Table of Contents
Table of Contents
Series 2600B System SourceMeter® Instrument
Reference Manual
4-wire remote sensing connections ......................................................................................... 2-55
Contact check connections ..................................................................................................... 2-56
Multiple SMU connections ....................................................................................................... 2-56
Guarding and shielding ........................................................................................................... 2-61
Test fixture .............................................................................................................................. 2-71
Floating a SMU ....................................................................................................................... 2-72
DUT connection settings .................................................................................................... 2-74
Sense mode selection ............................................................................................................. 2-75
Output-off states ...................................................................................................................... 2-76
USB storage overview ........................................................................................................ 2-79
Connecting the USB flash drive .............................................................................................. 2-80
File system navigation ............................................................................................................. 2-80
Displayed error and status messages ................................................................................ 2-81
Range ................................................................................................................................. 2-81
Available ranges ...................................................................................................................... 2-81
Maximum source values and readings .................................................................................... 2-82
Measure auto delay ................................................................................................................. 2-82
Ranging limitations .................................................................................................................. 2-82
Manual ranging ....................................................................................................................... 2-82
Autoranging ............................................................................................................................. 2-83
Low range limits ...................................................................................................................... 2-83
Range considerations ............................................................................................................. 2-84
Range programming ............................................................................................................... 2-85
Digits .................................................................................................................................. 2-86
Setting display resolution from the front panel ........................................................................ 2-86
Setting display resolution from a remote interface .................................................................. 2-87
Speed ................................................................................................................................. 2-87
Setting speed .......................................................................................................................... 2-87
Remote communication interfaces ..................................................................................... 2-88
Supported remote interfaces ................................................................................................... 2-89
Output queue .......................................................................................................................... 2-91
USB communications .............................................................................................................. 2-91
LAN communications .............................................................................................................. 2-96
Supplied software .................................................................................................................... 2-98
Keithley I/O layer ................................................................................................................... 2-101
GPIB operation ...................................................................................................................... 2-102
General bus commands ........................................................................................................ 2-105
Front-panel GPIB operation .................................................................................................. 2-106
RS-232 interface operation ................................................................................................... 2-108
Functions and features .............................................................................................. 3-1
Relative offset ...................................................................................................................... 3-1
Front panel relative offset .......................................................................................................... 3-1
Remote relative offset programming ......................................................................................... 3-2
Filters.................................................................................................................................... 3-3
Filter types ................................................................................................................................. 3-3
Response time .......................................................................................................................... 3-4
Front panel filter control ............................................................................................................ 3-4
Remote filter programming ........................................................................................................ 3-5
Reading buffers .................................................................................................................... 3-6
Front-panel reading buffer control ............................................................................................. 3-6
Remote reading buffer programming ...................................................................................... 3-11
Sweep operation ................................................................................................................ 3-20
Series 2600B
System SourceMeter® Instrument Reference Manual Table
of Contents
Overview ................................................................................................................................. 3-20
Sweep characteristics ............................................................................................................. 3-22
Configuring and running sweeps ............................................................................................. 3-29
Sweeping using factory scripts ................................................................................................ 3-30
Sweep programming examples ............................................................................................... 3-31
Triggering ........................................................................................................................... 3-32
Remote triggering overview..................................................................................................... 3-32
Using the remote trigger model ............................................................................................... 3-34
SMU event detectors ............................................................................................................... 3-39
Using trigger events to start actions on trigger objects ............................................................ 3-40
Digital I/O port and TSP-Link synchronization lines ................................................................ 3-41
Timers ..................................................................................................................................... 3-43
Event blenders ........................................................................................................................ 3-49
LAN triggering overview .......................................................................................................... 3-50
Command interface triggering ................................................................................................. 3-52
Trigger generator .................................................................................................................... 3-53
Manual triggering .................................................................................................................... 3-53
Interactive triggering ................................................................................................................ 3-53
Hardware trigger modes .......................................................................................................... 3-57
Understanding synchronous triggering modes ........................................................................ 3-61
High-capacitance mode ..................................................................................................... 3-65
Overview ................................................................................................................................. 3-65
Understanding high-capacitance mode ................................................................................... 3-65
Enabling high-capacitance mode ............................................................................................ 3-67
Display operations .............................................................................................................. 3-70
Display functions and attributes .............................................................................................. 3-70
Display features ...................................................................................................................... 3-70
Display messages ................................................................................................................... 3-71
Input prompting ....................................................................................................................... 3-75
Indicators................................................................................................................................. 3-77
Local lockout ........................................................................................................................... 3-78
Load test menu ....................................................................................................................... 3-78
Running a test from the front panel ......................................................................................... 3-80
Key-press codes ..................................................................................................................... 3-80
Digital I/O ........................................................................................................................... 3-82
Digital I/O port ......................................................................................................................... 3-82
Using output enable ................................................................................................................ 3-86
Interlock .................................................................................................................................. 3-88
TSP-Link synchronization lines ............................................................................................... 3-89
Theory of operation .................................................................................................... 4-1
Analog-to-digital converter ................................................................................................... 4-1
Source-measure concepts ................................................................................................... 4-1
Overview ................................................................................................................................... 4-1
Compliance limit principles ........................................................................................................ 4-2
Overheating protection .............................................................................................................. 4-2
Operating boundaries ................................................................................................................ 4-5
Basic circuit configurations ...................................................................................................... 4-20
Guard ...................................................................................................................................... 4-24
Measurement settling time considerations ......................................................................... 4-26
For controlling settling time delay ............................................................................................ 4-27
For analog filter (Models 2634B/2635B/2636B only) ............................................................... 4-27
Effects of load on current source settling time ................................................................... 4-27
Creating pulses with the Series 2600B .............................................................................. 4-28
Table of Contents
Series 2600B System SourceMeter® Instrument
Reference Manual
Pulse rise and fall times .......................................................................................................... 4-28
Pulse width .............................................................................................................................. 4-29
Introduction to TSP operation ................................................................................... 5-1
Introduction to TSP operation .............................................................................................. 5-1
Controlling the instrument by sending individual command messages ..................................... 5-1
Queries ..................................................................................................................................... 5-2
Information on scripting and programming ................................................................................ 5-3
About TSP commands ......................................................................................................... 5-3
Beeper control ........................................................................................................................... 5-3
Bit manipulation and logic operations ........................................................................................ 5-3
Data queue................................................................................................................................ 5-4
Digital I/O .................................................................................................................................. 5-5
Display ...................................................................................................................................... 5-6
Error queue ............................................................................................................................... 5-6
Event log ................................................................................................................................... 5-6
File I/O ...................................................................................................................................... 5-7
GPIB ......................................................................................................................................... 5-8
Instrument identification ............................................................................................................ 5-8
LAN and LXI .............................................................................................................................. 5-9
Miscellaneous ......................................................................................................................... 5-10
Parallel script execution .......................................................................................................... 5-10
Queries and response messages ............................................................................................ 5-10
Reading buffer ......................................................................................................................... 5-11
Reset ....................................................................................................................................... 5-11
RS-232 .................................................................................................................................... 5-11
Saved setups .......................................................................................................................... 5-12
Scripting .................................................................................................................................. 5-12
SMU ........................................................................................................................................ 5-13
SMU calibration ....................................................................................................................... 5-14
Status model ........................................................................................................................... 5-15
Time ........................................................................................................................................ 5-16
Triggering ................................................................................................................................ 5-17
TSP-Link ................................................................................................................................. 5-19
TSP-Net .................................................................................................................................. 5-19
Userstrings .............................................................................................................................. 5-20
Factory scripts .................................................................................................................... 5-20
Introduction ............................................................................................................................. 5-20
Running a factory script .......................................................................................................... 5-20
Retrieving and modifying a factory script listing ...................................................................... 5-21
KISweep factory script ............................................................................................................ 5-21
KIPulse factory script .............................................................................................................. 5-22
KIHighC factory script ............................................................................................................. 5-23
KIParlib factory script .............................................................................................................. 5-23
KISavebuffer factory script ...................................................................................................... 5-24
Instrument programming ........................................................................................... 6-1
Fundamentals of scripting for TSP ....................................................................................... 6-1
What is a script? ........................................................................................................................ 6-2
Run-time and nonvolatile memory storage of scripts ................................................................ 6-2
What can be included in scripts? ............................................................................................... 6-2
Commands that cannot be used in scripts ................................................................................ 6-3
Manage scripts .......................................................................................................................... 6-3
Working with scripts in nonvolatile memory............................................................................... 6-7
Programming example .............................................................................................................. 6-9
Fundamentals of programming for TSP ............................................................................. 6-11
Series 2600B
System SourceMeter® Instrument Reference Manual Table
of Contents
Introduction ............................................................................................................................. 6-11
What is Lua? ........................................................................................................................... 6-11
Lua basics ............................................................................................................................... 6-11
Standard libraries .................................................................................................................... 6-25
Programming example ............................................................................................................ 6-29
Test Script Builder (TSB) ................................................................................................... 6-29
Installing the TSB software...................................................................................................... 6-29
Installing the TSB add-in ......................................................................................................... 6-30
Using Test Script Builder (TSB) .............................................................................................. 6-30
Project navigator ..................................................................................................................... 6-31
Script editor ............................................................................................................................. 6-32
Outline view ............................................................................................................................. 6-32
Programming interaction ......................................................................................................... 6-33
Password management ..................................................................................................... 6-33
Password overview ................................................................................................................. 6-34
Working with TSB Embedded ............................................................................................ 6-36
Sending instrument commands with TSB Embedded ............................................................. 6-36
Advanced scripting for TSP ............................................................................................... 6-37
Global variables and the script.user.scripts table .................................................................... 6-37
Create a script using the script.new() command ..................................................................... 6-39
Rename a script ...................................................................................................................... 6-41
Retrieve a user script .............................................................................................................. 6-43
Delete user scripts from the instrument ................................................................................... 6-44
Restore a script to the run-time environment .......................................................................... 6-45
Memory considerations for the run-time environment ............................................................. 6-45
TSP-Link system expansion interface ................................................................................ 6-46
Overview ................................................................................................................................. 6-47
Connections ............................................................................................................................ 6-49
Initialization ............................................................................................................................. 6-49
Resetting the TSP-Link network .............................................................................................. 6-50
Using the expanded system .................................................................................................... 6-51
TSP advanced features ........................................................................................................... 6-52
Using groups to manage nodes on TSP-Link network ............................................................ 6-55
Running simultaneous test scripts ........................................................................................... 6-56
Using the data queue for real-time communication ................................................................. 6-57
Copying test scripts across the TSP-Link network .................................................................. 6-57
Removing stale values from the reading buffer cache ............................................................ 6-58
TSP-Net ............................................................................................................................. 6-58
Overview ................................................................................................................................. 6-58
TSP-Net capabilities ................................................................................................................ 6-59
Using TSP-Net with any ethernet instrument .......................................................................... 6-59
TSP-Net compared to TSP-Link to communicate with TSP-enabled devices ......................... 6-61
TSP-Net instrument commands: General device control ........................................................ 6-61
TSP-Net instrument commands: TSP-enabled device control ................................................ 6-61
Example: Using tspnet commands .......................................................................................... 6-62
TSP command reference ............................................................................................ 7-1
TSP command programming notes ..................................................................................... 7-1
Placeholder text ........................................................................................................................ 7-2
Syntax rules .............................................................................................................................. 7-3
Time and date values ................................................................................................................ 7-3
Using the TSP command reference ..................................................................................... 7-4
Command name and summary table ........................................................................................ 7-4
Command usage ....................................................................................................................... 7-5
Command details ...................................................................................................................... 7-6
Table of Contents
Series 2600B System SourceMeter® Instrument
Reference Manual
Example section ........................................................................................................................ 7-6
Related commands and information .......................................................................................... 7-7
TSP commands .................................................................................................................... 7-8
beeper.beep() ............................................................................................................................ 7-8
beeper.enable ........................................................................................................................... 7-9
bit.bitand() ................................................................................................................................. 7-9
bit.bitor() .................................................................................................................................. 7-10
bit.bitxor() ................................................................................................................................ 7-10
bit.clear() ................................................................................................................................. 7-11
bit.get() .................................................................................................................................... 7-12
bit.getfield() ............................................................................................................................. 7-12
bit.set() .................................................................................................................................... 7-13
bit.setfield() .............................................................................................................................. 7-14
bit.test() ................................................................................................................................... 7-15
bit.toggle() ............................................................................................................................... 7-16
bufferVar.appendmode ........................................................................................................... 7-17
bufferVar.basetimestamp ........................................................................................................ 7-17
bufferVar.cachemode .............................................................................................................. 7-18
bufferVar.capacity ................................................................................................................... 7-19
bufferVar.clear() ...................................................................................................................... 7-20
bufferVar.clearcache() ............................................................................................................. 7-20
bufferVar.collectsourcevalues ................................................................................................. 7-21
bufferVar.collecttimestamps .................................................................................................... 7-22
bufferVar.fillcount .................................................................................................................... 7-23
bufferVar.fillmode .................................................................................................................... 7-24
bufferVar.measurefunctions .................................................................................................... 7-25
bufferVar.measureranges........................................................................................................ 7-26
bufferVar.n .............................................................................................................................. 7-27
bufferVar.readings ................................................................................................................... 7-28
bufferVar.sourcefunctions ....................................................................................................... 7-29
bufferVar.sourceoutputstates .................................................................................................. 7-30
bufferVar.sourceranges ........................................................................................................... 7-31
bufferVar.sourcevalues ........................................................................................................... 7-32
bufferVar.statuses ................................................................................................................... 7-33
bufferVar.timestampresolution ................................................................................................ 7-34
bufferVar.timestamps .............................................................................................................. 7-35
ConfigPulseIMeasureV() ......................................................................................................... 7-36
ConfigPulseIMeasureVSweepLin() ......................................................................................... 7-38
ConfigPulseIMeasureVSweepLog() ........................................................................................ 7-40
ConfigPulseVMeasureI() ......................................................................................................... 7-42
ConfigPulseVMeasureISweepLin() ......................................................................................... 7-45
ConfigPulseVMeasureISweepLog() ........................................................................................ 7-47
dataqueue.add() ...................................................................................................................... 7-49
dataqueue.CAPACITY ............................................................................................................ 7-50
dataqueue.clear() .................................................................................................................... 7-51
dataqueue.count ..................................................................................................................... 7-51
dataqueue.next() ..................................................................................................................... 7-52
delay() ..................................................................................................................................... 7-53
digio.readbit() .......................................................................................................................... 7-54
digio.readport() ........................................................................................................................ 7-54
digio.trigger[N].assert() ............................................................................................................ 7-55
digio.trigger[N].clear() .............................................................................................................. 7-55
digio.trigger[N].EVENT_ID ...................................................................................................... 7-56
digio.trigger[N].mode ............................................................................................................... 7-56
digio.trigger[N].overrun ............................................................................................................ 7-58
digio.trigger[N].pulsewidth ....................................................................................................... 7-58
digio.trigger[N].release() .......................................................................................................... 7-59
digio.trigger[N].reset() ............................................................................................................. 7-60
digio.trigger[N].stimulus ........................................................................................................... 7-61
digio.trigger[N].wait() ............................................................................................................... 7-63
Se
ries 2600B System SourceMeter® Instrument Reference Manual Table
of Contents
digio.writebit() .......................................................................................................................... 7-64
digio.writeport() ....................................................................................................................... 7-64
digio.writeprotect ..................................................................................................................... 7-65
display.clear() .......................................................................................................................... 7-66
display.getannunciators() ........................................................................................................ 7-66
display.getcursor() ................................................................................................................... 7-68
display.getlastkey() ................................................................................................................. 7-69
display.gettext() ....................................................................................................................... 7-70
display.inputvalue() ................................................................................................................. 7-72
display.loadmenu.add() ........................................................................................................... 7-73
display.loadmenu.catalog() ..................................................................................................... 7-75
display.loadmenu.delete() ....................................................................................................... 7-75
display.locallockout ................................................................................................................. 7-76
display.menu() ......................................................................................................................... 7-77
display.numpad ....................................................................................................................... 7-77
display.prompt() ...................................................................................................................... 7-78
display.screen ......................................................................................................................... 7-79
display.sendkey() .................................................................................................................... 7-80
display.setcursor() ................................................................................................................... 7-82
display.settext() ....................................................................................................................... 7-83
display.smuX.digits ................................................................................................................. 7-84
display.smuX.limit.func ............................................................................................................ 7-84
display.smuX.measure.func .................................................................................................... 7-85
display.trigger.clear() ............................................................................................................... 7-86
display.trigger.EVENT_ID ....................................................................................................... 7-86
display.trigger.overrun ............................................................................................................. 7-87
display.trigger.wait() ................................................................................................................ 7-87
display.waitkey() ...................................................................................................................... 7-89
errorqueue.clear() ................................................................................................................... 7-90
errorqueue.count ..................................................................................................................... 7-91
errorqueue.next() .................................................................................................................... 7-91
eventlog.all() ............................................................................................................................ 7-92
eventlog.clear() ....................................................................................................................... 7-93
eventlog.count ......................................................................................................................... 7-94
eventlog.enable ....................................................................................................................... 7-94
eventlog.next() ........................................................................................................................ 7-95
eventlog.overwritemethod ....................................................................................................... 7-96
exit() ........................................................................................................................................ 7-96
fileVar:close() .......................................................................................................................... 7-97
fileVar:flush() ........................................................................................................................... 7-97
fileVar:read() ........................................................................................................................... 7-98
fileVar:seek() ........................................................................................................................... 7-99
fileVar:write() ......................................................................................................................... 7-100
format.asciiprecision ............................................................................................................. 7-101
format.byteorder .................................................................................................................... 7-101
format.data ............................................................................................................................ 7-102
fs.chdir() ................................................................................................................................ 7-103
fs.cwd() ................................................................................................................................. 7-104
fs.is_dir() ............................................................................................................................... 7-104
fs.is_file() ............................................................................................................................... 7-105
fs.mkdir() ............................................................................................................................... 7-105
fs.readdir() ............................................................................................................................. 7-105
fs.rmdir() ................................................................................................................................ 7-106
gettimezone() ........................................................................................................................ 7-107
gm_isweep() .......................................................................................................................... 7-107
gm_vsweep() ......................................................................................................................... 7-108
gpib.address .......................................................................................................................... 7-109
i_leakage_measure() ............................................................................................................ 7-110
i_leakage_threshold() ............................................................................................................ 7-111
InitiatePulseTest() ................................................................................................................. 7-112
InitiatePulseTestDual() .......................................................................................................... 7-114
Table of Contents
Series 2600B System SourceMeter® Instrument
Reference Manual
io.close()................................................................................................................................ 7-117
io.flush() ................................................................................................................................ 7-117
io.input() ................................................................................................................................ 7-118
io.open() ................................................................................................................................ 7-119
io.output() .............................................................................................................................. 7-119
io.read() ................................................................................................................................. 7-120
io.type() ................................................................................................................................. 7-121
io.write() ................................................................................................................................ 7-121
lan.applysettings() ................................................................................................................. 7-122
lan.autoconnect ..................................................................................................................... 7-123
lan.config.dns.address[N] ...................................................................................................... 7-123
lan.config.dns.domain ........................................................................................................... 7-124
lan.config.dns.dynamic .......................................................................................................... 7-125
lan.config.dns.hostname ....................................................................................................... 7-125
lan.config.dns.verify .............................................................................................................. 7-126
lan.config.duplex ................................................................................................................... 7-127
lan.config.gateway ................................................................................................................ 7-127
lan.config.ipaddress .............................................................................................................. 7-128
lan.config.method .................................................................................................................. 7-129
lan.config.speed .................................................................................................................... 7-129
lan.config.subnetmask .......................................................................................................... 7-130
lan.linktimeout ....................................................................................................................... 7-130
lan.lxidomain ......................................................................................................................... 7-131
lan.nagle ............................................................................................................................... 7-132
lan.reset() .............................................................................................................................. 7-132
lan.restoredefaults() .............................................................................................................. 7-132
lan.status.dns.address[N] ...................................................................................................... 7-133
lan.status.dns.name .............................................................................................................. 7-134
lan.status.duplex ................................................................................................................... 7-135
lan.status.gateway ................................................................................................................ 7-135
lan.status.ipaddress .............................................................................................................. 7-136
lan.status.macaddress .......................................................................................................... 7-136
lan.status.port.dst .................................................................................................................. 7-137
lan.status.port.rawsocket ...................................................................................................... 7-137
lan.status.port.telnet .............................................................................................................. 7-138
lan.status.port.vxi11 .............................................................................................................. 7-138
lan.status.speed .................................................................................................................... 7-139
lan.status.subnetmask .......................................................................................................... 7-139
lan.timedwait ......................................................................................................................... 7-140
lan.trigger[N].assert() ............................................................................................................ 7-140
lan.trigger[N].clear() .............................................................................................................. 7-141
lan.trigger[N].connect() .......................................................................................................... 7-142
lan.trigger[N].connected ........................................................................................................ 7-142
lan.trigger[N].disconnect() ..................................................................................................... 7-143
lan.trigger[N].EVENT_ID ....................................................................................................... 7-144
lan.trigger[N].ipaddress ......................................................................................................... 7-144
lan.trigger[N].mode ................................................................................................................ 7-145
lan.trigger[N].overrun ............................................................................................................ 7-146
lan.trigger[N].protocol ............................................................................................................ 7-147
lan.trigger[N].pseudostate ..................................................................................................... 7-147
lan.trigger[N].stimulus ........................................................................................................... 7-148
lan.trigger[N].wait() ................................................................................................................ 7-150
localnode.autolinefreq ........................................................................................................... 7-150
localnode.description ............................................................................................................ 7-151
localnode.linefreq .................................................................................................................. 7-152
localnode.model .................................................................................................................... 7-153
localnode.password .............................................................................................................. 7-153
localnode.passwordmode ..................................................................................................... 7-154
localnode.prompts ................................................................................................................. 7-154
localnode.prompts4882 ......................................................................................................... 7-155
localnode.reset() ................................................................................................................... 7-156
Series 2600B
System SourceMeter® Instrument Reference Manual Table
of Contents
localnode.revision ................................................................................................................. 7-157
localnode.serialno ................................................................................................................. 7-157
localnode.showerrors ............................................................................................................ 7-158
makegetter() .......................................................................................................................... 7-159
makesetter() .......................................................................................................................... 7-159
meminfo() .............................................................................................................................. 7-160
node[N].execute() .................................................................................................................. 7-161
node[N].getglobal() ................................................................................................................ 7-162
node[N].setglobal() ................................................................................................................ 7-162
opc() ...................................................................................................................................... 7-163
os.remove() ........................................................................................................................... 7-163
os.rename() ........................................................................................................................... 7-164
os.time() ................................................................................................................................ 7-164
print() ..................................................................................................................................... 7-165
printbuffer() ............................................................................................................................ 7-166
printnumber() ......................................................................................................................... 7-169
PulseIMeasureV() ................................................................................................................. 7-169
PulseVMeasureI() ................................................................................................................. 7-170
QueryPulseConfig() ............................................................................................................... 7-171
reset() .................................................................................................................................... 7-173
savebuffer() ........................................................................................................................... 7-174
script.anonymous .................................................................................................................. 7-175
script.delete() ........................................................................................................................ 7-176
script.factory.catalog() ........................................................................................................... 7-176
script.load() ........................................................................................................................... 7-177
script.new() ............................................................................................................................ 7-178
script.newautorun() ............................................................................................................... 7-179
script.restore() ....................................................................................................................... 7-180
script.run() ............................................................................................................................. 7-180
script.user.catalog() ............................................................................................................... 7-181
scriptVar.autorun ................................................................................................................... 7-181
scriptVar.list() ........................................................................................................................ 7-183
scriptVar.name ...................................................................................................................... 7-183
scriptVar.run() ....................................................................................................................... 7-184
scriptVar.save() ..................................................................................................................... 7-186
scriptVar.source .................................................................................................................... 7-187
serial.baud............................................................................................................................. 7-187
serial.databits ........................................................................................................................ 7-188
serial.flowcontrol ................................................................................................................... 7-189
serial.parity ............................................................................................................................ 7-189
serial.read() ........................................................................................................................... 7-190
serial.write() ........................................................................................................................... 7-191
settime() ................................................................................................................................ 7-192
settimezone() ........................................................................................................................ 7-192
setup.poweron ....................................................................................................................... 7-193
setup.recall() ......................................................................................................................... 7-194
setup.save() .......................................................................................................................... 7-195
smuX.abort() ......................................................................................................................... 7-196
smuX.buffer.getstats() ........................................................................................................... 7-196
smuX.buffer.recalculatestats() ............................................................................................... 7-197
smuX.cal.adjustdate .............................................................................................................. 7-198
smuX.cal.date ....................................................................................................................... 7-199
smuX.cal.due ........................................................................................................................ 7-200
smuX.cal.lock() ...................................................................................................................... 7-201
smuX.cal.password ............................................................................................................... 7-201
smuX.cal.polarity ................................................................................................................... 7-202
smuX.cal.restore() ................................................................................................................. 7-203
smuX.cal.save() .................................................................................................................... 7-204
smuX.cal.state ....................................................................................................................... 7-204
smuX.cal.unlock() .................................................................................................................. 7-205
smuX.contact.calibratehi() ..................................................................................................... 7-206
Table of Contents
Series 2600B System SourceMeter® Instrument Refer
ence Manual
smuX.contact.calibratelo() ..................................................................................................... 7-208
smuX.contact.check() ............................................................................................................ 7-209
smuX.contact.r() .................................................................................................................... 7-210
smuX.contact.speed .............................................................................................................. 7-211
smuX.contact.threshold ......................................................................................................... 7-212
smuX.makebuffer() ................................................................................................................ 7-212
smuX.measure.analogfilter.................................................................................................... 7-213
smuX.measure.autorangeY................................................................................................... 7-214
smuX.measure.autozero ....................................................................................................... 7-215
smuX.measure.calibrateY() ................................................................................................... 7-216
smuX.measure.count ............................................................................................................ 7-217
smuX.measure.delay ............................................................................................................ 7-218
smuX.measure.delayfactor.................................................................................................... 7-219
smuX.measure.filter.count .................................................................................................... 7-219
smuX.measure.filter.enable................................................................................................... 7-220
smuX.measure.filter.type ...................................................................................................... 7-221
smuX.measure.highcrangedelayfactor .................................................................................. 7-222
smuX.measure.interval ......................................................................................................... 7-222
smuX.measure.lowrangeY .................................................................................................... 7-223
smuX.measure.nplc .............................................................................................................. 7-224
smuX.measure.overlappedY() ............................................................................................... 7-225
smuX.measure.rangeY ......................................................................................................... 7-226
smuX.measure.rel.enableY ................................................................................................... 7-227
smuX.measure.rel.levelY ...................................................................................................... 7-228
smuX.measure.Y() ................................................................................................................ 7-229
smuX.measureYandstep() .................................................................................................... 7-230
smuX.nvbufferY ..................................................................................................................... 7-231
smuX.reset() .......................................................................................................................... 7-232
smuX.savebuffer() ................................................................................................................. 7-232
smuX.sense .......................................................................................................................... 7-233
smuX.source.autorangeY ...................................................................................................... 7-234
smuX.source.calibrateY() ...................................................................................................... 7-235
smuX.source.compliance ...................................................................................................... 7-236
<sm.source.delay .................................................................................................................. 7-237
smuX.source.func ................................................................................................................. 7-237
smuX.source.highc ................................................................................................................ 7-238
smuX.source.levelY .............................................................................................................. 7-239
smuX.source.limitY ............................................................................................................... 7-240
smuX.source.lowrangeY ....................................................................................................... 7-241
smuX.source.offfunc ............................................................................................................. 7-242
smuX.source.offlimitY ........................................................................................................... 7-242
smuX.source.offmode ........................................................................................................... 7-243
smuX.source.output .............................................................................................................. 7-244
smuX.source.outputenableaction .......................................................................................... 7-245
smuX.source.rangeY ............................................................................................................. 7-247
smuX.source.settling ............................................................................................................. 7-248
smuX.source.sink .................................................................................................................. 7-249
smuX.trigger.arm.count ......................................................................................................... 7-250
smuX.trigger.arm.set() .......................................................................................................... 7-250
smuX.trigger.arm.stimulus..................................................................................................... 7-251
smuX.trigger.ARMED_EVENT_ID ........................................................................................ 7-253
smuX.trigger.autoclear .......................................................................................................... 7-253
smuX.trigger.count ................................................................................................................ 7-254
smuX.trigger.endpulse.action ................................................................................................ 7-254
smuX.trigger.endpulse.set() .................................................................................................. 7-255
smuX.trigger.endpulse.stimulus ............................................................................................ 7-256
smuX.trigger.endsweep.action .............................................................................................. 7-258
smuX.trigger.IDLE_EVENT_ID ............................................................................................. 7-258
smuX.trigger.initiate() ............................................................................................................ 7-259
smuX.trigger.measure.action ................................................................................................ 7-260
smuX.trigger.measure.set() ................................................................................................... 7-261
Series 2600B
System SourceMeter® Instrument Reference Manual Table
of Contents
smuX.trigger.measure.stimulus ............................................................................................. 7-261
smuX.trigger.measure.Y() ..................................................................................................... 7-264
smuX.trigger.MEASURE_COMPLETE_EVENT_ID .............................................................. 7-265
smuX.trigger.PULSE_COMPLETE_EVENT_ID .................................................................... 7-265
smuX.trigger.source.action.................................................................................................... 7-266
smuX.trigger.source.limitY .................................................................................................... 7-267
smuX.trigger.source.linearY() ................................................................................................ 7-268
smuX.trigger.source.listY() .................................................................................................... 7-269
smuX.trigger.source.logY().................................................................................................... 7-270
smuX.trigger.source.set() ...................................................................................................... 7-271
smuX.trigger.source.stimulus ................................................................................................ 7-272
smuX.trigger.SOURCE_COMPLETE_EVENT_ID ................................................................ 7-274
smuX.trigger.SWEEP_COMPLETE_EVENT_ID ................................................................... 7-274
smuX.trigger.SWEEPING_EVENT_ID .................................................................................. 7-274
status.condition ..................................................................................................................... 7-275
status.measurement.* ........................................................................................................... 7-277
status.measurement.buffer_available.* ................................................................................. 7-279
status.measurement.current_limit.* ....................................................................................... 7-280
status.measurement.instrument.* .......................................................................................... 7-282
status.measurement.instrument.smuX.* ............................................................................... 7-283
status.measurement.reading_overflow.* ............................................................................... 7-286
status.measurement.voltage_limit.* ...................................................................................... 7-287
status.node_enable ............................................................................................................... 7-288
status.node_event ................................................................................................................. 7-290
status.operation.* .................................................................................................................. 7-292
status.operation.calibrating.* ................................................................................................. 7-294
status.operation.instrument.* ................................................................................................. 7-295
status.operation.instrument.digio.* ........................................................................................ 7-298
status.operation.instrument.digio.trigger_overrun.* ............................................................... 7-300
status.operation.instrument.lan.* ........................................................................................... 7-302
status.operation.instrument.lan.trigger_overrun.* .................................................................. 7-304
status.operation.instrument.smuX.* ...................................................................................... 7-306
status.operation.instrument.smuX.trigger_overrrun.* ............................................................ 7-308
status.operation.instrument.trigger_blender.*........................................................................ 7-310
status.operation.instrument.trigger_blender.trigger_overrun.* .............................................. 7-311
status.operation.instrument.trigger_timer.* ........................................................................... 7-314
status.operation.instrument.trigger_timer.trigger_overrun.* .................................................. 7-316
status.operation.instrument.tsplink.* ..................................................................................... 7-318
status.operation.instrument.tsplink.trigger_overrun.* ............................................................ 7-319
status.operation.measuring.* ................................................................................................. 7-321
status.operation.remote.* ...................................................................................................... 7-323
status.operation.sweeping.* .................................................................................................. 7-324
status.operation.trigger_overrun.* ......................................................................................... 7-326
status.operation.user.* .......................................................................................................... 7-328
status.questionable.* ............................................................................................................. 7-330
status.questionable.calibration.* ............................................................................................ 7-332
status.questionable.instrument.* ........................................................................................... 7-334
status.questionable.instrument.smuX.* ................................................................................. 7-335
status.questionable.over_temperature.* ................................................................................ 7-337
status.questionable.unstable_output.* .................................................................................. 7-339
status.request_enable ........................................................................................................... 7-340
status.request_event ............................................................................................................. 7-342
status.reset() ......................................................................................................................... 7-344
status.standard.* ................................................................................................................... 7-344
status.system.* ...................................................................................................................... 7-347
status.system2.* .................................................................................................................... 7-349
status.system3.* .................................................................................................................... 7-351
status.system4.* .................................................................................................................... 7-353
status.system5.* .................................................................................................................... 7-355
SweepILinMeasureV() ........................................................................................................... 7-357
SweepIListMeasureV() .......................................................................................................... 7-358
Table of Contents
Series 2600B System SourceMeter® Instrument
Reference Manual
SweepILogMeasureV() ......................................................................................................... 7-359
SweepVLinMeasureI() ........................................................................................................... 7-361
SweepVListMeasureI() .......................................................................................................... 7-362
SweepVLogMeasureI() ......................................................................................................... 7-363
timer.measure.t() ................................................................................................................... 7-364
timer.reset() ........................................................................................................................... 7-365
trigger.blender[N].clear() ....................................................................................................... 7-365
trigger.blender[N].EVENT_ID ................................................................................................ 7-366
trigger.blender[N].orenable.................................................................................................... 7-366
trigger.blender[N].overrun ..................................................................................................... 7-367
trigger.blender[N].reset() ....................................................................................................... 7-368
trigger.blender[N].stimulus[M] ............................................................................................... 7-369
trigger.blender[N].wait() ......................................................................................................... 7-371
trigger.clear() ......................................................................................................................... 7-372
trigger.EVENT_ID ................................................................................................................. 7-372
trigger.generator[N].assert() .................................................................................................. 7-373
trigger.generator[N].EVENT_ID ............................................................................................. 7-373
trigger.timer[N].clear() ........................................................................................................... 7-374
trigger.timer[N].count ............................................................................................................. 7-374
trigger.timer[N].delay ............................................................................................................. 7-375
trigger.timer[N].delaylist ........................................................................................................ 7-375
trigger.timer[N].EVENT_ID .................................................................................................... 7-376
trigger.timer[N].overrun ......................................................................................................... 7-377
trigger.timer[N].passthrough .................................................................................................. 7-377
trigger.timer[N].reset() ........................................................................................................... 7-378
trigger.timer[N].stimulus ........................................................................................................ 7-379
trigger.timer[N].wait() ............................................................................................................. 7-381
trigger.wait() .......................................................................................................................... 7-381
tsplink.group .......................................................................................................................... 7-382
tsplink.master ........................................................................................................................ 7-383
tsplink.node ........................................................................................................................... 7-383
tsplink.readbit() ...................................................................................................................... 7-384
tsplink.readport() ................................................................................................................... 7-384
tsplink.reset() ......................................................................................................................... 7-385
tsplink.state ........................................................................................................................... 7-386
tsplink.trigger[N].assert() ....................................................................................................... 7-387
tsplink.trigger[N].clear() ......................................................................................................... 7-388
tsplink.trigger[N].EVENT_ID .................................................................................................. 7-388
tsplink.trigger[N].mode .......................................................................................................... 7-389
tsplink.trigger[N].overrun ....................................................................................................... 7-391
tsplink.trigger[N].pulsewidth .................................................................................................. 7-392
tsplink.trigger[N].release() ..................................................................................................... 7-392
tsplink.trigger[N].reset() ......................................................................................................... 7-393
tsplink.trigger[N].stimulus ...................................................................................................... 7-394
tsplink.trigger[N].wait() .......................................................................................................... 7-396
tsplink.writebit() ..................................................................................................................... 7-396
tsplink.writeport() ................................................................................................................... 7-397
tsplink.writeprotect ................................................................................................................ 7-398
tspnet.clear() ......................................................................................................................... 7-399
tspnet.connect() .................................................................................................................... 7-400
tspnet.disconnect() ................................................................................................................ 7-401
tspnet.execute() .................................................................................................................... 7-402
tspnet.idn() ............................................................................................................................ 7-403
tspnet.read() .......................................................................................................................... 7-403
tspnet.readavailable() ............................................................................................................ 7-404
tspnet.reset() ......................................................................................................................... 7-405
tspnet.termination() ............................................................................................................... 7-405
tspnet.timeout ........................................................................................................................ 7-406
tspnet.tsp.abort() ................................................................................................................... 7-407
tspnet.tsp.abortonconnect ..................................................................................................... 7-407
tspnet.tsp.rbtablecopy() ......................................................................................................... 7-408
Series 2600B
System SourceMeter® Instrument Reference Manual Table
of Contents
tspnet.tsp.runscript() ............................................................................................................. 7-409
tspnet.write() ......................................................................................................................... 7-410
userstring.add() ..................................................................................................................... 7-410
userstring.catalog() ............................................................................................................... 7-411
userstring.delete() ................................................................................................................. 7-412
userstring.get() ...................................................................................................................... 7-413
waitcomplete() ....................................................................................................................... 7-413
Troubleshooting guide ............................................................................................... 8-1
Introduction .......................................................................................................................... 8-1
Error levels ........................................................................................................................... 8-1
Effects of errors on scripts ................................................................................................... 8-2
Retrieving errors ................................................................................................................... 8-2
Error summary list ................................................................................................................ 8-3
LAN troubleshooting suggestions ........................................................................................ 8-7
Frequently asked questions (FAQs) ......................................................................... 9-1
How do I display the instrument's serial number? ............................................................... 9-1
How do I optimize performance? ......................................................................................... 9-2
Disabling autozero to increase speed ....................................................................................... 9-2
How do I upgrade the firmware? .......................................................................................... 9-3
How do I use the digital I/O port? ......................................................................................... 9-3
How do I trigger other instruments? ..................................................................................... 9-3
Triggering a scanner ................................................................................................................. 9-4
Interactive trigger programming ................................................................................................ 9-4
More information about triggering ............................................................................................. 9-4
How do I generate a GPIB service request?........................................................................ 9-4
Setting up a service request ...................................................................................................... 9-5
Service request programming example ..................................................................................... 9-5
Polling for SRQs ........................................................................................................................ 9-5
How do I store measurements in nonvolatile memory? ....................................................... 9-5
When should I change the output-off state? ........................................................................ 9-6
How do I make contact check measurements? ................................................................... 9-6
How do I make low-current measurements? ....................................................................... 9-6
Low-current connections ........................................................................................................... 9-6
Low-current measurement programming example .................................................................... 9-9
How can I change the line frequency? ................................................................................. 9-9
Where can I get the LabVIEW driver? ................................................................................. 9-9
What should I do if I get an 802 interlock error? .................................................................. 9-9
Why is the reading value 9.91e37? .................................................................................... 9-10
How do I use the included USB drive? .............................................................................. 9-10
What do I do if I lose or format the included USB drive? ................................................... 9-10
Table of Contents
Series 2600B System SourceMeter® Instrument
Reference Manual
Next steps .................................................................................................................. 10-1
Additional Series 2600B information .................................................................................. 10-1
Maintenance ................................................................................................................A-1
Introduction .......................................................................................................................... A-1
Line fuse replacement .......................................................................................................... A-1
Front panel tests .................................................................................................................. A-2
Keys test ................................................................................................................................... A-3
Display patterns test .................................................................................................................. A-3
Upgrading the firmware ........................................................................................................ A-4
Using TSB for upgrading the firmware ...................................................................................... A-5
Calibration ...................................................................................................................B-1
Verification ........................................................................................................................... B-1
Verification test requirements .................................................................................................... B-2
Restoring factory defaults ......................................................................................................... B-4
Performing the verification test procedures ............................................................................... B-5
Current source accuracy ........................................................................................................... B-7
Current measurement accuracy .............................................................................................. B-12
Voltage source accuracy ......................................................................................................... B-15
Voltage measurement accuracy .............................................................................................. B-17
Adjustment ......................................................................................................................... B-18
Introduction ............................................................................................................................. B-18
Environmental conditions ........................................................................................................ B-18
Adjustment considerations ...................................................................................................... B-19
Calibration adjustment overview ............................................................................................. B-20
Calibration commands quick reference ................................................................................... B-24
Calibration adjustment procedure ........................................................................................... B-25
LAN concepts and settings ........................................................................................C-1
Overview .............................................................................................................................. C-1
Establishing a point-to-point connection .............................................................................. C-1
Step 1: Identify and record the existing IP configuration ........................................................... C-2
Step 2: Disable DHCP to use the computer's existing IP address ............................................ C-4
Step 3: Configure the instrument's LAN settings ....................................................................... C-8
Step 4: Install the crossover cable ............................................................................................ C-9
Step 5: Access the instrument's web page .............................................................................. C-10
Connecting to the LAN ....................................................................................................... C-10
Setting the LAN configuration method ..................................................................................... C-10
Setting the IP address ............................................................................................................. C-11
Setting the gateway ................................................................................................................. C-11
Setting the subnet mask .......................................................................................................... C-11
Configuring the domain name system (DNS) .......................................................................... C-12
LAN speeds ........................................................................................................................ C-12
Duplex mode ...................................................................................................................... C-13
Viewing LAN status messages .......................................................................................... C-13
Viewing the network settings ............................................................................................. C-14
Series 2600B
System SourceMeter® Instrument Reference Manual Table
of Contents
Confirming the active speed and duplex negotiation ............................................................... C-14
Confirming port numbers ......................................................................................................... C-15
Selecting a LAN interface protocol ..................................................................................... C-15
VXI-11 connection ................................................................................................................... C-15
Raw socket connection ........................................................................................................... C-16
Dead socket connection .......................................................................................................... C-16
Telnet connection .................................................................................................................... C-16
Logging LAN trigger events in the event log ...................................................................... C-19
Accessing the event log from the command interface ............................................................. C-20
Common commands ..................................................................................................D-1
Command summary ............................................................................................................. D-1
Script command equivalents ................................................................................................ D-3
Command reference ............................................................................................................ D-3
Identification query: *IDN?......................................................................................................... D-3
Operation complete and query: *OPC and *OPC? .................................................................... D-4
Reset: *RST .............................................................................................................................. D-4
Self-test query: *TST? ............................................................................................................... D-4
Trigger: *TRG ............................................................................................................................ D-4
Wait-to-continue: *WAI .............................................................................................................. D-5
Status model ............................................................................................................... E-1
Overview .............................................................................................................................. E-1
Status register set contents ....................................................................................................... E-1
Queues ..................................................................................................................................... E-2
Status function summary ........................................................................................................... E-4
Status model diagrams ............................................................................................................. E-5
Clearing registers ............................................................................................................... E-14
Programming and reading registers ................................................................................... E-14
Programming enable and transition registers .......................................................................... E-14
Reading registers .................................................................................................................... E-15
Status byte and service request (SRQ) ............................................................................. E-15
Status Byte Register ............................................................................................................... E-16
Service Request Enable Register ........................................................................................... E-17
Serial polling and SRQ ............................................................................................................ E-18
SPE, SPD (serial polling) ........................................................................................................ E-18
Status byte and service request commands............................................................................ E-18
Enable and transition registers ................................................................................................ E-19
Controlling node and SRQ enable registers ............................................................................ E-19
Status register sets ............................................................................................................ E-19
System Summary Registers .................................................................................................... E-19
Standard Event Register ......................................................................................................... E-20
Operation Status Registers ..................................................................................................... E-22
Questionable Status Registers ................................................................................................ E-23
Measurement Event Registers ................................................................................................ E-24
Register programming example .............................................................................................. E-25
TSP-Link system status ..................................................................................................... E-26
Status model configuration example ....................................................................................... E-26
Table of Contents
Series 2600B System SourceMeter® Instrument
Reference Manual
Display character codes ............................................................................................. F-1
Series 2600B display character codes ................................................................................. F-1
Model 2400 emulation ................................................................................................ G-1
Model 2400 emulation ..........................................................................................................G-1
Loading, running, and configuring Model 2400 emulation ........................................................ G-1
Operating the Series 2600B as a Model 2400.......................................................................... G-2
Execute SCPI commands when not in Model 2400 emulation mode ....................................... G-2
Model 2400 compatibility .....................................................................................................G-3
General compatibility ................................................................................................................ G-3
Model 2400 SCPI command support ....................................................................................... G-6
Model 2400 SCPI command compatibility .............................................................................. G-15
Index................................................................................................................................ 1
In this section:
Welcome .................................................................................. 1-1
Extended warranty ................................................................... 1-1
Contact information .................................................................. 1-1
Customer documentation ......................................................... 1-2
Capabilities and features .......................................................... 1-3
General information .................................................................. 1-4
Welcome
Thank you for choosing a Keithley Instruments product. The Series 2600B System SourceMeter®
instrument provides manufacturers of electronic components and semiconductor devices with an
instrument that combines source and measurement capabilities in a single instrument called a
source-measure unit (also called a SMU). This combination simplifies test processes by eliminating
synchronization and connection issues associated with multiple instrument solutions. A Series 2600B
provides a scalable, high throughput, highly cost-effective solution for precision DC, pulse, and low
frequency AC source-measure testing that also maintains code compatibility throughout the Series
2600 instruments.
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 corporate
headquarters of Keithley Instruments (toll-free inside the U.S. and Canada only) at 1-800-935-5595,
or from outside the U.S. at +1-440-248-0400. For worldwide contact numbers, visit the Keithley
Instruments website (http://www.tek.com/keithley).
Section 1
Introduction
Section
1: Introduction Series 2600B System SourceMeter® Instrument
Reference Manual
1-2 2600BS-901-01 Rev. C / August 2016
Customer documentation
The Series 2600B Quick Start Guide is provided as a hard copy, plus PDF format. Note that the
Reference Manual is also provided in PDF format.
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.
Reference Manual: Includes advanced operation topics and maintenance information.
Programmers looking for a command reference, and users looking for an in-depth description of
the way the instrument works (including troubleshooting and optimization), should refer to the
Reference Manual.
Organization of manual sections
Bookmarks for each section of this manual are provided in the PDF version of the documentation.
The manual sections are also listed in the Table of Contents located at the beginning of this manual.
For more information about bookmarks, see Adobe® Acrobat® or Reader® help.
Product software and drivers
Test Script Builder (TSB) Integrated Development Environment: This software provides an
envrionment 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.
The 2600B TSB Add-in: A software tool you can use to create, modify, debug, and store Test
Script Processor (TSP®) test scripts.
IVI Instrument Driver: Driver for National Instruments LabVIEW and related release notes.
J2SE Runtime Environment: Web brower plug-in required to run the web applications that are
available through the instrument web interface.
Keithly I/O layer and release notes: Software that manages communications between Keithley
instrument drivers, software applications, and the instrument.
Keithley LXI Discovery Browser: Utility that identifies the IP address of instruments connected to
the local area network (LAN) that support VXI-11 discovery protocol.
Go to the Downloads web page (http://www.tek.com/downloads) to download drivers and software for
your instrument. For more information see Installing the TSB software, and Installing the TSB add-in.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 1:
Introduction
2600BS-901-01 Rev. C / August 2016 1-3
Capabilities and features
All Series 2600B System SourceMeter® instruments have the following features:
4.5, 5.5, or 6.5 digit display resolution
Resistance and power measurement functions
Four-quadrant sink or source operation
Contact check function (not available on the Models 2604B, 2614B, and 2634B)
High-capacitance mode for load impedance up to 50 µF (microfarads)
Linear, logarithmic, and custom sweeping and pulsing
Filtering to reduce reading noise
Trigger model supports extensive triggering and synchronization schemes at hardware speeds
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 Series 2600B to control other devices (Digital I/O lines not available on
the Models 2604B, 2614B, and 2634B)
Web-based characterization tool that provides easy access to data gathering, sweeping, and
pulsing features
LXI® version 1.4 Core 2011 compliance
Embedded TSP scripting engine accessible from any host interface; responds to high-speed test
scripts comprised of instrument control commands
TSP-Link® expansion bus that allows TSP-enabled instruments to trigger and communicate with
each other; advanced Test Script Processor (TSP®) scripting engine features enable parallel
script execution across the TSP-Link network (not available on the Models 2604B, 2614B, and
2634B)
Supports IEEE-488 (GPIB), RS-232, Universal Serial Bus (USB), and ethernet local area network
(LAN) connections
Section
1: Introduction Series 2600B System SourceMeter® Instrument
Reference Manual
1-4 2600BS-901-01 Rev. C / August 2016
Additional source and measure features:
Model 2601B/2602B/2604B System SourceMeter® instruments:
Source ±DC voltage from 5 µV to 40.4 V
Source ±DC current from 2 pA to 3.03 A
Source ±pulse current up to 10 A
Measure ±pulse current up to 10 A
Measure ±DC voltage from 100 nV to 40.8 V
Measure ±DC current from 100 fA to 3.06 A
Model 2611B/2612B/2614B System SourceMeter® instruments:
Source ±DC voltage from 5 µV to 202 V
Source ±DC current from 2 pA to 1.515 A
Source ±pulse current up to 10 A
Measure ±pulse current up to 10 A
Measure ±DC voltage from 100 nV to 204 V
Measure ±DC current from 100 fA to 1.53 A
Model 2634B/2635B/2636B System SourceMeter® instruments:
Source ±DC voltage from 5 µV to 202V
Source ±DC current from 20 fA to 1.515 A
Source ±pulse current up to 10 A
Measure ±pulse current up to 10 A
Measure ±DC voltage from 100 nV to 204 V
Measure ±DC current from 100 aA to 1.53 A (1 fA to 1.53 A for the Model 2634B)
General information
Displaying the instrument's serial number
The instrument serial number is on a label on the rear panel of the instrument. You can also access
the serial number from the front panel using the front-panel keys and menus.
To display the serial number on the front panel:
1. If the Series 2600B is in remote operation, press the EXIT (LOCAL) key once to place the
instrument in local operation.
2. Press the MENU key.
3. Use the navigation wheel to scroll to the SYSTEM-INFO menu item.
4. Press the ENTER key. The SYSTEM INFORMATION menu is displayed.
5. Scroll to the SERIAL# menu item.
6. Press the ENTER key. The Series 2600B serial number is displayed.
In this section:
General ratings ......................................................................... 2-1
Controls, indicators, and connectors ........................................ 2-2
Cooling vents ......................................................................... 2-12
Turning your instrument on and off ........................................ 2-13
System information ................................................................ 2-15
Menu overview ....................................................................... 2-16
Beeper ................................................................................... 2-23
Display mode ......................................................................... 2-24
Basic operation ...................................................................... 2-24
DUT test connections ............................................................. 2-49
DUT connection settings ........................................................ 2-74
USB storage overview ............................................................ 2-79
Displayed error and status messages .................................... 2-81
Range .................................................................................... 2-81
Digits ...................................................................................... 2-86
Speed ..................................................................................... 2-87
Remote communication interfaces ......................................... 2-88
General ratings
The Series 2600B instrument's general ratings and connections are listed in the following table.
Category Specification
100 V AC to 240 V AC, 50 Hz or 60 Hz (autosensing). 240 VA maximum
Models: 2611B/2612B/2614B
100 V AC to 240 V AC, 50 Hz or 60 Hz (autosensing). 250 VA maximum
See Front panel (on page 2-2) and Rear panel (on page 2-6)
For indoor use only:
Altitude: Maximum 2000 meters (6562 feet) above sea level
Operating: 0 °C to 50 °C (32 °F to 122 °F), 70% relative humidity up to
35 °C. Derate 3% relative humidity/°C, 35 °C to 50 °C (95 °F to 122 °F)
Storage: 25 °C to 65 °C (13 °F to 149 °F)
Transient overvoltages according to Installation Categories (Overvoltage
Categories) I, II, and III (see Annex J); for mains supply, the minimum
and normal category is category II
Pollution degree: 1 or 2
Section 2
General operation
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-2 2600BS-901-01 Rev. C / August 2016
Controls, indicators, and connectors
Series 2600B controls, indicators, and the USB port are on the front panel (on page 2-2). Make
connections to the Series 2600B through connectors on the rear panel (on page 2-6).
Front panel
The front panel of the Series 2600B is shown below. The descriptions of the front-panel controls, USB
port, and indicators follow the figure.
Figure 1: Front panel (Series 2600B models)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-3
1. Power switch, display and configuration keys
Power switch. The in position turns the Series 2600B on (I); the out position turns it off (O).
Toggles between the various source-measure displays and the user message mode.
Configures a function or operation.
2. SMU setup, performance control, special operation, and numbers
SMU (source-measure unit) setup
SRC
Selects the source function (V or A) and places the cursor in the source field for editing.
MEAS
Cycles through measure functions (V, A, Ω, or W).
LIMIT
Places the cursor in the compliance limit field for editing. Also selects the limit value to edit (V, A,
or W).
MODE
Selects a meter mode (I-METER, V-METER, OHM-METER, or WATT-METER).
Performance control
DIGITS
Sets the display resolution (4½, 5½, or 6½ digits).
SPEED
Sets the measurement speed (FAST, MEDium, NORMAL, HI-ACCURACY, or OTHER). Speed
and accuracy are set by controlling the measurement aperture.
REL
Controls relative measurements, which allows a baseline value to be subtracted from a reading.
FILTER
Enables or disables the digital filter. You can use this filter to reduce reading noise.
Special operation
LOAD
Loads test for execution (FACTORY, USER, or SCRIPTS).
RUN
Runs the last selected factory or user-defined test.
STORE
Accesses reading buffers and takes readings. TAKE_READINGS: Use to take readings and store
them in a reading buffer. SAVE: Use to save a reading buffer to nonvolatile memory or to a user-
installed flash drive (USB1) in CSV or XML format. Readings include measurements, source
values, and timestamp values, if configured.
RECALL
Recalls information (DATA or STATISTICS) stored in a reading buffer: DATA includes stored
readings, and if configured, source values and timestamp values; STATISTICS includes MEAN,
STD DEV, SAMPLE SIZE, MINIMUM, MAXIMUM, PK-PK.
TRIG
Triggers readings.
MENU
Accesses the main menu (on page 2-17). The main menu can be used to configure many
functions and features.
EXIT
Cancels the selection and returns to the previous menu or display. Also used as a LOCAL key to
take the instrument out of remote operation.
ENTER
Accepts the selection and moves to the next choice or exits the menu.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-4 2600BS-901-01 Rev. C / August 2016
Number keys
When enabled and in EDIT mode, the number keys (0-9, +/-, 0000) allow
direct numeric entry. Press the navigation wheel to enter EDIT mode.
3. Range keys
Selects the next higher source or measure range.
Enables or disables source or measure autorange.
Selects the next lower source or measure range.
In addition to selecting range functions, the up and down range keys change the format for
non-range numbers (as an example, when editing the limit value).
4. Cursor keys
Use the CURSOR keys to move the cursor left or right. When the cursor is on the desired source
or compliance value digit, push the navigation wheel to enter edit mode, and turn the navigation
wheel to edit the value. Push the navigation wheel again when finished editing.
Use the CURSOR keys or the navigation wheel to move through menu items. To view a menu
value, use the CURSOR keys for cursor control, and then press the navigation wheel to view the
value or sub-menu item.
5. Navigation wheel
Turn the navigation wheel to:
• Move the cursor to the left and the right (the cursor indicates the selected value or item)
• While in edit mode, increase or decrease a selected source or compliance value
Push the navigation wheel to:
• Enable or disable edit mode for the selected source or compliance value
• Open menus and submenu items
• Select a menu option or a value
6. Output control
Turns the source output on or off.
7. USB port
Use the USB port to connect a USB flash drive to the instrument. You can use the USB flash drive
to store reading buffer data, scripts, and user setups. You can also use it to upgrade the firmware.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-5
8. Display indicators (not shown)
The items listed below represent the possible display indicators and their meanings.
Indicator Meaning
EDIT
Instrument is in editing mode
ERR
Questionable reading or invalid calibration step
REM
Instrument is in remote mode
TALK
Instrument is addressed to talk
LSTN
Instrument is addressed to listen
SRQ
Service request is asserted
REL
Relative mode is enabled
FILT
Digital filter is enabled
AUTO
Source or measure autorange is selected
* (asterisk)
Readings are being stored in the buffer
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-6 2600BS-901-01 Rev. C / August 2016
Rear panel
The rear panel of the Series 2600B is shown below. The descriptions of the rear-panel components
follow the figure.
Figure 2: Rear panel (Models 2601B, 2602B, 2611B, and 2612B)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-7
Figure 3: Rear panel (Models 2604B and 2614B)
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-8 2600BS-901-01 Rev. C / August 2016
Figure 4: Rear panel (Models 2634B and 2635B)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-9
Figure 5: Rear panel (Model 2636B)
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-10 2600BS-901-01 Rev. C / August 2016
1. SMU connector
Channel A
2601B/2602B/2604B/2611B/2612B/2614B
Channel B
2602B/2604B/2612B/2614B
This connector provides input/output connections for HI and
LO, sense (S HI/S LO), and guard (G). Connections are as
follows:
LO = LO
S LO = Sense LO
G = Guard
S HI = Sense HI
HI = HI
Channel A
2634B/2635B/2636B
Channel B
2634B/2636B
These triaxial connectors provide input/output connections for
HI and LO, sense HI and sense LO, guard, and ground. See
connections at left. Each connector's conductors are as
follows:
* Center conductor
** Inner shield
*** Outer shield
2. Cooling exhaust vents
Exhaust vent for the internal cooling fan. Keep the vent free of obstructions to
prevent overheating. Also see Cooling vents (on page 2-12).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-11
3. Digital I/O
2601B/2602B/2611B/2612B/2635B/2636B
Female DB-25 connector. Use a cable equipped with a male
DB-25 connector (Keithley Instruments part number CA-126-1).
Pins provided: Fourteen digital input or output pins, seven GND
pins, and three +5 V pins.
The Models 2601B and 2602B have an output enable pin. The
Models 2611B, 2612B, 2635B, and 2636B have an interlock pin.
2604B
Pins provided: One output enable pin, seven GND pins, and
three +5 V pins. The digital input and output pins are not
available on the Model 2604B.
2614B/2634B
Pins provided: One interlock pin, seven GND pins, and three
+5 V pins. The digital input and output pins are not available on
the Models 2614B and 2634B.
4. IEEE-488
Connector for IEEE-488 (GPIB) operation. Use a shielded cable, such as the
Keithley Instruments Model 7007-1 or Model 7007-2.
5. LAN
RJ-45 connector for a local area network (LAN). The LAN interface supports
Auto-MDIX, so either a CAT-5 cross-over cable (provided), or a normal CAT-5
straight-through cable (not provided) can be used.
6. USB port
This USB-2.0 receptacle (Type B) located on the rear panel is used to connect
the instrument to a computer. You can use this connection to send commands to
the instrument.
7. Ground
2601B/2602B/2604B/2611B/2612B/2614B
Ground jack for connecting output HI or LO to chassis ground.
Ground screw for connections to chassis ground.
2635B
Triaxial connector on ground module.
Phoenix connector on ground module.
2634B/2636B
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-12 2600BS-901-01 Rev. C / August 2016
8. TSP-Link
Expansion interface that allows a Series 2600B and other TSP-enabled
instruments to trigger and communicate with each other. Use a category 5e or
higher LAN crossover cable (Keithley Instruments part number CA-180-3A).
The TSP-Link is not available on the Models 2604B, 2614B, and 2634B.
9. Power module
Contains the AC line receptacle and power line fuse. The instrument can operate
on line voltages of 100 V to 240 V AC at line frequencies of 50 Hz or 60 Hz.
10. RS-232
Female DB-9 connector. For RS-232 operation, use a straight-through (not null
modem) DB-9 shielded cable (Keithley Instruments Model 7009-5) for
connection to the computer.
Cooling vents
The Series 2600B has side and top intake and rear exhaust vents. One side must be unobstructed to
dissipate heat.
Excessive heat could damage the Series 2600B and degrade its performance. Only operate the
Series 2600B in an environment where the ambient temperature does not exceed 50 °C (122 °F).
Do not place a container of liquid (water or coffee, for instance) on the top cover. If it spills, the liquid
may enter the case through the vents and cause severe damage.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-13
To prevent damaging heat build-up and ensure specified performance, use the following guidelines.
The rear exhaust vent and either the top or both side intake vents must be unobstructed to properly
dissipate heat. Even partial blockage could impair proper cooling.
DO NOT position any devices adjacent to the Series 2600B that force air (heated or unheated)
toward its cooling vents or surfaces. This additional airflow could compromise accuracy.
When rack mounting the Series 2600B, make sure there is adequate airflow around both sides to
ensure proper cooling. Adequate airflow enables air temperatures within approximately one inch of
the Series 2600B surfaces to remain within specified limits under all operating conditions.
Rack mounting high power dissipation equipment adjacent to the Series 2600B could cause
excessive heating to occur. To produce specified Series 2600B accuracies, maintain the specified
ambient temperature around the surfaces of the Series 2600B. Proper cooling practice, in rack
configurations with convection cooling only, places the hottest non-precision equipment (for example,
the power supply) at the top of the rack away from and above precision equipment (such as the
Series 2600B).
Mount precision equipment as low as possible in the rack, where temperatures are coolest. Adding
space panels above and below the Series 2600B will help provide adequate airflow.
Turning your instrument on and off
The following topics describe how to power your instrument on and off, place the instrument in
standby, configure the line frequency, and replace the line fuse.
Procedure
The Series 2600B operates from a line voltage of 100 V to 240 V at a frequency of 50 Hz or 60 Hz.
Line voltage is automatically sensed (there are no switches to set). Make sure the operating voltage
in your area is compatible.
Follow the procedure below to connect the Series 2600B to line power and turn on the instrument.
Operating the instrument on an incorrect line voltage may cause damage to the instrument, possibly
voiding the warranty.
To turn a Series 2600B on and off:
1. Before plugging in the power cord, make sure that the front panel POWER switch is in the off (O)
position.
2. Connect the female end of the supplied power cord to the AC receptacle on the rear panel.
3. Connect the other end of the power cord to a grounded AC outlet.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-14 2600BS-901-01 Rev. C / August 2016
The power cord supplied with the Series 2600B contains a separate protective earth (safety
ground) wire for use with grounded outlets. When proper connections are made, the
instrument chassis is connected to power-line ground through the ground wire in the power
cord. In addition, a redundant protective earth connection is provided through a screw on
the rear panel. This terminal should be connected to a known protective earth. In the event
of a failure, not using a properly grounded protective earth and grounded outlet may result
in personal injury or death due to electric shock.
Do not replace detachable mains supply cords with inadequately rated cords. Failure to use
properly rated cords may result in personal injury or death due to electric shock.
1. To turn your instrument on, press the front panel POWER switch to place it in the on (I) position.
2. To turn your instrument off, press the front panel POWER switch to place it in the off (O) position.
Placing a Series 2600B in standby
Placing the Series 2600B in standby does not place the instrument in a safe state (an
Interlock
(on page 3-88) is provided for this function).
When the instrument is on, the output may be placed in an active output state (output on) or a
standby mode (output off). From the front panel, pressing the OUTPUT ON/OFF control toggles the
output using the present instrument configuration. You can also place the output in standby over the
remote interface by sending the following command:
smuX.source.output = 0
Even though the instrument is placed in standby, the output may not be actually off.
Warmup period
The Series 2600B must be turned on and allowed to warm up for at least two hours to achieve rated
accuracies.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-15
Line frequency configuration
The factory configures the Series 2600B to automatically detect the power line frequency (either
50 Hz or 60 Hz) at each power-up. This detected line frequency is used for aperture (NPLC)
calculations.
In noisy environments, you can manually configure the instrument to match the actual line frequency.
To configure the line frequency from the front panel:
1. Press the MENU key, then turn the navigation wheel to select LINE-FREQ, and then press the
ENTER key.
2. Turn the navigation wheel to select the appropriate frequency and then press the ENTER key.
To configure the instrument to automatically detect line frequency at each power-up, select
AUTO.
3. Press the EXIT (LOCAL) key to back out of the menu structure.
To configure the line frequency from a remote interface:
Set the localnode.linefreq or the localnode.autolinefreq attribute. The following
programming example illustrates how to set the line frequency to 60 Hz:
localnode.linefreq = 60
The following programming example illustrates how to remotely configure the instrument to
automatically detect line frequency at each power-up:
localnode.autolinefreq = true
Fuse replacement
A rear panel fuse drawer is located below the AC receptacle (refer to Rear panel (on page 2-6)). This
fuse protects the power line input of the instrument. If the line fuse needs to be replaced, refer to Line
fuse replacement (on page A-1).
System information
You can display the serial number, firmware revision, calibration dates, and memory usage by
selecting SYSTEM-INFO from the main menu.
To view the system information from the front panel:
1. Press the MENU key.
2. Select SYSTEM-INFO.
3. Select one of the following:
FIRMWARE
SERIAL#
CAL
MEMORY-USAGE
To retrieve system information from a remote interface:
To retrieve the firmware revision and serial number, send the *IDN? query (see Identification query:
*IDN? (on page D-3) for more information).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-16 2600BS-901-01 Rev. C / August 2016
Menu overview
Menu navigation
To navigate through the menus and submenus, the Series 2600B must not be in edit mode (the EDIT
indicator is not illuminated).
Selecting menu items
To navigate the Main and Configuration menus, use the editing keys as follows:
Press either CURSOR arrow key to highlight an option.
Rotate the navigation wheel (clockwise or counter-clockwise) to highlight an option.
Press the ENTER key (or the navigation wheel ) to select an option.
Use the EXIT (LOCAL) key to cancel changes or to return to the previous menu or display.
For quick menu navigation, turn the navigation wheel to highlight an option and then press the
navigation wheel to select the highlighted option.
Menu trees
You can configure instrument operation through the menus that are accessed from the front panel.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-17
Main menu
The main menu structure is summarized in the following figure and table. For other menu items, see
Configuration menus (on page 2-19).
Figure 6: Main menu tree
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-18 2600BS-901-01 Rev. C / August 2016
The following table contains descriptions of the main menu options and cross-references to related
information. To access a menu option, press the MENU key, turn the navigation wheel to move the
cursor to select an item, and press the navigation wheel .
Menu selection Description For more information, see:
SCRIPT
Saves and recalls users scripts
Manage scripts (on page 6-3)
- LOAD
Loads scripts into nonvolatile memory
- SAVE
Saves scripts
SETUP
Saves and recalls user and factory setup options
Saved setups (on page 2-47)
- SAVE Saves user setup options
- RECALL
Recalls user setup options
- POWERON
Sets the configuration used during startup
GPIB
Configures the GPIB interface options
Remote communication interfaces (on
page 2-88)
- ADDRESS
Configures the address for the GPIB interface
- ENABLE
Enables and disables the GPIB interface
LAN
Configures the local area network (LAN)
LAN concepts and settings (on page C-1)
- STATUS
Displays LAN connection status
- CONFIG
Configures the LAN IP address and gateway
- APPLY_SETTINGS
Applies changes made using the CONFIG menu
- RESET Restores the default settings
- ENABLE
Enables and disables the LAN interface
RS232
Controls the options for the RS-232 interface
Remote communication interfaces (on
page 2-88)
- BAUD
Sets the baud rate
- BITS Configures the number of bits
- PARITY
Sets the parity
- FLOW-CTRL
Configures the flow control
- ENABLE
Enables and disables the RS-232 interface
TSPLINK1
Configure the instrument in a TSP-Link
®
network
TSP-Link system expansion interface (on
page 6-46)
- NODE
Selects the instrument node identifier
- RESET
Resets the TSP-Link network
UPGRADE
Upgrades the firmware from a USB flash drive Upgrading the firmware (on page A-4)
DISPLAY
Accesses display functions
Front panel tests (on page A-2)
- TEST
Runs the display test
See Numeric entry method in Setting a
value (on page 2-21)
- NUMPAD
Enables and disables the numeric keypad
DIGOUT
2
Controls digital outputs
Digital I/O (on page 3-82)
- DIG-IO-OUTPUT
Selects the digital I/O values
- WRITE-PROTECT
Write-protects specific digital I/O lines
BEEPER
Controls the key beeps
General operation (on page 2-1)
- ENABLE
Enables the key beeps
- DISABLE
Disables the key beeps
LINE-FREQ
Configures the line frequency
General operation (on page 2-1)
- 50Hz
Set the line frequency to 50 Hz
- 60Hz
Set the line frequency to 60 Hz
- AUTO
Enables automatic line frequency detection during
start up
SYSTEM-INFO
Displays the system information
General operation (on page 2-1)
- FIRMWARE
Displays the version of firmware installed
- SERIAL# Displays the serial number of the unit
- CAL
Displays the last calibration date
- MEMORY-USAGE
Displays memory usage in percentage
RESET-PASSWORD
Resets the system password
Password management (on page 6-33)
1. TSPLINK is not available on the Models 2604B, 2614B, and 2634B.
2. DIGOUT is not available on the Models 2604B, 2614B, and 2634B.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-19
Configuration menus
The configuration menu structure is summarized in the following figure and table. For directions on
navigating the menu, see Menu navigation (on page 2-16). For other menu items, see Main menu (on
page 2-17).
Figure 7: CONFIG menu tree (models with a single SMU)
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-20 2600BS-901-01 Rev. C / August 2016
Figure 8: CONFIG menu tree (models with two SMUs)
Press the EXIT key to return to a previous menu.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-21
The following table contains descriptions of the configuration menus, as well as cross-references to
related information. To select a menu for single SMU instruments, press the CONFIG key and then
the front-panel key associated with the menu (see the description column in the following table). For
two-SMU instruments, press the CONFIG key, select the appropriate channel (CHANNEL-A,
CHANNEL-B) and then the front-panel key associated with the menu. To select TRIG and STORE
menus on two-SMU instruments, press the CONFIG key and then select COMMON instead of
selecting a channel.
To access, press the CONFIG
key and then:
Options For more information, see:
SRC
V-source sense, low range;
I-source low range; and
highC mode
Range (on page 2-81), Basic source-
measure procedure (on page 2-33)
MEAS
V and I-measure range, V-
measure sense, low range;
autozero
Range (on page 2-81), Basic source-
measure procedure (on page 2-33)
LIMIT
V-source and I-source
compliance limits
Limits (on page 2-28)
SPEED
Measurement speed (NPLC)
Speed (on page 2-87)
REL
Set relative values
Relative offset (on page 3-1)
FILTER
Control digital filter
Filters (on page 3-3)
OUTPUT ON/OFF
Set off-state, control digital
I/O
Output-off states (on page 2-76)
TRIG
Set trigger in, count, interval,
and delay
Triggering (on page 3-32)
STORE
Set buffer count and
destination
Source-measure concepts (on page 4-1)
Setting values
Setting a value
You can adjust a value using either the Navigation wheel method or Numeric entry method (using
the keypad).
Navigation wheel method:
1. Use the CURSOR arrow keys (or turn the navigation wheel ) to move the cursor to the digit that
needs to be changed.
2. Press the navigation wheel or the ENTER key to enter edit mode. The EDIT indicator is
illuminated.
3. Rotate the navigation wheel to set the appropriate value.
4. Press the ENTER key to select the value or press the EXIT (LOCAL) key to cancel the change.
5. To return to the main menu, press the EXIT (LOCAL) key.
Numeric entry method:
The numeric entry method may only be used if the numeric keypad is enabled.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-22 2600BS-901-01 Rev. C / August 2016
To set a value to zero, press the 0000 numeric entry key. To toggle the polarity of a value, press the
+/ numeric entry key.
1. If the keypad is disabled, press the MENU key, then select DISPLAY > NUMPAD > ENABLE.
2. Use the CURSOR arrow keys (or turn the navigation wheel ) to move the cursor to the value
that needs to be changed.
3. Press the navigation wheel or the ENTER key to enter edit mode. The EDIT indicator is
illuminated.
4. Press any of the number keys (0-9, +/-, 0000) (see 2. SMU setup, performance control, special
operation, and numbers (on page 2-3)). The cursor moves to the next digit on the right.
5. Repeat the above steps as required to set the values.
6. Press the ENTER key to select the value or press the EXIT (LOCAL) key to cancel the change.
7. To return to the main menu, press the EXIT (LOCAL) key.
Setting source and compliance values
When the Series 2600B is in the edit mode (EDIT indicator is on), the editing controls are used to set
source and compliance values. Note that when you edit the source value, source autoranging is
turned off and remains off until you turn it on again.
To cancel source editing, press the EXIT (LOCAL) key.
To edit the source value:
1. Press the SRC key. The cursor flashes in the source value field.
2. Use the CURSOR keys (or turn the navigation wheel ) to move the cursor to the digit that needs
to be changed.
3. Press the navigation wheel or the ENTER key to edit the source value. The EDIT indicator is
illuminated.
4. Change the source value (see Setting values (on page 2-21)).
The +/- key toggles the polarity. The 0000 key sets the value to 0.
5. When finished, press the ENTER key (the EDIT indicator is not illuminated).
To edit compliance limit values:
1. Press the LIMIT key.
2. Use the CURSOR keys (or turn the navigation wheel ) to move the cursor to the digit that needs
to be changed.
3. Press the navigation wheel or the ENTER key to enter edit mode. The EDIT indicator is
illuminated.
4. Change the compliance value (see Setting values (on page 2-21)).
5. When finished, press the ENTER key (the EDIT indicator is not illuminated).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-23
The up and down range keys change the format of the limit value.
Beeper
The Series 2600B includes a beeper. When it is enabled, a beep indicates one of the following
actions have occurred:
A front-panel key was pressed: A short beep, similar to a key click, is issued.
The navigation wheel was turned or pressed: A short beep is issued.
The output source was changed: A longer beep is issued when you press the OUTPUT ON/OFF
control (turn the output on or off).
To turn the beeper on or off from the front panel:
1. Press the MENU key, and then select BEEPER.
2. Select one of the following:
ENABLE
DISABLE
To turn the beeper on or off from the TSP command interface:
Set the beeper.enable attribute. For example, to enable the beeper, send:
beeper.enable = 1
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-24 2600BS-901-01 Rev. C / August 2016
Display mode
Use the DISPLAY key to scroll through the various display modes shown in the figure below. Refer to
Display operations (on page 3-70) for more information about the display.
For the Models 2602B, 2604B, 2612B, 2614B, 2634B, and 2636B only, press the DISPLAY key more
than once to cycle through the dual channel and single channel display modes. This applies to
CHANNEL A (SMU A) and CHANNEL B (SMU B).
The Models 2601B, 2611B, and 2635B have a single channel (SMU A).
Figure 9: Display modes
Basic operation
For the Models 2611B, 2612B, 2614B, 2634B, 2635B, and 2636B, 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 Series 2600B 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 Series 2600B before handling cables. Putting the equipment into
standby does not guarantee that the outputs are powered off if a hardware or software fault
occurs.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-25
Operation overview
Before you begin any of the following front panel procedures, make sure that you exit out of the
menu structure. Press the EXIT (LOCAL) key as many times as needed to return to the main
display.
Source-measure capabilities
From the front panel, the instrument can be configured to perform the following source-measure
operations:
Source voltage: Measure and display current, voltage, resistance, or power
Source current: Measure and display voltage, current, resistance, or power
Measure resistance: Display resistance calculated from voltage and current components of
measurement (can optionally specify source voltage or source current value)
Measure power: Display power calculated from voltage and current components of
measurement (can optionally specify source voltage or source current value)
Measure only (V or I): Display voltage or current measurement
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-26 2600BS-901-01 Rev. C / August 2016
Voltage and current
The following table lists the source and measure limits for the voltage and current functions. The full
range of operation is explained in Operating boundaries (on page 4-5).
Source-measure capabilities
Model 2601B/2602B Model 2611B/2612B Model 2635B/2636B
Range Source Measure Range Source Measure Range Source Measure
100 mV
1 V
6 V
40 V
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
3 A
±101 mV
±1.01 V
±6.06 V
±40.4 V
±101 nA
±1.01 µA
±10.1 µA
±101 µA
±1.01 mA
±10.1 mA
±101 mA
±1.01 A
±3.03 A
±102 mV
±1.02 V
±6.12 V
±40.8 V
±102 nA
±1.02 µA
±10.2 µA
±102 µA
±1.02 mA
±10.2 mA
±102 mA
±1.02 A
±3.06 A
200 mV
2 V
20 V
200 V1
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
1.5 A
10 A2
±202 mV
±2.02 V
±20.2 V
±202 V
±101 nA
±1.01 µA
±10.1 µA
±101 µA
±1.01 mA
±10.1 mA
±101 mA
±1.01 A
±1.515 A
±10.1 A
±204 mV
±2.04 V
±20.4 V
±204 V
±102 nA
±1.02 µA
±10.2 µA
±102 µA
±1.02 mA
±10.2 mA
±102 mA
±1.02 A
±1.53 A
±10.2 A
200 mV
2 V
20 V
200 V3
100 pA
1 nA
10 nA
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
1.5 A
±202 mV
±2.02 V
±20.2 V
±202 V
N/A
±1.01 nA
±10.1 nA
±101 nA
±1.01 µA
±10.1 µA
±101 µA
±1.01 mA
±10.1 mA
±101 mA
±1.01 A
±1.515 A
±204 mV
±2.04 V
±20.4 V
±204 V
±102 pA
±1.02 nA
±10.2 nA
±102 nA
±1.02 µA
±10.2 µA
±102 µA
±1.02 mA
±10.2 mA
±102 mA
±1.02 A
±1.53 A
Max Power = 40.4 W per channel
Max Power = 30.603 W per channel
Max Power = 30.603 W per channel
1. 200 V source range available only when
interlock is enabled. See Digital I/O (on page
3-82).
2. 10 A range available only in pulse mode.
3. 200 V source range available only when
interlock is enabled. See Digital I/O (on page 3-
82).
Source-measure capabilities
Model 2601B/2602B/2604B Model 2611B/2612B/2614B Model 2635B/2636B
Range
Source
Measure
Range
Source
Measure
Range
Source
Measure
100 mV
1 V
6 V
40 V
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
3 A
±101 mV
±1.01 V
±6.06 V
±40.4 V
±101 nA
±1.01 µA
±10.1 µA
±101 µA
±1.01 mA
±10.1 mA
±101 mA
±1.01 A
±3.03 A
±102 mV
±1.02 V
±6.12 V
±40.8 V
±102 nA
±1.02 µA
±10.2 µA
±102 µA
±1.02 mA
±10.2 mA
±102 mA
±1.02 A
±3.06 A
200 mV
2 V
20 V
200 V1
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
1.5 A
10 A2
±202 mV
±2.02 V
±20.2 V
±202 V
±101 nA
±1.01 µA
±10.1 µA
±101 µA
±1.01 mA
±10.1 mA
±101 mA
±1.01 A
±1.515 A
±10.1 A
±204 mV
±2.04 V
±20.4 V
±204 V
±102 nA
±1.02 µA
±10.2 µA
±102 µA
±1.02 mA
±10.2 mA
±102 mA
±1.02 A
±1.53 A
±10.2 A
200 mV
2 V
20 V
200 V3
100 pA
1 nA
10 nA
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
1.5 A
±202 mV
±2.02 V
±20.2 V
±202 V
N/A
±1.01 nA
±10.1 nA
±101 nA
±1.01 µA
±10.1 µA
±101 µA
±1.01 mA
±10.1 mA
±101 mA
±1.01 A
±1.515 A
±204 mV
±2.04 V
±20.4 V
±204 V
±102 pA
±1.02 nA
±10.2 nA
±102 nA
±1.02 µA
±10.2 µA
±102 µA
±1.02 mA
±10.2 mA
±102 mA
±1.02 A
±1.53 A
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-27
Max Power = 40.4 W per channel
Max Power = 30.603 W per channel
Max Power = 30.603 W per channel
1. 200 V source range available only when
interlock is enabled. See Digital I/O (on page
3-82).
2. 10 A range available only in pulse mode.
3. 200 V source range available only when
interlock is enabled. See Digital I/O (on page 3-
82).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-28 2600BS-901-01 Rev. C / August 2016
Limits
When sourcing voltage, the Series 2600B can be set to limit current or power. Conversely, when
sourcing current, the Series 2600B can be set to limit voltage or power. In steady-state conditions, the
Series 2600B output will not exceed the limit. The maximum limit is the same as the maximum values
listed in the following table.
The limit circuit will limit in either polarity regardless of the polarity of the source or limit value. The
accuracy of the limit opposite in polarity from the source is diminished unless the instrument is in sink
mode (on page 2-30). The maximum limits are based on source range. For more information, see
Compliance limit principles (on page 4-2).
The limit operation of the instrument changes dependent on the source mode (current or voltage),
load, and the configured limits (current, voltage, and power). It is important to distinguish both the
current and voltage limits from the power limit. As the names imply, the current limit restricts the
current for sourced voltage, and the voltage limit restricts the voltage for a sourced current. The
power limit, however, restricts power by lowering the present limit in effect (voltage or current) as
needed to restrict the SMU from exceeding the specified power limit. For additional details on using
limits, including load considerations when specifying both a current (or a voltage) limit and a power
limit, see Operating boundaries (on page 4-5).
The only exception to the limit not being exceeded is the VLIMIT when operating as an ISOURCE.
To avoid excessive (and potentially destructive) currents from flowing, the VLIMIT will source or sink
up to 102 mA for ISOURCE ranges on or below 100 mA. For the ranges 1 A and above, the
maximum current allowed is the current source setting.
Maximum limits
Model 2601B/2602B/2604B Model 2611B/2612B/2614B Model 2634B/2635B/2636B
Source
range
Maximum
limit
Source
range
Maximum
limit
Source
range
Maximum
limit
100 mV
1 V
6 V
40 V
3 A
3 A
3 A
1 A
200 mV
2 V
20 V
200 V
1.5 A
1.5 A
1.5 A
100 mA
200 mV
2 V
20 V
200 V
1.5 A
1.5 A
1.5 A
100 mA
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
3 A
40 V
40 V
40 V
40 V
40 V
40 V
40 V
40 V
6 V
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
1.5 A
200 V
200 V
200 V
200 V
200 V
200 V
200 V
20 V
20 V
1 nA
10 nA
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
1.5 A
200 V
200 V
200 V
200 V
200 V
200 V
200 V
200 V
200 V
20 V
20 V
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-29
Setting the limit
Front-panel limit
Set the limit from the front panel as follows:
1. For the Model 2601B/2611B/2635B or the Model 2602B/2604B/2612B/2614B/2634B/2636B
single-channel display mode, press the LIMIT key to directly access limit editing. Pressing the
LIMIT key while in limit edit mode will toggle the display between the complementary function limit
and the power limit display.
2. For the Model 2602B/2604B/2612B/2614B/2634B/2636B, dual-channel display mode, press the
LIMIT key, then select CURRENT, VOLTAGE, or POWER as needed. Press the ENTER key or
the navigation wheel .
3. Press the navigation wheel and set the limit to the new value.
4. Press the ENTER key or the navigation wheel to complete editing.
5. Press the EXIT (LOCAL) key to return to the main display.
Remote limit
The table below summarizes basic commands to program a limit. For a more complete description of
these commands, refer to the TSP command reference (on page 7-1).
Limit commands
Command* Description
smuX.source.limiti = limit
Set current limit.
smuX.source.limitv = limit
Set voltage limit.
smuX.source.limitp = limit
Set power limit.
compliance = smuX.source.compliance
Test if in limit (true = in limit; false =
not in limit).
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B,
2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for
SMU Channel B).
To set the limit, send the command with the limit value as the parameter. The following programming
example illustrates how to set the current, voltage, and power limit to 50 mA, 4 V, and 1 W
respectively:
smua.source.limiti = 50e-3
smua.source.limitv = 4
smua.source.limitp = 1
The following programming example illustrates how to print the limit state:
print(smua.source.compliance)
A returned value of true indicates one of three things:
If the instrument is configured as a current source, the voltage limit has been reached
If the instrument is configured as a voltage source, the current limit has been reached
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-30 2600BS-901-01 Rev. C / August 2016
Sink operation
Carefully consider and configure the appropriate output-off state, source, and compliance limits
before connecting the Series 2600B to a device that can deliver energy (for example, other voltage
sources, batteries, capacitors, solar cells, or other Series 2600B 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).
When operating as a sink (V and I have opposite polarity), the SourceMeter instrument is dissipating
power rather than sourcing it. An external source (for example, a battery) or an energy storage device
(for example, a capacitor) can force operation into the sink region.
The accuracy of the limit opposite in polarity from the source is diminished unless the instrument is in
sink mode. Also see Compliance limit principles (on page 4-2).
For example, if a 12 V battery is connected to the V-Source (HI to battery +) that is programmed for
+10 V, sink operation will occur in the second quadrant (source +V and measure -I).
When using the I-Source as a sink, ALWAYS set V-Compliance to a level that is higher than the
external voltage level. Failure to do so could result in excessive current flow into the Series 2600B
and incorrect measurements. See Limits (on page 2-28) for details about compliance limit.
The only exception to the compliance limit not being exceeded is the V-Limit when operating as an I-
Source. To avoid excessive (and potentially destructive) currents from flowing, the V-Limit will source
or sink up to 102 mA for I-Source ranges on or below 100 mA. For the ranges 1 A and above, the
maximum current allowed is the current source setting.
The sink operating limits are shown in Continuous power operating boundaries (on page 4-6).
Sink mode
When operating as a sink, limit inaccuracies are introduced. Enabling sink mode reduces the source
limit inaccuracy seen when operating in quadrants II and IV (quadrants I and III will show this source
limit inaccuracy).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-31
Setting the sink mode using the front panel
To enable or disable the sink mode from the front panel:
1. Press the CONFIG key and then the SRC key.
2. Select V-SOURCE.
3. Select SINK-MODE.
4. Select ENABLE or DISABLE.
5. Push the ENTER key. Sink mode is enabled or disabled, as applicable.
6. Press the EXIT (LOCAL) key twice to return to the main display.
Setting the sink mode from the remote interface
To enable or disable sink mode from the remote interface:
The programming example below illustrates how to enable sink mode (to disable, set the attribute to
smua.DISABLE):
smua.source.sink = smua.ENABLE
Fundamental circuit configurations
The fundamental source-measure configurations for the Series 2600B are shown in the following
figure. When sourcing voltage, you can measure current or voltage (see A: Source V). When sourcing
current, you can measure voltage or current (see B: Source I). See Basic circuit configurations (on
page 4-20) for detailed information.
Figure 10: Fundamental source-measure configurations
Operation considerations for the ADC
The following paragraphs discuss autozero and NPLC caching.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-32 2600BS-901-01 Rev. C / August 2016
Autozero
The ADC of the Series 2600B uses a ratiometric A/D conversion technique. To ensure accuracy of
readings, the instrument must periodically obtain fresh measurements of its internal ground and
voltage reference. Separate reference and zero measurements are used for each aperture.
As summarized in the "Autozero settings" table, there are three different settings for autozero. By
default, the instrument automatically checks these reference measurements whenever a signal
measurement is made (AUTO). If the reference measurements are out of date when a signal
measurement is made, the instrument will automatically take 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 in these situations, the OFF
selection can be used to disable the automatic reference measurements. Note that with automatic
reference measurements disabled, the instrument may gradually drift out of specification.
To minimize the drift, a reference and zero measurement should be made immediately before the
critical test sequence. The ONCE setting can be used to force a refresh of the reference and zero
measurements used for the current aperture setting.
Autozero settings
Autozero setting Description
OFF
Turns automatic reference measurements off.
ONCE
After immediately taking one reference and one zero measurement, turns
automatic reference measurements off.
AUTO
Automatically takes new acquisitions when the Series 2600B determines
reference and zero values are out-of-date.
Front-panel autozero
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.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-33
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 (see smuX.measure.autozero (on page 7-215)). For example, send the
following command to activate channel A automatic reference measurements:
smua.measure.autozero = smua.AUTOZERO_AUTO
Autozero command and options
Command** Description
smuX.measure.autozero = smuX.AUTOZERO_OFF
Disable autozero*
smuX.measure.autozero = smuX.AUTOZERO_ONCE
After immediately taking one reference and one zero
measurement, turns automatic reference measurements
off.
smuX.measure.autozero = smuX.AUTOZERO_AUTO
Automatically takes new acquisitions when the Series
2600B determines reference and zero values are out-of-
date.
* Old NPLC cache values will be used when autozero is disabled (see NPLC caching (on page 2-33)).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B,
2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU Channel B).
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 will be acquired and stored in the cache when
the next measurement is made. If there are already ten NPLC values stored, the oldest one will be
overwritten by the newest one. When autozero is off, NPLC values stored in the cache will be used
regardless of age.
Basic source-measure procedure
Front-panel source-measure procedure
Use the following procedure to perform the basic source-measure operations of the Series 2600B.
The following procedure assumes that the Series 2600B is already connected to the device under test
(DUT), as explained in DUT test connections (on page 2-49).
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 Series
2600B 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 Series 2600B before handling cables.
Putting the equipment into standby does not guarantee that the outputs are powered off if a
hardware or software fault occurs.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-34 2600BS-901-01 Rev. C / August 2016
Step 1: Select and set the source level
Perform the following steps 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,
as indicated by the EDIT indicator.
3. Use the RANGE keys to select a range that will accommodate the value you want to set. See
Range (on page 2-81) for more information. 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. If the instrument has two channels (Models 2602B, 2604B, 2612B, 2614B, 2634B, and 2636B)
and is in dual-channel display mode, perform the following (steps a, b, and c). Otherwise, go to
the next step.
a. Press the CONFIG key.
b. Press the LIMIT key and then select CURRENT or VOLTAGE.
c. Press the ENTER key or the navigation wheel .
2. If the instrument has only one channel (Models 2601B, 2611B, and 2635B), or if it is a
two-channel instrument that is in single-channel display mode, press the LIMIT key.
3. Move the cursor to the digit to change, then press the navigation wheel to enter the EDIT mode,
as indicated by the EDIT indicator.
4. Enter the limit value, then press the ENTER key or the navigation wheel to complete editing.
Step 3: Select the measurement function and range
Select measurement function and range as follows:
1. If the instrument has two channels (Models 2602B, 2604B, 2612B, 2614B, 2634B, and 2636B),
press the DISPLAY key to place it in single-channel-display mode (if not already). Otherwise, go
to the next step.
2. Select the measurement function by pressing the MEAS key.
3. 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), measurement range
selection can be done manually or automatically. When using manual ranging, use the lowest possible
range for best accuracy. When autorange is enabled, the Series 2600B 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.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-35
Step 5: Observe readings on the display.
Press the TRIG key if necessary to trigger the instrument to begin taking 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 switches off.
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 5-1) for more information on using these commands.
Basic source-measure commands
Command* Description
smuX.measure.autorangei = smuX.AUTORANGE_ON
Enable current measure autorange.
smuX.measure.autorangev = smuX.AUTORANGE_ON
Enable voltage measure autorange.
smuX.measure.autorangei = smuX.AUTORANGE_OFF
Disable current measure autorange.
smuX.measure.autorangev = smuX.AUTORANGE_OFF
Disable voltage measure autorange.
smuX.measure.rangei = rangeval
Set current measure range.
smuX.measure.rangev = rangeval
Set voltage measure range.
reading = smuX.measure.i()
Request a current reading.
reading = smuX.measure.v()
Request a voltage reading.
iReading, vReading = smuX.measure.iv()
Request a current and voltage reading.
reading = smuX.measure.r()
Request a resistance reading.
reading = smu
X
.measure.p()
Request a power reading.
smuX.source.autorangei = smuX.AUTORANGE_ON
Enable current source autorange.
smuX.source.autorangev = smuX.AUTORANGE_ON
Enable voltage source autorange.
smuX.source.autorangei = smuX.AUTORANGE_OFF
Disable current source autorange.
smuX.source.autorangev = smuX.AUTORANGE_OFF
Disable voltage source autorange.
smuX.source.func = smuX.OUTPUT_DCVOLTS
Select voltage source function.
smuX.source.func = smuX.OUTPUT_DCAMPS
Select current source function.
smuX.source.leveli = sourceval
Set current source value.
smuX.source.levelv = sourceval
Set voltage source value.
smuX.source.limiti = level
Set current limit.
smuX.source.limitv = level
Set voltage limit.
smuX.source.limitp = level
Set power limit.
smuX.source.output = smuX.OUTPUT_ON
Turn on source output.
smuX.source.output = smuX.OUTPUT_OFF
Turn off source output.
smuX.source.rangei = rangeval
Set current source range.
smuX.source.rangev = rangeval
Set voltage source range.
smuX.sense = smuX.SENSE_LOCAL
Select local sense (2-wire).
smuX.sense = smuX.SENSE_REMOTE
Select remote sense (4-wire).
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B, 2614B,
2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU Channel B).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-36 2600BS-901-01 Rev. C / August 2016
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 Channel A
current reading:
print(smua.measure.i())
Source-measure programming example
The following 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 Series 2600B defaults.
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 = 10e-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
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-37
Triggering in local mode
It is not necessary to change any trigger settings to use the basic source and measurement
procedures covered in this section.
Press the MENU key, and then select SETUP > RECALL > INTERNAL > FACTORY to reset the
factory default conditions.
The following figure shows the general sequence for 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).
(Front panel operation only) If the immediate trigger source is selected, a measurement will be
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 takes one measurement.
If the number of measurements is less than the programmed trigger count, it cycles back to take
another measurement (the measurement cycle will be repeated indefinitely if the infinite trigger
count is selected).
For multiple measurements, the instrument waits for the programmed trigger interval (if any)
before taking the next measurement.
Figure 11: 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
shown:
TRIGGER-IN: Use these options to select the trigger-in source:
IMMEDIATE: Triggering occurs immediately and the instrument starts to take 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 take readings.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-38 2600BS-901-01 Rev. C / August 2016
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 configures 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.
7. Use the EXIT (LOCAL) to return to the normal display.
8. Press the OUTPUT ON/OFF control to turn the output on.
9. Press TRIG. 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 taking readings.
Configuring for measure-only tests using the MODE key
In addition to being used for conventional source-measure operations, the Series 2600B can also be
used like a meter to measure current, voltage, resistance, or power.
To configure the Series 2600B as a V-meter, I-meter, ohm-meter, or watt-meter:
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 Series 2600B as the selected meter.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-39
To manually configure the settings, refer to the applicable topics:
V-meter and I-meter measurements (on page 2-39)
Ohms measurements (on page 2-39)
Power measurements (on page 2-43)
V-meter and I-meter measurements
To make V-meter and I-meter measurements without using the MODE key (such as when configuring
measure-only tests over the remote interface), follow the procedure below.
Perform the following steps to use the Series 2600B to measure voltage or current:
1. Select source-measure functions.
V-meter (voltmeter): Press the SRC key to select the I-source, and press the MEAS key to
select the voltage measurement function.
I-meter (ammeter): Press the SRC key to select the V-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-34); to edit the compliance level, use the procedure
provided in Step 2: Set the compliance limit (on page 2-34):
a. Select the lowest source range and set the source level to zero.
b. Set compliance to a level that is higher than the expected measurement.
When using the Series 2600B 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
Series 2600B, incorrect measurements, and possible damage to the instrument.
3. Use the RANGE keys to select a fixed measurement range that will accommodate the expected
reading. Use the lowest possible range for best accuracy. You can also select autorange, which
will automatically set the Series 2600B to the most sensitive range.
4. Connect the voltage or current to be measured. Make sure to use 2-wire connections from the
Series 2600B to the device under test (DUT) (see DUT test connections (on page 2-49)).
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
Ohms calculations
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
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-40 2600BS-901-01 Rev. C / August 2016
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 Series 2600B is automatically
configured as a current source with a level of 1 mA. If you wish to change the source function, source
value, or compliance value (in other words, if you wish to customize the MODE key's standard ohm-
meter's configuration), then perform the following steps to perform ohms measurements. The
following procedure assumes that the Series 2600B is already connected to the device under test
(see DUT test connections (on page 2-49)).
To take an ohms measurement:
This procedure requires dual-channel instruments (Models 2602B, 2604B, 2612B, 2614B, 2634B,
and 2636B) to be placed in single-channel display mode. For these models, press the DISPLAY key
to select single-channel display mode. See Display mode (on page 2-24).
1. Press the SRC key to select the source function.
2. Set the output source (current or voltage, dependent on which function is selected) to a value
based on the expected resistance. See Step 1: Select and set the source level (on page 2-34)
earlier in this section.
3. 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. See Step 2: Set the compliance limit (on page 2-34) earlier in this
section.
4. Press the MEAS key to display voltage or current.
5. Make sure that AUTO measurement range is on (press the AUTO key if needed).
6. Press the MEAS key as many times as needed to display ohms.
7. Press the OUTPUT ON/OFF control to turn the output on.
8. View the displayed reading (press the TRIG key if necessary). When finished, press the OUTPUT
ON/OFF control again to turn the output off.
Remote ohms command
Use the smuX.measure.r() function to obtain a resistance reading. The programming example
below illustrates how to obtain a resistance reading from SMU A:
reading = smua.measure.r()
See Remote source-measure commands (on page 2-35) for more commands necessary to set up
source and measure functions, and Introduction to TSP operation (on page 5-1) for more details.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-41
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: auto
Voltage compliance: 10 V
Sense mode: 4-wire
-- Restore Series 2600B defaults.
smua.reset()
-- Select current source function.
smua.source.func = smua.OUTPUT_DCAMPS
-- Set source range to 10 mA.
smua.source.rangei = 10e-3
-- Set current source to 10 mA.
smua.source.leveli = 10e-3
-- Set voltage limit to 10 V.
smua.source.limitv = 10
-- Enable 4-wire ohms.
smua.sense = smua.SENSE_REMOTE
-- Set voltage range to auto.
smua.measure.autorangev = smua.AUTORANGE_ON
-- Turn on output.
smua.source.output = smua.OUTPUT_ON
-- Get 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
(on page 2-49) 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.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-42 2600BS-901-01 Rev. C / August 2016
Figure 12: Two-wire resistance sensing
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-43
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 13: Four-wire resistance sensing
Power measurements
Power calculations
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
Basic power measurement procedure
If you need to customize the MODE key's standard watt-meter configuration, perform the following
steps to perform power measurements. The following procedure assumes that the Series 2600B is
already connected to the device under test (DUT) as explained in DUT test connections (on page 2-
49).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-44 2600BS-901-01 Rev. C / August 2016
Hazardous voltages may be present on the output and guard terminals. To prevent
electrical shock that could cause injury or death, never make or break connections to the
Series 2600B while the output is on. Power off the equipment from the front panel or
disconnect the main power cord from the rear of the Series 2600B before handling cables
connected to the outputs. Putting the equipment into standby does not guarantee the
outputs are not powered if a hardware or software fault occurs.
To perform power measurements from the front panel:
This procedure requires dual-channel instruments (Models 2602B, 2604B, 2612B, 2614B, 2634B,
and 2636B) to be placed in single-channel display mode. For these models, press the DISPLAY key
to select single-channel display mode. See Display mode (on page 2-24).
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. See Step 1 of Front-panel source-
measure procedure (on page 2-33) earlier in this section.
3. 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. See Step 2 of Front-panel source-measure procedure
(on page 2-33) earlier in this section.
4. Press the MEAS key as many times as needed to display power.
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 again to turn the output off.
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 obtain a power reading from SMU A:
reading = smua.measure.p()
See Remote source-measure commands (on page 2-35) for more commands necessary to set up
source and measure functions and also Introduction to TSP operation (on page 5-1).
Power measurement programming example
The following 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
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-45
-- Restore Series 2600B defaults.
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
Contact check measurements
The Models 2604B, 2614B, and 2634B do not perform contact check measurements.
Contact check
The contact check function prevents measurements that may be in error due to excessive resistance
in the force or sense leads when making remotely sensed (Kelvin) measurements (see 4-wire remote
sensing connections for more detail). Potential sources for this resistance include poor contact at the
device under test (DUT), failing relay contacts on a switching card, and wires that are too long or thin.
To use contact check, the current limit must be at least 1 mA (this allows enough current to flow when
performing the test), and the source-measure unit (SMU) must not be in High-Z output-off mode.
The contact check function will also detect an open circuit that may occur when a four-point probe is
misplaced or misaligned. This relationship is shown schematically in the figure titled "Contact check
measurements," where RC is the resistance of the mechanical contact at the DUT, and RS is the
series resistance of relays and cables.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-46 2600BS-901-01 Rev. C / August 2016
Figure 14: Contact check measurements
Contact check commands
The following table summarizes the basic contact check commands. For a more complete description
of these commands, refer to the TSP command reference (on page 7-1). For connection information,
refer to Contact check connections (on page 2-56).
Basic contact check commands
Command* Description
flag = smuX.contact.check()
Determine if contact resistance is lower than threshold.
rhi, rlo = smuX.contact.r()
Measure the aggregate contact resistance.
smuX.contact.speed = speed_opt
Set speed_opt to one of the following:
0 or smuX.CONTACT_FAST
1 or smuX.CONTACT_MEDIUM
2
or
smu
X
.CONTACT_SLOW
smuX.contact.threshold = rvalue
Set resistance threshold for the contact check function.
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Contact check programming example
The following programming example illustrates the setup and command sequence for a typical
contact measurement. These commands set the contact check speed to fast and the threshold to
100 . Then, a contact check measurement against the threshold is made. If it fails, a more accurate
contact check measurement is made, and the test is aborted. Otherwise, the output is turned on, and
the test continues.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-47
-- Restore defaults.
smua.reset()
-- Set speed to fast.
smua.contact.speed = smua.CONTACT_FAST
-- Set threshold to 100 ohms.
smua.contact.threshold = 100
-- Check contacts against threshold.
if not smua.contact.check() then
-- Set speed to slow.
smua.contact.speed = smua.CONTACT_SLOW
-- Get aggregate resistance readings.
rhi, rlo = smua.contact.r()
-- Return contact resistances to the host.
print(rhi, rlo)
-- Terminate execution.
exit()
end
-- Turn output on and continue.
smua.source.output = smua.OUTPUT_ON
Saved setups
You can restore the Series 2600B 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 Series 2600B 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 7-1).
The setup configuration that is used when the instrument powers up can be changed.
Saving user setups
You can save the present Series 2600B 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 Series 2600B 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.
To save a user setup to an external USB flash drive from the front panel:
1. Configure the Series 2600B to the settings that you want to save.
2. Insert the USB flash drive into the USB port on the front panel of the Series 2600B.
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.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-48 2600BS-901-01 Rev. C / August 2016
Recalling a saved setup
You can recall setups from internal nonvolatile memory or a USB flash drive at any time.
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. 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.
USB1 only: Select the appropriate file and then press the ENTER key.
Start-up configuration
You can specify the Series 2600B start-up (power-on) configuration from the front panel. Set the
start-up configuration to a previously stored setup (recalled from internal nonvolatile memory) or reset
to the factory default setup.
To select the power-on setup:
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.
Saving user setups from a remote interface
Saving and recalling user setups
Use the setup.save() and setup.recall() functions to save and recall user setups.
To save and recall user setups using remote commands:
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)
Restoring the factory default setups
Use one of the reset functions to return the Series 2600B 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()
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-49
Restore all factory defaults (note that you cannot use *rst in a script):
*rst
Restore all factory defaults:
setup.recall(0)
Restore channel A defaults:
smua.reset()
Reset just the local TSP-Link node:
localnode.reset()
Start-up (power-on) configuration
You can specify the Series 2600B start-up (power-on) configuration. Use the setup.poweron
attribute to select which setup to return to upon power-up. To set the setup.poweron configuration
attribute:
setup.poweron = n -- Select power-on setup.
Where:
n
=
0 (*RST/reset() factory defaults)
n
=
1 to 5 (user setups 1-5)
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 Series
2600B 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 Series 2600B before handling cables.
Putting the equipment into standby does not guarantee that the outputs are powered off if a
hardware or software fault occurs.
Input/output connectors
The Keithley Instruments Series 2600B System SourceMeter® instrument uses screw terminal
connectors or triaxial connectors for input and output connections to devices under test (DUTs). The
Models 2601B, 2602B, 2604B, 2611B, 2612B, and 2614B use screw terminal connectors; Models
2634B, 2635B, and 2636B use triaxial connectors.
A screw terminal connector can be removed from the rear panel by loosening the two captive
retaining screws and pulling it off the rear panel. Each screw in the terminal connector cable
assembly (used with the SMU connector) can accommodate from 24 AWG (0.2 mm2) to 12 AWG
(2.5 mm2) conductors.
Basic connection sequence:
1. With the output off and the connector uninstalled from the Series 2600B rear panel, make the
wire connections from a connector to the DUT.
2. Reinstall the connector onto the rear panel.
3. If using a screw terminal connector, tighten the two captive screws.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-50 2600BS-901-01 Rev. C / August 2016
Hazardous voltages may be present on the output and guard terminals. To prevent
electrical shock that could cause injury or death, never make or break connections to the
Series 2600B while the output is on. Power off the equipment from the front panel or
disconnect the main power cord from the rear of a System SourceMeter
® instrument before
handling cables connected to the outputs. Putting the equipment into standby does not
guarantee the outputs are not powered if a hardware or software fault occurs.
Maximum floating (common mode) voltage for a SMU is 250 V. Exceeding this level could
damage the instrument and create a shock hazard. See Floating a SMU later in this section
for details on floating the SMUs.
The input/output connectors of the System SourceMeter
® instrument are rated for
connection to circuits rated Measurement Category I only, with transients rated less than
1500 V peak. Do not connect the Series 2600B terminals to CAT II, CAT III, or CAT IV
circuits. Connections of the input/output connectors to circuits higher than CAT I can cause
damage to the equipment or expose the operator to hazardous voltages.
To prevent electric shock and/or damage to the System SourceMeter
® instrument, when
connecting to a source with a greater current capability than the Series 2600B, a user-
supplied fuse, rated at no more than 20 A SLO-BLO, should be installed in-line with the
Series 2600B input/output connectors.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-51
Figure 15: Input/output connectors
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-52 2600BS-901-01 Rev. C / August 2016
Input/output LO and chassis ground
As shown below, SMU input/output LOs are available at the rear panel terminal blocks. Input/output
LOs are not connected between channels and are electrically isolated from chassis ground.
As shown, there is a low-noise chassis ground banana jack that can be used as a common signal
ground point for Input/Output LOs. This low-noise signal ground banana jack is connected to the
chassis through a Frequency Variable Resistor (FVR).
The FVR (in the figure below) is used to isolate the SMUs from high frequencies that may be present
on the chassis of the Series 2600B. As frequencies on the chassis increase, the resistance of the
FVR increases to dampen its effects.
Keep in mind that the chassis should never be used as a ground point for signal connections. High
frequencies present on the chassis of the Series 2600B may result in higher noise. The chassis
should only be used as a safety shield. Use the chassis screw for connections to the chassis of the
Series 2600B. For Models 2634B, 2635B, and 2636B, connect to ground on the ground module not
to the chassis screw.
Figure 16: Models 2602B, 2604B, 2612B, and 2614B input/output LO and chassis ground
terminals (Models 2601B and 2611B similar)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-53
Figure 17: Models 2634B and 2636B input/output and chassis ground terminals (Model 2635B
similar)
Figure 18: Models 2601B/2602B/2604B/2611B/2612B/2614B low-noise chassis ground banana
jack and chassis screw
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-54 2600BS-901-01 Rev. C / August 2016
Figure 19: Model 2634B/2636B (Model 2635B similar)
When connecting to Models 2611B, 2612B, 2614B, 2634B, 2635B, and 2636B SMU outputs
using cables not rated for voltages above 42V, such as the 2600A-ALG-2, you must disable
the high voltage output by using the INTERLOCK function as defined in
Interlock
(on page 3-
88). Leaving the high voltage enabled while not properly insulating the external connections
to the instrument poses a shock hazard which could cause serious injury to the user. It is
also recommended that the LO connection terminal not be allowed to float by connecting it
to signal ground or another known signal reference.
2-wire local sensing connections
You can use 2-wire local sensing measurements, shown in the following figure, for the following
source-measure conditions:
Sourcing and measuring current.
Sourcing and measuring voltage in high impedance (more than 1 k) test circuits.
When using 2-wire local sensing connections, make sure to properly configure the Series 2600B
Sense mode selection (on page 2-75).
Figure 20: Two-wire resistance connections
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-55
4-wire remote sensing connections
When sourcing and/or measuring voltage in a low-impedance test circuit, there can be errors
associated with lead resistance. Voltage source and measure accuracy are optimized by using 4-wire
remote sense connections. When sourcing voltage, 4-wire remote sensing ensures that the
programmed voltage is delivered to the DUT. When measuring voltage, only the voltage drop across
the DUT is measured.
By default, the Series 2600B instruments are configured to use 2-wire or local voltage sensing. If you
choose to enable 4-wire or remote voltage sensing, then it is critical that you establish and maintain
the proper Kelvin connections between the corresponding force and sense leads to insure the proper
operation of the instrument and to obtain accurate voltage measurements. Sense HI must be
connected to Force HI, and Sense LO must be connected to Force LO.
When sourcing voltage with remote sense, the instrument relies on the voltage detected with the
sense lines to provide the proper closed-loop control of its output voltage. If a sense line becomes
disconnected from its corresponding force line, then an erroneous voltage will be sensed and the
output voltage may be adjusted to a level that is radically different than the programmed voltage level
(possibly to hazardous levels).
When sourcing current with remote sense, the instrument relies on the voltage detected with the
sense lines to properly limit the voltage across the device under test. If a sense line becomes
disconnected from its corresponding force line, then erroneous voltage will be sensed and the voltage
across the device may exceed the programmed source limit voltage, possibly causing damage to the
device or test fixture.
In both cases, the voltage will not be measured correctly if a sense lead becomes disconnected from
its corresponding force lead.
You can use 4-wire remote sensing at any time, however, it is strongly recommended for the following
source-measure conditions:
Sourcing or measuring voltage in low impedance (<1 kΩ) test circuits.
Enforcing voltage compliance limit directly at the DUT.
For the Models 2601B, 2602B, 2611B, 2612B, 2635B, and 2636B (not 2604B/2614B/2634B), you
can use the built-in contact check function to verify that the force and sense leads are properly
connected together before enabling remote sensing, or before turning on the output. Refer to
Contact check measurements (on page 2-45).
When using 4-wire local sensing connections, make sure to properly configure the Series 2600B
Sense mode selection (on page 2-75).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-56 2600BS-901-01 Rev. C / August 2016
Figure 21: Four-wire connections (remote sensing)
Contact check connections
The Models 2604B, 2614B, and 2634B do not perform contact check measurements.
The contact check function prevents measurement errors due to excessive resistance in the source
or sense leads. See Contact check measurements (on page 2-45) for operation.
Contact check requires both source and sense connections. Refer to 4-wire remote sensing
connections (on page 2-55) for connection scheme.
Multiple SMU connections
The Series 2600B System SourceMeter
® instrument and its associated cabling are designed
to be safe when operated correctly in a 3000 V system. They are only warranted to the
maximum voltage and current ratings of the instrument. Connecting two Series 2600B
instruments in parallel or in series may result in voltages or power levels that exceed the
safety mechanisms. This increases the risk of instrument damage and the possibility of
personal injury or death due to electric shock. The user assumes all of the associated risks
of combining the outputs of two or more Series 2600B instruments.
Connections to LO on the Series 2600B are not necessarily at 0 V. Hazardous voltages could
exist between LO and chassis ground. Make sure that high-voltage precautions are taken
throughout the test system. Alternatively, limit hazardous levels by adding external
protection to limit the voltage between LO and chassis. Failure to make sure high-voltage
precautions are used throughout the test system or a failure to limit hazardous levels could
result in severe personal injury or death from electric shock.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-57
Carefully consider and configure the appropriate output-off state, source, and compliance limits
before connecting the Series 2600B to a device that can deliver energy (for example, other voltage
sources, batteries, capacitors, solar cells, or other Series 2600B 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).
The following figures (see "Contact check connections" on page 2-56) show how to use the SMUs of
two Series 2600A instruments to test a 3-terminal device, such as an N-channel JFET (see TSP
advanced features (on page 6-52) for information on using multiple Series 2600A instruments). A
typical application is for the Model 263xB to source a range of gate voltages, while the Series 2600B
sources voltage to the drain of the device and measures current at each gate voltage.
Figure 22: Two SMUs connected to a 3-terminal device (local sensing)
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-58 2600BS-901-01 Rev. C / August 2016
Figure 23: Two SMUs (Model 2636A) connected to a 3-terminal device (local sensing, floating)
NEW
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-59
The following figure illustrates using three SMUs to test the same 3-terminal device. The third SMU is
connected to the source (S) terminal of the JFET. This allows the source terminal to be biased above
signal LO. Setting this SMU to output 0 V effectively connects the source terminal of the JFET to
signal LO.
Figure 24: Three SMUs connected to a 3-terminal device
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-60 2600BS-901-01 Rev. C / August 2016
Figure 25: Model 2636A three SMUs connected to a 3-terminal device (local sensing, non-
floating)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-61
Guarding and shielding
You can optimize source-measure performance and safety with the effective use of guarding and
shielding (noise and safety shields).
Safety shield
A safety shield must be used whenever hazardous voltages (>30 V RMS, 42 V peak) will be
present in the test circuit. To prevent electrical shock that could cause injury or death,
never use the Series 2600B in a test circuit that may contain hazardous voltages without a
properly installed and configured safety shield.
The safety shield can be metallic or nonconductive, and must completely surround the DUT test
circuit. A metal safety shield must be connected to a known protective earth (safety ground). See Test
fixtures (see "Test fixture" on page 2-71) for important safety information on the use of a metal or a
nonconductive enclosure.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-62 2600BS-901-01 Rev. C / August 2016
Safety shielding and hazardous voltages
Model 2601B/2602B/2604B: The maximum output voltage for a Model 2601B/2602B/2604B channel
is 40 V, which is considered a nonhazardous level. However, using two Model 2601B/2602B/2604B
voltage sources in a series configuration or floating a SMU can cause test circuit voltage to exceed
42 V. For example, the source-measure units (SMUs) of two Model 2601B/2602B/2604B instruments
can be connected in series to apply 80 V to a device under test (DUT) (see the following figure). See
TSP advanced features (on page 6-52) for information on using multiple System SourceMeter®
instrument instruments.
Use #18 AWG wire or larger for connections to protective earth (safety ground) and chassis.
Figure 26: Safety shield for hazardous voltage combining two Model 2601B/2602B/2604B
channels
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-63
Model 2611B/2612B/2614B/2634B/2635B/2636B: The maximum output voltage for a Model
2611B/2612B/2614B/2634B/2635B/2636B channel is 220 V, which is considered hazardous and
requires a safety shield. The following figures illustrate test connections for these models.
Use #18 AWG wire or larger for connections to protective earth (safety ground) and chassis.
Figure 27: Model 2611B/2612B/2614B safety shield for hazardous voltage test circuit
connections
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-64 2600BS-901-01 Rev. C / August 2016
Figure 28: Model 2634B/2635B/2636B safety shield for hazardous voltage test circuit
connections
Guarding
A driven guard is always enabled and provides a buffered voltage that is at the same level as the
input/output HI voltage. The purpose of guarding is to eliminate the effects of leakage current (and
capacitance) that can exist between HI and LO. Without guarding, leakage and capacitance in the
external high-impedance test circuit could be high enough to adversely effect the performance of the
Series 2600B.
Guarding (shown below) should be used when test circuit impedance is >1 G.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-65
See Guard (on page 4-24) for details on the principles of guarding.
Figure 29: Models 2602B, 2604B, 2612B,and 2614B high-impedance guarding
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-66 2600BS-901-01 Rev. C / August 2016
Figure 30: Models 2634B and 2636B high-impedance guarding (floating) (Model 2635B is
similar)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-67
Figure 31: Model 2634B and 2636B high-impedance guarding (non-floating) (Model 2635B is
similar)
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-68 2600BS-901-01 Rev. C / August 2016
Noise shield
Use a noise shield (see following figure) to prevent unwanted signals from being introduced into the
test circuit. Low-level signals may benefit from effective shielding. The metal noise shield surrounds
the test circuit and should be connected to LO, as shown.
Figure 32: Models 2602B, 2604B, 2612B, and 2614B noise shield
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-69
Figure 33: Models 2634B and 2636B noise shield (floating) (Model 2635B similar)
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-70 2600BS-901-01 Rev. C / August 2016
Figure 34: Models 2634B and 2636B noise shield (non-floating) (Model 2635B similar)
Using shielding and guarding together
The following figures show connections for a test system that uses a noise shield, a safety shield, and
guarding. The guard shields are connected to the driven guard (labeled G or GUARD, depending on
your model) of the SMU. The noise shield is connected to LO. The safety shield is connected to the
chassis and to protective earth (safety ground).
Connect the enclosure of all metal test fixtures to protective earth (safety ground). See your
specific test fixture for information. Nonconductive test fixtures must be rated to double the
maximum capability of the test equipment in the system.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-71
Figure 35: Connections for noise shield, safety shield, and guarding
Test fixture
A test fixture can be used to house a device or test circuit. The test fixture can be a metal or
nonconductive enclosure, and is typically equipped with a lid. When properly used, the output of the
Series 2600B will turn off when the lid of the test fixture is opened. The test circuit is mounted inside
the test fixture. When hazardous voltages (>30 V RMS, 42 V peak) will be present, the test fixture
must meet the following safety requirements:
To provide protection from shock hazards, an enclosure should be provided that surrounds
all live parts.
Nonconductive enclosures must be constructed of materials that are suitably rated for
flammability and the voltage and temperature requirements of the test circuit. Connect the
enclosure of all metal test fixtures to protective earth (safety ground) (see your specific test
fixture for information). Nonconductive test fixtures must be rated to double the maximum
capability of the test equipment in the system.
For metallic enclosures, the test fixture chassis must be properly connected to protective
earth (safety ground). A grounding wire (#16 AWG or larger) must be attached securely to
the test fixture at a screw terminal designed for safety grounding. The other end of the
ground wire must be attached to a known protective earth (safety ground).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-72 2600BS-901-01 Rev. C / August 2016
Construction material: A metal test fixture must be connected to a known protective earth (safety
ground) as described in the above WARNING. A nonconductive test fixture must be constructed of
materials that are suitable for flammability, voltage, and temperature conditions that may exist in the
test circuit. The construction requirements for a nonconductive enclosure are also described in the
WARNING above.
Test circuit isolation: With the lid closed, the test fixture must completely surround the test circuit. A
metal test fixture must be electrically isolated from the test circuit. Input/output connectors mounted
on a metal test fixture must be isolated from the test fixture. Internally, Teflon standoffs are typically
used to insulate the internal printed circuit board or guard plate for the test circuit from a metal test
fixture.
Interlock switch: The test fixture must have a normally-open interlock switch. The interlock switch
must be installed so that when the lid of the test fixture is opened, the switch will open, and when the
lid is closed, the switch will close.
The Series 2600B digital I/O port provides an output enable line or an interlock line (dependent on the
model number). When properly used with a test fixture, the output of the Series 2600B will turn off
when the lid of the test fixture is opened. The output enable (OE) is found on Models
2601B/2602B/2604B while the Models 2611B/2612B/2614B/2634B/2635B/2636B have an interlock.
The digital I/O port of the Model 2601B/2602B/2604B is not suitable for control of safety
circuits and should not be used to control a safety interlock. The interlock pin on the digital
I/O port for the Model 2611B/2612B/2614B/2634B/2635B/2636B can be used to control a
safety interlock.
See the topic titled Digital I/O (on page 3-82) for information on the digital I/O port.
Floating a SMU
Using an external source in the test system may require that a Series 2600B source-measure unit
(SMU) float off chassis earth ground. An example of such a test system is shown below, which
includes an external voltage source. Notice that output low of the external voltage source is
connected to chassis earth ground.
For the test circuit shown below, the Series 2600B must float off chassis earth ground. As shown, LO
of the Series 2600B is floating +10 V above chassis earth ground. If LO of the Series 2600B was
instead connected to chassis ground, the external voltage source would be shorted to the chassis
ground.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-73
Figure 36: Floating the Series 2600B schematic
The Series 2600B connections for the floating configuration are shown below. In order to float the
SMU, input/output LO must be isolated from chassis ground. This is accomplished by not connecting
input/output LO to chassis ground.
Figure 37: Model 2601B/2602B/2604B/2611B/2612B/2614B SMU connections
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-74 2600BS-901-01 Rev. C / August 2016
Figure 38: Models 2634B and 2636B SMU connections (Model 2635B similar)
The external voltage source can be a SMU of a second Series 2600B instrument or other instrument.
Keep in mind that if the combined outputs of the sources exceeds 42 V, then a safety shield will be
required for the DUT (see the following WARNINGS).
The maximum floating (common mode) voltage for a SMU is ±250 V. Exceeding this level may
cause damage to the instrument and create a shock hazard.
Using an external source to float a SMU could create a shock hazard in the test circuit. A
shock hazard exists whenever >42 V peak is present in the test circuit. Appropriately rated
cables or insulators must be provided for all connections to prevent access to live parts.
When >42 V is present, the test circuit must be insulated for the voltage used or surrounded
by a metal safety shield that is connected to a known protective earth (safety ground) and
chassis ground (see
Safety shield
(on page 2-61)).
DUT connection settings
Make sure to properly configure the Series 2600B sense mode for the specific DUT test connection
scheme. Use care to configure both the output-off state and overvoltage protection settings to
supplement safe operation of your test setup.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-75
Sense mode selection
The sense mode can be set to use 2-wire local sensing connections (on page 2-54) or 4-wire remote
sensing connections (on page 2-55).
The default sense setting is 2-wire local.
Front panel sense mode selection
To check or change the sense mode from the front panel:
1. Press the CONFIG key.
2. Press the SRC or MEAS key. You can access and set the Series 2600B sense mode from either
the V-SOURCE or the V-MEAS menu items.
3. If you pressed the SRC key: select V-SOURCE > SENSE-MODE, and then press the ENTER key
or the navigation wheel .
If you pressed the MEAS key: select V-MEAS > SENSE-MODE, and then press the ENTER key
or the navigation wheel .
4. Select 2-WIRE or 4-WIRE as needed, and then press the ENTER key or the navigation wheel .
Selecting the sense from the remote interface
To select the remote sense from the remote interface:
Set the smuX.sense attribute to control the sense state by remote. The programming example below
illustrates how to configure the Series 2600B for 4-wire remote sensing:
smua.sense = smua.SENSE_REMOTE
The following table summarizes the commands to select the sense mode. See Remote source-
measure commands (on page 2-35) and TSP command reference (on page 7-1) for details on using
these commands.
Commands to select sense mode
Command* Description
smuX.source.output = smuX.OUTPUT_OFF
Turns off the source-measure unit
(SMU) output.
smuX.sense = smuX.SENSE_LOCAL
Select local (2-wire) sense.
smuX.sense = smuX.SENSE_LOCAL
Select remote (4-wire) sense.
* smu
X
: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B,
2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU
Channel B).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-76 2600BS-901-01 Rev. C / August 2016
Output-off states
Carefully consider and configure the appropriate output-off state, source, and compliance limits
before connecting the Series 2600B to a device that can deliver energy (for example, other voltage
sources, batteries, capacitors, solar cells, or other Series 2600B 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).
Output-off modes
Turning a source-measure unit (SMU) off may not completely isolate the SMU from the external
circuit. The output-off mode can be used to place the Series 2600B SMU in a known, safe,
non-interactive state during idle periods, for example, when changing devices. A Series 2600B SMU
can be in one of three output-off modes: Normal, high-impedance, or zero.
Normal output-off mode
The normal output-off mode is the default output-off mode setting. When the source-measure unit
(SMU) is in the normal output-off mode, you can select either the current or the voltage output-off
function (see Output-off function (on page 2-77)). You can also specify current and voltage output-off
limits (Output-off limits (compliance) (on page 2-78)).
When the output is turned off, the output goes to either 0 V or 0 A, depending on the selected output-
off function. Voltage is the default output-off function.
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 state for tests that turn the
output off and on frequently.
Zero output-off mode
The Series 2600B is configured as described below when it is in the zero output-off mode.
When the V-Source is the selected source:
The programmed V-Source value remains on the display.
Internally, the V-Source is set to 0 V.
The current compliance setting remains the same as the output-on value. Compliance detection
remains active.
Measurements are performed and displayed.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-77
When the I-Source is the selected source:
The programmed I-Source value remains on the display.
Internally, the V-Source is selected and set to 0 V.
Current compliance is set to the programmed Source I value or to 10 percent full-scale of the
present current range, whichever is greater.
Measurements are performed and displayed.
The Series 2600B can be used as an I-Meter when it is in zero output-off mode because it will output
0 V, but measure current.
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*:
smuX.source.offmode = smuX.OUTPUT_NORMAL
To select the high-impedance output-off mode over a remote interface*:
smuX.source.offmode = smuX.OUTPUT_HIGH_Z
To select the zero output-off mode over a remote interface*:
smuX.source.offmode = smuX.OUTPUT_ZERO
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or
smub (for SMU Channel B).
Output-off function
This setting is used only when the when output is turned off and the Series 2600B is in NORMAL
output-off mode (smuX.source.offmode = smuX.OUTPUT_NORMAL).
When the Series 2600B is in NORMAL output-off mode, you can set the output-off function to
CURRENT or VOLTAGE through the CONFIG menu on the front panel, or by using the
smuX.source.offfunc attribute from a remote interface. VOLTAGE is the default output-off
function.
When the output is turned off and the selected output-off function is VOLTAGE
(smuX.source.offfunc = smuX.OUTPUT_DCVOLTS):
The source-measure unit (SMU) sources 0 V.
The current limit is set by the smuX.source.offlimiti attribute (default 1 mA).
When the output is turned off and the selected output-off function is CURRENT
(smuX.source.offfunc = smuX.OUTPUT_DCAMPS):
The SMU sources 0 A.
The voltage limit is set by the smuX.source.offlimitv attribute (default 40 V).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-78 2600BS-901-01 Rev. C / August 2016
When the output-off function is set to either voltage or current, the SMU may source or sink a very
small amount of power. In most cases, this source or sink power level is not significant.
Selecting the output-off function
This setting is used only when the when output is turned off and the source-measure unit (SMU) is in
NORMAL output-off mode.
To configure the output-off function from the front panel:
1. Press the CONFIG key.
2. Press the OUTPUT ON/OFF control.
3. Select OFF-STATE and then select FUNCTION.
4. Select CURRENT or VOLTAGE.
5. Press the EXIT key to return to the normal display.
To configure the output-off function remotely:
To set 0 V output with current limit set by the smuX.source.offlimiti attribute*:
smuX.source.offfunc = smuX.OUTPUT_DCVOLTS
To set 0 A output with voltage limit set by the smuX.source.offlimitv attribute*:
smuX.source.offfunc = smuX.OUTPUT_DCAMPS
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or
smub (for SMU Channel B).
Output-off limits (compliance)
You can set output-off limits (compliance) for the current and voltage output-off functions using the
CONFIG menu on the Series 2600B front panel, or by setting the smuX.source.offlimitY
attribute from a remote interface. The output-off limits only apply when the output-off mode is normal.
Setting the output-off limit for CURRENT (smuX.source.offlimiti) specifies the current limit for
the voltage source; setting the output-off limit for VOLTAGE (smuX.source.offlimitv) specifies
the voltage limit for the current source.
Setting output-off limits
To configure the output-off limits from the front panel of the Model:
1. Press the CONFIG key.
2. Press the OUTPUT ON/OFF control.
3. Select OFF-STATE and then select LIMIT.
4. Select CURRENT or VOLTAGE.
5. Set the limit value and then press the ENTER key or the navigation wheel (for details, see
Setting values (on page 2-21)).
6. Press the EXIT key to return to the normal display.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-79
To set the current limit in NORMAL output-off mode remotely:
smuX.source.offlimiti = iValue
To set the voltage limit in NORMAL output-off mode remotely:
smuX.source.offlimitv = vValue
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or
smub (for SMU Channel B).
Remote programming output-off states quick reference
The content of the following table is a quick reference of commands for programming output-off states
from a remote interface.
Output-off state programming quick reference
Command* Description
smuX.source.offmode = smua.OUTPUT_NORMAL
Selects normal output-off mode.
smuX.source.offmode = smua.OUTPUT_HIGH_Z
Selects high-impedance output-off
mode.
smuX.source.offmode = smua.OUTPUT_ZERO
Selects zero output-off mode.
smuX.source.offfunc = smua.OUTPUT_DCVOLTS
Sets 0 V output with current limit
specified by the
smua.source.offlimiti
attribute.
smuX.source.offfunc = smua.OUTPUT_DCAMPS
Sets 0 A output with voltage limit
specified by the
smua.source.offlimitv
attribute.
smuX.source.offlimiti = iValue
Sets current limit in normal
output-off mode.
smuX.source.offlimitv = vValue
Sets voltage limit in normal
output-off mode.
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B,
2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU
Channel B).
USB storage overview
The Series 2600B System SourceMeter® instrument includes a USB port on the front panel. To store
scripts and to transfer files from the instrument to the host computer, you need a USB flash drive.
For information about saving reading buffers to the USB flash drive, see Saving reading buffers
(on page 3-9).
For information about storing and loading scripts to and from the USB flash drive, see Save a
user script (on page 6-8).
For information about file I/O, see File I/O (on page 5-7).
For information about saving user setups, see Saved setups (on page 2-47).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-80 2600BS-901-01 Rev. C / August 2016
Connecting the USB flash drive
The Series 2600B supports flash drives that comply with USB 2.0 standards (as well as USB 1.0 and
1.1 standards). You can save data to the USB flash drive from the front panel, or you can create a
script to save data to the USB flash drive.
To connect the USB flash drive, plug the USB flash drive into the USB port located on the
instrument's front panel (see the figure below).
Figure 39: USB port
File system navigation
The Series 2600B can use commands from the Lua fs library to navigate and list files that are
available on a flash drive. These Lua commands are in the fs command group in the instrument.
The fs commands make the file system of any given node available to the entire TSP-Link® system.
For example, you can use the command node[5].fs.readdir(".") to read the contents of the
current working directory on node 5.
The root folder of the USB flash drive has the absolute path:
"/usb1/"
You can use either the slash (/) or backslash (\) as a directory separator. However, the backslash is
also used as an escape character, so if you use it as a directory separator, you will generally need to
use a double backslash (\\) when you are creating scripts or sending commands to the instrument.
The instrument supports the following Lua fs commands:
fs.chdir() (on page 7-103)
fs.cwd() (on page 7-104)
fs.is_dir() (on page 7-104)
fs.is_file() (on page 7-105)
fs.mkdir() (on page 7-105)
fs.readdir() (on page 7-105)
fs.rmdir() (on page 7-106)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-81
The following Lua fs commands are not supported at this time:
fs.chmod()
fs.chown()
fs.stat()
Displayed error and status messages
During operation and programming, front-panel messages may be briefly displayed. Typical
messages are either status or error notifications (refer to the Error summary list (on page 8-3) for a
complete list of these messages and their meanings).
Status and error messages are held in a queue. For information about retrieving messages from
queues, refer to Queues (on page E-2). For information about error messages, refer to the
Troubleshooting guide (on page 8-1).
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 display may contain dashes instead of a reading
(for example, --.---- mA). This indicates that no measurement was taken using the range that is
presently selected. To update the displayed reading, trigger a measurement (if in local control, press
the TRIG key).
Available ranges
The following table lists the available source and measurement ranges for the Keithley Instruments
Series 2600B System SourceMeter® instrument.
Models 2601B/2602B/2604B Models 2611B/2612B/2614B Models 2634B/2635B/2636B
Voltage ranges Current ranges Voltage ranges Current ranges Voltage ranges Current ranges
100 mV
100 nA
200 mV
100 nA
200 mV
100 pA2,3
1 V
1 µA
2 V
1 µA
2 V
1 nA
6 V
10 µA
20 V
10 µA
20 V
10 nA
40 V
100 µA
200 V
100 µA
200 V
100 nA
1 mA
1 mA
1 µA
10 mA
10 mA
10 µA
100 mA
100 mA
100 µA
1 A
1 A
1 mA
3 A
1.5 A
10 mA
10 A
1
100 mA
1 A
1.5 A
1. 10 A range available only in pulse mode.
2. 100 pA range only for measurements.
3. 100 pA measurement range is not available on the Model 2634B.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-82 2600BS-901-01 Rev. C / August 2016
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.
Note, however, that the instrument will autorange at 100 percent of the range.
Measure auto delay
The measure delay is a specific delay that is applied before each measurement is taken. This delay is
disabled by default (measurements are taken immediately). You can change the default delay by
setting the smuX.measure.delay (on page 7-218) attribute either to a specific value or to an auto
delay setting (set smuX.measure.delay = smuX.DELAY_AUTO). If the measure delay is set to the
auto delay setting, a range-dependent delay is applied each time the instrument performs a current
measurement. This delay also happens for the measurement that is taken after changing current
ranges during an autoranged measurement. The default measurement delay varies by model.
You can increase or decrease the auto delay by changing the delay factor (for example, to reduce the
delay across all ranges by half, set smuX.measure.delayfactor = 0.5). For additional
information, refer to smuX.measure.delayfactor (on page 7-219) in the "Remote commands" section.
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 source and measure
functions are the same, the measure range is locked to the source range. In addition, there are other
limitations.
Model 2601B/2602B/2604B: 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 4-5) for power derating
information.
Model 2611B/2612B/2614B/2634B/2635B/2636B: With the 200 V V-Source range selected, the
highest current measurement range is 100 mA. With I-Source ranges above 100 mA selected, the
highest voltage measurement range is 20 V. Refer to Operating boundaries (on page 4-5) for
power derating information.
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 single-channel display mode (Models
2602B/2604B/2612B/2614B/2634B/2636B), 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.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-83
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. With autoranging selected, the instrument automatically
sets the best range to source or measure the applied signal. The instrument will uprange at 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 Series 2600B will use when autoranging is enabled.
This feature is useful for minimizing autorange settling times when numerous range changes are
involved.
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. Use the EXIT (LOCAL) key to return to the normal display.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-84 2600BS-901-01 Rev. C / August 2016
Range considerations
The source range and measure range settings can interact depending on the source function.
Additionally, the output state (on/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
measur
ement 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.
Series 2600B example:
smua.source.func = smua.OUTPUT_DCVOLTS
smua.source.rangev = 1
smua.measure.rangev = 10
-- will print 1, the source range
print(smua.measure.rangev)
smua.source.func = smua.OUTPUT_DCAMPS
-- will print 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 four 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 will
not return an error
until the output is
turned on.
When the output is turned on, the display will show a series of question
marks: ???.???
Measure autoranging
is enabled
The measure range is
changed only when a
measurement is
taken.
Querying the range after the measurement is taken will return the range
that the instrument chose.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-85
Range programming
Range commands
The following tables summarize commands necessary to control measure and source ranges. See
the TSP command reference (on page 7-1) for more details about these commands.
Measure range commands*
Command** Description
smuX.measure.autorangei = smuX.AUTORANGE_ON
Enable current measure autorange.
smuX.measure.autorangei = smuX.AUTORANGE_OFF
Disable current measure autorange.
smuX.measure.autorangev = smuX.AUTORANGE_ON
Enable voltage measure autorange.
smuX.measure.autorangev = smuX.AUTORANGE_OFF
Disable voltage measure autorange.
smuX.measure.lowrangei = lowrange
Set lowest I measure range for
autorange.
smuX.measure.lowrangev = lowrange
Set lowest V measure range for
autorange.
smuX.measure.rangei = rangeval
Select manual current measure range.
smuX.measure.rangev = rangeval
Select manual voltage measure range.
* See Available ranges (on page 2-81)
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B,
2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Source range and limit commands*
Command** Description
smuX.source.autorangei = smuX.AUTORANGE_ON
Enable current source autorange.
smuX.source.autorangei = smuX.AUTORANGE_OFF
Disable current source autorange.
smuX.source.autorangev = smuX.AUTORANGE_ON
Enable voltage source autorange.
smuX.source.autorangev = smuX.AUTORANGE_OFF
Disable voltage source autorange.
smuX.source.limiti = level
Set voltage source current limit
(compliance).
smuX.source.limitv = level
Set current source voltage limit
(compliance).
smuX.source.limitp = level
Set source power limit (compliance).
smuX.source.lowrangei = lowrange
Set lowest I source range for autorange.
smuX.source.lowrangev = lowrange
Set lowest V source range for autorange.
smuX.source.rangei = rangeval
Select manual current source range.
smuX.source.rangev = rangeval
Select manual voltage source range.
* See Available ranges (on page 2-81)
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B,
2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-86 2600BS-901-01 Rev. C / August 2016
Range programming example
The programming example below illustrates how to control both source and measure ranges. The
Series 2600B is set up as follows:
Voltage source range: Auto
Current measure range: 10 mA
Voltage source current limit: 10 mA
-- Restore Series 2600B defaults.
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. For information to adjust the format of remote interface readings, see
format.asciiprecision (on page 7-101).
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-87)).
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.
For Models 2602B/2604B/2612B/2614B/2634B/2636B while in dual-channel display mode, the
maximum display resolution is 4.5 digits. For these models while in dual-channel display mode,
pressing the DIGITS key has no effect other than the displaying a message advising you to change
the display to the indicated channel. It will also happen in single-channel display mode when
pressing the DIGITS key for the channel that is not being displayed.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-87
Setting display resolution from a remote interface
The following table summarizes use of the display.smuX.digits command. See the TSP
command reference (on page 7-1) for more information.
Digits commands
Command* Description
display.smuX.digits = display.DIGITS_4_5
Set display to 4.5 digits.
display.smuX.digits = display.DIGITS_5_5
Set display to 5.5 digits.
display.smuX.digits = display.DIGITS_6_5
Set display to 6.5 digits.
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B,
2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for
SMU Channel B).
Digits programming example
-- Select 5.5 digits.
display.smua.digits = display.DIGITS_5_5
Speed
The SPEED key is used to set the integration time, or measurement aperture, of the A/D converter
(period of time 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).
Setting speed
Speed is set from the SPEED configuration menu and is structured as follows.
Front-panel speed configuration
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 PLC value from 0.001 to 25
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-88 2600BS-901-01 Rev. C / August 2016
The SPEED setting affects all measurement functions. After setting the speed, the display resolution
can be changed using the DIGITS key. For the Model 2602B/2604B/2612B/2614B/2634B/2636B in
single-channel display mode, pressing the SPEED key for the channel that is not being displayed will
result in a display message to change to the other channel before setting the speed.
Remote speed programming
Speed command
The following table summarizes commands to control speed. See the TSP command reference (on
page 7-1) for more information.
Speed command*
Command** Description
smuX.measure.nplc = nplc
Sets the speed of the ADC (nplc = 0.001 to 25).*
* The speed setting is global and affects all measurement functions.
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B,
2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Speed programming example
Use the NPLC command to set the measurement speed. The programming example below illustrates
how to set the speed to 10 PLC:
-- Set NPLC to 10.
smua.measure.nplc = 10
Remote communication interfaces
You can choose from one of several communication interfaces to send commands to and receive
responses from the Series 2600B.
You can control the Series 2600B from only one communication interface at a time. The first interface
on which it receives a message takes control of the instrument. If another interface sends a message,
that interface can take control of the instrument. You may need to enter a password to change the
interface, depending on the access mode.
The Series 2600B automatically detects the type of communication interface (LAN, GPIB, or USB)
when you connect to the respective port on the rear panel of the instrument. In most cases, you do
not need to configure anything on the instrument. In addition, you do not need to reboot if you change
the type of interface that is connected.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-89
Supported remote interfaces
The Series 2600B supports the following remote interfaces:
GPIB. General purpose interface bus is an IEEE-488 instrumentation data bus.
LAN. Local area network (LAN) communications provide the flexibility to build scalable and
functional test or data acquisition systems with a large degree of flexibility.
USB. Communicate with the instrument over a USB connection.
RS-232.
The Series 2600B can be controlled from only one communication interface at a time. The first
interface from which it receives a message takes control of the instrument. It ignores the other
interfaces until the instrument is returned to local operation.
For more information about the remote interfaces, see:
GPIB setup
LAN concepts and settings (on page C-1)
USB communications (on page 2-91)
RS-232 interface operation (on page 2-108)
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-90 2600BS-901-01 Rev. C / August 2016
Figure 40: Series 2600B IEEE-488, LAN, USB, and RS-232 connections
1 IEEE-488 connection
2 LAN connection
3 USB connection
4 RS-232 connection
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-91
Output queue
Response messages, such as those generated from print commands, are placed in the output queue.
All remote command interfaces share the same output queue.
The output queue sets the message available (MAV) bit in the status model.
The data in the output queue is cleared by the *CLS command.
USB communications
To use the rear-panel USB port, you must have the Virtual Instrument Software Architecture (VISA)
layer on the host computer. See How to install the Keithley I/O Layer (on page 2-102) for more
information.
VISA contains a USB class driver for the USB Test and Measurement Class (USBTMC) protocol that,
once installed, allows the Microsoft® Windows® operating system to recognize the instrument.
When you connect a USB device that implements the USBTMC or USBTMC-USB488 protocol to the
computer, the VISA driver automatically detects the device. Note that the VISA driver only
automatically recognizes USBTMC and USBTMC-USB488 devices. It does not recognize other USB
devices, such as printers, scanners, and storage devices.
In this section, "USB instruments" refers to devices that implement the USBTMC or
USBTMC-USB488 protocol.
The full version of National Instruments (NI®) VISA provides a utility to create a USB driver for any
other kind of USB device that you want to communicate with VISA. For more information, see the
National Instruments VISA site (see National Instruments VISA site - http://www.ni.com).
Communicate with the instrument
To communicate with the USB device, you need to use NI-VISATM. VISA requires a resource string in
the following format to connect to the correct USB instrument:
USB[board]::manufacturer ID::model code::serial number[::USB interface number][::INSTR]
This requires that you determine the parameters. You can gather this information by running a utility
that automatically detects all instruments connected to the computer.
If you installed the Keithley I/O Layer, the Keithley Configuration Panel is available from the
Microsoft® Windows® Start menu in the Keithley Instruments menu.
To use the Keithley Configuration Panel to determine the VISA resource string:
1. Start the Keithley Configuration Panel. The Select Operation dialog box is displayed.
2. Select Add.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-92 2600BS-901-01 Rev. C / August 2016
Figure 41: Select Operation dialog box
3. Click Next. The Select Communication Bus dialog box is displayed.
Figure 42: Select Communication Bus dialog box
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-93
4. Select USB.
5. Click Next. The Select Instrument Driver dialog box is displayed.
Figure 43: Select Instrument Driver dialog box
6. Select Auto-detect Instrument Driver - Model.
7. Click Next. The Configure USB Instrument dialog box is displayed with the detected instrument
VISA resource string displayed.
8. Click Next. The Name Virtual Instrument dialog box is displayed.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-94 2600BS-901-01 Rev. C / August 2016
Figure 44: Name Virtual Instrument dialog box
9. In the Virtual Instrument Name box, enter a name that you want to use to refer to the instrument.
10. Click Finish.
11. Click Cancel to close the Wizard.
12. Save the configuration. From the Configuration Utility, select File > Save.
13. In the Keithley Communicator, select File > Open Instrument to open the instrument you just
named.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-95
Figure 45: Keithley Communicator Open Instrument
14. Click OK.
15. Send a command to the instrument and see if it responds.
If you have a full version of NI VISA on your system, you can run NI-MAX or the VISA Interactive
Utility. See their documentation for information.
If you have the Agilent IO Libraries on your system, you can run Agilent Connection Expert to check
out your USB instruments. See their documentation for information.
Additional USB information
This section provides further details and more advanced information about the USB bus and
test-and-measurement instruments.
Connecting multiple USB instruments to the computer
The most convenient way to connect USB instrumentation to the computer is to plug a USB cable
directly from the instrument to the computer. If you have more than one USB instrument or have other
USB devices, such as printers, keyboards, and mice, you might not have enough USB connectors on
the computer.
To gain more ports, you can use a USB hub or add more USB controller cards if you have available
PCI or PCI Express slots.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-96 2600BS-901-01 Rev. C / August 2016
LAN communications
The Series 2600B is an LXI version 1.4 Core 2011 compliant instrument that supports TCP/IP and
complies with IEEE Std 802.3 (ethernet). There is one LAN port (located on the rear panel of the
instrument) that supports full connectivity on a 10 Mbps or 100 Mbps network.
For detailed information about setting up your LAN interface, refer to LAN concepts and settings (on
page C-1).
LAN cable connection
The Models 2601B, 2602B, 2611B, 2612B, 2635B, and 2636B include two Model CA-180-3A cables
(LAN crossover cables). Use one cable for the TSP-Link® network and use the other cable for the
LAN. One cable is provided for the Models 2604B, 2614B, and 2634B for connection to the LAN. The
TSP-Link® is not available on these models.
Use the following figure as a guide when making LAN connections.
Figure 46: LAN connection
1 Series 2600B ethernet port (LAN)
2 Straight-through LAN cable or crossover LAN cable (Model CA-180-3A)
3 Ethernet port (located on the host computer)
LAN status LEDs
The figure below illustrates the two status light emitting diodes (LED) that are located at the top of the
LAN port of the instrument. The table below the figure provides explanations of the LED states.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-97
Figure 47: LAN Status
1
LED indicates the LAN port is connected to a 100 Mbps network
2 LED indicates the LAN port is connected to a 10 Mbps network
When the LED is: The network:
is not connected
is connected
is sending or receiving data
Using the LAN with remote operations
The following table lists the Series 2600B remote interface's available LAN protocols:
LAN protocols
Port number Protocol
23
Telnet
1024
VXI-11
5025 Raw socket
5030
Dead socket termination port
You can only use one remote interface at a time. Although multiple ethernet connections to the
instrument can be opened, only one can be used to control the instrument at a time.
Raw socket: Raw socket is a basic ethernet connection that communicates similarly to RS-232
without explicit message boundaries. The instrument will always terminate messages with a line feed,
but because binary data may include bytes that resemble line feed characters, it may be difficult to
distinguish between data and line feed characters.
VXI-11: VXI-11 is similar to GPIB and supports message boundaries and service requests (SRQs). A
VXI-11 driver or VISA software is required. Test Script Builder (TSB) uses VISA and can be used with
the VXI-11 interface.
Telnet: Telnet is similar to raw socket and is used when you need to interact directly with the
instrument, typically for debugging and troubleshooting. Telnet requires a separate telnet program.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-98 2600BS-901-01 Rev. C / August 2016
Dead socket termination port: The dead socket termination port is used to terminate all existing
LAN connections. A dead socket is one that is held open by the instrument because it has not been
properly closed. This most often happens when the computer is turned off or reboots without first
closing the socket. This port cannot be used for command and control functions.
Monitoring the LAN
The lan.autoconnect command configures the instrument to monitor the LAN for lost connections.
All ethernet connections are disconnected if the LAN link is disconnected for longer than the time-out
value specified in the lan.linktimeout attribute.
Supplied software
The majority of software applications and all instrument drivers from Keithley Instruments depend on
some, or all, of the following software components:
NI-VISATM
VISA shared components
IVI shared components
NITM CVITM runtime engine
NITM IVITM compliance package
Keithley instrument driver
These software components are for download at the Keithley Instruments webite
(http://www.tek.com/keithley).
Instrument driver types
There are several different styles of instrument drivers. Keithley Instruments provides three different
instrument drivers for the Series 2600B: A native LabVIEW driver, an IVI-C driver, and an IVI-COM
driver. You need to pick the style that best suits the application development environment (ADE) that
you are using. For example, if you are using LabVIEW, you would pick a native LabVIEW driver. If a
native LabVIEW driver is not available then you can use an IVI-C driver as LabVIEW has the option of
creating a wrapper for the IVI-C driver.
LabVIEW supports IVI-COM drivers but they are definitely not the first or second choice. However, if
they are the only driver types for the instrument, they can be used.
If LabWindows/CVI or C/C++ is your programming language, an IVI-C driver is the best option. For
Microsoft® Visual Basic® 6.0 and any .NET language (C#, VB.NET, and so on), an IVI-COM driver is
the best option.
Sometimes instrument vendors do not provide all three driver types. Most languages can
accommodate other driver types, but this is not optimal.
The following sections describe the different driver types in more detail.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-99
VXIPnP drivers
VXI (Vixie) plug-and-play (VXIPnP) style drivers are Win32 DLLs that have some standard functions
defined by the VXIPnP Alliance, such as:
init
close
error_message
reset
self_test
Read
Initiate
Fetch
Abort
The application programming interface (API) was defined so that users of instruments would have a
familiar API from instrument to instrument. There are some basic guidelines when creating APIs for
your instrument, such as using VISA data types and how to construct the CVI hierarchy.
LabVIEW drivers
Native LabVIEW drivers
A native LabVIEWTM driver is a LabVIEW driver that is created using entirely built-in LabVIEW VIs
it does not make any calls to external DLLs or Library files. This makes the driver portable to all the
platforms and operating systems that LabVIEW and VISA supports (currently, Linux® on x86, Mac
OS® X, and Microsoft® Windows®).
National Instruments (NITM) maintains a native LabVIEW driver style guide
(http://zone.ni.com/devzone/cda/tut/p/id/3271).
LabVIEW driver wrappers
All IVI-C drivers have a function panel file (.fp) that shows a hierarchy of the function calls into a DLL.
It is a tool that guides a user to select the correct function call in the driver, since a DLL only has a flat
API entry point scheme (unlike COM or .NET). Any CVI-generated .fp file can be imported into
LabVIEW and LabVIEW will generate a wrapper for the DLL. The drawback here is that the driver is
dependent on the DLL, which is not portable and is therefore Windows-specific.
Getting instrument drivers
To see what drivers are available for your instrument:
1. Go to the Keithley Instruments webite (http://www.tek.com/keithley).
2. Enter the model number of your instrument.
3. Select Software Driver from the list.
For LabVIEWTM, you can also go to the National Instrument website and search their instrument
driver database.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-100 2600BS-901-01 Rev. C / August 2016
Instrument driver examples
All Keithley drivers come with examples written in several programming languages that show you how
to do the most common things with the instruments.
Install the driver. The examples are in the Microsoft® Windows® Start menu, under Keithley
Instruments > Model Number (where Model Number is the instrument model number).
IVI shared components
The IVI shared components are a similar concept to the VISA shared components. The IVI
Foundation provides class drivers for:
All the supported instruments (DMM, Scope, Fgen, and so on)
The configuration store
The IVI shared components also create the installation folders and registry keys that all IVI drivers
and support files use for installation.
Interchangeable Virtual Instruments (IVI) style drivers
The major problem with VXIPnP drivers was that the API was not specific to the instrument. For
something as standard as measuring DC volts on a digital multimeter (DMM), it would be a good idea
if there were a set of standard functions to do this.
The IVI Foundation (http://www.ivifoundation.org) defined a set of application programming interfaces
(APIs) for the following instruments: DMM, function generator, DC power supply, scope, switch,
spectrum analyzer, RF signal generator and power meter. They are currently working on class APIs
for some other instrument types.
There are two types of IVI drivers: IVI-COM drivers use Microsoft® COM technology to expose driver
functionality, while IVI-C drivers use conventional Microsoft® Windows® DLLs to export simple C-
based functions.
For more information about IVI drivers and the differences between the COM, C, and .NET interfaces,
see Making the Case for IVI
(http://pacificmindworks.com/docs/Making%20the%20Case%20for%20IVI.pdf).
NI CVI runtime engine
IVI-C drivers that are created using National Instruments (NITM) LabWindows/CVI environment
depend on either the CVI runtime (cvirte.dll), or the instrument support run-time (instrsup.dll), and
must be present on the system for them to run.
NI IVI Compliance Package
The National Instruments (NITM) IVI Compliance Package is a software package that contains IVI
class drivers and support libraries that are needed for the development and use of applications that
leverage IVI instrument interchangeability. The IVI Compliance Package also is based on and is
compliant with the latest version of the instrument programming specifications defined by the IVI
Foundation.
The NI ICP installer installs the IVI shared components, CVI runtime engine, and the instrument
support runtime engine.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-101
Keithley I/O layer
The Keithley I/O Layer (KIOL) is a software package that contains several utilities and drivers. It is
mainly used as a supplement to IVI drivers, or application software like Test Script Builder (TSB).
The KIOL contains:
NI-VISATM Runtime-Time Engine
Keithley Configuration Panel
Keithley Communicator
NI-VISA Runtime
NI-VISATM is National Instruments (NITM) implementation of the VISA standard. There are two
versions: a full version and a run-time version. The Keithley I/O Layer (KIOL) contains a licensed
version of the NI-VISA Run-Time Engine that contains only the binary files (DLLs) that allow the NI-
VISA drivers to operate.
If you already have NI software (such as LabVIEW™ or LabWindows™) installed, you have a valid
license that can be used with Keithley drivers and application software.
If you do not have NI software installed, you must install the KIOL to install the the drivers.
Keithley Configuration Panel
The Keithley Configuration Panel is a configuration utility for IVI drivers, similar to NI-MAX. It also has
the ability to autodetect USBTMC instruments and LAN instruments that support the VXI-11 protocol.
Keithley Communicator
The Keithley Communicator is a dumb terminal program that uses VISA to communicate with the
instrument.
Computer requirements for the Keithley I/O Layer
The Keithley I/O Layer version C02 supports the following operating systems:
Microsoft® Windows® (32-bit & 64-bit) Business with Service Pack 1 or later
Microsoft Windows Vista® Business (32-bit & 64-bit) with Service Pack 2 or later
Windows XP Professional (32-bit) with Service Pack 3 or later
Windows 2000 Professional with Service Pack 4 plus update KB891861 or later
Note that Windows 95, Windows 98, Windows ME, Windows NT, Windows XP (64-bit) operating
systems are not supported.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-102 2600BS-901-01 Rev. C / August 2016
How to install the Keithley I/O Layer
Before installing, it is a good idea to check the Keithley Instruments webite
(http://www.tek.com/keithley) to see if a later version of the Keithley I/O Layer is available. On the
website, select the Support tab, under model number, type KIOL, and select Software Driver.
You can install the Keithley I/O Layer from the Keithley website.
The software installs the following components:
Microsoft® .NET Framework
NITM IVI Compliance Package
NI-VISATM Run-Time Engine
Keithley SCPI-based Instrument IVI-C driver
Keithley I/O Layer
To install the Keithley I/O Layer from the Keithley website:
1. Download the Keithley I/O Layer Software from the Keithley Instruments webite
(http://www.tek.com/keithley) as described in the note. The software is a single compressed file
and should be downloaded to a temporary directory.
2. Run the downloaded file from the temporary directory.
3. Follow the instructions on the screen to install the software.
4. Reboot your computer.
Installation troubleshooting
If problems occur during installation, it might be helpful to install the components individually. Errors
messages might appear that will help you resolve the installation issue.
If problems occur during installation:
1. Follow the instructions to uninstall all the KIOL components in Special installation considerations.
2. Rerun the KIOL installer. Note where the installer unpacks the files (usually in a temporary
folder).
3. Cancel the installer.
4. Go to the folder where the files were unzipped.
5. Run the setup.exe for each of the following components in the following order:
IVI Compliance Package (ICP)
NI-VISATM Run-Time Engine
KIOL
Keithley SCPI Driver
1. Ignore all the other folders.
2. Reboot the computer.
GPIB operation
This topic contains information about GPIB standards, bus connections, and primary address
selection.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2: General op
eration
2600BS-901-01 Rev. C / August 2016 2-103
GPIB standards
The GPIB is the IEEE-488 instrumentation data bus, which uses hardware and programming
standards originally adopted by the Institute of Electrical and Electronic Engineers (IEEE) in 1975.
The instrument is IEEE Std 488.1 compliant and supports IEEE Std 488.2 common commands and
status model topology.
Connect the GPIB cable
To connect an instrument to the GPIB bus, use a cable equipped with standard IEEE-488 connectors,
as shown below.
Figure 48: GPIB connector
To allow many parallel connections to one instrument, stack the connectors. Each connector has two
screws to ensure that connections remain secure. The figure below shows a typical connection
diagram for a test system with multiple instruments.
To avoid possible mechanical damage, stack no more than three connectors on any one instrument.
To minimize interference caused by electromagnetic radiation, use only shielded IEEE-488 cables.
Contact Keithley Instruments for shielded cables.
To connect the instrument to the IEEE-488 bus, line up the cable connector with the connector on the
rear panel. Install and tighten the screws securely, making sure not to overtighten them. The following
figure shows the location of the connector.Connect any additional connectors from other instruments
as required for your application. Make sure the other end of the cable is properly connected to the
controller. You can only have 15 devices connected to an IEEE-488 bus, including the controller. The
maximum cable length is either two meters (6.5 feet) multiplied by the number of devices or 20
meters (65.6 feet), whichever is less. Erratic bus operation may occur if you ignore these limits.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-104 2600BS-901-01 Rev. C / August 2016
Primary address
The Series 2600B ships from the factory with a GPIB primary address of 26. If the GPIB interface is
enabled, it momentarily displays the primary address on power-up. You can set the address to a
value from 0 to 30, but do not assign the same address to another device or to a controller that is on
the same GPIB bus (controller addresses are usually 0 or 21).
To set or check the primary address from the front panel:
1. Press the MENU key, then select GPIB, and then press the ENTER key or the navigation wheel
.
2. Select ADDRESS, then press the ENTER key or the navigation wheel .
3. Use the navigation wheel to set the primary address to the appropriate value, then press the
ENTER key or the navigation wheel .
4. Press the EXIT (LOCAL) key twice to return to the normal display.
To set the primary address remotely:
gpib.address = address
To set the primary address remotely to 20:
gpib.address = 20
Note that changing the GPIB address takes effect when the command is processed. Any response
messages generated after processing this command are sent with the new settings. If command
messages are being queued (sent before this command has executed), the new settings may take
effect in the middle of a subsequent command message, so care should be exercised when setting
this attribute from the GPIB interface.
Terminator
When receiving data over the GPIB, the instrument terminates messages on any line feed character
or any data byte with EOI asserted (line feed with EOI asserted is also valid). When sending data, it
appends a line feed character to all outgoing messages. The EOI line is asserted with the terminating
line feed character.
S
eries 2600B System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-105
General bus commands
General commands are commands that have the same general meaning, regardless of the
instrument (for example, DCL). The following table lists the general bus commands.
General bus commands
Command Effect on Series 2600B
REN Goes into remote operation when next addressed to listen. See REN (on page 2-105)
for details.
IFC
Goes into talker and listener idle states. See IFC (on page 2-105) for details.
LLO
LOCAL key locked out. See LLO (on page 2-105) for details.
GTL Cancel remote; restore Series 2600B front-panel operation. See GTL (on page 2-105)
for details.
DCL Returns the Series 2600B and all devices on the GPIB to known conditions. See DCL
(on page 2-106) for details.
SDC
Returns the Series 2600B to known conditions. See SDC (on page 2-106) for details.
GET
Initiates a trigger. See GET (on page 2-106) for details.
SPE, SPD
Serial polls the Series 2600B. See SPE, SPD (on page 2-106) for details.
REN
The remote enable (REN) command is sent to the Series 2600B by the controller to set up the
instrument for remote operation. Generally, the instrument should be placed in the remote mode
before you attempt to program it over the bus. Setting REN true does not place the instrument in the
remote state. You must address the instrument to listen after setting REN true before it goes into
remote operation.
IFC
The interface clear (IFC) command is sent by the controller to place the Series 2600B in the talker
idle state and the listener idle state. The instrument responds to the IFC command by canceling front-
panel TALK or LSTN lights, if the instrument was previously placed in one of these states.
Transfer of command messages to the instrument and transfer of response messages from the
instrument are not interrupted by IFC. If transfer of a response message from the instrument was
suspended by IFC, transfer of the message will resume when the instrument is addressed to talk. If
transfer of a command message to the instrument was suspended by IFC, the rest of the message
can be sent when the instrument is addressed to listen.
LLO
When the instrument is in remote operation, all front-panel controls are disabled, except the LOCAL
and OUTPUT OFF keys (and the POWER switch). The local lockout (LLO) command disables the
LOCAL key, but does not affect the OUTPUT OFF switch, which cannot be disabled.
GTL
Use the go to local (GTL) command to put a remote-mode instrument into local mode. Leaving the
remote state also restores operation of all front-panel controls.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-106 2600BS-901-01 Rev. C / August 2016
DCL
Use the device clear (DCL) command to clear the GPIB interface and return it to a known state. Note
that the DCL command is not an addressed command, so all instruments equipped to implement DCL
will do so simultaneously.
When the Series 2600B receives a DCL command, it:
Clears the input buffer, output queue, and command queue
Cancels deferred commands
Clears any command that prevents the processing of any other device command
A DCL does not affect instrument settings and stored data.
SDC
The selective device clear (SDC) command is an addressed command that performs essentially the
same function as the device clear (DCL) command. However, because each device must be
individually addressed, the SDC command provides a method to clear only selected instruments,
instead of clearing all instruments simultaneously with the DCL command.
When the Series 2600B receives an SDC command, it:
Clears the input buffer, output queue, and command queue
Cancels deferred commands
Clears any command that prevents the processing of any other device command
An SDC does not affect instrument settings and stored data.
GET
The group execute trigger (GET) command is a GPIB trigger that triggers the instrument to take
readings from a remote interface.
SPE, SPD
Use the serial polling sequence to obtain the Series 2600B serial poll byte. The serial poll byte
contains important information about internal functions (see Status model (on page 5-15, on page E-
1)). Generally, the serial polling sequence is used by the controller to determine which of several
instruments has requested service with the SRQ line. The serial polling sequence may be performed
at any time to obtain the status byte from the Series 2600B.
Front-panel GPIB operation
This section describes aspects of the front panel that are part of GPIB operation, including messages,
status indicators, and the LOCAL key.
Error and status messages
The front-panel display may show error and status messages (see Displayed error and status
messages (on page 2-81)). See Error summary list (on page 8-3) for a list of status and error
messages that are associated with IEEE-488 programming. The instrument can be programmed to
generate an SRQ, and command queries can be performed to check for specific error conditions.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-107
Communication status indicators
The remote (REM), talk (TALK), listen (LSTN), and service request (SRQ) indicators show the
communication bus status. Each of these indicators is described below.
Status indicator Applies to
REM GPIB, VXI-11, USB, RS-232
TALK GPIB only
LSTN GPIB only
SRQ GPIB, VXI-11, USB, RS-232
The SRQ indicator applies to all available communication buses, however actual service requests
only apply to GPIB, USB, and VXI-11 (see Status byte and service request (SRQ) (on page E-15) for
more information).
REM
This indicator is illuminated when the instrument is in the remote control state. When the instrument is
in the remote control state, all front-panel keys, except for the EXIT (LOCAL) key, and OUTPUT
ON/OFF control, are locked out. When REM is off, the instrument is in the local control state and
front-panel operation is restored.
TALK
This indicator is on when the instrument is in the talker active state. Place the instrument in the talk
state by addressing it to talk with the correct talk command. TALK is off when the instrument is in the
talker idle state. Place the instrument in the talker idle state by sending a UNT (untalk) command,
addressing it to listen, or by sending the IFC (interface clear) command.
LSTN
This indicator is on when the instrument is in the listener active state, which is activated by
addressing the instrument to listen with the correct listen command. LSTN is off when the instrument
is in the listener idle state. Place the instrument in the listener idle state by sending UNL (unlisten),
addressing it to talk, or by sending the IFC (interface clear) command over the bus.
SRQ
You can program the instrument to generate a service request (SRQ) when one or more errors or
conditions occur. When this indicator is on, a service request has been generated. This indicator
stays on until all conditions that caused the SRQ are cleared.
Note that while the SRQ indicator turns on when a service request is generated, actually it reflects the
state of the Master Summary Status (MSS) bit and not the request for service (RQS) bit (see "Bit 6,
Request Service (RQS)/Master Summary Status (MSS)" in the topic Status Byte Register (on page E-
16) for more detail). Therefore, performing a serial poll will not turn off the indicator. In order to turn off
the indicator, you must clear all of the conditions that caused the MSS bit to be set.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-108 2600BS-901-01 Rev. C / August 2016
LOCAL key
The EXIT (LOCAL) key cancels the remote state and restores local operation of the instrument.
Pressing the EXIT (LOCAL) key also turns off the REM indicator and returns the display to normal if a
user-defined message was displayed.
If the LLO (Local Lockout) command is in effect, the EXIT (LOCAL) key is also inoperative. Note that
pressing the EXIT (LOCAL) key will also abort any commands or scripts that are being processed.
RS-232 interface operation
This topic contains information about configuring RS-232 communication parameters, sending or
receiving command messages, and requesting or retrieving data. To control the Series 2600B,
connect a controller or personal computer to the Series 2600B RS-232 interface. Alternatively, you
can use the Series 2600B to control another device over RS-232.
Setting RS-232 interface parameters
To set interface parameters from the front panel:
1. Press the MENU key, select RS232 and then press the ENTER key or the navigation wheel .
2. Select and enter the following interface parameters:
BAUD: Set baud rate (see Baud rate (on page 2-109))
BITS: Set number of bits (see Data bits and parity (on page 2-109))
PARITY: Set parity
FLOW-CTRL: Set Flow control and signal handshaking (on page 2-109)
ENABLE: Enable or disable the RS-232 interface
1. Press the EXIT (LOCAL) key twice to return to the normal display.
Remote RS-232 parameters
Commands to set RS-232 parameters are listed in the following table. See the TSP command
reference (on page 7-1) for more information.
RS-232 interface commands
Command Description
serial.baud = baud
Set baud rate (300, 600, 1200, 2400, 4800, 9600, 19200,
38400, 57600, 115200)
serial.databits = bits
Set number of bits (7 or 8)
serial.flowcontrol = flow
Set flow control:
serial.FLOW_NONE (no flow control)
serial.FLOW_HARDWARE
(hardware flow control)
serial.parity = parity
Set parity:
serial.PARITY_NONE (no parity)
serial.PARITY_EVEN (even parity)
serial.PARITY_ODD
(odd parity)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 2:
General operation
2600BS-901-01 Rev. C / August 2016 2-109
Changes to a serial port setting take effect when the command is processed. Any response
messages generated after the commands are processed will be sent with the new settings. If
command messages are being queued (sent before the commands have executed), the new settings
may take effect in the middle of a subsequent command message, so care should be exercised when
setting these attributes from the RS-232 interface.
RS-232 programming example
The programming example below illustrates how to set the baud rate to 9600 with no flow control:
serial.baud = 9600
serial.flowcontrol = serial.FLOW_NONE
Sending and receiving data
The RS-232 interface transfers data using 7 or 8 data bits; 1 stop bit; and no, even, or odd parity.
Make sure the device you connect to the Series 2600B also uses the same settings.
Terminator
When receiving data over the RS-232 interface the command interface terminates on line feeds. A
line feed is appended to all output messages when the RS-232 interface is being used as a command
interface.
Sending data using the serial.write() function does not append a terminator. Be sure to append
the appropriate terminator to the message before sending it.
Baud rate
The baud rate is the rate at which the Series 2600B and the programming terminal communicate.
Select one of the following available rates:
115200
9600
600
57600
4800
300
38400 2400
19200
1200
The factory-selected baud rate is 9600.
Both the Series 2600B and the other device must be configured for the same baud rate. Make sure
the device connected to the Series 2600B RS-232 port can support the selected baud rate.
Data bits and parity
The RS-232 interface can be configured to send/receive data that is 7 or 8 bits long using even, odd,
or no parity.
Flow control and signal handshaking
Signal handshaking between the controller and the instrument allows the two devices to communicate
to each other regarding being ready or not ready to receive data.
The RS-232 interface provides two control lines (RTS and CTS) for this purpose. The instrument will
assert the RTS signal when it is admissible for the PC to transmit to the instrument. It will only send
information to the PC when the clear to send (CTS) signal is asserted by the PC.
Section
2: General operation Series 2600B System SourceMeter® Instrument
Reference Manual
2-110 2600BS-901-01 Rev. C / August 2016
RS-232 connections
Connect the RS-232 serial port of the Series 2600B to the serial port of a computer using a straight-
through RS-232 cable terminated with DB-9 connectors. Do not use a null modem cable. The serial
port uses the transmit (TXD), receive (RXD), CTS and RTS (if flow control is enabled), and signal
ground (GND) lines of the RS-232 standard. The connector location is shown in Remote
Communication interfaces (on page 2-88).
If your computer uses a DB-25 connector for the RS-232 interface, you will need a standard cable or
adapter with a DB-25 connector on one end and a DB-9 connector on the other. An RS-232 cable is
available from the Keithley Instruments webite (http://www.tek.com/keithley).
Figure 49: RS-232 interface connector
RS-232 connector pinout
Pin number Description
1 Not used
2
TXD, transmit data
3
RXD, receive data
4 Not used
5
GND, signal ground
6
Not used
7
RTS, ready to send
8
CTS, clear to send
9
Not used
The following table provides pinout identification for the 9-pin (DB-9) or 25-pin (DB-25) serial port
connector on the computer.
Computer serial port pinout
Signal* DB-9 pin number DB-25 pin number
DCD, data carrier detect 1 8
RXD, receive data
2
3
TXD, transmit data 3 2
DTR, data terminal ready 4 20
GND, signal ground 5 7
DSR, data set ready
6
6
RTS, request to send
7
4
CTS, clear to send
8
5
RI, ring indicator
9
22
* The Series 2600B does not use all RS-232 signals. See the topic Flow control and signal
handshaking (on page 2-109).
In this section:
Relative offset .......................................................................... 3-1
Filters ....................................................................................... 3-3
Reading buffers ........................................................................ 3-6
Sweep operation .................................................................... 3-20
Triggering ............................................................................... 3-32
High-capacitance mode ......................................................... 3-65
Display operations .................................................................. 3-70
Digital I/O ............................................................................... 3-82
Relative offset
You can use the relative offset (REL) feature to set offsets to zero (0) or subtract a baseline reading
from present and future readings. With relative offset enabled, subsequent readings are the
difference between the actual input value and the relative offset value, as follows:
Displayed reading = Actual input Relative offset value
Once a relative offset value is established for a measurement function, the value is the same for all
ranges. 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. Also, on the 1 A range, the Series 2600B still
overflows for a more than 1.02 A input.
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.
Front panel relative offset
Enabling and disabling relative offset
The relative offset feature can be used to establish a zero (0) baseline. To enable and use this
feature, press the REL key. The reading (which becomes the relative offset value) is subtracted from
itself causing the meter to zero the display. The reading is then stored for use with subsequent
measurements. Pressing the REL key a second time disables the relative offset.
Defining a relative offset value
A unique relative offset value can be established for the selected measurement function.
Section 3
Functions and features
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-2 2600BS-901-01 Rev. C / August 2016
To establish a unique 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), and then press
ENTER or the navigation wheel . The present relative offset value is displayed.
3. Set the relative offset value.
4. 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.
Remote relative offset programming
Relative offset commands
Relative offset commands are summarized in the following table.
Relative offset commands
Command* Description
To set relative offset values:
smuX.measure.rel.leveli = relval
Set current relative offset value
smuX.measure.rel.levelp = relval
Set power relative offset value
smuX.measure.rel.levelr = relval
Set resistance relative offset
value
smuX.measure.rel.levelv = relval
Set voltage relative offset
value
To enable/disable relative offset:
smuX.measure.rel.enablei = smuX.REL_OFF
Disable current relative offset
smuX.measure.rel.enablep = smuX.REL_OFF
Disable power relative offset
smuX.measure.rel.enabler = smuX.REL_OFF
Disable resistance relative
offset
smuX.measure.rel.enablev = smuX.REL_OFF
Disable voltage relative offset
smuX.measure.rel.enablei = smuX.REL_ON
Enable current relative offset
smuX.measure.rel.enablep = smuX.REL_ON
Enable power relative offset
smuX.measure.rel.enabler = smuX.REL_ON
Enable resistance relative
offset
smuX.measure.rel.enablev = smuX.REL_ON
Enable voltage relative offset
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or
smub (for SMU Channel B).
Relative offset programming example
The programming example below performs a current measurement, uses it as the relative offset
value, and also 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
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-3
Filters
The filter feature lets you set the filter response to stabilize noisy measurements. The Series 2600B
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).
Filter types
The Series 2600B has three filter types. These three filter types are broken down into two averaging
filters and one median filter.
The two averaging filters are repeating and moving (see figure below). For the repeating filter (which
is the power-on default), 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 50: Repeating and moving average filters
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-4 2600BS-901-01 Rev. C / August 2016
The moving average 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 “middle-most” reading 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
average filter. For each subsequent conversion placed into the stack, the oldest conversion is
discarded. The median is then redetermined.
Figure 51: Median filter
When a moving average 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 in order to fill it. Thus,
the first filtered reading is the same as the first reading conversion. The normal moving filter process
continues. Note that a true average or median reading is not yielded until the stack is filled with new
reading conversions (no copies in the stack). For example, in the figure for the moving average filter,
it takes 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.
Front panel filter control
Enabling the filter
The filter is enabled by pressing the FILTER key. The FILT indicator is on while the filter is enabled.
Pressing FILTER a second time disables filter.
Configuring the filter
Filter type and count are configured from the filter configuration menu. The same filter configuration is
used for all measurement functions.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-5
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.
1. Select COUNT, and then specify the filter count (1 to 100 readings).
Remote filter programming
Filter commands
The following table summarizes the filter commands. See the TSP command reference (on page 7-1)
for details about commands.
Filter commands
Command* Description
smuX.measure.filter.count = count
Set filter count (1 to 100)
smuX.measure.filter.enable = smuX.FILTER_ON
Enable filter
smuX.measure.filter.enable = smuX.FILTER_OFF
Disable filter
smuX.measure.filter.type = smuX.FILTER_MEDIAN
Select median filter type
smuX.measure.filter.type = smuX.FILTER_MOVING_AVG
Select moving average
filter type
smuX.measure.filter.type = smuX.FILTER_REPEAT_AVG
Select repeat average filter
type
*
smu
X: For Models 2601B, 2611B, and 2635B, this value is
smua
(SMU Channel A); for Models 2602B,
2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU
Channel B).
Filter programming example
The programming example below illustrates how to set the following filter aspects:
Filter type: Moving average
Filter count: 10
Filter state: Enabled
-- Program count to 10.
smua.measure.filter.count = 10
-- Moving average filter type.
smua.measure.filter.type = smua.FILTER_MOVING_AVG
-- Enable filter.
smua.measure.filter.enable = smua.FILTER_ON
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-6 2600BS-901-01 Rev. C / August 2016
Reading buffers
Reading buffers capture measurements, ranges, instrument status, and output state of the Keithley
Instruments Series 2600B. The Series 2600B has two default reading buffers called defbuffer1 and
defbuffer2. 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 the remote command interface.
The default reading buffers can store can store over 60,000 readings with the timestamps and source
values options enabled. To store over 140,000 readings internally, disable the timestamps and source
values options. 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.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-7
Reading buffer options
The following listing 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-8) as a guideline to configure these reading buffer options.
CHANA-BUFF: Configures Channel A buffer.
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.
CHANB-BUFF: Configures Channel B buffer (Model 2602B/2604B/2612B/2614B/2634B/2636B only).
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.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument R
eference Manual
3-8 2600BS-901-01 Rev. C / August 2016
Configuring reading buffers
To configure reading buffers from the front panel:
Enabling or disabling the source value or the timestamp is optional.
1. Press the CONFIG key.
2. Press the STORE key and then choose one of the following:
CHANA-BUFF
CHANB-BUFF (Model 2602B/2604B/2612B/2614B/2634B/2636B only)
1. To select a storage destination, select the DEST option, and then choose one of the following:
CHANx-BUFF1
CHANx-BUFF2
NONE
CHANx: CHANA refers to SMU Channel A and CHANB refers to SMU Channel B (Model
2602B/2604B/2612B/2614B/2634B/2636B only).
1. Select BUFFER1 or BUFFER2.
2. Clear the buffer by turning the navigation wheel to select CLEAR > YES.
3. Turn the navigation wheel to highlight ELEMENTS, and then press the navigation wheel (or
the ENTER key).
You must clear the reading buffer before you can enable or disable the source value or the
timestamp options.
4. Configure the reading buffer's timestamp elements:
a. Select TSTAMP and then press the navigation wheel (or the ENTER key).
b. Select OFF or ON and then press the navigation wheel (or the ENTER key).
5. Configure the reading buffer's source value elements:
a. Select SRC-VAL and then press the navigation wheel (or the ENTER key).
b. Select OFF or ON and then press the navigation wheel (or the ENTER key).
6. Press the EXIT (LOCAL) key to return to the main menu.
Model 2601B/2611B/2635B buffer configuration menu items are accessed in the same manner with
the exception of the channel selection.
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.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-9
To configure the instrument to append or overwrite measurements the next time data is acquired:
1. Press the CONFIG key.
2. Press the STORE key and then select STORAGE-MODE. The Storage Mode menu is shown.
3. Select one of the following:
APPEND
OVERWRITE
1. 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 range from 1 to 60,000 with timestamps and
source values enabled; the count can range to over 140,000 with timestamps and source values
disabled.
To store the maximum number of readings in a reading buffer (over 140,000), disable the source
values and timestamps for that reading buffer.
To specify the number of readings and initiate the storing 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. Push the navigation wheel to switch to edit mode.
4. Turn the navigation wheel to change the numeric value, and then push the navigation wheel
to save the numeric value.
5. Press the ENTER key to save the count.
6. Press the OUTPUT ON/OFF control to start taking 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 (see step 5 of the preceding procedure). Otherwise the instrument
starts acquiring readings when the output is turned on (step 6).
Saving reading buffers
You can save the dedicated reading buffers to nonvolatile memory, or you can save them to a USB
flash drive. Note that the instrument will restore the dedicated reading buffers from internal nonvolatile
memory when the unit is turned off and back on.
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.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-10 2600BS-901-01 Rev. C / August 2016
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
SMUB_BUFFER1*
SMUB_BUFFER2*
* Model 2602B/2604B/2612B/2614B/2634B/2636B only.
1. The front panel displays Saving... This may take awhile.
2. 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. Then select USB1.
3. Select one of the following file formats:
CSV
XML
1. Use the navigation wheel to select the reading buffer.
2. Use the navigation wheel to change the file name.
3. Press the navigation wheel or the ENTER key to save the file.
4. Press the EXIT (LOCAL) key to return to the main menu.
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: CHANX-BUFF1 or CHANX-BUFF2 (where X is A on the Model
2601B/2611B/2635B, or X is A or B on the Model 2602B/2604B/2612B/2614B/2634B/2636B).The
data or statistics are displayed.
If data is being recalled, the reading display is on the top left, and the buffer location number is on the
right. The source values are positioned at the lower left side of the display (if enabled); the timestamp (if
used) is positioned at the lower right side.
If statistics are being recalled, 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), SrcA2 (buffer 2), and additionally for
Models 2602B/2604B/2612B/2614B/2634B/2636B, SrcB1 (buffer 1), SrcB2 (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.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3: Functio
ns and features
2600BS-901-01 Rev. C / August 2016 3-11
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 that the navigation wheel will change.
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.
1. To exit from the reading buffer recall mode, press the EXIT (LOCAL) key.
Remote reading buffer programming
You can get readings by making overlapped or sequential measurements. Routines that make
single-point measurements can be configured to make multiple measurements where one would
ordinarily be made.
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. Non-overlapped 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 accessed by ordinary array
accesses. If rb is a reading buffer, the first measurement is accessed as rb[1] and the 9th
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
Each source-measure unit (SMU) contains two dedicated reading buffers:
smuX.nvbuffer1 (buffer 1)*
smuX.nvbuffer2 (buffer 2)*
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or
smub (for SMU Channel B).
To access a reading buffer, include the name of the SMU in the attribute. For example, the following
command would store readings from channel A into buffer 1:
smua.measure.overlappedi(smua.nvbuffer1)
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-12 2600BS-901-01 Rev. C / August 2016
Reading buffer commands
The following table summarizes commands associated with the reading buffers. See the TSP
command reference (on page 7-1) for detailed reading buffer command information.
Reading buffer commands*
Command Description
Commands to save/clear readings:
smuX.savebuffer(smuX.nvbufferY)
Saves the reading buffer to the nonvolatile memory on the Series
2600B.
smuX.nvbuffer1.clear()
Clears buffer 1.
smuX.nvbuffer2.clear()
Clears buffer 2.
mybuffer = smuX.makebuffer(n)
Creates a dynamically allocated buffer for n readings.
mybuffer = nil
Deletes the dynamically allocated buffer.
savebuffer(smuX.nvbuffer1,"csv",
"mybuffer.csv")
Saves the reading buffer to the USB flash drive.
Commands to store readings
smuX.measure.count = count
The number of measurements to acquire.
smuX.measure.overlappedi(rbuffer)
Takes current measurements; stores readings in rbuffer.
smuX.measure.overlappediv(ibuffer,
vbuffer
)
Takes both current and voltage measurements; stores current
readings in ibuffer and stores voltage readings in vbuffer.
smuX.measure.overlappedp(rbuffer)
Takes power measurements; stores readings in rbuffer.
smuX.measure.overlappedr(rbuffer)
Takes resistance measurements; stores readings in rbuffer.
smuX.measure.overlappedv(rbuffer)
Takes voltage measurements; stores readings in rbuffer.
smuX.measure.v(rbuffer)
Takes voltage measurements; stores readings in rbuffer.
smuX.measure.i(rbuffer)
Takes current measurements; stores readings in rbuffer.
smuX.measure.iv(ibuffer,
vbuffer
)
Takes both current and voltage measurements; stores current
readings in ibuffer and stores voltage readings in vbuffer.
smuX.measure.r(rbuffer)
Takes resistance measurements; stores readings in
rbuffer
.
smuX.measure.p(rbuffer)
Takes power measurements; stores readings in rbuffer.
smuX.trigger.measure.v(rbuffer)
Configures voltage measurements to be made during a sweep
including the location where readings will be stored (rbuffer).
smuX.trigger.measure.i(rbuffer)
Configures current measurements to be made during a sweep
including the location where readings will be stored (
rbuffer
).
smuX.trigger.measure.r(rbuffer)
Configures resistance measurements to be made during a sweep
including the location where readings will be stored (rbuffer).
smuX.trigger.measure.p(rbuffer)
Configures power measurements to be made during a sweep
including the location of readings where readings will be stored
(rbuffer).
smuX.trigger.measure.iv(ibuffer,
vbuffer)
Configures both current and voltage measurements to be made
during a sweep including the location of where readings will be
stored; current readings will be stored in ibuffer and voltage
readings will be stored in vbuffer.
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).
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B,
2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU Channel B).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-13
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 smuX.nvbuffer1.clear() or
smuX.nvbuffer2.clear() command.
Buffer storage control attributes: Describes buffer storage attributes
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 what was formerly rb[n+1]. This attribute is initialized to 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 will be 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 will not overwrite readings. If the
buffer fills up, new readings will be discarded.
When this attribute is set to FILL_WINDOW, new readings will be 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 very long tests. Note: The minimum
resolution setting is 1 µs (0.000001 seconds).
Section
3: Functions and features Series 2600B System SourceMeter® Instrument Ref
erence Manual
3-14 2600BS-901-01 Rev. C / August 2016
Buffer read-only attributes
The following table contains buffer read-only attributes.
Buffer read-only attributes: Read-only attributes used to access buffer parameters
Storage 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 7-3) 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 will be added to the reading
buffer will be stored.
Buffer storage control programming examples
The programming examples below illustrate the use of buffer storage control attributes.
Buffer control programming examples:
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 will take 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 follow programming examples illustrate use of buffer read-only attributes.
Buffer read-only attribute programming examples:
Command Description
number = smua.nvbuffer1.n
Request the number of readings in the
buffer.
buffer_size = smua.nvbuffer1.capacity
Request buffer size.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-15
Statistic attributes
Use the smuX.buffer.getstats() function to access the reading buffer data statistics. The table
below displays the attributes that you can use to access the reading buffer statistics.
The returned parameter has the attributes described in the following table.
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 will be nil because there is no data to base any statistics on.
If n equals 1, the stddev attribute will be nil because the standard deviation of a sample size of 1 is
undefined.
The min and max entries each have the attributes described in the following table.
Min and max entry attributes
Attribute Description
measurefunction
String indicating the function measured for the reading (current, voltage,
ohms or watts).
measurerange
The full-scale range value for the measure 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 will give the actual time the measurement was acquired.
bufferVar is the name of the buffer. See smuX.buffer.getstats() (on page 7-196) for additional information.
Example:
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)
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-16 2600BS-901-01 Rev. C / August 2016
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 attributes
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 of 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-17).
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-12).
* The default attribute is readings, which can be omitted. For example, both smua.nvbuffer1 and
smua.nvbuffer1.readings will access readings from channel A, buffer 1.
Examples:
The following programming example illustrates how to output 100 channel A readings from buffer 1:
printbuffer(1, 100, smua.nvbuffer1.readings)
Similarly, the following would output 100 channel A corresponding source values from buffer 1:
printbuffer(1, 100, smua.nvbuffer1.sourcevalues)
The default reading attribute is readings, and can be omitted. Thus, the following would also output
100 channel A readings from buffer 1:
printbuffer(1, 100, smua.nvbuffer1)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3: Functions a
nd features
2600BS-901-01 Rev. C / August 2016 3-17
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
channel A buffer 1, use the following command:
stat_info = smua.nvbuffer1.statuses[2]
Buffer status bits
Bit Name Hex value Description
B0
Reserved
0x01
Reserved for future use
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. Dynamic reading buffers are created and
allocated with the smuX.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)
Allocated reading buffers can be deleted as follows:
mybuffer = nil
Dynamically allocated reading buffers can be used interchangeably with the smuX.nvbufferY
buffers that are described in Dedicated reading buffer designations (on page 3-11).
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-18 2600BS-901-01 Rev. C / August 2016
Buffer examples
Dedicated reading buffer example
The following programming example illustrates how to store data using dedicated reading buffer 1 for
channel A. In the example, the Series 2600B loops for voltages from 0.01 V to 1 V with 0.01 V steps
(essentially performing a staircase sweep), stores 100 current readings and source values in buffer 1,
and then recalls all 100 readings and source values.
-- Restore Series 2600B 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 count to 1.
smua.measure.count = 1
-- Select source voltage function.
smua.source.func = smua.OUTPUT_DCVOLTS
-- Set bias voltage to 0 V.
smua.source.levelv = 0.0
-- Turn on output.
smua.source.output = smua.OUTPUT_ON
-- Loop for voltages from 0.01 V to 1 V.
for v = 1, 100 do
-- Set source voltage.
smua.source.levelv = v * 0.01
-- Measure current and store in nvbuffer1.
smua.measure.i(smua.nvbuffer1)
end
-- Turn off 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)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-19
Dual buffer example
The programming example below shows a script for storing both current and voltage readings using
buffer 1 for current and buffer 2 for voltage readings. The Series 2600B stores 100 current and
voltage readings and then recalls all 100 sets of readings.
-- Restore Series 2600B 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: Functions and features Series 2600B System SourceMeter® Instrument Referen
ce Manual
3-20 2600BS-901-01 Rev. C / August 2016
Dynamically allocated buffer example
The programming example below illustrates how to store data to an allocated buffer called
mybuffer. The Series 2600B stores 100 current readings in mybuffer and then recalls all the
readings.
-- Restore Series 2600B 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 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
-- Create a temporary reading buffer.
mybuffer = smua.makebuffer(smua.measure.count)
-- Store current readings in mybuffer.
smua.measure.overlappedi(mybuffer)
-- Wait for buffer to fill.
waitcomplete()
-- Turn off output.
smua.source.output = smua.OUTPUT_OFF
-- Output readings 1 to 100 from mybuffer.
printbuffer(1, 100, mybuffer)
-- Delete mybuffer.
mybuffer = nil
Sweep operation
Overview
The Series 2600B can generate DC and pulsed sweeps to perform source-only sweeps,
source-and-measure sweeps, or measure-only sweeps. There are three sweep types shown in the
following figure: DC and pulsed linear staircase sweeps (A), DC and pulsed logarithmic staircase
sweeps (B), and DC and pulsed list sweeps (C). Details about each kind of sweep follow the figure.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-21
Figure 52: Sweep types
DC and pulsed linear staircase sweeps (A): 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. This portion of the figure (A) 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.
DC and pulsed logarithmic staircase sweeps (B): 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. This portion of the figure (B) 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.
DC and pulsed list sweeps (C): The list sweep allows you to program arbitrary sweep steps
anywhere within the output voltage or current range of the Series 2600B. This portion of the figure (C)
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.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-22 2600BS-901-01 Rev. C / August 2016
Sweep characteristics
For any of the sweep types, program a pulse mode sweep by configuring the end pulse action. Refer
to Pulse mode sweeps (on page 3-27) for more information.
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 53: 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 3-32) for more information.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3: Functions and f
eatures
2600BS-901-01 Rev. C / August 2016 3-23
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 will go to the start source level. The
output will then change in equal steps until the stop level is reached. If the trigger count is greater
than the number of points specified, the SMU will start over at the beginning value.
To configure a linear staircase sweep, use smuX.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*:
smuX.trigger.source.action
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or
smub (for SMU Channel B).
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 smuX.trigger.source.linearY() (on page 7-268).
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 3-32) 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)
N
= 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
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-24 2600BS-901-01 Rev. C / August 2016
The asymptote is used to change the inflection of the sweep curve and allow it to sweep through
zero. Both of the following figures depict the effect of the asymptote on the inflection of the sweep
curve. The following two figures show sample sweeps.
Figure 54: Increasing logarithmic sweep
Figure 55: Decreasing logarithmic sweep
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-25
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 56: Logarithmic staircase sweep (1V to 10V, five steps)
Section
3: Functions and features Series 2600B System SourceMeter® Instrument Reference M
anual
3-26 2600BS-901-01 Rev. C / August 2016
In this example:
A = 0, Vstart = 1, Vend = 10, N = 5
Using the formula above, k = 1
Step size (b) for the sweep in the above figure is calculated as follows:
Figure 57: Logarithmic staircase sweeps (2)
Log Step Size log10(stop-0) log10(start-0)
Points 1
--
-
--
-
--
--
-
--
--
-
--
--
----------------------------------------
--
-
--
--
-
-
-
-
-
-
-
-
-
-=
log10(10) log10(1)
5 1
---------------------------------
-
--
--
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
1 0()
4
-
----
---
---
---
---=
0.25
=
 
 
 
 
 
 
 
Therefore, b = 10(log step size) = 1.7783
The five log steps for this sweep are listed in the Logarithmic sweep points 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 will go to the start level (1 V) and sweep through the symmetrical
log points.
To configure a logarithmic staircase sweep, use the smuX.trigger.source.logY()function. This
function configures the source values the source-measure unit (SMU) will output when performing a
logarithmic sweep. After configuring the sweep, you must also enable the source action by setting the
following attribute:
smuX.trigger.source.action
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-27
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 smuX.trigger.source.logY() (on page 7-270).
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 smuX.trigger.source.listY()function*. This function
configures the source values that the source-measure unit (SMU) will output when performing a list
sweep. After configuring the sweep, you must also enable the source action by setting the
smuX.trigger.source.action attribute.
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or
smub (for SMU Channel B).
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 will
continue 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 58: List sweep example
Pulse mode sweeps
A pulse mode sweep can be created for any of the sweep types by configuring the end pulse action.
To configure a pulse mode sweep for source-measure unit (SMU) A, send:
smua.trigger.endpulse.action = smua.SOURCE_IDLE
To configure a DC sweep for SMU A, send:
smua.trigger.endpulse.action = smua.SOURCE_HOLD
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-28 2600BS-901-01 Rev. C / August 2016
Timers must be used to configure the pulse width and period. Refer to Using timers to perform pulse
mode sweeps (on page 3-45) for details.
The pulse width is managed by controlling the duration between the source stimulus event and the
end pulse stimulus event. Note that 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 fast ADC mode can be used to
characterize this latency, in order to better control the shape of the pulse under a particular set of test
conditions.
The figure below shows the source and end pulse stimulus events in relationship to the pulse (see
Triggering (on page 3-32) for information for information on stimulus events). Any change in t will
result in a corresponding change in the pulse width.
Figure 59: Pulse width control
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 4-4) for additional information on calculating the
maximum duty cycle for a SMU.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3: Functions and featu
res
2600BS-901-01 Rev. C / August 2016 3-29
Pulsing in the extended operating area (EOA)
Pulse sweeps can be performed outside of the standard operating area by setting the appropriate
compliance level. Review the specifications for the Series 2600B to determine the maximum current
and voltage values available in pulse mode. When pulsing in the extended operating area (EOA), the
source-measure unit (SMU) will force the pulse to end early if the pulse width exceeds the maximum
value. It will also delay 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
EOA. Refer to the Series 2600B specifications on the Keithley Instruments webite
(http://www.tek.com/keithley for the latest pulse width and duty cycle information.
Configuring and running sweeps
Use the following topics to configure and run a sweep.
Configuring compliance limits remotely
Voltage and current limits can be configured using the smuX.trigger.source.limitY attribute,
which sets the sweep source limits. For example, to set the SMU A sweep limit to 10 V, execute:
smua.trigger.source.limitv = 10
Configuring end sweep actions remotely
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
smuX.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
Configuring measurements during a sweep
Measurements can be performed during a sweep using the smuX.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 will store the readings. For example, to store the voltage
readings taken during the sweep:
smua.trigger.measure.v(vbuffername)
smua.trigger.measure.action = smua.ENABLE
To recall sweep data:
Using the front panel: Press the RECALL key, and then select DATA or STATISTICS. For
DATA: select the buffer, and then choose reading numbers to display using the navigation wheel
or cursor keys. For STATISTICS: select the buffer, and then choose MEAN, STD DEV,
SAMPLE SIZE, MINIMUM, MAXIMUM, or PK-PK to display using the navigation wheel or
cursor keys. Recalling readings from the reading buffer using the front panel can only be done if
one of the dedicated reading buffers is used to store the sweep data.
Remote: Use the printbuffer() function to request buffer readings.
See Reading buffers (on page 3-6) for details about recalling data from the buffer.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-30 2600BS-901-01 Rev. C / August 2016
Source and measurement delays
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 smuX.source.delay attribute.
Whenever the SMU performs a measurement in a sweep, it also applies any configured
measurement delays. Use the smuX.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 3-32) for more information.
Examples:
To start a sweep, use the smuX.trigger.initiate() function. Sweeps are overlapped
operations, so you can use the waitcomplete() function as a way 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
The smuX.abort() function can be used to terminate all overlapped operations on a
source-measure unit (SMU), including sweeps. It returns the SMU to the idle state of the remote
trigger model. See Triggering (on page 3-32) for more information.
Sweeping using factory scripts
Factory script functions that perform linear staircase, logarithmic staircase, and list sweeps are listed
in Introduction to TSP operation (on page 5-1). You can use the factory script functions to perform
and execute simple sweeps, or use them as examples for programming your own custom sweeps.
Front panel
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, and then follow the display prompts to complete the test.
See Introduction to TSP operation (on page 5-1) 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-6) for more details about the buffer.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-31
Sweep programming examples
Procedures for programming and running a sweep for three sweep types are given on the following
pages. 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 7-183)
or scriptVar.source (on page 7-187) 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
Pulse current sweep
Bias current: 1 mA
On current: 10 mA
Pulse on time: 10 ms
Pulse off time: 50 ms
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 programming example below illustrates a staircase sweep.
-- Restore Series 2600B defaults.
smua.reset()
-- Set compliance to 1 V.
smua.source.limitv = 1
1. Configure source functions.
Restores defaults and sets the
compliance to 1 V.
-- Linear staircase sweep
-- 1 mA to 10 mA, 0.1 second delay,
-- 10 points.
SweepILinMeasureV(smua, 1e-3, 10e-3, 0.1, 10)
2. Configure and execute the
sweep.
Configures a linear staircase
current sweep from 1 mA to 10 mA
with 10 points and a 0.1 second
settling time.
printbuffer(1, 10, smua.nvbuffer1.readings)
3. Request readings.
Requests readings from buffer 1.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument Reference Manua
l
3-32 2600BS-901-01 Rev. C / August 2016
Pulse current sweep example
The programming example below illustrates a pulse sweep.
-- Restore Series 2600B defaults.
smua.reset()
-- Set compliance to 10 V.
smua.source.limitv = 10
1. Configure source functions.
Restores defaults and set the compliance to
10 V.
-- Pulse current sweep, 1 mA bias,
-- 10 mA level, 10 ms pulse on,
-- 50 ms pulse off, 10 cycles.
PulseIMeasureV(smua, 1e-3, 10e-3, 20e-3, 50e-3, 10)
2. Configure and execute the sweep.
Configures a 10 mA pulse current sweep
with a 10 ms pulse on time, a 50 ms pulse
off time, and 10 pulse-measure cycles.
printbuffer(1, 10, smua.nvbuffer1.readings)
3. Request readings.
Requests readings from buffer 1.
List sweep example
The programming example below illustrates a list sweep.
-- Restore Series 2600B defaults.
smua.reset()
-- Set compliance to 10 mA.
smua.source.limiti = 10e-3
1. Configure source functions.
Restores defaults and set the compliance to
10 mA.
-- Define voltage list.
vlist = {3, 1, 4, 5, 2}
-- List sweep, channel A, 3 V, 1 V, 4 V,
-- 5 V, 2 V steps, 0.1 s delay, 5 points.
SweepVListMeasureI(smua, vlist, 0.1, 5)
2. Configure and execute the sweep.
Configures a list sweep with 3 V, 1 V, 4 V,
5 V, and 2 V points using a 0.1 second
settling time.
printbuffer(1, 5, smua.nvbuffer1.readings)
3. Request readings.
Requests readings from buffer 1.
Triggering
Remote triggering overview
There are two programming methods for triggering:
Using the trigger model
Interactive triggering
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-33
You can obtain very precise timing and synchronization between channels of multiple instruments
using the trigger model to control the actions of the source-measure unit (SMU). To achieve such
precise timing, use a static trigger configuration. When a static trigger configuration is not possible,
you can use the interactive triggering method to control the timing and actions of the SMU.
Both programming methods use trigger objects. Trigger objects generate and monitor trigger events.
External triggers are possible using digital I/O, TSP-Link® synchronization lines, LAN, command
interface, and the manual trigger (the TRIG key).
The following figure graphically represents all the trigger objects of the Series 2600B instrument.
Figure 60: Triggering overview
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-34 2600BS-901-01 Rev. C / August 2016
Trigger events are identified by means of an event ID. The following table describes the trigger event
IDs.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measure action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set a stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU Channel B).
Using the remote trigger model
The source-measure unit (SMU) in the Series 2600B has a remote trigger model that supports a wide
range of triggering features for source sweeps, triggered measurements, and pulse actions.
Measurements using the trigger model can be made synchronously with sourcing actions, or they can
be made asynchronously. The following figures graphically illustrate both modes of the remote trigger
model.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-35
Figure 61: Remote trigger model: Normal (synchronous) mode
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-36 2600BS-901-01 Rev. C / August 2016
Figure 62: Remote trigger model: Asynchronous mode
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-37
When the smuX.trigger.measure.action attribute is set to smuX.DISABLE or smuX.ENABLE,
the trigger model will operate in synchronous measurement mode. When it is set to smuX.ASYNC, it
will operate in asynchronous mode.
Each section of the trigger model performs a function:
Idle state:
If a sweep is not in process, the SMU is in the idle state. Use the
smuX.trigger.initiate() function to move the SMU from the idle
state to the arm layer.
Arm layer:
Begins a sweep. Each sweep starts and ends in the arm layer.
Trigger layer:
All source, measurement, and pulse actions occur in the trigger layer.
Source: Outputs the programmed voltage or current source value.
Measurement: Where the current, voltage, resistance, and power
measurements occur.
End pulse: The end pulse action sources the idle (or bias) level if the pulse
mode is enabled.
The remote trigger model dictates the sequence of operation for the SMU when it is configured to
perform a sweep. When the SMU comes to an event detector, it suspends operation and waits for the
event you have assigned to the stimulus input. If no event is assigned, the SMU continues
uninterrupted past the event detector and through the trigger model. When the SMU comes to an
action block, it performs the appropriate action, if enabled. The SMU loops through the arm and
trigger layers until the programmed arm and trigger counts are satisfied.
Configuring source and measure actions
The source action can be configured using any of the following functions:
smuX.trigger.source.linearY()
smuX.trigger.source.logY()
smuX.trigger.source.listY()
Where:
Y = Source function
Source functions cannot be changed within a sweep. See Sweep operation (on page 3-20) for more
details about the sweep functions.
To enable the source action, set the smuX.trigger.source.action attribute to smuX.ENABLE.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-38 2600BS-901-01 Rev. C / August 2016
The source-measure unit (SMU) can be configured to perform any or all available measurements
during a sweep using the smuX.trigger.measure.Y() function. To enable the measure action for
a simple synchronous sweep, set the smuX.trigger.measure.action attribute to
smuX.ENABLE. To enable the measure action for an asynchronous sweep, set the
smuX.trigger.measure.action attribute to smuX.ASYNC.
In asynchronous mode, trigger your measurements before the source completes the sweep (before
the end sweep action occurs).
Configured source and measure delays are imposed when the SMU executes the source and
measure action blocks. Additionally, if the measure count setting is greater than one, then the
measure count is satisfied each time the measure action is performed. Refer to Sweep operation (on
page 3-20) for information about configuring source and measure sweeps.
The arm and trigger counts must be set to control how many times the SMU executes the source and
measure actions. The arm count indicates the number of times to execute the complete sweep. The
trigger count sets the number of loops in the trigger layer. Typically, you set the trigger count to be
equal to the number of points in the configured sweep. If the trigger count is not equal to the number
of points configured in the sweep, then one of the following occurs:
If the trigger count is greater than the number of points in a sweep as configured by
smuX.trigger.source.linearY(), smuX.trigger.source.logY(), or
smuX.trigger.source.listY(), then the SMU will satisfy the trigger count by restarting the
sweep values from the beginning.
If the trigger count is less than the number of source values configured, then the SMU will satisfy
the trigger count and ignore the remaining source values.
For example, configure a three-point linear voltage sweep from 1 to 3 V, with the trigger count set to
2. The SMU will output 1 V, 2 V. If the trigger count is set to 6, then the SMU will output the values
1 V, 2 V, 3 V, 1 V, 2 V, 3 V, repeating the source values twice in a single sweep.
Enabling pulse mode sweeps using the end pulse action
Enable pulse mode sweeps using the end pulse action. The example command below illustrates how
to configure pulse mode sweeps by setting the end pulse action:
smua.trigger.endpulse.action = smua.SOURCE_IDLE
Timers can be used to configure the pulse width and period (see Timers (on page 3-43) for more
information). To disable pulse mode sweeps, set the smuX.trigger.endpulse.action attribute
to smuX.SOURCE_HOLD.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-39
SMU event detectors
As shown in the Using the remote trigger model (on page 3-34) topic, the source-measure unit (SMU)
has multiple event detectors (see the table below) in order to control the timing of various actions.
Each event detector monitors for the trigger event assigned to the associated stimulus input.
Operation through the trigger model is delayed at the event detector until the programmed trigger
event occurs.
If the stimulus input is set to zero (0), then the SMU continues uninterrupted through the remote
trigger model.
Event detectors
Event detector Function
Arm
Controls entry into the trigger layer of the trigger model.
Source Controls execution of the source action.
Measure
Controls execution of the measurement action.
End pulse
Controls execution of the end pulse action.
It is important to note that for the SMU, action overruns occur when a new trigger is detected before
the previous trigger has been acted upon. When the trigger model is configured for asynchronous
measurements, a measurement trigger will generate an overrun if the SMU is not ready to start a new
measurement.
Clearing SMU event detectors
When an event detector is cleared, the event detector discards previously detected trigger events.
This prevents the source-measure unit (SMU) from using trigger events that were detected during the
last sweep or while it is in the arm layer, and allows it to start monitoring for new trigger events.
SMU event detectors are automatically cleared when:
A sweep is initiated using the smuX.trigger.initiate() function*.
The SMU moves from the arm layer into the trigger layer and the smuX.trigger.autoclear
attribute is enabled.
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or
smub (for SMU Channel B).
Using the TRIG key to trigger a sweep
The source-measure unit (SMU) can be configured to perform a sweep where each source step is
triggered by the front-panel TRIG key. The source action is preceded by the source event detector.
The SMU pauses operation at an event detector until a programmed event occurs. The SMU can be
programmed to wait at the source event detector (that is, not start the source action) until the front
panel TRIG key is pressed.
To configure the front panel TRIG key to trigger the source action, assign the trigger event created by
the TRIG key (display.trigger.EVENT_ID) to the source stimulus input
(smuX.trigger.source.stimulus).
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-40 2600BS-901-01 Rev. C / August 2016
The programming example below illustrates how to configure a 10-point linear voltage sweep on SMU
A, where each step is triggered by the front-panel TRIG key:
-- Configure a 10-point source voltage sweep.
smua.trigger.source.linearv(10, 100, 10)
smua.trigger.source.action = smua.ENABLE
-- Configure TRIG key press as input trigger for source action.
smua.trigger.source.stimulus = display.trigger.EVENT_ID
-- Command SMU to execute a single 10-point sweep.
smua.trigger.count = 10
smua.trigger.arm.count = 1
-- Turn on the output in preparation for the sweep
smua.source.output = smua.OUTPUT_ON
-- Start the sweep and clear the event detectors.
smua.trigger.initiate()
-- The SMU will wait for the front panel TRIG key press before executing
-- each source action.
-- Wait for the sweep to complete.
waitcomplete()
The following figure graphically illustrates this example. See Sweep operation (on page 3-20) for
more information about sweep operation.
Figure 63: Front panel TRIG key triggering
Using trigger events to start actions on trigger objects
Trigger objects can be configured to respond to events generated by other trigger objects, such as
using a digital I/O trigger to initiate a sweep. To configure a trigger object to monitor for an event,
assign the event ID of the trigger event to the stimulus input. When the specified trigger event occurs,
the trigger object will perform an action. The programming example below illustrates how to generate
a digital I/O line 2 output trigger pulse for each SMU A source complete event:
-- Configure digio line 2 to generate an output trigger pulse each
-- time SMU A generates a source complete event.
digio.trigger[2].stimulus = smua.trigger.SOURCE_COMPLETE_EVENT_ID
The following figure illustrates this example.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-41
Figure 64: Using trigger events to start actions
A stimulus input can be configured to monitor for only one trigger event ID at a time. To monitor more
than one event, use an event blender.
See Event blenders (on page 3-49) for more information.
Action overruns
An action overrun occurs when a trigger object receives a trigger event and is not ready to act on it.
The action overruns of all trigger objects are reported in the operation event registers of the status
model. Please refer to Status model (on page 5-15, on page E-1) and the appropriate sections on
each trigger object for further details on conditions under which an object generates an action
overrun.
Digital I/O port and TSP-Link synchronization lines
The Series 2600B has two sets of hardware lines that can be used for triggering: 14 digital I/O lines
and three TSP-Link® synchronization lines. These trigger objects can be configured and controlled in
the same way.
The Models 2604B, 2614B, and 2634B do not have digital input/output lines or the TSP-Link®.
See Digital I/O (on page 3-82) for more information about connections and direct control of the digital
I/O and TSP-Link synchronization lines.
Common attributes
Mode
Indicates the type of edge the hardware lines detect as an external input trigger. Mode also indicates
the type of signal generated as an external output trigger. The following table describes the hardware
trigger modes for the hardware trigger lines. The hardware trigger modes are described in more detail
in Hardware trigger modes (on page 3-57).
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-42 2600BS-901-01 Rev. C / August 2016
To disable triggering on the hardware trigger lines, set the mode to bypass. This allows direct control
of the line.
Hardware trigger mode summary
Trigger mode Output Input
Unasserted Asserted Detects
Bypass
N/A
N/A
N/A
Either Edge
High
Low
Either
Falling Edge
High
Low
Falling
Rising Edge
The programmed state of the line determines if the
behavior is similar to RisingA or RisingM:
• High similar to RisingA
• Low similar to RisingM
RisingA
High
Low
Rising
RisingM
Low
High
None
Synchronous
High latching
Low
Falling
SynchronousA
High latching
High
Falling
SynchronousM
High
Low
Rising
Pulsewidth
Specifies the pulse width of the output trigger signal when the hardware line is asserted.
Trigger configuration on hardware lines
The Series 2600B can be configured to send digital signals to trigger external instruments. Linking
these output triggers to the completion of certain source-measure actions enables hardware
handshaking. The programming example below illustrates this.
-- Configure the Series 2600B to detect a rising
-- edge on digital I/O line 2.
digio.trigger[2].mode = digio.TRIG_RISINGA
digio.trigger[2].clear()
-- Configure SMU A to start its source action when a
-- trigger event occurs on digital I/O line 2.
smua.trigger.source.stimulus = digio.trigger[2].EVENT_ID
-- Configure digital I/O line 4 to output a 1 ms
-- rising-edge trigger pulse at the completion of
-- SMU sweep.
digio.trigger[4].mode = digio.TRIG_RISINGM
digio.trigger[4].pulsewidth = 0.001
digio.trigger[4].stimulus = smua.trigger.SWEEP_COMPLETE_EVENT_ID
This example’s triggering setup is shown in the following figure.
Se
ries 2600B System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-43
Figure 65: External instrument triggering
Action overruns on hardware lines
An action overrun occurs when a trigger event is received before the digital I/O or TSP-Link® line is
ready to process it. The generation of an action overrun is dependent upon the trigger mode selected
for that line. For more details on the causes of action overruns, see Hardware trigger modes (on page
3-57). Use the status model to monitor for the occurrence of action overruns. For details, see the
Status model (on page 5-15, on page E-1).
Timers
A timer is a trigger object that performs a delay when triggered. Timers can be used to create delays
and to start measurements and step the source value at timed intervals. When a delay expires the
timer generates a trigger event. The Series 2600B has eight independent timers.
Timer attributes
Each timer has attributes that you can configure. These attributes are described in the following
sections.
Count
Configures the number of events to generate each time the timer generates a trigger event. Each
event is separated by a delay.
To configure the count, use the following attribute: trigger.timer[N].count
Set the count number to 0 (zero) to cause the timer to generate trigger events indefinitely.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-44 2600BS-901-01 Rev. C / August 2016
Timer delays
Timers can be configured to perform the same delay each time or configured with a delay list that
allows the timer to sequence through an array of delay values. All delay values are specified in
seconds.
A delay is the period of time after the timer is triggered and before the timer generates a trigger event.
The programming example below illustrates how to configure timer 3 for a 10 s delay:
trigger.timer[3].delay = 10
You can configure a custom delay list to allow the timer to use a different interval each time it
performs a delay. Each time the timer generates a trigger event, it uses the next delay in the list. The
timer repeats the delay list after all of the elements in the delay list have been used. The
programming example below illustrates how to configure timer 3 for delays of 2, 10, 15, and 7 s:
-- Configure timer 3 to complete delays of 2 s, 10 s,
-- 15 s, and 7 s.
trigger.timer[3].delaylist = {2, 10, 15, 7}
Assigning a value to the delay attribute is the same as configuring it with a one-element delay list.
Pass-through mode
When enabled, the timer generates a trigger event immediately when it is triggered. The timer
generates additional trigger events each time a delay expires. If the pass-through attribute is
disabled, the timer does not generate a trigger event until after the first delay elapses. The
programming example below illustrates how to configure timer 3 by enabling pass-through mode:
trigger.timer[3].passthrough = true
Triggering a timer
A timer can be configured to start a delay when a trigger object generates a trigger event. Timers
cannot be started with a command. A trigger event from a trigger object must be used to initiate a
delay.
Assigning the stimulus attribute
Assign an event ID to the trigger.timer[N].stimulus attribute to configure the timer to start a
delay when a specific trigger event occurs. The programming example below illustrates how to
configure a source-delay-measure (SDM) cycle.
-- Configure the timer to begin when source action completes.
trigger.timer[1].stimulus = smua.trigger.SOURCE_COMPLETE_EVENT_ID
-- SMUA delay before a measurement begins.
smua.trigger.measure.stimulus = trigger.timer[1].EVENT_ID
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-45
Figure 66: Using a timer for an SDM cycle
Timer action overruns
The timer generates an action overrun when it generates a trigger event while a timer delay is still in
progress. Use the status model to monitor for the occurrence of action overruns. For details, see the
Status model (on page 5-15, on page E-1).
Using timers to perform pulse mode sweeps
Timers can also be used to control the pulse width during a pulsed sweep. To create a pulse train, a
second timer must be used to configure the pulse period. The examples below show a single pulse
output and a pulse train output.
The SMU end pulse action smuX.trigger.endpulse.action must be set to
smuX.SOURCE_IDLE in order to create a pulse.
Single pulse example:
The programming example below illustrates how to use a single timer to control the pulse width of a
single-shot pulse measurement. The programming example configures the timer and SMU as follows:
Timer 1: Pulse width timer
Set the delay attribute of a timer equal to the appropriate pulse width.
Configure the timer to trigger when the SMU moves out of the arm layer of the trigger model.
Assign the trigger event generated by the timer to the stimulus input of the SMU end pulse event
detector.
SMU A
Configure the source action to start immediately by setting the stimulus input of the source event
detector to 0.
Set the end pulse action to SOURCE_IDLE.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-46 2600BS-901-01 Rev. C / August 2016
The following figure shows the trigger setup for this example.
Figure 67: Single pulse triggering
Single pulse example code
-- Generate a single 500 us, 5 V pulse.
-- Configure a single-point voltage list sweep.
smua.trigger.source.listv({5})
smua.trigger.source.action = smua.ENABLE
smua.trigger.measure.action = smua.DISABLE
-- Configure other source parameters for best timing possible.
smua.trigger.source.limiti = 0.1
smua.source.rangev = 5
-- Configure timer parameters to output a single 500 us pulse.
trigger.timer[1].delay = 0.0005
trigger.timer[1].count = 1
trigger.timer[1].passthrough = false
-- Trigger timer when the SMU passes through the ARM layer.
trigger.timer[1].stimulus = smua.trigger.ARMED_EVENT_ID
-- Configure source action to start immediately.
smua.trigger.source.stimulus = 0
-- Configure endpulse action to achieve a pulse.
smua.trigger.endpulse.action = smua.SOURCE_IDLE
smua.trigger.endpulse.stimulus = trigger.timer[1].EVENT_ID
-- Set appropriate counts of trigger model.
smua.trigger.count = 1
smua.trigger.arm.count = 1
-- Turn on output and trigger SMU to output a single pulse.
smua.source.output = smua.OUTPUT_ON
smua.trigger.initiate()
-- Wait for the sweep to complete.
waitcomplete()
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-47
Pulse train example:
The programming example below illustrates how to use two timers: One to control the pulse period, a
second to control the pulse width. The example configures the timers and SMU as follows:
Timer 1: Pulse period timer
Set the delay attribute to the appropriate pulse period (see the following figure).
Configure the timer to start when the sweep is initiated.
Enable the pass-through attribute so that the timer generates a trigger event at the start of the
first delay.
Set the count equal to one less than the total number of pulses to output.
Figure 68: Pulse train
Timer 2: Pulse width timer
Set the delay attribute to an appropriate pulse width (see the following figure).
Set the stimulus input to Timer 1's event ID (the start of each pulse is the start of the pulse
period).
Set the count equal to 1 so that only one pulse is issued per period.
SMU A
Set the source stimulus input to Timer 1's event ID so that the source action starts when the
period starts.
Set the end pulse action to smua.SOURCE_IDLE so that the output is returned to the idle level
after the pulse completes.
Set the end pulse stimulus input to Timer 2's event ID so that the end pulse action executes when
the pulse width timer expires.
Set the trigger count equal to 1.
Set the arm count equal to the total number of pulses to output.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-48 2600BS-901-01 Rev. C / August 2016
The following figure shows the trigger setup for this example.
Figure 69: Pulse train triggering
Series
2600B System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-49
Pulse train example code
-- Generate a 10-point pulse train where each pulse has a width of 600
-- microseconds and a pulse period of 5 milliseconds.
-- Alias the trigger timers to use for pulse width and period.
period_timer = trigger.timer[1]
pulse_timer = trigger.timer[2]
-- Create a fixed level voltage sweep.
smua.trigger.source.listv({5})
smua.trigger.source.action = smua.ENABLE
smua.source.rangev = 5
smua.trigger.measure.action = smua.DISABLE
-- Set pulse width.
pulse_timer.delay = 0.0006
-- Trigger pulse width timer with period timer.
pulse_timer.stimulus = period_timer.EVENT_ID
-- Output one pulse per period.
pulse_timer.count = 1
-- Set the pulse period.
period_timer.delay = 0.005
-- Set pulse period count to generate 10 pulses.
period_timer.count = 9
-- Trigger pulse period timer when a sweep is initiated.
period_timer.stimulus = smua.trigger.SWEEPING_EVENT_ID
-- Configure the timer to output a trigger event when it
-- starts the first delay.
period_timer.passthrough = true
-- Trigger SMU source action using pulse period timer
smua.trigger.source.stimulus = period_timer.EVENT_ID
-- Trigger SMU end pulse action using pulse width timer.
smua.trigger.endpulse.action = smua.SOURCE_IDLE
smua.trigger.endpulse.stimulus = pulse_timer.EVENT_ID
-- Set Trigger Model counts.
smua.trigger.count = 1
-- Configure the SMU to execute a 10-point pulse train.
smua.trigger.arm.count = 10
-- Prepare SMU to output pulse train.
smua.source.output = smua.OUTPUT_ON
smua.trigger.initiate()
-- Wait for the sweep to complete.
waitcomplete()
Event blenders
The ability to combine trigger events is called event blending. You can use an event blender to wait
for up to four input trigger events to occur before responding with an output event.
The Series 2600B has 1 to 6 event blenders that you can program.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-50 2600BS-901-01 Rev. C / August 2016
Event blender modes
Event blenders can be used to perform logical AND and logical OR functions on trigger events. For
example, trigger events can be triggered when either a manual trigger or external input trigger is
detected.
Or: Generates an event when an event is detected on any one of the four stimulus inputs
And: Generates an event when an event is detected on all of the assigned stimulus inputs
Set the trigger.blender[N].orenable attribute to configure the event blender mode. Setting
the attribute to true enables OR mode; setting the attribute to false enables AND mode.
Assigning input trigger events
Each event blender has four stimulus inputs. A different trigger event ID can be assigned to each
stimulus input. The programming example below illustrates how to assign the source complete event
IDs of SMU A and SMU B to stimulus inputs 1 and 2 of event blender 1:
trigger.blender[1].stimulus[1] = smua.SOURCE_COMPLETE_EVENT_ID
trigger.blender[1].stimulus[2] = smub.SOURCE_COMPLETE_EVENT_ID
Action overruns
Action overruns are generated by event blenders depending on the mode, as shown in the following
table. Use the status model to monitor for the occurrence of action overruns. For details, see the
Status model (on page 5-15, on page E-1).
Action overruns
Mode Action overrun
And Generates an overrun when a second event on
any of its inputs is detected before generating
an output event.
Or
Generates an overrun when two events are
detected simultaneously.
LAN triggering overview
Triggers can be sent and received over the LAN interface. The Series 2600B supports LAN
extensions for instrumentation (LXI) and has eight LAN triggers that generate and respond to LXI
trigger packets.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-51
Understanding hardware value and pseudo line state
LAN triggering is similar to hardware synchronization except that LXI trigger packets are used instead
of hardware signals. A bit in the LXI trigger packet called the hardware value simulates the state of a
hardware trigger line. The Series 2600B stores the hardware value of the last LXI trigger packet that
was sent or received as the pseudo line state.
The stateless event flag is a bit in the LXI trigger packet that indicates if the hardware value should be
ignored. If it is set, the Series 2600B ignores the hardware value of the packet and generates a
trigger event. The Series 2600B always sets the stateless flag for outgoing LXI trigger packets. If the
stateless event flag is not set, the hardware value indicates the state of the signal.
Changes in the hardware value of consecutive LXI trigger packets are interpreted as edge transitions.
Edge transitions generate trigger events. If the hardware value does not change between successive
LXI trigger packets, the Series 2600B assumes an edge transition was missed and generates a
trigger event. The following table illustrates edge detection in LAN triggering.
Instruments that are compliant to LXI versions before 1.2 always process the hardware value.
Instruments compliant to LXI version 1.2 and later are required to ignore the hardware value when
the stateless event flag is set.
LXI trigger edge detection
Stateless event
flag
Hardware
value
Pseudo line state Falling edge Rising edge
0 0 0 Detected Detected
0
1
0
-
Detected
0
0
1
Detected
-
0
1
1
Detected
Detected
1
-
-
Detected
Detected
Set the LAN trigger mode to configure the edge detection method in incoming LXI trigger packets.
The mode that is selected also determines the hardware value in outgoing LXI trigger packets. The
following table lists the LAN trigger modes.
LAN trigger modes
Trigger mode Input detected Output generated Notes
Either edge
Either
Negative
Falling edge
Falling
Negative
Rising edge
Rising
Positive
RisingA
Rising
Positive
Same as Rising
RisingM Rising Positive Same as Rising
Synchronous
Falling
Positive
Same as SynchronousA
SynchronousA
Falling
Positive
SynchronousM
Rising
Negative
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-52 2600BS-901-01 Rev. C / August 2016
The programming example below illustrates how to configure the LAN trigger mode.
-- Set LAN trigger 2 to have falling-edge mode.
lan.trigger[2].mode = lan.TRIG_FALLING
Understanding LXI trigger event designations
LAN trigger objects generate LXI trigger events, which are LAN0 to LAN7 (zero based). In the
command table, the LXI trigger events can be accessed using lan.trigger[1] through
lan.trigger[8].
lan.trigger[1] corresponds to LXI trigger event LAN0 and lan.trigger[8] corresponds to LXI
trigger event LAN7.
Generating LXI trigger packets
You can configure the Series 2600B to output an LXI trigger packet to other LXI instruments.
To generate LXI trigger packets:
1. Call the lan.trigger[N].connect() function.
2. Select the event that triggers the outgoing LXI trigger packet by assigning the specific event ID to
the LAN stimulus input.
Make sure to use the same LXI domain on both the Series 2600B instrument and the other
instrument. If the Series 2600B has a different LXI domain than the instrument at the other end of the
trigger connection, the LXI trigger packets will be ignored by both instruments.
Command interface triggering
A command interface trigger occurs when:
A GPIB GET command is detected (GPIB only)
A VXI-11 device_trigger method is invoked (VXI-11 only)
A *TRG message is received
A USBTMC TRIGGER message is received (USB only)
Use trigger.EVENT_ID to monitor for command interface triggers. To ensure that commands and
triggers issued over the command interface are processed in the correct order, a trigger event is not
generated until:
The trigger command is executed
trigger.wait() retrieves the trigger command from the command queue before it would
normally be executed
Command interface triggering does not generate action overruns. The triggers are processed in the
order that they are received in the Series 2600B command queue. The Series 2600B only processes
incoming commands when no commands are running. Unprocessed input triggers can cause an
overflow in the command queue. It is important to make sure a script processes triggers while it is
running.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-53
The command queue can fill up with trigger entries if too many *TRG messages are received while a
test script is running, even if the script is processing triggers. You can avoid this by using the
localnode.prompts4882 attribute (see TSP command reference (on page 7-1) for more
information), and by using trigger.wait() calls that remove the *TRG messages from the
command queue. If the command queue fills with too many trigger entries, messages like abort will
not be processed.
Trigger generator
The Series 2600B has two trigger generators that can be used to generate trigger events. Use the
trigger.generator[N].assert()function to directly trigger events from the command interface
or a script (for example, you can trigger a sweep while the instrument is under script control).
The trigger.generator[N].EVENT_ID constant is an identification number that identifies events
generated by this generator. To have another trigger object respond to trigger events generated by
this generator, set the other object's stimulus attribute to the value of this constant.
Manual triggering
The TRIG key is used for manual triggering. Each time the TRIG key is pressed, a trigger event is
generated. You can monitor for a manual trigger event using the event ID
display.trigger.EVENT_ID. See Using the TRIG key to trigger a sweep (on page 3-39) for an
example of how to use a manual trigger.
There are no action overruns for manual triggering.
Interactive triggering
The complexity of some test system configurations may not allow a static trigger setup. These
configurations would require more dynamic control of triggering than the static trigger setup provides.
For such cases, a setup providing interactive trigger programming would allow the generation and
detection of trigger events that can be controlled on demand under remote control. For example,
interactive triggering can be used when you need to make multiple source function changes or
implement conditional branching to other test setups based on recent measurements.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-54 2600BS-901-01 Rev. C / August 2016
Detecting trigger events using the wait() function
All of the Series 2600B trigger objects (except for SMUs) have built-in event detectors that monitor for
trigger events. The event detector only monitors events generated by that object and cannot be
configured to monitor events generated by any other trigger object. Using the wait() function of the
trigger object causes the Series 2600B instrument to suspend command execution until a trigger
event occurs or until the specified timeout period elapses.
For example, use trigger.blender[N].wait(Y) to suspend command execution until an event
blender generates an event, where N is the specific event blender and Y is the timeout period. After
executing the wait() function, the event detector of the trigger object is cleared.
The following programming example illustrates how to suspend command execution while waiting for
various events to occur:
-- Wait up to 10 seconds for a front-panel TRIG key press.
display.trigger.wait(10)
-- Wait up to 60 seconds for timer 1 to complete its delay.
trigger.timer[1].wait(60)
-- Wait up to 30 seconds for input trigger to digital I/O line 10.
digio.trigger[10].wait(30)
Using the assert function to generate output triggers
Certain trigger objects can be used to generate output triggers on demand. These trigger objects are
the digital I/O lines, TSP-Link synchronization lines and the LAN.
The programming example below illustrates how to generate an output trigger using the assert
function of the trigger object.
-- Generate a falling-edge trigger on digital I/O line 3.
digio.trigger[3].mode = digio.TRIG_FALLING
digio.trigger[3].assert()
-- Generate a rising edge trigger on TSP-Link sync line 1.
tsplink.trigger[1].mode = tsplink.TRIG_RISINGM
tsplink.trigger[1].assert()
-- Generate a LAN trigger on LAN pseudo line 6.
-- Note that connection parameters and commands that
-- establish a connection are not shown.
lan.trigger[6].mode = lan.TRIG_EITHER
lan.trigger[6].assert()
Series 260
0B System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-55
Using the release function of the hardware lines
Use the release function to allow the hardware line to output another external trigger when the pulse
width is set to 0.
Setting the pulse width to 0 results in an indefinite length pulse when the assert function is used to
output an external trigger. When an indefinite length pulse is used, the release function must be used
to release the line before another external trigger can be output.
The release function can also be used to release latched input triggers when the hardware line mode
is set to Synchronous. In Synchronous mode, the receipt of a falling edge trigger latches the line low.
The release function releases this line high in preparation for another input trigger.
The programming example below illustrates how to output an indefinite external trigger.
-- Set digio line 1 to output an indefinite external trigger.
digio.trigger[1].mode = digio.TRIG_FALLING
digio.trigger[1].pulsewidth = 0
digio.trigger[1].assert()
-- Release digio line 1.
digio.trigger[1].release()
-- Output another external trigger.
digio.trigger[1].assert()
For information about hardware lines, see Digital I/O port and TSP-Link synchronization lines (on
page 3-41).
Using the set function to bypass SMU event detectors
The set function is useful whenever you want the source-measure unit (SMU) to continue operation
without waiting for a programmed trigger event.
There is a set function for each SMU event detector. When called, the function immediately satisfies
the event detector, allowing the SMU to continue through the trigger model.
An example of when the set function can be used is when you want the SMU to immediately perform
an action the first time through the trigger model, even if a programmed trigger event does not occur.
The set function can be used to start actions on the SMU if there is a missed trigger event.
The programming example below illustrates how to have the SMU immediately perform an action the
first time through the trigger model, even if a programmed trigger event does not occur.
-- Immediately sets the arm event detector of SMU A
-- to the detected state.
smua.trigger.arm.set()
-- Sets the Measure Event Detector of SMU A.
smua.trigger.measure.set()
Event detector overruns
If a second trigger event is generated before an event detector clears, the trigger object will generate
a detector overrun. Detector overruns can be checked by reading the overrun attribute of the trigger
object. The attribute is set to true when an overrun occurs. The clear() function can be used to
immediately clear the event detector, discarding any history of previous trigger events. The clear()
function also clears any detector overruns.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-56 2600BS-901-01 Rev. C / August 2016
Detector overruns are not the same as action overruns that are reported in the status model.
The programming example below illustrates how to check and respond to detector overruns.
testOver = digio.trigger[4].overrun
if testOver == true then
print("Digital I/O overrun occurred.")
end
Examples using interactive triggering
Command interface interactive trigger example
The programming example below illustrates how to clear triggers, turn on the SMU output, and then
enable a 30-second timeout to wait for a command interface trigger. When the trigger is received, the
Series 2600B performs a voltage reading.
-- Clear any previously detected command interface triggers.
trigger.clear()
-- Turn on output.
smua.source.output = smua.OUTPUT_ON
-- Wait 30 seconds for a command interface trigger.
triggered = trigger.wait(30)
-- Get voltage reading.
reading = smua.measure.v()
-- Send command interface trigger to trigger the measurement.
*TRG
*TRG cannot be used in a script.
Manual triggering example
The programming example below illustrates how to pause a script and prompt the operator to press
the TRIG key when they are ready to continue. If the TRIG key is not pressed, the test will continue
after waiting 10 minutes (600 seconds).
display.clear()
display.trigger.clear()
display.setcursor(1, 1)
display.settext("Take a Break")
display.setcursor(2, 1)
display.settext("Press TRIG to continue")
display.trigger.wait(600)
display.clear()
Digital I/O triggering interactive example
The programming example below illustrates how to configure digital I/O line 2 as an input trigger and
digital I/O line 14 as an output trigger. It commands the Series 2600B to wait for an external input
trigger on digital I/O line 2. If a trigger event occurs, the Series 2600B outputs an external trigger on
digital I/O line 14. If no trigger event is received on digital I/O line 2, the test is aborted.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-57
-- Configure digital I/O lines 2 and 14 for input trigger detection
-- and output trigger generation, respectively.
digio.trigger[2].mode = digio.TRIG_RISINGA
digio.trigger[2].clear()
digio.trigger[14].mode = digio.TRIG_FALLING
digio.trigger[14].pulsewidth = 0.0001
-- Wait 15 seconds for a trigger event to occur on digital I/O line 2.
trigInput = digio.trigger[2].wait(15)
-- If a trigger event occurs on digital I/O line 2, assert an output
-- trigger on digital I/O line 14. If a trigger event does
-- not occur, then turn off the output of smua and issue a message
-- on the front panel display.
if trigInput == true then
digio.trigger[14].assert()
else
smua.source.output = smua.OUTPUT_OFF
display.screen = display.USER
display.clear()
display.setcursor(1, 1)
display.settext("No trigger received. Test aborted.")
exit()
end
Hardware trigger modes
Different hardware trigger modes can be used for digital I/O and TSP-Link synchronization. Use
hardware triggers to integrate Keithley instruments and non-Keithley instruments in a test system.
The Series 2600B supports 14 digital I/O lines and three TSP-Link® synchronization lines that can be
used for input or output triggering. For additional information about the hardware trigger modes, see
TSP command reference (on page 7-1).
For direct control of the line state, use the bypass trigger mode.
Falling edge trigger mode
The falling edge trigger mode generates low pulses and detects all falling edges. The figure titled
"Falling edge input trigger" shows the characteristics of the falling edge input trigger; the figure titled
"Falling edge output trigger" shows the falling edge output trigger.
Input characteristics:
Detects all falling edges as input triggers.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-58 2600BS-901-01 Rev. C / August 2016
Figure 70: Falling edge input trigger
Output characteristics:
In addition to trigger events from other trigger objects, the digio.trigger[N].assert() and
tsplink.trigger[N].assert() commands generate a low pulse for the programmed pulse
duration.
An action overrun occurs if the physical line state is low and a source event occurs.
Figure 71: Falling edge output trigger
Rising edge master trigger mode
Use the rising edge master (RisingM) trigger mode (see the figure titled "RisingM output trigger") to
synchronize with non-Keithley instruments that require a high pulse. Input trigger detection is not
available in this trigger mode. You can use the RisingM trigger mode to generate rising edge pulses.
The RisingM trigger mode does not function properly if the line is driven low by an external drive.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-59
Output characteristics:
Configured trigger events, as well as the digio.trigger[N].assert() and
tsplink.trigger[N].assert() commands, cause the physical line state to float high during
the trigger pulse duration.
An action overrun occurs if the physical line state is high while a stimulus event occurs.
Figure 72: RisingM output trigger
Rising edge acceptor trigger mode
The rising edge acceptor trigger mode (RisingA) generates a low pulse and detects rising edge
pulses (see the following figures).
Input characteristics:
All rising edges generate an input event.
Figure 73: RisingA input trigger
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-60 2600BS-901-01 Rev. C / August 2016
Output characteristics:
In addition to trigger events from other trigger objects, the digio.trigger[N].assert() and
tsplink.trigger[N].assert() commands generate a low pulse that is similar to the falling
edge trigger mode.
Figure 74: RisingA output trigger
Either edge trigger mode
The either edge trigger mode generates a low pulse and detects both rising and falling edges.
Input characteristics:
All rising or falling edges generate an input trigger event.
Figure 75: Either edge input trigger
Ser
ies 2600B System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-61
Output characteristics:
In addition to trigger events from other trigger objects, the digio.trigger[N].assert() and
tsplink.trigger[N].assert() commands generate a low pulse that is similar to the falling
edge trigger mode.
An action overrun occurs if the physical line state is low while a stimulus event occurs.
Figure 76: Either edge output trigger
Understanding synchronous triggering modes
Use the synchronous triggering modes to implement bidirectional triggering, to wait for one node, or
to wait for a collection of nodes to complete all triggered actions.
All non-Keithley instrumentation must have a trigger mode that functions similar to the SynchronousA
or SynchronousM trigger modes.
To use synchronous triggering, configure the triggering master to SynchronousM trigger mode or the
non-Keithley equivalent. Configure all other nodes in the test system to SynchronousA trigger mode
or a non-Keithley equivalent.
Synchronous master trigger mode (SynchronousM)
Use the synchronous master trigger mode (SynchronousM) to generate falling edge output triggers,
to detect the rising edge input triggers, and to initiate an action on one or more external nodes with
the same trigger line.
In this mode, the output trigger consists of a low pulse. All non-Keithley instruments attached to the
synchronization line in a trigger mode equivalent to SynchronousA must latch the line low during the
pulse duration.
To use the SynchronousM trigger mode, configure the triggering master as SynchronousM and then
configure all other nodes in the test system as Synchronous, SynchronousA, or to the non-Keithley
Instruments equivalent.
Use the SynchronousM trigger mode to receive notification when the triggered action on all nodes is
complete.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-62 2600BS-901-01 Rev. C / August 2016
Input characteristics:
All rising edges are input triggers.
When all external drives release the physical line, the rising edge is detected as an input trigger.
A rising edge is not detected until all external drives release the line and the line floats high.
Figure 77: Synchronous master input trigger
Output characteristics:
In addition to trigger events from other trigger objects, the digio.trigger[N].assert() and
tsplink.trigger[N].assert() functions generate a low pulse that is similar to the falling
edge trigger mode.
An action overrun occurs if the physical line state is low while a stimulus event occurs.
Figure 78: Synchronous master output trigger
Synchronous acceptor trigger mode (SynchronousA)
Use the synchronous acceptor trigger mode (SynchronousA) with the SynchronousM trigger mode.
The roles of the internal and external drives are reversed in the SynchronousA trigger mode.
Input characteristics:
The falling edge is detected as the external drive pulses the line low, and the internal drive
latches the line low.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-63
Figure 79: Synchronous acceptor input trigger
Output characteristics:
In addition to trigger events from other trigger objects, the digio.trigger[N].assert() and
tsplink.trigger[N].assert() functions release the line if the line is latched low. The pulse
width is not used.
The physical line state does not change until all drives (internal and external) release the line.
Action overruns occur if the internal drive is not latched low and a source event is received.
Figure 80: Synchronous acceptor output trigger
Synchronous trigger mode
The synchronous trigger mode is a combination of SynchronousA and SynchronousM trigger modes.
Use the Synchronous trigger mode for compatibility with older Keithley Instruments products.
Keithley Instruments recommends using SynchronousA and SynchronousM modes only.
Input characteristics:
The falling edge generates an input event and latches the internal drive low.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-64 2600BS-901-01 Rev. C / August 2016
Figure 81: Synchronous input trigger
Output characteristics:
In addition to trigger events from other trigger objects, the digio.trigger[N].assert() and
tsplink.trigger[N].assert() functions generate a low pulse for the programmed pulse
duration if the line is latched low, a falling edge does not occur.
A normal falling edge pulse generates when the internal drive is not latched low and the
digio.trigger[N].assert() and tsplink.trigger[N].assert() functions are issued.
To mirror the SynchronousA trigger mode, set the pulse width to 1 µs or any small nonzero value.
Action overruns are disabled.
Figure 82: Synchronous output trigger
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-65
High-capacitance mode
Overview
The Keithley Instruments Series 2600B System SourceMeter® instrument has a high-capacitance
mode.
Because the source-measure unit (SMU) has the ability to 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 IC (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.
Understanding high-capacitance mode
The source-measure unit (SMU) in the Series 2600B 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.
It is important to note that the SMU in the Series 2600B 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 Series 2600B 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.
Highest throughput is achieved by using normal operation. In high-capacitance mode, the speed of
the Series 2600B 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.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-66 2600BS-901-01 Rev. C / August 2016
Understanding source settling times
Each Series 2600B source-measure unit (SMU) can drive up to 50 µF of a capacitance in
high-capacitance mode. In order to accomplish this, the speed of the Series 2600B 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.
Model 2601B/2602B/2604B source settling times
Range Normal mode High capacitance mode
100 mV
50 µs 200 µs
1 V
50
µ
s
200
µ
s
6 V
100
µ
s
200
µ
s
40 V
150 µs
7 ms
Model 2611B/2612B/2614B/2634B/2635B/2636B source
settling times
Range Normal mode High capacitance mode
200 mV
50
µ
s
600
µ
s
2 V
50
µ
s
600
µ
s
20 V
110
µ
s
1.5 ms
200 V
700
µ
s
20 ms
In high-capacitance mode, the frequency compensation capacitance across the measure range
resistors increases. This increase leads to longer settling times on some current measure ranges.
The same range elements that are used to measure current are used to source current. Therefore,
the current limit response times will respond in a similar manner.
Current measure and source settling times
Current measure range Normal mode
(typical)
High capacitance mode (typical)
1 A - 1.5 A
(2611B/2612B/2614B/2634B/2635B/2636B)
120 µs 120 µs (Rload > 6 )
1 A - 3 A (2601B/2602B/2604B)
80 µs
120 µs (Rload > 2 )
100 mA
100
µ
s
100
µ
s
10 mA
80
µ
s
100
µ
s
1 mA
100
µ
s
3 ms
100
µ
A
150
µ
s
3 ms
10
µ
A
500
µ
s
230 ms
1 µA
2 ms
230 ms
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.
Series
2600B System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-67
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 the Understanding source settling times (on page 3-66) topic. 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 will be 100 seconds (see
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 3-
66) 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 taking readings
The following steps outline the procedure to charge and read a capacitor in high-capacitance mode:
1. Set the current limit to a value that is higher than will be used for the measurement (for example,
if measuring at 10 µA, the initial current limit can be set for 1 A).
2. After the capacitor charges, lower the current limit and measure range to obtain the current
measurement.
Enabling high-capacitance mode
Before enabling high-capacitance mode, note the following:
It is important to read the previous section to understand the impact of high-capacitance mode.
Test the 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.
Failure to test the DUT for the appropriate current limit and output voltages can result in damage
to or destruction of the DUT.
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.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-68 2600BS-901-01 Rev. C / August 2016
Front panel
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-C mode has the following effects on the SMU* settings:
smuX.measure.autorangei is set to smuX.AUTORANGE_FOLLOW_LIMIT and cannot be
changed.
Current ranges below 1 µA are not accessible.
If smuX.source.limiti is less than 1 µA, it is raised to 1 µA.
If smuX.source.rangei is less than 1 µA, it is raised to 1 µA.
If smuX.source.lowrangei is less than 1 µA, it is raised to 1 µA.
If smuX.measure.lowrangei is less than 1 µA, it is raised to 1 µA.
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models
2602B, 2604B, 2612B, 2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A)
or smub (for SMU Channel B).
Measuring current
The following inputs are required to test leakage using the factory leakage script, as shown in the
script example below.
SMU: Sets the Series 2600B source-measure unit to use
levelv: Sets the output voltage level
limiti: Sets the current limit for discharging or charging the capacitor
sourcedelay: Solve the following equation to determine the amount of time before taking a current
reading:
i Cv
t
-
----
-
=
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 taking the measurement
Script example
Use the smuX.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 on
SMU A.
1. To enable high-capacitance mode, send:
-- Enables high-capacitance mode.
smua.source.highc = smua.ENABLE
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-69
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
Adjust the voltage level and source delays based on the value and type of capacitor along with the
magnitude of the voltage step and the current measure range.
Figure 83: Enabling high-capacitance mode
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-70 2600BS-901-01 Rev. C / August 2016
Display operations
Display functions and attributes
The display functions and attributes are used to perform the display operations covered in this
section. The following table lists each display function/attribute (in alphabetical order) and cross
references it to the section topic where the function/attribute is explained.
TSP command reference (on page 7-1) provides additional information about the display functions
and attributes.
Cross-referencing functions and attributes to section topics
Function or attribute* Section topic
display.clear()
Clearing the display (on page 3-72)
display.getannunciators()
Indicators (on page 3-77)
display.getcursor()
Cursor position (on page 3-72)
display.getlastkey()
Capturing key-press codes (on page 3-80)
display.gettext()
Displaying text messages (on page 3-73)
display.inputvalue()
Parameter value prompting (on page 3-76)
display.loadmenu.add()
display.loadmenu.catalog()
display.loadmenu.delete()
Load test menu (on page 3-78)
display.locallockout
LOCAL lockout (on page 3-78)
display.menu()
Menu (on page 3-75)
display.numpad
Setting a value (on page 2-21)
display.prompt()
Parameter value prompting (on page 3-76)
display.screen
Display screen (on page 3-71)
display.sendkey()
Sending key codes (on page 3-80)
display.setcursor()
Cursor position (on page 3-72)
display.settext()
Displaying text messages (on page 3-73)
display.smuX.digits
Display resolution (on page 3-71)
display.smuX.limit.func
Limit functions (on page 3-71)
display.smuX.measure.func
Measurement functions (on page 3-71)
display.trigger.clear()
display.trigger.wait()
Display trigger wait and clear (on page 3-71)
display.waitkey()
Capturing key-press codes (on page 3-80)
* smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B,
2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU Channel B).
Display features
You can set the front-panel display to display the units of measure, number of digits, and customized
text messages for your applications.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-71
Display screen
Keithley Instruments Series 2600B System SourceMeter® instrument displays source-measure values
and readings or user defined messages. The display screen options include the following:
Source-measure, compliance screens: Display SMU source-measure readings and
compliance values.
User screen: Display user-defined messages and prompts.
Configure the type of source-measure and compliance displayed by setting the display.screen
attribute. The following programming example illustrates how to display source-measure and
compliance values, and measure readings for SMU A:
display.screen = display.SMUA
Measurement functions
With a source-measure screen selected, the measured reading can be displayed as volts, amperes,
ohms, or watts. Configure the type of measured reading displayed by setting the
display.smuX.measure.func attribute. The following programming example illustrates how to set
SMU A to display ohms measurements:
display.smua.measure.func = display.MEASURE_OHMS
Limit functions
On single SMU display screens, the displayed limit value can either reflect the primary limit value
(current or voltage limit, as applicable), or as the power limit value (that displays the power
limit).Configure the type of limit function displayed by setting the display.smuX.limit.func
attribute. The following programming example illustrates how to set SMU A to display its power limit
setting:
display.smua.limit.func = display.LIMIT_P
Display resolution
Display resolution for measured readings can be set to 4-1/2, 5-1/2 or 6-1/2 digit resolution. Configure
the type of resolution displayed by setting the display.smuX.digits attribute. The following
programming example illustrates how to set SMU A for 5-1/2 digit resolution for measured readings:
display.smua.digits = display.DIGITS_5_5
Display trigger wait and clear
The display.trigger.wait() function causes the instrument to wait for the front panel TRIG key
to be pressed, while the display.trigger.clear() function clears the trigger event detector.
Display messages
Most of the display functions and attributes that are associated with display messaging will
automatically select the user screen. The attribute for the display screen is explained in Display
screen (on page 3-71).
The reset functions, reset() or smuX.reset(), have no effect on the defined display message or
its configuration, but will set the display mode back to the previous source-measure display mode.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-72 2600BS-901-01 Rev. C / August 2016
For example, while a test is running, the following message can be displayed on the Series 2600B:
Test in Process
Do Not Disturb
The top line of the display can accommodate up to 20 characters (including spaces). The bottom line
can display up to 32 characters (including spaces) at a time.
The display.clear(), display.setcursor(), and display.settext() functions (which
are explained in the following paragraphs) are overlapped, nonblocking commands. The script will
NOT wait for one of these commands to complete.
These nonblocking functions do not immediately update the display. For performance
considerations, they write to a shadow and will update the display as soon as processing time
becomes available.
Clearing the display
When sending a command to display a message, a previously defined user message is not cleared.
The new message starts at the end of the old message on that line. It is good practice to routinely
clear the display before defining a new message.
After displaying an input prompt, the message will remain displayed even after the operator performs
the prescribed action. The clear() function must be sent to clear the display. To clear both lines of
the display, but not affect any of the indicators, send the following function:
display.clear()
Cursor position
When displaying a message, the cursor position determines where the message will start. On power-
up, the cursor is positioned at row 1, column 1 (see the following figure). At this cursor position, a
user-defined message will be displayed on the top row (row 1).
Top line text will not wrap to the bottom line of the display automatically. Any text that does not fit on
the current line will be truncated. If the text is truncated, the cursor will be left at the end of the line.
Figure 84: Row/column format for display messaging
Series 2600
B System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-73
The function to set cursor position can be used two ways:
display.setcursor(row, column)
display.setcursor(row, column, style)
Where:
row
1 or 2
column
1 to 20 (row 1)
1 to 32 (row 2)
style
0 (invisible)
1
(blink)
When set to 0, the cursor will not be seen. When set to 1, a display character will blink to indicate its
position.
The display.getcursor() function returns the present cursor position, and can be used three
ways:
row, column, style = display.getcursor()
row, column = display.getcursor()
row = display.getcursor()
The following programming example illustrates how to position the cursor on row 2, column 1, and
then read the cursor position:
display.setcursor(2, 1)
row, column = display.getcursor()
print(row, column)
Output:
2.00000e+00 1.00000e+00
Displaying text messages
To define and display a message, use the display.settext(text)function (text is the text
string to be displayed). The message will start at the present cursor position. The following
programming example illustrates how to display “Test in Process” on the top line, and “Do Not
Disturb” on the bottom line:
display.clear()
display.setcursor(1, 1, 0)
display.settext("Test in Process")
display.setcursor(2, 6, 0)
display.settext("Do Not Disturb")
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-74 2600BS-901-01 Rev. C / August 2016
Character codes
The following special codes can be embedded in the text string to configure and customize the
message:
$N Starts text on the next line (newline). If the cursor is already on line 2, text will be ignored after the
$N’ is received.
$R Sets text to Normal.
$B Sets text to Blink.
$D Sets text to Dim intensity.
$F Set text to background blink.
$$ Escape sequence to display a single “$”.
In addition to displaying alphanumeric characters, you can display other special characters. Refer to
Display character codes (on page F-1) for a complete listing of special characters and their
corresponding codes. The following programming example illustrates how to display the Greek
symbol omega (Ω) :
display.clear()
c = string.char(18)
display.settext(c)
The following programming example illustrates how to use the $N and $B character codes to display
the message “Test in Process” on the top line and the blinking message “Do Not Disturb” on the
bottom line:
display.clear()
display.settext("Test in Process $N$BDo Not Disturb")
The following programming example illustrates how to use the $$ character code to display the
message “You owe me $8” on the top line:
display.clear()
display.setcursor(1, 1)
display.settext("You owe me $$8")
If the extra $ character is not included, the $8 would be interpreted as an undefined character code
and will be ignored. The message “You owe me” will instead be displayed.
Be careful when embedding character codes in the text string; it is easy to forget that the character
following the $ is part of the code. For example, assume you want to display “Hello” on the top line
and “Nate” on the bottom line, and so you send the following command:
display.settext("Hello$Nate")
The above command displays “Hello” on the top line and “ate” on the bottom line. The correct syntax
for the command is as follows:
display.settext("Hello$NNate")
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-75
Returning a text message
The display.gettext() function returns the displayed message (text) and can be used in five
ways:
text = display.gettext()
text = display.gettext(embellished)
text = display.gettext(embellished, row)
text = display.gettext(embellished, row, columnStart)
text = display.gettext(embellished, row, columnStart, columnEnd)
Where:
embellished
Returns text as a simple character string (false) or includes character codes (true)
row
The row to read text from (
1
or
2
); if not included, text from both rows is read
columnStart
Starting column for reading text
columnEnd
Ending column for reading text
Sending the command without the row parameter returns both lines of the display. The $N character
code will be included to show where the top line ends and the bottom line begins. The $N character
code will be returned even if embellished is set to false.
With embellished set to true, all other character codes that were used in the creation of each
message line will be returned along with the message. With embellished set to false, only the
message will be returned.
Sending the command without the columnStart parameter defaults to column 1. Sending the
command without the columnEnd argument defaults to the last column (column 20 for row 1, column
32 for row 2).
Input prompting
Display messaging can be used along with front panel controls to make a user script interactive. In an
interactive script, input prompts are displayed so that the operator can perform a prescribed action
using the front panel controls. While displaying an input prompt, the test will pause and wait for the
operator to perform the prescribed action from the front panel.
Menu
A user-defined menu can be presented on the display. The menu consists of the menu name on the
top line, and a selectable list of menu items on the bottom line. To define a menu, use the
display.menu(menu, items) function.
Where:
menu
The name of the menu; use a string of up to 20 characters (including spaces)
items
A string is made up of one or more menu items; each item must be separated by white space
When the display.menu() function is sent, script execution waits for the operator to select one of
the menu items. Rotate the navigation wheel to place the blinking cursor on a menu item. Items that
do not fit in the display area are displayed by rotating the navigation wheel to the right. With the
cursor on the menu item, press the navigation wheel (or the ENTER key) to select it.
Pressing the EXIT (LOCAL) key does not abort the script while the menu is displayed, but it will return
nil. The script can be aborted by calling the exit() function when nil is returned.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-76 2600BS-901-01 Rev. C / August 2016
The following programming example illustrates how to present the operator with the choice of two
menu items: Test1 or Test2. If Test1 is selected, the message Running Test1 is displayed. If Test2
is selected, the message Running Test2 is displayed.
display.clear()
menu = display.menu("Sample Menu", "Test1 Test2")
if menu == "Test1" then
display.settext("Running Test1")
else
display.settext("Running Test2")
end
Parameter value prompting
There are two functions that you can use to create an editable input field on the user screen at the
present cursor position: display.inputvalue() and display.prompt().
The display.inputvalue() function uses the user screen at the present cursor position. Once
the command is finished, it returns the user screen to its previous state. The display.prompt()
function creates a new edit screen and does not use the user screen.
Each of these two functions can be used in four ways:
display.inputvalue(format)
display.inputvalue(format, default)
display.inputvalue(format, default, min)
display.inputvalue(format, default, min, max)
display.prompt(format, units, help)
display.prompt(format, units, help, default)
display.prompt(format, units, help, default, min)
display.prompt(format, units, help, default, min, max)
Where:
format
String that creates an editable input field on the user screen at the present cursor position
(examples: +0.00 00, +00, 0.00000E+0)
Value field:
+ = Include for positive/negative value entry; omitting the + prevents negative value entry
0 = Defines the digit positions for the value (up to six zeros (0))
Exponent field (optional):
E = include for exponent entry
+ = Include for positive/negative exponent entry; omitting the + prevents negative value entry
0 = Defines the digit positions for the exponent
default
Option to set a default value for the parameter, which will be displayed when the command is
sent
min
Option to specify minimum limits for the input field
When NOT using the “+” sign for the value field, the minimum limit cannot
be set to less than zero
When using the “+” sign, the minimum limit can be set to less than zero
(for example,
-2
)
max
Option to specify maximum limits for the input field
units
Text string to identify the units for the value (8 characters maximum), for example:
Units text is “V” for volts and “A” for amperes
help
Informational text string to display on the bottom line (32 characters maximum).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-77
Both the display.inputvalue() and display.prompt() functions display the editable input
field, but the display.inputvalue() function does not include the text strings for units and
help.
After one of the above functions is executed, command execution will pause and wait for the operator
in input the source level. The program will continue after the operator enters the value by pressing the
navigation wheel or the ENTER key.
The following programming example illustrates how to prompt the operator to enter a source voltage
value for SMU A:
display.clear()
value = display.prompt("0.00", "V", "Enter source voltage")
display.screen = display.SMUA
smua.source.levelv = value
The script pauses after displaying the prompt message and waits for the operator to enter the voltage
level. The display then toggles to the source-measure display for SMU A and sets the source level to
value.
If the operator presses EXIT(LOCAL) instead of entering a source value, value will be set to nil.
The second line of the above code can be replaced using the other input field function:
value = display.inputvalue("0.00")
The only difference is that the display prompt will not include the “V” units designator and theEnter
source value” message.
Indicators
To determine which display indicators are turned on, use the display.getannunciators()
function. For example, to determine which display indicators are turned on, send the following
commands.
annun = display.getannunciators()
print(annun)
The 16-bit binary equivalent of the returned value is a bitmap. Each bit corresponds to an indicator. If
the bit is set to “1”, the indicator is turned on. If the bit is set to “0”, the indicator is turned off.
The following table identifies the bit position for each indicator. The table also includes the weighted
value of each bit. The returned value is the sum of all the weighted values for the bits that are set.
For example, assume the returned bitmap value is 34061. The binary equivalent of this value is as
follows:
1000010100001101
For the above binary number, the following bits are set to “1”: 16, 11, 9, 4, 3 and 1. Using the table,
the following indicators are on: REL, REM, EDIT, AUTO, 4W and FILT.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-78 2600BS-901-01 Rev. C / August 2016
Bit identification for indicators
Bit
B16
B15
B14
B13
B12
B11
B10
B9
Annunciator
REL
REAR
SRQ
LSTN
TALK
REM
ERR
EDIT
Weighted value*
32768
16384
8192
4096
2048
1024
512
256
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Bit
B8
B7
B6
B5
B4
B3
B2
B1
Annunciator
SMPL
STAR
TRIG
ARM
AUTO
4W
MATH
FILT
Weighted value*
128
64
32
16
8
4
2
1
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
* The weighted values are for bits that are set to “1.” Bits set to “0” have no value.
Not all of the above indicators shown in above table may be used by the Series 2600B.
Local lockout
You can use the front-panel EXIT (LOCAL) key to cancel remote operation and return control to the
front panel. However, this key can be locked-out to prevent a test from being interrupted. When
locked, this key becomes a NO-OP (no operation). Configure the following attribute to lock or unlock
the EXIT (LOCAL) key:
display.locallockout = lockout
Where lockout is set to one of the following values:
0 or display.UNLOCK
1 or display.LOCK
For example, to lock out the EXIT (LOCAL) key:
display.locallockout = display.LOCK
Load test menu
The LOAD TEST menu lists tests (USER, FACTORY, and SCRIPTS) that can be run from the front
panel. Factory tests are preloaded and saved in nonvolatile memory at the factory. They are available
in the FACTORY TESTS submenu. Named scripts that have been loaded into the run-time
environment can be selected from the SCRIPTS submenu. Refer to Manage scripts (on page 6-3) for
additional information.
User tests
User tests can be added to or deleted from the USER TESTS submenu.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-79
Adding USER TESTS menu entries
You can use the following function in either of two ways to add an entry into the USER TESTS menu:
display.loadmenu.add(displayname, code)
display.loadmenu.add(displayname, code, memory)
Where:
displayname
The name string that is added to the USER TESTS menu.
code
The code that is run from the USER TESTS menu when the RUN
button is pressed. It can include any valid Lua code.
memory
A value that specifies if the code and displayname parameters are
saved in nonvolatile memory. Set to one of the following values:
0 or display.DONT_SAVE
1 or display.SAVE (this is the default setting)
Scripts, functions, and variables that are used in the code are not saved when display.SAVE is
used. Functions and variables need to be saved with the script (see Manage scripts (on page 6-3)). If
the script is not saved in nonvolatile memory, it is lost when the Series 2600B is turned off. See
Example 1 below.
Example 1:
Assume a script with a function named “DUT1” has been loaded into the Series 2600B, and the script
has not been saved in nonvolatile memory.
Now assume you want to add a test named “Test” to the USER TESTS menu. You want the test to
run the function named “DUT1” and sound the beeper. The following programming example illustrates
how to add “Test” to the menu, define the code, and then save displayname and code in
nonvolatile memory:
display.loadmenu.add("Test", "DUT1() beeper.beep(2, 500)", display.SAVE)
When “Test” is run from the front-panel USER TESTS menu, the function named “DUT1” executes
and the beeper beeps for two seconds.
Now assume you turn the Series 2600B power off and then on again. Because the script was not
saved in nonvolatile memory, the function named “DUT1” is lost. When “Test” is again run from the
front panel, the beeper beeps, but “DUT1” will not execute because it no longer exists in the run-time
environment.
Example 2:
The following command adds an entry called “Part1” to the front-panel USER TESTS submenu for
the code “testpart([[Part1]], 5.0)”, and saves it in nonvolatile memory:
display.loadmenu.add("Part1", "testpart([[Part1]], 5.0)", display.SAVE)
Deleting USER TESTS menu entries
You can use the following function to delete an entry from the front-panel USER TESTS menu:
display.loadmenu.delete(displayname)
Where:
displayname
Name to delete from the menu.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-80 2600BS-901-01 Rev. C / August 2016
The following programming example removes the entry named “Part1” from the front-panel USER
TESTS menu:
display.loadmenu.delete("Part1")
Running a test from the front panel
To run a user, factory, or script test from the front panel:
1. Press the LOAD key to display the LOAD TEST menu.
2. Select the USER, FACTORY, or SCRIPTS menu item.
3. Position the blinking cursor on the test to be run and press ENTER or the navigation wheel .
4. Press the RUN key to run the test.
Key-press codes
Sending key codes
Key codes are provided to remotely simulate pressing a front-panel key or the navigation wheel .
There are also key codes to simulate rotating the navigation wheel to the left or right (one click at a
time). Use the display.sendkey() function to perform these actions. The following programming
examples illustrate how to simulate pressing the MENU key in two different ways:
display.sendkey(display.KEY_MENU)
display.sendkey(68)
Capturing key-press codes
A history of the key code for the last pressed front panel key is maintained by the Series 2600B.
When the instrument is turned on (or when transitioning from local to remote operation), the key code
is set to 0 (display.KEY_NONE).
When a front-panel key is pressed, the key code value for that key can be captured and returned.
There are two functions associated with the capture of key-press codes: display.getlastkey()
and display.waitkey().
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-81
display.getlastkey()
The display.getlastkey() function is used to immediately return the key code for the last
pressed key. The following programming example illustrates how to display the last key pressed:
key = display.getlastkey()
print(key)
The above code will return the key code value (see the following table). Remember that a value of 0
(display.KEY_NONE) indicates that the key code history had been cleared.
Key codes
Value Key list
Value Key list
0
display.KEY_NONE
83
display.KEY_MEASB
65
display.KEY_RANGEUP
84
display.KEY_DIGITSB
67
display.KEY_RELB
85
display.KEY_RECALL
68
display.KEY_MENU
86
display.KEY_MEASA
69
display.KEY_MODEA
87
display.KEY_DIGITSA
70
display.KEY_RELA
90
display.KEY_LIMITB
71
display.KEY_RUN
91
display.KEY_SPEEDB
72
display.KEY_DISPLAY
92
display.KEY_TRIG
73
display.KEY_AUTO
93
display.KEY_LIMITA
75
display.KEY_EXIT
94
display.KEY_SPEEDA
77
display.KEY_FILTERA
95
display.KEY_LOAD
78
display.KEY_STORE
97
display.WHEEL_ENTER
79
display.KEY_SRCA
103
display.KEY_RIGHT
80
display.KEY_CONFIG
104
display.KEY_LEFT
81
display.KEY_RANGEDOWN
107
display.WHEEL_LEFT
82
display.KEY_ENTER
114
display.WHEEL_RIGHT
The OUTPUT ON/OFF control for a source-measure unit (SMU) cannot be tracked by this function.
display.waitkey()
The display.waitkey() function captures the key code value for the next key press:
key = display.waitkey()
After sending the display.waitkey() function, the script will pause and wait for the operator to
press a front-panel key. For example, if the MENU key is pressed, the function will return the value
68, which is the key code for that key. The key code values are the same as listed in
display.getlastkey() (on page 7-69).
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-82 2600BS-901-01 Rev. C / August 2016
The following programming example illustrates how to prompt the user to press the EXIT (LOCAL)
key to abort the script, or any other key to continue it:
display.clear()
display.setcursor(1, 1)
display.settext("Press EXIT to Abort")
display.setcursor(2, 1)
display.settext("or any key to continue")
key = display.waitkey()
display.clear()
display.setcursor(1, 1)
if key == 75 then
display.settext("Test Aborted")
exit()
else
display.settext("Test Continuing")
end
The above code captures the key that is pressed by the operator. The key code value for the EXIT
(LOCAL) key is 75. If the EXIT (LOCAL) key is pressed, the script aborts. If any other key is pressed,
the script continues.
Digital I/O
Digital I/O port
The Keithley Instruments Series 2600B System SourceMeter® instrument has a digital input/output
port that can be used to control external digital circuitry. For example, a handler that is used to
perform binning operations can be used with a digital I/O port.
Port Configuration
The digital I/O port, a standard female DB-25 connector (shown below), is located on the rear panel.
Figure 85: Digital I_O port
For a schematic diagram of the digital I/O hardware, refer to the Series 2600B Specifications on the
Keithley Instruments webite (http://www.tek.com/keithley).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-83
Connecting cables
Use a cable equipped with a male DB-25 connector (Keithley Instruments part number CA-126-1), or
a Model 2600-TLINK cable to connect the digital I/O port to other Keithley Instruments models
equipped with a Trigger Link (TLINK).
Digital I/O lines
The port provides 14 digital I/O lines. Each output is set high (+5 V) or low (0 V) and can read high or
low logic levels. Each digital I/O line is an open-drain signal.
The Models 2604B, 2614B, and 2634B do not have digital I/O lines.
+5 V output
The digital I/O port provides a +5 VDC output that is used to drive external logic circuitry. Maximum
combined current output for all lines is 250 mA. These lines are protected by a self-resetting fuse with
a hour recovery time.
Output enable line
The Model 2601B/2602B/2604B output enable (OE) line of the digital I/O can be used with a switch in
the test fixture or component handler. With proper use, power is removed from the DUT when the lid
of the fixture is opened. See Using output enable (on page 3-86) for more details.
The digital I/O port of the Model 2601B/2602B/2604B is not suitable for control of safety
circuits and should not be used to control a safety interlock. When an interlock is required
for safety, a separate circuit should be provided that meets the requirements of the
application to reliably protect the operator from exposed voltages.
Interlock line
At no time should you bypass the interlock feature of the Series 2600B. Safe operation
requires a separate interlock circuit that meets the requirements of the application to
reliably protect the operator from exposed voltages. Bypassing the interlock could expose
the operator to hazardous voltages that could result in personal injury or death.
The Model 2611B/2612B/2614B/2634B/2635B/2636B interlock (INT) line of the digital I/O can be
used with a switch in the test fixture or component handler. With proper use, power is removed from
the DUT when the lid of the fixture is opened. See Interlock (on page 3-88) for more details.
Use interlock cable assembly CA-558 to connect the Series 2600B interlock to either a Model 8010
High Power Device Test Fixture or to the Model 2657A-LIM-3 LO Interconnect Module (refer to the
connection information supplied with the device).
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-84 2600BS-901-01 Rev. C / August 2016
Digital I/O configuration
The following figure shows the basic configuration of the digital I/O port. Writing a 1 to a line sets that
line high (~ +5 V). Writing a 0 to a line sets that line low (~0 V). Note that an external device pulls an
I/O line low by shorting it to ground, so that a device must be able to sink at least 960 µA per I/O line.
Figure 86: Digital I/O interface schematic
Controlling digital I/O lines
Although the digital I/O lines are primarily intended for use with a device handler for limit testing, they
can also be used for other purposes such as controlling external logic circuits. You can control lines
either from the front panel or over a remote interface.
To set digital I/O values from the front panel:
1. Press the MENU key, select DIGOUT, and then press the ENTER key or press the navigation
wheel .
2. Select DIG-IO-OUTPUT, and then press the ENTER key or the navigation wheel .
3. Set the decimal value as required to set digital I/O lines in the range of 0 to 16,383 (see the table
in Digital I/O bit weighting (on page 3-85)), and then press the ENTER key or the navigation
wheel .
For example, to set digital I/O lines 3 and 8, set the value to 132.
4. Press the EXIT (LOCAL) key as needed to return to the main menu.
Ser
ies 2600B System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-85
To write-protect specific digital I/O lines to prevent their values from being changed:
1. Press the MENU key, then select , and then press the ENTER key or the navigation wheel .
2. Select WRITE-PROTECT, and then press the ENTER key or the navigation wheel .
3. Set the decimal value as required to write-protect digital I/O lines within the range of 0 to 16,383
(see Digital I/O bit weighting (on page 3-85)), and then press the ENTER key or the navigation
wheel .
For example, to write-protect digital I/O lines 4 and 10, set the value to 520.
4. Press the EXIT (LOCAL) key as needed to return to the main menu.
To remove write protection, reset the decimal value to include only the lines that you want to write
protect. To remove write protection from all lines, set the value to 0.
Digital I/O bit weighting
Bit weighting for the digital I/O lines is shown in the following table.
Digital bit weight
Line # Bit Decimal weighting Hexadecimal weighting
1
B1
1
0x0001
2
B2
2
0x0002
3 B3 4 0x0004
4
B4
8
0x0008
5
B5
16
0x0010
6
B6
32
0x0020
7
B7
64
0x0040
8
B8
128
0x0080
9
B9
256
0x0100
10 B10 512 0x0200
11
B11
1,024
0x0400
12
B12
2,048
0x0800
13 B13 4,096 0x1000
14
B14
8,192
0x2000
Remote digital I/O commands
Commands that control and access the digital I/O port are summarized in the following table. See the
TSP command reference (on page 7-1) for complete details on these commands. See the following
table for decimal and hexadecimal values used to control and access the digital I/O port and
individual lines. Use these commands to trigger the Series 2600B using external trigger pulses
applied to the digital I/O port, or to provide trigger pulses to external devices.
Use these commands to perform basic steady-state digital I/O operations such as reading and writing
to individual I/O lines or reading and writing to the entire port.
The digital I/O lines can be used for both input and output. You must write a 1 to all digital I/O lines
that are to be used as inputs.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-86 2600BS-901-01 Rev. C / August 2016
Remote digital I/O commands
Command Description
digio.readbit(bit)
Read one digital I/O input line
digio.readport()
Read digital I/O port
digio.writebit(bit, data)
Write data to one digital I/O output line
digio.writeport(data)
Write data to digital I/O port
digio.writeprotect = mask
Write protect mask to digital I/O port
Digital I/O programming example
The programming commands below illustrate how to set bit B1 of the digital I/O port high, and then
read the entire port value.
digio.trigger[1].mode = digio.TRIG_BYPASS
-- Set Bit B1 high.
digio.writebit(1,1)
-- Read digital I/O port.
data = digio.readport()
Using output enable
Output enable is available on Models 2601B/2602B/2604B only.
Output enable overview
The Model 2601B/2602B/2604B digital I/O port provides an output enable line for use with a test
fixture switch. When properly used, the output of the will turn OFF when the lid of the test fixture is
opened. See DUT Test Connections (on page 2-49) for important safety information when using a
test fixture.
When an interlock is required for safety, a separate circuit should be provided that meets
the requirements of the application to reliably protect the operator from exposed voltages.
The digital I/O port of the Model 2601B/2602B/2604B is not suitable for control of safety
circuits and should not be used to control a safety interlock.
Operation
When enabled, the output of the Model 2601B/2602B/2604B can only be turned on when the output
enable line is pulled high through a switch to +5 V (as shown). If the lid of the test fixture opens, the
switch opens, and the output enable line goes low, turning the output of the System SourceMeter®
instrument off. The output will not automatically turn on when output enable is set high. The output
cannot be turned back on until +5 V is applied to the output enable line.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-87
Figure 87: Using the output enable line
Front-panel control of output enable
To activate the output enable line:
1. Press the CONFIG key followed by the OUTPUT ON/OFF control.
2. Choose DIO-CONTROL, then press the ENTER key or the navigation wheel .
3. Select OE_OUTPUT_OFF to activate the output enable signal causing the source-measure unit
(SMU) output to be blocked if the output enable is not asserted (connected to +5 V). Select
NONE to deactivate the output enable signal so that its state has no effect on the SMU output.
4. Press the EXIT (LOCAL) key as needed to return to the normal display.
Remote control of output enable
Use one of these commands* to control output enable action:
smuX.source.outputenableaction = smuX.OE_NONE
smuX.source.outputenableaction = smuX.OE_OUTPUT_OFF
* smuX: For the Model 2601B, this value is smua (SMU Channel A); for the Models 2602B and 2604B,
this value can be smua or smub (for SMU Channel A or SMU Channel B, respectively).
When set to smuX.OE_NONE, the Series 2600B does not take action when the output enable line is
low. When set to smuX.OE_OUTPUT_OFF, the instrument will turn its output off as if the
smuX.source.output = smuX.OUTPUT_OFF command had been received. The instrument will
not automatically turn its output on when the output enable line returns to the high state. For example,
the following command activates the output enable for SMU A:
smua.source.outputenableaction = smua.OE_OUTPUT_OFF
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-88 2600BS-901-01 Rev. C / August 2016
Interlock
The interlock is available on the Models 2611B/2612B/2614B/2634B/2635B/2636B only.
The interlock circuit must be positively activated in order for the high voltage output to be
enabled. The interlock helps facilitate safe operation of the equipment in a test system.
Bypassing the interlock could expose the operator to hazardous voltages that could result in
personal injury or death.
Overview
The Model 2611B/2612B/2614B/2634B/2635B/2636B digital I/O port provides an interlock line for use
with a test fixture switch. When properly used, the output of the SourceMeter instrument will turn off
when the lid of the test fixture is opened. See DUT Test Connections (on page 2-49) for important
safety information when using a test fixture. Follow standard safety and electrical practices by
verifying the correct operation of all components related to system safety, including the interlock.
Operation
When on the 200 V source range, the output of the Model 2611B/2612B/2614B/2634B/2635B/2636B
can only be turned on when the interlock line is driven high through a switch to +5 V (as shown). If the
lid of the test fixture opens, the switch opens, and the interlock line goes low, turning the output of the
System SourceMeter® instrument off. The output is not automatically turned on when the interlock line
is set high. The output cannot be turned back on until the interlock line is set high.
A signal of > 3.4 V at 24 mA (at an absolute maximum of 6 V) must be externally applied to this pin to
ensure 200 V operation. This signal is pulled down to chassis ground with a 10 k resistor. 200 V
operation will be blocked when the INTERLOCK signal is < 0.4 V (an absolute minimum of 0.4 V).
Figure 88: Using Models 2611B/2612B/2614B/2634B/2635B/2636B interlock
Series 2600B
System SourceMeter® Instrument Reference Manual Section 3:
Functions and features
2600BS-901-01 Rev. C / August 2016 3-89
TSP-Link synchronization lines
The Series 2600B has three synchronization lines that you can use for triggering, digital I/O, and to
synchronize multiple instruments on a TSP-Link® network.
The Models 2604B, 2614B, and 2634B do not have a TSP-Link® interface.
Connecting to the TSP-Link system
The TSP-Link® synchronization lines are built into the TSP-Link connection. Use the TSP-Link
connectors located on the back of the Series 2600B. If you are using a TSP-Link network, you do not
have to modify any connections. See TSP-Link system expansion interface (on page 6-46) for
detailed information about connecting to the TSP-Link system.
Using TSP-Link synchronization lines for digital I/O
Each synchronization line is an open-drain signal. When using the TSP-Link® synchronization lines
for digital I/O, any node that sets the programmed line state to zero (0) causes all nodes to read 0
from the line state. This occurs regardless of the programmed line state of any other node. Refer to
the table in the Digital I/O bit weighting (on page 3-85) topic for digital bit weight values.
Remote TSP-Link synchronization line commands
Commands that control and access the TSP-Link® synchronization port are summarized in the
following table. See the TSP command reference (on page 7-1) for complete details on these
commands. See the table in Digital I/O bit weighting (on page 3-85) for the decimal and hexadecimal
values used to control and access the digital I/O port and individual lines.
Use the commands in following table to perform basic steady-state digital I/O operations; for example,
you can program the Series 2600B to read and write to a specific TSP-Link synchronization line or to
the entire port.
The TSP-Link synchronization lines can be used for both input and output. You must write a 1 to all
TSP-Link synchronization lines that are used as inputs.
Remote synchronization line commands
Command Description
tsplink.readbit(bit)
Reads one digital I/O input line.
tsplink.readport()
Reads the digital I/O port.
tsplink.writebit(bit, data)
Writes data to one digital I/O line.
tsplink.writeport(data)
Writes data to the digital I/O port.
tsplink.writeprotect = mask
Sets write-protect mask of the digital I/O port.
Section
3: Functions and features Series 2600B System SourceMeter® Instrument
Reference Manual
3-90 2600BS-901-01 Rev. C / August 2016
Programming example
The programming example below illustrates how to set bit B1 of the TSP-Link digital I/O port high,
and then read the entire port value:
tsplink.trigger[1].mode = tsplink.TRIG_BYPASS
-- Set bit B1 high.
tsplink.writebit(1, 1)
-- Read I/O port.
data = tsplink.readport()
In this section:
Analog-to-digital converter ....................................................... 4-1
Source-measure concepts ....................................................... 4-1
Measurement settling time considerations ............................. 4-26
Effects of load on current source settling time ........................ 4-27
Creating pulses with the Series 2600B .................................. 4-28
Analog-to-digital converter
The Series 2600B SMUs have an integrating analog-to-digital converter (ADC). The integrating ADC
uses a ratiometric analog-to-digital conversion technique. Depending on the configuration of the
integrating ADC, periodic fresh reference measurements are required to minimize drift. The
measurement aperture is used to determine the time interval between these measurement updates.
For additional information, see Autozero (on page 2-32). To help optimize operation of this ADC, the
instrument caches the reference and zero values for up to ten of the most recent number of power
line cycles. For additional information, see NPLC caching (on page 2-33).
Source-measure concepts
Overview
This section provides detailed information about source-measure concepts, including:
Compliance limit principles (on page 4-2)
Overheating protection (on page 4-2)
Operating boundaries (on page 4-5)
Basic circuit configurations (on page 4-20)
Guard (on page 4-24)
Section 4
Theory of operation
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-2 2600BS-901-01 Rev. C / August 2016
Compliance limit principles
A limit acts as a clamp. If the output reaches the limit value, the System SourceMeter® instrument
attempts to prevent the output from exceeding that value. This action implies that the source will
switch from a V-source to an I-source (or from an I-source to a V-source) when a limit is reached.
As an example, assume the following:
System SourceMeter® instrument: VSRC = 10 V; ILIMIT = 10 mA
Device under test (DUT) resistance: 10
With a source voltage of 10 V and a DUT resistance of 10 , the current through the DUT should be:
10 V / 10 = 1 A. However, because the limit is set to 10 mA, the current will not exceed that value,
and the voltage across the resistance is limited to 100 mV. In effect, the 10 V voltage source is
transformed into a 10 mA current source.
In steady-state conditions, the set compliance limit will restrict the Series 2600B output. This holds
true except for the compliance limit conditions as described in Limits (on page 2-28) or for fast
transient load conditions.
The Series 2600B can also be set to limit power. This limit can be set in addition to any voltage or
current limits specified. The power limit restricts power by lowering the present limit in effect (voltage
or current) as needed to restrict the SMU from exceeding the specified power limit. The instrument's
limit operation changes dependent on the source mode (current or voltage), load, and the configured
limits (current, voltage, and power). For additional details on using limits, including load
considerations when specifying both a current (or a voltage) limit and a power limit, see the Operating
boundaries (on page 4-5) topic.
For information on implementing compliance limits, see Setting source and compliance values (on
page 2-22).
Overheating protection
Proper ventilation is required to keep the System SourceMeter® instrument from overheating. Even
with proper ventilation, the Series 2600B can overheat if the ambient temperature is too high or the
System SourceMeter® instrument is operated as a sink for long periods of time. The System
SourceMeter® instrument has an over-temperature protection circuit that will turn the output off if the
instrument overheats. When the over-temperature protection circuit turns the output off, a message
indicating this condition is displayed. You cannot turn the output on until the instrument cools down.
Power equations to avoid overheating
To avoid overheating, do not operate any channel on the instrument in a manner that forces the
instrument to exceed the maximum duty cycle (DCMAX), which is computed using the General power
equation (on page 4-4) below. Factors such as the ambient temperature, quadrant of operation, and
high-power pulse levels (if applicable) affect the maximum duty cycle. Exceeding the calculated
maximum duty cycle may cause the temperature protection mechanism to engage. When this
happens, an error message displays and the instrument output is disabled until the internal
temperature of the instrument is reduced to an acceptable level.
You do not have to be concerned about overheating if all of the following are true:
The instrument is used as a power source and not a power sink.
The ambient temperature is ≤ 30 °C.
Extended operating area (EOA) pulsing is not being performed.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-3
However, if any one of these is false, the instrument may overheat if operated in a manner that
exceeds the calculated maximum duty cycle, DCMAX.
The maximum duty cycle equation is derived from the power equation below by solving for DCMAX.
The general power equation describes how much power an instrument channel can source and sink
before the total power cannot be fully dissipated by the instrument's cooling system. This equation
incorporates all of the factors that can influence the power dissipated by the instrument.
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-4 2600BS-901-01 Rev. C / August 2016
General power equation
PCS
The maximum power generated in an instrument channel that can be properly dissipated by the
instrument cooling system measured in watts. For the Series 2600B, this constant equals 56.
T
AMB
The ambient temperature of the instrument operating environment.
PDER = TAMB - 30
This factor represents the number of watts the instrument is derated when operating in environments
above 30 °C. The maximum output power of each instrument channel is reduced by 1 W per degree C
above 30 °C.
P
DER
is 0 when the ambient temperature is below 30 °C.
V
OA
The instrument output amplifier voltage. This constant can be found in the tables below.
VP
The voltage level the instrument is attempting to force while at the pulse level.
When operating in quadrants 1 or 3 (sourcing power), the sign of this voltage must be positive when
used in the power equations.
When operating in quadrants 2 or 4 (sinking power), the sign of this voltage must be negative when
used in the power equations.
VB
The voltage level the instrument is attempting to force while at the bias level.
When operating in quadrants 1 or 3 (sourcing power), the sign of this voltage must be positive when
used in the power equations.
When operating in quadrants 2 or 4 (sinking power), the sign of this voltage must be negative when
used in the power equations.
I
P
The current flowing through the instrument channel while at the pulse level.
I
B
The current flowing through the instrument channel while at the bias level.
Maximum duty cycle equation
The following equation applies to both channels, sinking or sourcing power simultaneously. If a duty
cycle less than 100% is required to avoid overheating, the maximum on-time must be less than 10
seconds.
When attempting to determine the maximum duty cycle, where the off state will be 0 V or 0 A:
IB is 0
IP and VP are the voltage and current levels when the instrument is on
Model 2601B/2602B/2604B maximum duty cycle equation constants
Constant 100 mV range 1 V range 6 V range 40 V range
V
OA
18
18
18
55
Model 2611B/2612B/2614B/2634B/2635B/2636B maximum duty cycle equation
constants
Constant 200 mV range 2 V range 20 V range 200 V range
V
OA
40
40
40
220
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-5
Operating boundaries
Source or sink
Depending on how it is programmed and what is connected to the output (load or source), the
instrument can operate in any of the four quadrants. The four quadrants of operation are shown in the
continuous operating boundaries figures. When operating in the first (I) or third (III) quadrant, the
instrument is operating as a source (V and I have the same polarity). As a source, the instrument is
delivering power to a load.
Figure 89: Four quadrants of operation
When operating in the second (II) or fourth (IV) quadrant, the instrument is operating as a sink (V and
I have opposite polarity). As a sink, it is dissipating power rather than sourcing it. An external source
or an energy storage device, such as a capacitor or battery, can force operation in the sink region.
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-6 2600BS-901-01 Rev. C / August 2016
Continuous power operating boundaries
The general operating boundaries for Model 2601B/2602B/2604B continuous power output are
shown in the following figure (for derating factors, see the General power equation (on page 4-4)
described earlier in this section). In this drawing, the current (600 mA, 1 A, 2.2 A, and 3 A) and the
voltage (6 V and 40 V) magnitudes are nominal values. Also note that the boundaries are not drawn
to scale.
Figure 90: Model 2601B/2602B/2604B continuous power operating boundaries
The general operating boundaries for Model 2611B/2612B/2614B/2634B/2635B/2636B continuous
power output are shown in the following figure (for derating factors, see the General power equation
(on page 4-4) described earlier in this section). In this drawing, the current (100 mA and 1.5 A) and
voltage (20 V and 200 V) magnitudes are nominal values. Also note that the boundaries are not
drawn to scale.
Figure 91: Model 2611B/2612B/2614B/2634B/2635B/2636B continuous power operating
boundaries
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-7
Operation as a sink
When operating the Series 2600B in the second or fourth quadrant, the SMU operates as a load that
sinks and dissipates the power internally. The SMU’s ability to dissipate power is defined by the
boundaries shown in the previous figure. When operating the Series 2600B in the second or fourth
quadrant, the DUT would be a power source (such as a battery, solar cell, or a power supply).
Use care when connecting a source to the Series 2600B that is capable of exceeding the voltage or
current limit. Using the Model 2601B/2602B/2604B to sink more than 3 A can damage the instrument
and invalidate your warranty. Using the Model 2611B/2612B/2614B/2634B/2635B/2636B to sink
more than 1.5 A can damage the instrument and invalidate your warranty.
V-source operating boundaries
Models 2601B/2602B/2604B V-source operating boundaries
The following figure shows the operating boundaries for the V-source. Only the first quadrant of
operation is shown. Operation in the other three quadrants is similar.
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument R
eference Manual
4-8 2600BS-901-01 Rev. C / August 2016
The first graph in the figure (marked "A: Output characteristics") shows the output characteristics for
the V-source. As shown, the Models 2601B, 2602B, and 2604B can output up to 6.06 V at 3 A, or
40.4 V at 1 A. Note that when sourcing more than 6.06 V, current is limited to 1 A.
The second graph in the figure (marked "B: Limit lines") shows the limit lines for the V-source. The
voltage source limit line represents the maximum source value possible for the presently selected
voltage source range. For example, if you are using the 6 V source range, the voltage source limit line
is at 6.06 V. The current compliance limit line represents the actual compliance in effect (see Limits
(on page 2-28)). These limit lines are boundaries that represent the operating limits of the System
SourceMeter® instrument for this quadrant of operation. The operating point can be anywhere inside
(or on) these limit lines. The limit line boundaries for the other quadrants are similar.
Models 2611B/2612B/2614B/2634B/2635B/2636B V-source operating boundaries
The following figure shows the operating boundaries for the V-source. Only the first quadrant of
operation is shown. Operation in the other three quadrants is similar.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-9
The first graph in the figure (marked "A: Output characteristics") shows the output characteristics for
the V-source. As shown, the Models 2611B/2612B/2614B/2634B/2635B/2636B can output up to
20.2 V at 1.5 A, or 202 V at 100 mA. Note that when sourcing more than 20.2 V, current is limited to
100 mA.
The second graph in the figure (marked "B: Limit lines") shows the limit lines for the V-source. The
voltage source limit line represents the maximum source value possible for the presently selected
voltage source range. For example, if you are using the 20 V source range, the voltage source limit
line is at 20.2 V. The current compliance limit line represents the actual compliance in effect (see
Limits (on page 2-28)). These limit lines are boundaries that represent the operating limits of the
System SourceMeter® instrument for this quadrant of operation. The operating point can be anywhere
inside (or on) these limit lines. The limit line boundaries for the other quadrants are similar.
Load considerations (V-source)
The boundaries within which the System SourceMeter® instrument operates depend on the load
(device-under-test (DUT)) that is connected to the output. The following figure shows operation
examples for resistive loads that are 2 k and 800 , respectively. For these examples, the System
SourceMeter instrument is programmed to source 10 V and limit current (10 mA). In addition, for A:
Normal V-source operation and C: V-source operation in power compliance the System
SourceMeter instrument is programmed to limit power (60 mW).
In the following figures first graph (labeled "A: Normal V-source operation"), the System SourceMeter
instrument is sourcing 10 V to the 2 k load and subsequently measures 5 mA. As shown, the load
line for 2 k intersects the 10 V voltage source line at 5 mA. The current compliance limit and the
power compliance limit are not reached (the instrument is not limited through its compliance settings).
The second graph in the figure (labeled "B: V-source operation in current compliance"), shows what
happens if the resistance of the load is decreased to 800 . The DUT load line for 800 intersects
the current compliance limit line placing the System SourceMeter instrument in compliance. When in
compliance, the System SourceMeter instrument will not be able to source its programmed voltage
(10 V). For the 800 DUT, the System SourceMeter instrument will only output 8 V (at the 10 mA
limit).
Notice that as resistance decreases, the slope of the DUT load line increases. As resistance
approaches infinity (open output), the System SourceMeter instrument will source virtually 10 V at
0 mA. Conversely, as resistance increases, the slope of the DUT load line decreases. At zero
resistance (shorted output), the System SourceMeter instrument will source virtually 0 V at 10 mA.
The third graph in the figure (labeled "C: V-source operation in power compliance"), shows what
happens if a power limit of 60 mW is applied. As the instrument attempts to output the programmed
source value of 10 V, the power compliance limit line is reached placing the System SourceMeter
instrument in power compliance. The System SourceMeter instrument enforces the power
compliance limit by setting the current compliance limit line to the new power limited current
compliance limit line setting (which in this case is 6 mA). In compliance, the System SourceMeter
instrument will not be able to source its programmed voltage (10 V). For the 800 DUT, the System
SourceMeter instrument will only output 4.8 V (at the 5 mA limit). In this example, current will never
exceed the programmed compliance of 10 mA, or the programmed power compliance of 60 mW,
under any load.
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-10 2600BS-901-01 Rev. C / August 2016
Figure 92: Series 2600B V-source load considerations
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-11
The following figure shows a voltage sweep on a resistive load of 800 Ω. For this example, the
System SourceMeter instrument is programmed to sweep voltage to 10 V, limit current (6 mA) and
limit power (50 mW). When sweeping, the actual source output will vary according to the programmed
source value until the current limit is reached. As the figure shows, the output will source the
programmed value until placed in current compliance at the 6 mA limit. The sweep will then continue
(programmed I-source values will increase along the green sweep points line), but the output will
remain at the same value as when the instrument went into voltage compliance. This continues until
the programmed source value sweeps to a high enough level that the power limit line is reached (50
mW). At this point, the current and voltage will start to decrease, lowering the current and voltage
values along the DUT load line. When the last point is swept (10 V), the actual output would be 4 V
(at 5 mA).
Figure 93: Programmed V-source sweep operation in current and power compliance
V-source sink operating boundaries
The quadrant within which the Series 2600B operates depends on the device-under-test (DUT)
connected to the Series 2600B output. The following example illustrates this operation by using the
Series 2600B configured as a voltage source to discharge a 12 V power source (a battery).
Figure 94: Sourcing voltage while sinking current
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-12 2600BS-901-01 Rev. C / August 2016
The current compliance limit applies both to positive and negative currents. For example, if you set
the current compliance limit to 50 mA, the current limit applies to ±50 mA.
For this example, the Series 2600B is programmed to source 2 V and to limit current to 50 mA. When
the SMU turns on, the battery voltage is higher than the programmed voltage source value. Since the
SMU is unable to deliver the programmed voltage, the SMU is placed in current compliance and
begins to sink current. Sink operation continues until the battery voltage equals the programmed
voltage source level and the current in the circuit drops to nearly 0 A.
In the following figure, as the battery drains, the battery voltage is lowered (shown by the green arrow
in the figure). Operation will continue in this direction until the SMU is able to deliver the programmed
voltage source value.
Since the battery is a power source, initial operation can occur anywhere along the initial battery
voltage line. This voltage is only limited by the capability of the battery (see the following figure).
Figure 95: Considerations when sourcing voltage and sinking power
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-13
I-source operating boundaries
Models 2601B/2602B/2604B I-source operating boundaries
The following figure shows the operating boundaries for the I-source. Only the first quadrant of
operation is shown; operation in the other three quadrants is similar.
The first graph in the figure (marked "A: Output characteristics") shows the output characteristics for
the I-source. As shown, the Models 2601B, 2602B and 2604B can output up to 1.01 A at 40 V, or
3.03 A at 6 V. Note that when sourcing more than 1.01 A, voltage is limited to 6 V.
The second graph in the figure (marked "B: Limit lines") shows the limit lines for the I-source. The
current source limit line represents the maximum source value possible for the presently selected
current source range. The voltage compliance limit line represents the actual compliance that is in
effect (see Limits (on page 2-28)). These limit lines are boundaries that represent the operating limits
of the System SourceMeter® instrument for this quadrant of operation. The operating point can be
anywhere inside (or on) these limit lines. The limit line boundaries for the other quadrants are similar.
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-14 2600BS-901-01 Rev. C / August 2016
Models 2611B/2612B/2614B/2634B/2635B/2636B I-source operating boundaries
The following figure shows the operating boundaries for the I-source. Only the first quadrant of
operation is shown; operation in the other three quadrants is similar.
The first graph in the figure (marked "A: Output characteristics") shows the output characteristics for
the I-source. As shown, the Models 2611B/2612B/2614B/2634B/2635B/2636B System SourceMeter®
instruments can output up to 101 mA at 200V, or 1.515 A at 20 V. Note that when sourcing more than
101 mA, voltage is limited to 20 V.
The second graph in the figure (marked "B: Limit lines") shows the limit lines for the I-source. The
current source limit line represents the maximum source value possible for the presently selected
current source range. The voltage compliance limit line represents the actual compliance that is in
effect (see Limits (on page 2-28)). These limit lines are boundaries that represent the operating limits
of the System SourceMeter instrument for this quadrant of operation. The operating point can be
anywhere inside (or on) these limit lines. The limit line boundaries for the other quadrants are similar.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-15
Load considerations (I-source)
The boundaries within which the System SourceMeter® instrument operates depend on the load
(device-under-test (DUT)) that is connected to its output. The following figure shows operation
examples for resistive loads that are 50 and 200 , respectively. For these examples, the System
SourceMeter instrument is programmed to source 100 mA and limit voltage (10 V). In addition, for A:
Normal I-source operation and C: I-source operation in power compliance, the System
SourceMeter instrument is programmed to limit power (600 mW).
In the following figure's first graph (labeled "A: Normal I-source operation"), the System SourceMeter
instrument is sourcing 100 mA to the 50 load and subsequently measures 5 V. As shown, the load
line for 50 intersects the 100 mA current source line at 5 V. The voltage compliance limit and the
power compliance limit are not reached (the instrument is not limited through its compliance settings).
The second graph in the figure (labeled "B: I-source operation in voltage compliance"), shows what
happens if the resistance of the load is increased to 200 . The DUT load line for 200 intersects
the voltage compliance limit line placing the System SourceMeter instrument in voltage compliance.
In compliance, the System SourceMeter instrument will not be able to source its programmed current
(100 mA). For the 200 DUT, the System SourceMeter instrument will only output 50 mA (at the
10 V limit).
Notice that as resistance increases, the slope of the DUT load line increases. As resistance increases
and approaches infinity (open output), the System SourceMeter instrument will source virtually 0 mA
at 10 V. Conversely, as resistance decreases, the slope of the DUT load line decreases. At zero
resistance (shorted output), the System SourceMeter instrument will source 100 mA at virtually 0 V.
The third graph in the figure (labeled "C: I-source operation in power compliance"), shows what
happens if a power limit of 600 mW is applied. As the instrument attempts to output the programmed
source value of 100 mA, the power limited voltage compliance limit line is reached placing the System
SourceMeter instrument in power compliance. The System SourceMeter instrument enforces the
power compliance limit by setting the voltage compliance limit line to the new power limited voltage
compliance limit line setting (which in this case is 6 V). In compliance, the System SourceMeter
instrument will not be able to source its programmed current (100 mA). For the 200 DUT, the
System SourceMeter instrument will only output 30 mA (at the 6 V limit). In this example, voltage will
never exceed the programmed compliance of 10 V, or the programmed power compliance of
600 mW, under any load.
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-16 2600BS-901-01 Rev. C / August 2016
Figure 96: Series 2600B I-source load considerations
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-17
The following figure shows a current sweep on a resistive load of 200 Ω. For this example, the
System SourceMeter instrument is programmed to sweep current to 100 mA, limit voltage (6 V) and
limit power (500 mW). When sweeping, the actual source output will vary according to the
programmed source value until the voltage limit is reached. As the figure shows, the output will
source the programmed value until placed in voltage compliance at the 6 V limit. The sweep will then
continue (programmed I-source values will increase along the green sweep points line), but the
output will remain at the same value as when the instrument went into voltage compliance. This
continues until the programmed source value sweeps to a high enough level that the power limit line
is reached (500 mW). At this point, the voltage and the current will start to decrease, lowering the
current and voltage values along the DUT load line. When the last point is swept (100 mA), the actual
output would be 25 mA (at 5 V).
Figure 97: Series 2600B I-source load considerations while sweeping I
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-18 2600BS-901-01 Rev. C / August 2016
I-source sink operating boundaries
The quadrant within which the Series 2600B operates depends on the device-under-test (DUT)
connected to the Series 2600B output. The following example illustrates this operation by using the
Series 2600B configured to provide a constant current to discharge a 12 V power source (a battery).
When using the I-Source as a sink, always set the voltage compliance limit to levels that are higher
than the external voltage level. Using the Model 2601B/2602B/2604B to sink more than 3 A can
damage the instrument and invalidate your warranty. Using the Model
2611B/2612B/2614B/2634B/2635B/2636B to sink more than 1.5 A can damage the instrument and
invalidate your warranty.
Figure 98: Sourcing current sink operation example
The voltage compliance limit applies both to positive and negative voltages. For example, if you set
the voltage compliance limit to 15 V, the voltage limit applies to ±15 V.
For this example, the Series 2600B is programmed to source 50 mA (the constant current) and to
limit voltage to 15 V. When the SMU turns on, it begins sinking current as determined by the
programmed I-source level (-50 mA), causing a decrease in the battery voltage. If the battery were
ideal and could be charged negatively, its voltage would then continue to decrease until it is
negatively charged at 15 V (shown by the green arrow in the following figure), at which point the
SMU would be in voltage compliance.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-19
Make sure to take into account that reversing the polarity may destroy some power sources. To
prevent a negative charge, monitor the SMU’s measurement of the battery voltage and stop the
discharge before the the Series 2600B starts to operate in quadrant III (negative voltage). You can
stop the discharge by changing the programmed current source level or by disconnecting the SMU
from the device.
In the following figure, as the battery drains, the battery voltage is lowered as shown by the green
arrow. Operation will continue in this direction until the user stops operation or the voltage reaches
the voltage compliance limit line.
Since the battery is a power source, operation in this example is limited by the capability of the
battery to deliver 50 mA (see the following figure).
Figure 99: Considerations when sourcing current and sinking power
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-20 2600BS-901-01 Rev. C / August 2016
Basic circuit configurations
Source V
When configured to source voltage (V-source) as shown in the figure below, the System
SourceMeter® instrument functions as a low-impedance voltage source with current limit capability,
and can measure current (I-meter) or voltage (V-meter).
Sense circuitry is used to monitor the output voltage continuously and make adjustments to the V-
source as needed. The V-meter senses the voltage at the HI / LO terminals (2-wire local sense) or at
the device under test (DUT) (4-wire remote sense using the sense terminals) and compares it to the
programmed voltage level. If the sensed level and the programmed value are not the same, the V-
source is adjusted accordingly. Remote sense eliminates the effect of voltage drops in the test leads,
ensuring that the exact programmed voltage appears at the DUT. With 4-wire sensing enabled, both
remote sense leads must be connected or incorrect operation will occur. For the Models 2601B,
2602B, 2611B, 2612B, 2635B, and 2636B, use contact check to verify that the sense leads are
connected (see Contact check measurements (on page 2-45)).
Figure 100: Source V configuration
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-21
Source I
When the instrument is configured to source current (I-source), as shown in the figure below, the
instrument functions as a high-impedance current source with voltage limit capability and can
measure current (I-meter) or voltage (V-meter).
For 2-wire local sensing, voltage is measured at the HI / LO terminals of the instrument. For 4-wire
remote sensing, voltage is measured directly at the device under test (DUT) using the sense
terminals. This eliminates any voltage drops that may be in the test leads or connections between the
instrument and the DUT.
The current source does not require or use the sense leads to enhance current source accuracy.
However, if the instrument is in 4-wire remote sense mode, the instrument may reach limit levels if the
sense leads are disconnected. With 4-wire remote sensing selected, the sense leads must be
connected or incorrect operation will result.
Figure 101: Source I configuration
Source I measure I, source V measure V
The System SourceMeter® instrument can measure the function it is sourcing. When sourcing a
voltage, you can measure voltage. Conversely, if you are sourcing current, you can measure the
output current. For these operations, the measure range is the same as the source range.
This feature is valuable when operating with the source in compliance. When in compliance, the
programmed source value is not reached. Thus, measuring the source lets you measure the actual
output level.
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-22 2600BS-901-01 Rev. C / August 2016
Measure only (voltage or current)
The figures below show the configurations for using the instrument exclusively as a voltmeter or
ammeter.
As shown in the following figure, to configure the instrument to measure voltage only, set it to source
0 A and measure voltage.
Figure 102: Series 2600B measure voltage only
1
Current source (0.00000
µ
A)
2
Voltmeter
3
DUT (voltage source)
Set the voltage limit to a level that is higher than the measured voltage. If the voltage limit is set to a
level that is lower than the measured voltage, excessive current will flow into the instrument
instrument. This current could damage the instrument. Also, when connecting an external energy
source to the instrument when it is configured as a current source, set the output off state to the
high-impedance mode. See Output-off states (on page 2-76) for more information on the output-off
states. See Limits (on page 2-28) for details on compliance limit.
In the following figure, the instrument uses a 2-wire local sensing configuration and is set to measure
current only by setting it to source 0 V and measure current. Note that to obtain positive (+) readings,
conventional current must flow from HI to LO.
Figure 103: Series 2600B measure current only
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-23
1
Voltage source (000.000 mV)
2
Ammeter
3
Positive current; current flowing out of HI results in positive measurements
4
DUT (current source)
Contact check
The Models 2604B, 2614B, and 2634B do not perform contact check measurements.
When a contact check measurement is being performed, two small current sources are switched in
between the HI and SENSE HI terminals and the LO and SENSE LO terminals. By controlling the
switches illustrated in the following figure, the current from these sources flows through the test leads
and through the contact resistance, as shown. To accurately measure the resulting contact
resistance, the differential amplifier outputs are measured once with the current sources connected,
and again with the current sources disconnected. This allows for compensation of various offset
voltages that can occur.
Figure 104: Contact check circuit
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-24 2600BS-901-01 Rev. C / August 2016
Guard
GUARD is at the same potential as output HI. Thus, if hazardous voltages are present at
output HI, they are also present at the GUARD terminal.
Guard overview
The driven guard (available at the rear panel GUARD terminals) is always enabled and provides a
buffered voltage that is at the same level as the HI (or SENSE HI for remote sense) voltage. The
purpose of guarding is to eliminate the effects of leakage current (and capacitance) that can exist
between HI and LO. In the absence of a driven guard, leakage in the external test circuit could be
high enough to adversely affect the performance of the System SourceMeter® instrument.
Leakage current can occur through parasitic or nonparasitic leakage paths. An example of parasitic
resistance is the leakage path across the insulator in a coaxial or triaxial cable. An example of
nonparasitic resistance is the leakage path through a resistor that is connected in parallel to the
device under test (DUT).
Guard connections
Guard is typically used to drive the guard shields of cables and test fixtures. Guard is extended to a
test fixture from the cable guard shield. Inside the test fixture, the guard can be connected to a guard
plate or shield that surrounds the device under test (DUT).
To prevent injury or death, a safety shield must be used to prevent physical contact with a
guard plate or guard shield that is at a hazardous potential (>30 V RMS or 42.4 V peak). This
safety shield must completely enclose the guard plate or shield and must be connected to
protective earth (safety ground). The figure in this topic shows the metal case of a test
fixture being used as a safety shield.
See Guarding and shielding (on page 2-61) for details about guarded test connections.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-25
Inside the test fixture, a triaxial cable can be used to extend guard to the device under test (DUT).
The center conductor of the cable is used for HI, and the inner shield is used for guard.
The figures below show how cable guard can eliminate leakage current through the insulators in a
test fixture. In this figure, leakage current (IL) flows through the insulators (RL1 and RL2) to LO,
adversely affecting the low-current (or high-resistance) measurement of the DUT.
Also in the figures below, the driven guard is connected to the cable shield and extended to the metal
guard plate for the insulators. Since the voltage on either end of RL1 is the same (0 V drop), no
current can flow through the leakage resistance path. Thus, the SourceMeter instrument only
measures the current through the DUT.
Figure 105: Unguarded measurements
Figure 106: Guarded measurements
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-26 2600BS-901-01 Rev. C / August 2016
Measurement settling time considerations
Several outside factors can influence measurement settling times. Effects such as dielectric
absorption, cable leakages, and noise can all extend the times required to make stable
measurements. Be sure to use appropriate shielding, guarding, and aperture selections when making
low-current measurements.
Each current measurement range has a combination of a range resistor and a compensating
capacitor that must settle to allow a stable measurement. By default (when power is turned on or after
a smuX.reset() command), delays are enforced to account for approximately 6τ or 6 time
constants of a given range (to reach 0.1 percent of the final value, assuming 2.3τ per decade). The
table below lists the current ranges and associated default delays. In addition, a 1 Hz analog filter is
used by default on the 1 nA and 100 pA ranges.
Current measure settling time1, 2
Time required to reach 0.1 % of final value after source level command is
processed on a fixed range.
Values below for Vout = 2 V unless otherwise noted
Current range Settling time
1.5 A to 1 A
<120
µ
s (typical) (Rload >6
)
100 mA to 10 mA
<80
µ
s (typical)
1 mA
<100
µ
s (typical)
100
µ
A
<150
µ
s (typical)
10
µ
A
<500
µ
s (typical)
1
µ
A
<2.5 ms (typical)
100 nA
<15 ms (typical)
10 nA
<90 ms (typical)
1 nA
1
<360 ms (typical)
100 pA3
<360 ms (typical)
1. Delay factor set to 1. Compliance equal to 100 mA.
2. Time for measurement to settle after a Vstep.
3. With default analog filter setting <450 ms.
Delays are on by default for the Model 2634B/2635B/2636B. Delays are off by default for the Model
2601B/2602B/2604B/2611B/2612B/2614B but can be enabled.
You can manipulate both the analog filter and the default delays to produce faster response times.
Turn off the analog filter to yield faster settling times. Control the default delays by using the delay
factor multiplier. The default value for delay factor multiplier is 1.0, but adjusting it to other values
result in either a faster or slower response. For example, increasing the delay factor to 1.3 will
account for settling to 0.01 percent of the final value. The commands to manipulate the delay factor
and analog filter are shown below.
Series 260
0B System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-27
For controlling settling time delay
The following code provides measure delay examples for controlling settling time delay of SMU
Channel A:
-- To turn off measure delay (default setting is smua.DELAY_AUTO).
smua.measure.delay = 0
-- set measure delay for all ranges to Y (in seconds).
smua.measure.delay = Y
-- To adjust the delay factor.
smua.measure.delayfactor = 1.0
The delay factor is used to multiply the default delays. Setting this value above 1.0 increases the
delays; a value below 1.0 decreases the delay. Setting this value to 0.0 essentially turns off
measurement delays. This attribute is only used when smuX.measure.delay is set to
smuX.DELAY_AUTO.
For analog filter (Models 2634B/2635B/2636B only)
The following code provides measure delay examples for controlling the analog filter of SMU Channel
A:
-- Default.
smua.measure.analogfilter = 1
This filter is only active when the amps measure range is 1 nA/100 pA. Setting the attribute to zero (0)
disables the filter.
Effects of load on current source settling time
The settling time of the source-measure unit (SMU) can be influenced by the impedance of the device
under test (DUT) in several ways. One influence is caused by an interaction between the impedances
of the SMU current source feedback element and the DUT. This interaction can cause a reduction in
the bandwidth of the SMU. This reduction causes an increase in the settling time of the current
source.
Section
4: Theory of operation Series 2600B System SourceMeter® Instrument
Reference Manual
4-28 2600BS-901-01 Rev. C / August 2016
There is a maximum DUT impedance for each current source range for which the specified current
settling times are maintained. The following table lists the DUT impedances for each of these current
source ranges. For latest specifications, go to the Keithley Instruments webite
(http://www.tek.com/keithley). The settling time on a current source range can increase significantly
when measuring DUTs that have an impedance that is higher than the maximum DUT impedance
listed below.
Maximum DUT impedances for specified settling time performance
Range SMU feedback
impedance
Maximum DUT
impedance
1 nA
1 G
2 G
10 nA
120 M 60 M
100 nA
40 M
20 M
1
µ
A
1.2 M
600 k
10
µ
A
400 k
200 k
100
µ
A
12 k
6 k
1 mA
4 k
2 k
10 mA
120
60
100 mA
40
20
1 A
1
6
1.5 A
1
6
3 A
0.3
1.5
Creating pulses with the Series 2600B
Although the Series 2600B is not a pulse generator, you can create pulses by programming the
Series 2600B to output a DC value and then return to an idle level. For information on how to create
pulses, refer to Sweep operation (on page 3-20) and Using the remote trigger model (on page 3-34).
Pulse rise and fall times
Although the Series 2600B can create pulses, it is not a pulse generator (pulse rise times are not
programmable).
The pulse rise time is the time it takes a pulse to go from 10% to 90% of the pulse's maximum value.
Pulse fall time is similar but on the pulse's trailing edge. For the Series 2600B, pulse rise and fall
times can vary depending on the following factors:
Cable specifications and connection configuration
Range and pulse settling (on page 4-29)
Load and operating mode (on page 4-29)
Compliance limit settings (for details, see Limits (on page 2-28))
Refer to the Series 2600B specifications for details on source settling times. For latest specifications,
go to the Keithley Instruments webite (http://www.tek.com/keithley).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 4:
Theory of operation
2600BS-901-01 Rev. C / August 2016 4-29
Figure 107: Pulse rise and fall times
Range and pulse settling
Each range has different specifications for source settling times. This causes different rise and fall
time characteristics depending on the set range.
In addition, pulse performance is dependent on the pulse setting as a percent of full scale. For
example, a 100 mA pulse on the 1 A range (which is 10%) will perform differently than a 1 A pulse on
the 1 A range (which is full scale). Refer to the Series 2600B specifications for details. For latest
specifications, go to the Keithley Instruments webite (http://www.tek.com/keithley).
Load and operating mode
Settling times for the current source will vary with the resistive load applied. In addition to the load,
the times will vary dependent on whether the source-measure unit (SMU) is configured as a voltage
source or a current source, and also with the voltage source range selected.
Pulse width
he pulse width is the interval between 10% on the rising (leading) edge to 90% on the falling (trailing)
edge. Exceeding the specified pulse width limits can result in short pulses. In addition, the pulse
width's jitter can change the pulse width (this is especially important for short pulse widths).
With respect to pulse width, jitter is the short-term instability of the trailing edge relative to the leading
edge.
The usable pulse width is largely affected by the source settling time and measurement speed, as
well as by the measure count. Refer to the Series 2600B specifications for details on maximum and
minimum pulse width limits, pulse width programming resolution, accuracy, and jitter. For latest
specifications, go to the Keithley Instruments webite (http://www.tek.com/keithley).
In this section:
Introduction to TSP operation ................................................... 5-1
About TSP commands ............................................................. 5-3
Factory scripts ........................................................................ 5-20
Introduction to TSP operation
Instruments that are Test Script Processor (TSP®) enabled operate like conventional instruments by
responding to a sequence of commands sent by the controller. You can send individual commands to
the TSP-enabled instrument the same way you would when using any other instrument.
Unlike conventional instruments, TSP-enabled instruments can execute automated test sequences
independently, without an external controller. You can load a series of TSP commands into the
instrument . You can store these commands as a script that can be run later by sending a single
command message to the instrument.
You do not have to choose between using conventional control or script control. You can combine
these forms of instrument control in the way that works best for your test application.
Controlling the instrument by sending individual command messages
The simplest method of controlling an instrument through the communication interface is to send it a
message that contains remote commands. You can use a test program that resides on a computer
(the controller) to sequence the actions of the instrument.
TSP commands can be function-based or attribute-based. Function-based commands are commands
that control actions or activities. Attribute-based commands define characteristics of an instrument
feature or operation.
Constants are commands that represent fixed values.
Functions
Function-based commands control actions or activities. A function-based command performs an
immediate action on the instrument.
Each function consists of a function name followed by a set of parentheses ( ). You should only
include information in the parentheses if the function takes a parameter. If the function takes one or
more parameters, they are placed between the parentheses and separated by commas.
Example 1
beeper.beep(0.5, 2400)
delay(0.250)
beeper.beep(0.5, 2400)
Emit a double-beep at 2400 Hz. The sequence is
0.5 s on, 0.25 s off, 0.5 s on.
Section 5
Introduction to TSP operation
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-2 2600BS-901-01 Rev. C / August 2016
Example 2
You can use the results of a function-based command directly or assign variables to the results for
later access. The following code defines x and prints it.
x = math.abs(-100)
print(x)
Output:
100
Attributes
Attribute-based commands are commands that set the characteristics of an instrument feature or
operation. For example, some characteristics of TSP-enabled instruments are the model number
(localnode.model) and the brightness of the front-panel display (display.lightstate).
Attributes can be read-only, read-write, or write-only. They can be used as a parameter of a function
or assigned to another variable.
To set the characteristics, attribute-based commands define a value. For many attributes, the value is
in the form of a number or a predefined constant.
Example 1: Set an attribute using a number
beeper.enable = 0
This attribute controls the beeps that occur when
front-panel controls are selected. Setting this attribute to 0
turns off the beeper.
Example 2: Set an attribute using a constant
format.data = format.REAL64
Using the constant REAL64 sets the print format
to double precision floating point format.
To read an attribute, you can use the attribute as the parameter of a function, or assign it to another
variable.
Example 3: Read an attribute using a function
print(format.data)
Reads the data format by passing the attribute
to the print function. If the data format is set to
3, the output is:
3.00000e+00
This shows that the data format is set to double
precision floating point.
Example 4: Read an attribute using a variable
fd = format.data
This reads the data format by assigning the
attribute to a variable named
fd
.
Queries
Test Script Processor (TSP®) enabled instruments do not have inherent query commands. Like any
other scripting environment, the print() and printnumber() commands generate output in the
form of response messages. Each print() command creates one response message.
Example
x = 10
print(x)
Example of an output response message:
1.00000e+01
Note that your output may be different if you set your ASCII
precision setting to a different value.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-3
Information on scripting and programming
If you need information about using scripts with your TSP-enabled instrument, see Fundamentals of
scripting for TSP (on page 6-1).
If you need information about using the Lua programming language with the instrument, see
Fundamentals of programming for TSP (on page 6-11).
About TSP commands
This section contains an overview of the TSP commands for the instrument. The commands are
organized into groups, with a brief description of each group. Each section contains links to the
detailed descriptions for each command in the TSP command reference section of this
documentation (see TSP commands (on page 7-8)).
Beeper control
The beeper commands allow you to enable or disable and sound the instrument beeper.
beeper.beep() (on page 7-8)
beeper.enable (on page 7-9)
Bit manipulation and logic operations
The bit functions perform bitwise logic operations on two given numbers, and bit operations on one
given number. Logic and bit operations truncate the fractional part of given numbers to make them
integers.
Logic operations
The bit.bitand(), bit.bitor(), and bit.bitxor() functions in this group perform bitwise
logic operations on two numbers. The Test Script Processor (TSP®) scripting engine performs the
indicated logic operation on the binary equivalents of the two integers. This bitwise logic operation is
performed on all corresponding bits of the two numbers. The result of a logic operation is returned as
an integer.
Bit operations
The rest of the functions in this group are used for operations on the bits of a given number. These
functions can be used to:
Clear a bit
Toggle a bit
Test a bit
Set a bit or bit field
Retrieve the weighted value of a bit or field value
All these functions use an index parameter to specify the bit position of the given number. The least
significant bit of a given number has an index of 1, and the most significant bit has an index of 32.
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-4 2600BS-901-01 Rev. C / August 2016
The Test Script Processor (TSP) scripting engine stores all numbers internally as IEEE Std 754
double-precision floating point values. The logical operations work on 32-bit integers. Any fractional
bits are truncated. For numbers larger than 4294967295, only the lower 32 bits are used.
bit.bitand() (on page 7-9)
bit.bitor() (on page 7-10)
bit.bitxor() (on page 7-10)
bit.clear() (on page 7-11)
bit.get() (on page 7-12)
bit.getfield() (on page 7-12)
bit.set() (on page 7-13)
bit.setfield() (on page 7-14)
bit.test() (on page 7-15)
bit.toggle() (on page 7-16)
Data queue
Use the data queue commands to:
Share data between test scripts running in parallel
Access data from a remote group or a local node on a TSP-Link® network at any time
The data queue in the Test Script Processor (TSP®) scripting engine is first-in, first-out (FIFO).
You can access data from the data queue even if a remote group or a node has overlapped
operations in process.
dataqueue.add() (on page 7-49)
dataqueue.CAPACITY (on page 7-50)
dataqueue.clear() (on page 7-51)
dataqueue.count (on page 7-51)
dataqueue.next() (on page 7-52)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-5
Digital I/O
The Models 2604B, 2614B, and 2634B do not have digital input/output lines. The commands to
control the digital input/output lines are not available for these models.
The digital I/O port of the instrument can control external circuitry (such as a component handler for
binning operations).
The I/O port has 14 lines. Each line can be at TTL logic state 1 (high) or 0 (low). See the pinout
diagram in Digital I/O port (on page 3-82) for additional information.
There are commands to read and write to each individual bit, and commands to read and write to the
entire port.
digio.line[N].mode
digio.readbit() (on page 7-54)
digio.readport() (on page 7-54)
digio.trigger[N].assert() (on page 7-55)
digio.trigger[N].clear() (on page 7-55)
digio.trigger[N].EVENT_ID (on page 7-56)
digio.trigger[N].mode (on page 7-56)
digio.trigger[N].overrun (on page 7-58)
digio.trigger[N].pulsewidth (on page 7-58)
digio.trigger[N].release() (on page 7-59)
digio.trigger[N].reset() (on page 7-60)
digio.trigger[N].stimulus (on page 7-61)
digio.trigger[N].wait() (on page 7-63)
digio.writebit() (on page 7-64)
digio.writeport() (on page 7-64)
digio.writeprotect (on page 7-65)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-6 2600BS-901-01 Rev. C / August 2016
Display
display.clear() (on page 7-66)
display.getannunciators() (on page 7-66)
display.getcursor() (on page 7-68)
display.getlastkey() (on page 7-69)
display.gettext() (on page 7-70)
display.inputvalue() (on page 7-72)
display.loadmenu.add() (on page 7-73)
display.loadmenu.catalog() (on page 7-75)
display.loadmenu.delete() (on page 7-75)
display.locallockout (on page 7-76)
display.menu() (on page 7-77)
display.numpad (on page 7-77)
display.prompt() (on page 7-78)
display.screen (on page 7-79)
display.sendkey() (on page 7-80)
display.setcursor() (on page 7-82)
display.settext() (on page 7-83)
display.smuX.limit.func (on page 7-84)
display.smuX.measure.func (on page 7-85)
display.smuX.digits (on page 7-84)
display.trigger.clear() (on page 7-86)
display.trigger.EVENT_ID (on page 7-86)
display.trigger.overrun (on page 7-87)
display.trigger.wait() (on page 7-87)
display.waitkey() (on page 7-89)
Error queue
When errors and events occur, the error and status messages are placed in the error queue. Use the
error queue commands to request error and status message information.
errorqueue.clear() (on page 7-90)
errorqueue.count (on page 7-91)
errorqueue.next() (on page 7-91)
Event log
You can use the event log to view specific details about LAN triggering events.
eventlog.all() (on page 7-92)
eventlog.clear() (on page 7-93)
eventlog.count (on page 7-94)
eventlog.enable (on page 7-94)
eventlog.next() (on page 7-95)
eventlog.overwritemethod (on page 7-96)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-7
File I/O
You can use the file I/O commands to open and close directories and files, write data, or to read a file
on an installed USB flash drive. File I/O commands are organized into two groups:
Commands that reside in the fs and io table, for example: io.open(), io.close(),
io.input(), and io.output(). Use these commands to manage file system directories; open
and close file descriptors; and perform basic I/O operations on a pair of default files (one input
and one output).
Commands that reside in the file descriptors (for example: fileVar:seek(),
fileVar:write(), and fileVar:read()) operate exclusively on the file with which they are
associated.
The root folder of the USB flash drive has the absolute path:
"/usb1/"
You can use either the slash (/) or backslash (\) as a directory separator. However, the backslash is
also used as an escape character, so if you use it as a directory separator, you will generally need to
use a double backslash (\\) when you are creating scripts or sending commands to the instrument.
For basic information about navigation and directory listing of files on a flash drive, see File system
navigation (on page 2-80).
File descriptor commands for file I/O use a colon (:) to separate the command parts rather than a
period (.), like the io commands.
File descriptors cannot be passed between nodes in a TSP-Link® system, so the io.open(),
fileVar::read(), and fileVar::write commands are not accessible to the TSP-Link system.
However, the default input and output files mentioned above allow for the execution of many file I/O
operations without any reference to a file descriptor.
fileVar:close() (on page 7-97)
fileVar:flush() (on page 7-97)
fileVar:read() (on page 7-98)
fileVar:seek() (on page 7-99)
fileVar:write() (on page 7-100)
fs.chdir() (on page 7-103)
fs.cwd() (on page 7-104)
fs.is_dir() (on page 7-104)
fs.is_file() (on page 7-105)
fs.mkdir() (on page 7-105)
fs.readdir() (on page 7-105)
fs.rmdir() (on page 7-106)
io.close() (on page 7-117)
io.flush() (on page 7-117)
io.input() (on page 7-118)
io.open() (on page 7-119)
io.output() (on page 7-119)
io.read() (on page 7-120)
io.type() (on page 7-121)
io.write() (on page 7-121)
os.remove() (on page 7-163)
os.rename() (on page 7-164)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-8 2600BS-901-01 Rev. C / August 2016
The following standard I/O commands are not supported at this time:
File I/O
fileVar:lines()
fileVar
:setvbuf()
io.lines()
io.popen()
GPIB
This attribute stores the GPIB address.
gpib.address (on page 7-109)
Instrument identification
These commands store strings that describe the instrument.
localnode.description (on page 7-151)
localnode.model (on page 7-153)
localnode.revision (on page 7-157)
localnode.serialno (on page 7-157)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-9
LAN and LXI
The LAN commands have options that allow you to review and configure network settings.
The lan.config.* commands allow you to configure LAN settings over the remote interface. Note
that you must send lan.applysettings() for the configuration settings to take effect.
The lan.status.* commands help you determine the status of the LAN.
The lan.trigger[N].* commands allow you to set up and assert trigger events that are sent over
the LAN.
Other LAN commands allow you to reset the LAN, restore defaults, check LXI domain information,
and enable or disable the Nagle algorithm.
lan.applysettings() (on page 7-122)
lan.autoconnect (on page 7-123)
lan.config.dns.address[N] (on page 7-123)
lan.config.dns.domain (on page 7-124)
lan.config.dns.dynamic (on page 7-125)
lan.config.dns.hostname (on page 7-125)
lan.config.dns.verify (on page 7-126)
lan.config.duplex (on page 7-127)
lan.config.gateway (on page 7-127)
lan.config.ipaddress (on page 7-128)
lan.config.method (on page 7-129)
lan.config.speed (on page 7-129)
lan.config.subnetmask (on page 7-130)
lan.linktimeout (on page 7-130)
lan.lxidomain (on page 7-131)
lan.nagle (on page 7-132)
lan.reset() (on page 7-132)
lan.restoredefaults() (on page 7-132)
lan.status.dns.address[N] (on page 7-133)
lan.status.dns.name (on page 7-134)
lan.status.duplex (on page 7-135)
lan.status.gateway (on page 7-135)
lan.status.ipaddress (on page 7-136)
lan.status.macaddress (on page 7-136)
lan.status.port.dst (on page 7-137)
lan.status.port.rawsocket (on page 7-137)
lan.status.port.telnet (on page 7-138)
lan.status.port.vxi11 (on page 7-138)
lan.status.speed (on page 7-139)
lan.status.subnetmask (on page 7-139)
lan.timedwait (on page 7-140)
lan.trigger[N].assert() (on page 7-140)
lan.trigger[N].clear() (on page 7-141)
lan.trigger[N].connect() (on page 7-142)
lan.trigger[N].connected (on page 7-142)
lan.trigger[N].disconnect() (on page 7-143)
lan.trigger[N].EVENT_ID (on page 7-144)
lan.trigger[N].ipaddress (on page 7-144)
lan.trigger[N].mode (on page 7-145)
lan.trigger[N].overrun (on page 7-146)
lan.trigger[N].protocol (on page 7-147)
lan.trigger[N].pseudostate (on page 7-147)
lan.trigger[N].stimulus (on page 7-148)
lan.trigger[N].wait() (on page 7-150)
localnode.description (on page 7-151)
localnode.password (on page 7-153)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-10 2600BS-901-01 Rev. C / August 2016
localnode.passwordmode (on page 7-154)
Miscellaneous
delay() (on page 7-53)
exit() (on page 7-96)
localnode.autolinefreq (on page 7-150)
localnode.linefreq (on page 7-152)
localnode.password (on page 7-153)
localnode.passwordmode (on page 7-154)
makegetter() (on page 7-159)
makesetter() (on page 7-159)
meminfo() (on page 7-160)
opc() (on page 7-163)
waitcomplete() (on page 7-413)
Parallel script execution
dataqueue.add() (on page 7-49)
dataqueue.CAPACITY (on page 7-50)
dataqueue.clear() (on page 7-51)
dataqueue.count (on page 7-51)
dataqueue.next() (on page 7-52)
node[N].execute() (on page 7-161)
node[N].getglobal() (on page 7-162)
node[N].setglobal() (on page 7-162)
tsplink.group (on page 7-382)
tsplink.master (on page 7-383)
tsplink.node (on page 7-383)
Queries and response messages
You can use the print(), printbuffer(), and printnumber() functions to query the
instrument and generate response messages. The format attributes control how the data is formatted
for the print functions used.
The localnode commands determine if generated errors are automatically sent and if prompts are
generated.
format.asciiprecision (on page 7-101)
format.byteorder (on page 7-101)
format.data (on page 7-102)
localnode.prompts (on page 7-154)
localnode.prompts4882 (on page 7-155)
localnode.showerrors (on page 7-158)
print() (on page 7-165)
printbuffer() (on page 7-166)
printnumber() (on page 7-169)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-11
Reading buffer
Reading buffers capture measurements, ranges, instrument status, and output states of the
instrument.
bufferVar.appendmode (on page 7-17)
bufferVar.basetimestamp (on page 7-17)
bufferVar.cachemode (on page 7-18)
bufferVar.capacity (on page 7-19)
bufferVar.clear() (on page 7-20)
bufferVar.clearcache() (on page 7-20)
bufferVar.collectsourcevalues (on page 7-21)
bufferVar.collecttimestamps (on page 7-22)
bufferVar.fillcount (on page 7-23)
bufferVar.fillmode (on page 7-24)
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
bufferVar.timestampresolution (on page 7-34)
bufferVar.timestamps (on page 7-35)
savebuffer() (on page 7-174)
smuX.buffer.getstats() (on page 7-196)
smuX.buffer.recalculatestats() (on page 7-197)
smuX.makebuffer() (on page 7-212)
smuX.nvbufferY (on page 7-231)
smuX.savebuffer() (on page 7-232)
Reset
Resets settings to their default settings.
digio.trigger[N].reset() (on page 7-60)
lan.reset() (on page 7-132)
localnode.reset() (on page 7-156)
reset() (on page 7-173)
smuX.reset() (on page 7-232)
timer.reset() (on page 7-365)
trigger.blender[N].reset() (on page 7-368)
trigger.timer[N].reset() (on page 7-378)
tsplink.trigger[N].reset() (on page 7-393)
RS-232
serial.baud (on page 7-187)
serial.databits (on page 7-188)
serial.flowcontrol (on page 7-189)
serial.parity (on page 7-189)
serial.read() (on page 7-190)
serial.write() (on page 7-191)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-12 2600BS-901-01 Rev. C / August 2016
Saved setups
Use the saved setups commands to save and restore the configuration of the instrument. You can
save or restore configurations to or from the instrument's nonvolatile memory or an installed USB
flash drive. You can use the setup.poweron attribute to specify which setup is recalled when the
instrument is turned on.
setup.poweron (on page 7-193)
setup.recall() (on page 7-194)
setup.save() (on page 7-195)
Scripting
Scripting helps you combine commands into a block of code that the instrument can run. Scripts help
you communicate with the instrument efficiently. These commands describe how to create, load,
modify, run, and exit scripts.
For detail on using scripts, see Fundamentals of scripting for TSP (on page 6-1).
exit() (on page 7-96)
script.anonymous (on page 7-175)
script.delete() (on page 7-176)
script.factory.catalog() (on page 7-176)
script.load() (on page 7-177)
script.new() (on page 7-178)
script.newautorun() (on page 7-179)
script.restore() (on page 7-180)
script.run() (on page 7-180)
script.user.catalog() (on page 7-181)
scriptVar.autorun (on page 7-181)
scriptVar.list() (on page 7-183)
scriptVar.name (on page 7-183)
scriptVar.run() (on page 7-184)
scriptVar.save() (on page 7-186)
scriptVar.source (on page 7-187)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5: I
ntroduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-13
SMU
localnode.linefreq (on page 7-152)
localnode.autolinefreq (on page 7-150)
smuX.abort() (on page 7-196)
smuX.buffer.getstats() (on page 7-196)
smuX.buffer.recalculatestats() (on page 7-197)
smuX.contact.check() (on page 7-209)
smuX.contact.r() (on page 7-210)
smuX.contact.speed (on page 7-211)
smuX.contact.threshold (on page 7-212)
smuX.makebuffer() (on page 7-212)
smuX.measure.analogfilter (on page 7-213)
smuX.measure.autorangeY (on page 7-214)
smuX.measure.autozero (on page 7-215)
smuX.measure.count (on page 7-217)
smuX.measure.delay (on page 7-218)
smuX.measure.delayfactor (on page 7-219)
smuX.measure.filter.count (on page 7-219)
smuX.measure.filter.enable (on page 7-220)
smuX.measure.filter.type (on page 7-221)
smuX.measure.highcrangedelayfactor (on page 7-222)
smuX.measure.interval (on page 7-222)
smuX.measure.lowrangeY (on page 7-223)
smuX.measure.nplc (on page 7-224)
smuX.measure.overlappedY() (on page 7-225)
smuX.measure.rangeY (on page 7-226)
smuX.measure.rel.enableY (on page 7-227)
smuX.measure.rel.levelY (on page 7-228)
smuX.measure.Y() (on page 7-229)
smuX.measureYandstep() (on page 7-230)
smuX.nvbufferY (on page 7-231)
smuX.reset() (on page 7-232)
smuX.savebuffer() (on page 7-232)
smuX.sense (on page 7-233)
smuX.source.autorangeY (on page 7-234)
smuX.source.compliance (on page 7-236)
smuX.source.delay (see "<sm.source.delay" on page 7-237)
smuX.source.func (on page 7-237)
smuX.source.highc (on page 7-238)
smuX.source.levelY (on page 7-239)
smuX.source.limitY (on page 7-240)
smuX.source.lowrangeY (on page 7-241)
smuX.source.offlimitY (on page 7-242)
smuX.source.offmode (on page 7-243)
smuX.source.output (on page 7-244)
smuX.source.outputenableaction (on page 7-245)
smuX.source.rangeY (on page 7-247)
smuX.source.settling (on page 7-248)
smuX.source.sink (on page 7-249)
smuX.trigger.arm.count (on page 7-250)
smuX.trigger.arm.set() (on page 7-250)
smuX.trigger.arm.stimulus (on page 7-251)
smuX.trigger.ARMED_EVENT_ID (on page 7-253)
smuX.trigger.autoclear (on page 7-253)
smuX.trigger.count (on page 7-254)
smuX.trigger.endpulse.action (on page 7-254)
smuX.trigger.endpulse.set() (on page 7-255)
smuX.trigger.endpulse.stimulus (on page 7-256)
smuX.trigger.endsweep.action (on page 7-258)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-14 2600BS-901-01 Rev. C / August 2016
smuX.trigger.IDLE_EVENT_ID (on page 7-258)
smuX.trigger.initiate() (on page 7-259)
smuX.trigger.measure.action (on page 7-260)
smuX.trigger.measure.set() (on page 7-261)
smuX.trigger.measure.stimulus (on page 7-261)
smuX.trigger.measure.Y() (on page 7-264)
smuX.trigger.MEASURE_COMPLETE_EVENT_ID (on page 7-265)
smuX.trigger.PULSE_COMPLETE_EVENT_ID (on page 7-265)
smuX.trigger.source.action (on page 7-266)
smuX.trigger.source.limitY (on page 7-267)
smuX.trigger.source.linearY() (on page 7-268)
smuX.trigger.source.listY() (on page 7-269)
smuX.trigger.source.logY() (on page 7-270)
smuX.trigger.source.set() (on page 7-271)
smuX.trigger.source.stimulus (on page 7-272)
smuX.trigger.SOURCE_COMPLETE_EVENT_ID (on page 7-274)
smuX.trigger.SWEEP_COMPLETE_EVENT_ID (on page 7-274)
smuX.trigger.SWEEPING_EVENT_ID (on page 7-274)
SMU calibration
smuX.cal.adjustdate (on page 7-198)
smuX.cal.date (on page 7-199)
smuX.cal.due (on page 7-200)
smuX.cal.lock() (on page 7-201)
smuX.cal.password (on page 7-201)
smuX.cal.polarity (on page 7-202)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.state (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.contact.calibratehi() (on page 7-206)
smuX.contact.calibratelo() (on page 7-208)
smuX.measure.calibrateY() (on page 7-216)
smuX.source.calibrateY() (on page 7-235)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-15
Status model
The status model is a set of status registers and queues. You can use the following commands to
manipulate and monitor these registers and queues to view and control various instrument events.
status.condition (on page 7-275)
status.measurement.* (on page 7-277)
status.measurement.buffer_available.* (on page 7-279)
status.measurement.current_limit.* (on page 7-280)
status.measurement.instrument.* (on page 7-282)
status.measurement.instrument.smuX.* (on page 7-283)
status.measurement.reading_overflow.* (on page 7-286)
status.measurement.voltage_limit.* (on page 7-287)
status.node_enable (on page 7-288)
status.node_event (on page 7-290)
status.operation.* (on page 7-292)
status.operation.calibrating.* (on page 7-294)
status.operation.instrument.* (on page 7-295)
status.operation.instrument.digio.* (on page 7-298)
status.operation.instrument.digio.trigger_overrun.* (on page 7-300)
status.operation.instrument.lan.* (on page 7-302)
status.operation.instrument.lan.trigger_overrun.* (on page 7-304)
status.operation.instrument.smuX.* (on page 7-306)
status.operation.instrument.smuX.trigger_overrrun.* (on page 7-308)
status.operation.instrument.trigger_blender.* (on page 7-310)
status.operation.instrument.trigger_blender.trigger_overrun.* (on page 7-311)
status.operation.instrument.trigger_timer.* (on page 7-314)
status.operation.instrument.trigger_timer.trigger_overrun.* (on page 7-316)
status.operation.instrument.tsplink.* (on page 7-318)
status.operation.instrument.tsplink.trigger_overrun.* (on page 7-319)
status.operation.measuring.* (on page 7-321)
status.operation.remote.* (on page 7-323)
status.operation.sweeping.* (on page 7-324)
status.operation.trigger_overrun.* (on page 7-326)
status.operation.user.* (on page 7-328)
status.questionable.* (on page 7-330)
status.questionable.calibration.* (on page 7-332)
status.questionable.instrument.* (on page 7-334)
status.questionable.instrument.smuX.* (on page 7-335)
status.questionable.over_temperature.* (on page 7-337)
status.questionable.unstable_output.* (on page 7-339)
status.request_enable (on page 7-340)
status.request_event (on page 7-342)
status.reset() (on page 7-344)
status.standard.* (on page 7-344)
status.system.* (on page 7-347)
status.system2.* (on page 7-349)
status.system3.* (on page 7-351)
status.system4.* (on page 7-353)
status.system5.* (on page 7-355)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-16 2600BS-901-01 Rev. C / August 2016
Time
bufferVar.basetimestamp (on page 7-17)
bufferVar.collecttimestamps (on page 7-22)
bufferVar.timestampresolution (on page 7-34)
delay() (on page 7-53)
gettimezone() (on page 7-107)
os.time() (on page 7-164)
settime() (on page 7-192)
settimezone() (on page 7-192)
timer.measure.t() (on page 7-364)
timer.reset() (on page 7-365)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5: Intro
duction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-17
Triggering
The triggering commands allow you to set the conditions that the instrument uses to determine when
measurements are captured. See Sweep operation (on page 3-20) for details on sweeping.
The digio and tsplink commands are not available on the Models 2604B, 2614B, and 2634B
digio.trigger[N].assert() (on page 7-55)
digio.trigger[N].clear() (on page 7-55)
digio.trigger[N].EVENT_ID (on page 7-56)
digio.trigger[N].mode (on page 7-56)
digio.trigger[N].overrun (on page 7-58)
digio.trigger[N].pulsewidth (on page 7-58)
digio.trigger[N].release() (on page 7-59)
digio.trigger[N].reset() (on page 7-60)
digio.trigger[N].stimulus (on page 7-61)
digio.trigger[N].wait() (on page 7-63)
display.trigger.clear() (on page 7-86)
display.trigger.EVENT_ID (on page 7-86)
display.trigger.overrun (on page 7-87)
display.trigger.wait() (on page 7-87)
lan.trigger[N].assert() (on page 7-140)
lan.trigger[N].clear() (on page 7-141)
lan.trigger[N].connect() (on page 7-142)
lan.trigger[N].connected (on page 7-142)
lan.trigger[N].disconnect() (on page 7-143)
lan.trigger[N].EVENT_ID (on page 7-144)
lan.trigger[N].ipaddress (on page 7-144)
lan.trigger[N].mode (on page 7-145)
lan.trigger[N].overrun (on page 7-146)
lan.trigger[N].protocol (on page 7-147)
lan.trigger[N].pseudostate (on page 7-147)
lan.trigger[N].stimulus (on page 7-148)
lan.trigger[N].wait() (on page 7-150)
smuX.trigger.arm.count (on page 7-250)
smuX.trigger.arm.set() (on page 7-250)
smuX.trigger.arm.stimulus (on page 7-251)
smuX.trigger.ARMED_EVENT_ID (on page 7-253)
smuX.trigger.autoclear (on page 7-253)
smuX.trigger.count (on page 7-254)
smuX.trigger.endpulse.action (on page 7-254)
smuX.trigger.endpulse.set() (on page 7-255)
smuX.trigger.endpulse.stimulus (on page 7-256)
smuX.trigger.endsweep.action (on page 7-258)
smuX.trigger.IDLE_EVENT_ID (on page 7-258)
smuX.trigger.initiate() (on page 7-259)
smuX.trigger.measure.action (on page 7-260)
smuX.trigger.measure.set() (on page 7-261)
smuX.trigger.measure.stimulus (on page 7-261)
smuX.trigger.measure.Y() (on page 7-264)
smuX.trigger.MEASURE_COMPLETE_EVENT_ID (on page 7-265)
smuX.trigger.PULSE_COMPLETE_EVENT_ID (on page 7-265)
smuX.trigger.source.action (on page 7-266)
smuX.trigger.source.limitY (on page 7-267)
smuX.trigger.source.linearY() (on page 7-268)
smuX.trigger.source.listY() (on page 7-269)
smuX.trigger.source.logY() (on page 7-270)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-18 2600BS-901-01 Rev. C / August 2016
smuX.trigger.source.set() (on page 7-271)
smuX.trigger.source.stimulus (on page 7-272)
smuX.trigger.SOURCE_COMPLETE_EVENT_ID (on page 7-274)
smuX.trigger.SWEEP_COMPLETE_EVENT_ID (on page 7-274)
smuX.trigger.SWEEPING_EVENT_ID (on page 7-274)
trigger.blender[N].clear() (on page 7-365)
trigger.blender[N].EVENT_ID (on page 7-366)
trigger.blender[N].orenable (on page 7-366)
trigger.blender[N].overrun (on page 7-367)
trigger.blender[N].reset() (on page 7-368)
trigger.blender[N].stimulus[M] (on page 7-369)
trigger.blender[N].wait() (on page 7-371)
trigger.clear() (on page 7-372)
trigger.EVENT_ID (on page 7-372)
trigger.generator[N].assert() (on page 7-373)
trigger.generator[N].EVENT_ID (on page 7-373)
trigger.timer[N].clear() (on page 7-374)
trigger.timer[N].count (on page 7-374)
trigger.timer[N].delay (on page 7-375)
trigger.timer[N].delaylist (on page 7-375)
trigger.timer[N].EVENT_ID (on page 7-376)
trigger.timer[N].overrun (on page 7-377)
trigger.timer[N].passthrough (on page 7-377)
trigger.timer[N].reset() (on page 7-378)
trigger.timer[N].stimulus (on page 7-379)
trigger.timer[N].wait() (on page 7-381)
trigger.wait() (on page 7-381)
tsplink.trigger[N].assert() (on page 7-387)
tsplink.trigger[N].clear() (on page 7-388)
tsplink.trigger[N].EVENT_ID (on page 7-388)
tsplink.trigger[N].mode (on page 7-389)
tsplink.trigger[N].overrun (on page 7-391)
tsplink.trigger[N].pulsewidth (on page 7-392)
tsplink.trigger[N].release() (on page 7-392)
tsplink.trigger[N].reset() (on page 7-393)
tsplink.trigger[N].stimulus (on page 7-394)
tsplink.trigger[N].wait() (on page 7-396)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-19
TSP-Link
These functions and attributes allow you to set up and work with a system that is connected by a
TSP-Link® network.
The TSP-Link® is not available on the Models 2604B, 2614B, and 2634B. These commands are not
available on those models.
tsplink.group (on page 7-382)
tsplink.master (on page 7-383)
tsplink.node (on page 7-383)
tsplink.readbit() (on page 7-384)
tsplink.readport() (on page 7-384)
tsplink.reset() (on page 7-385)
tsplink.state (on page 7-386)
tsplink.trigger[N].assert() (on page 7-387)
tsplink.trigger[N].clear() (on page 7-388)
tsplink.trigger[N].EVENT_ID (on page 7-388)
tsplink.trigger[N].mode (on page 7-389)
tsplink.trigger[N].overrun (on page 7-391)
tsplink.trigger[N].pulsewidth (on page 7-392)
tsplink.trigger[N].release() (on page 7-392)
tsplink.trigger[N].reset() (on page 7-393)
tsplink.trigger[N].stimulus (on page 7-394)
tsplink.trigger[N].wait() (on page 7-396)
tsplink.writebit() (on page 7-396)
tsplink.writeport() (on page 7-397)
tsplink.writeprotect (on page 7-398)
TSP-Net
The TSP-Net module provides a simple socket-like programming interface to Test Script Processor
(TSP®) enabled instruments.
tspnet.clear() (on page 7-399)
tspnet.connect() (on page 7-400)
tspnet.disconnect() (on page 7-401)
tspnet.execute() (on page 7-402)
tspnet.idn() (on page 7-403)
tspnet.read() (on page 7-403)
tspnet.readavailable() (on page 7-404)
tspnet.reset() (on page 7-405)
tspnet.termination() (on page 7-405)
tspnet.timeout (on page 7-406)
tspnet.tsp.abort() (on page 7-407)
tspnet.tsp.abortonconnect (on page 7-407)
tspnet.tsp.rbtablecopy() (on page 7-408)
tspnet.tsp.runscript() (on page 7-409)
tspnet.write() (on page 7-410)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-20 2600BS-901-01 Rev. C / August 2016
Userstrings
Use the functions in this group to store and retrieve user-defined strings in nonvolatile memory.
These strings are stored as key-value pairs. The key is a unique identifier such as a part number or
identification string.
You can use the userstring functions to store custom, instrument-specific information in the
instrument, such as department number, asset number, or manufacturing plant location.
userstring.add() (on page 7-410)
userstring.catalog() (on page 7-411)
userstring.delete() (on page 7-412)
userstring.get() (on page 7-413)
Factory scripts
Introduction
The Keithley Instruments Series 2600B System SourceMeter® instrument is shipped with one or more
factory scripts saved in its flash firmware memory. A factory script is made up of a number of
functions. Some of them can be called from the front-panel LOAD TEST menu. All of them can be
called using remote programming.
As Keithley Instruments develops additional factory scripts, they will be made available on the
Keithley Instruments webite (http://www.tek.com/keithley) as a flash firmware upgrade for the Series
2600B. See Upgrading the firmware (on page A-4) for instructions on upgrading the flash firmware of
your Series 2600B instrument.
A factory script is similar to a user script, except a factory script is created by Keithley Instruments at
the factory and is permanently stored in nonvolatile memory. The differences between a user script
and a factory script include the following:
A factory script cannot be deleted from nonvolatile memory.
The script listing for a factory script can be retrieved and modified, but it will then be treated as a
user script. A user script cannot be saved as a factory script.
Factory scripts are not stored in global variables. The only references to factory scripts are in the
script.factory.scripts attribute.
The script.factory.catalog() function returns an iterator that can be used in a for loop
to iterate over all the factory scripts.
Example
To retrieve the catalog listing for factory scripts, send:
for name in script.factory.catalog() do print(name) end
Running a factory script
Use either of the following commands to run a factory script:
script.factory.scripts.name()
script.factory.scripts.name.run()
Where: name is the name of the factory script.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-21
Example:
Run the factory script named “KIPulse”
script.factory.scripts.KIPulse()
Running a factory script function from the Series 2600B front panel controls
1. Press the LOAD key.
2. Select FACTORY.
3. Select the function to run and press the ENTER key or navigation wheel .
4. Press the RUN key.
5. Follow the prompts on the front panel to run the script.
Retrieving and modifying a factory script listing
The script listing for a factory script can be retrieved and modified. However, it cannot be saved as a
factory script. The modified script can be saved as a user script using the same name or a new name.
An imported factory script can only be loaded back into the Series 2600B as a user script.
The following function retrieves a script listing. The script code is output with the shell keywords
(loadscript or loadandrunscript and endscript):
script.factory.scripts.name.list()
Where: name is the name of the factory script.
Example:
Retrieve the script listing for a factory script named “KIPulse”:
script.factory.scripts.KIPulse.list()
KISweep factory script
The KISweep factory script provides simple sweep test programming and shows how to use the
sweeping function.
This script is made up of the following functions. Access these functions from the front panel or the
remote interfaces. The following functions make up the KISweep factory script:
SweepILinMeasureV() (on page 7-357)
SweepIListMeasureV() (on page 7-358)
SweepILogMeasureV() (on page 7-359)
SweepVLinMeasureI() (on page 7-361)
SweepVListMeasureI() (on page 7-362)
SweepVLogMeasureI() (on page 7-363)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-22 2600BS-901-01 Rev. C / August 2016
KIPulse factory script
The KIPulse factory script provides examples of how to generate pulses and to provide a simple
pulsing interface. Pulses can be generated using the functions listed below.
Figure 108: VARIABLE - NOTE
Please note the following information about the KIPulse factory script:
This factory script only operates on the channels present in the instrument executing the pulse
functions. These functions will not operate correctly if you attempt to access instrument channels
over the TSP-Link® interface.
The KIPulse factory scripts are general purpose examples that may not be suitable for all use
cases. Very short pulses (less than 1 ms pulse width) may require optimization of the examples
provided by the factory script in order to achieve settled measurements.
The PulseIMeasureV() and PulseVMeasureI() functions may be accessed from the front
panel. The remaining functions may only be accessed remotely.
Use the configuration KIPulse tag parameter pulse functions (on page 5-23) to configure a pulse train
and assign the configuration to the tag parameter (use QueryPulseConfig() to inspect
configured pulse trains). Use the initiation InitiatePulseTest() function to execute the pulse
trains assigned to its tag arguments. The conditions listed in the table below must be true for these
functions to execute successfully.
Conditions that must be true for successful function execution
Conditions for Config
functions:
Conditions for
InitiatePulseTest functions
Conditions for
InitiatePulseTestDual functions
Source autorange (I and V)
off
Output on
Output on
Measure autorange (I and
V) off
There is enough free space
in the buffer
There is enough free space in
the buffer
Measure NPLC < ton
Buffer append mode is on
when pulse train is >1 point
Buffer append mode is on
when pulse train is >1 point
Measure autozero OFF or
ONCE
Safety interlock engaged
when using the 200 V
range
Separate unique
source-measure units (SMUs)
for each tag
Safety interlock engaged
when using the 200 V range
Same NPLC setting for each
tag
Same toff for each tag
Use the KIPulse simple pulse functions (on page 5-23) to specify and perform a specified number of
pulse-measure cycles.
The following functions make up the KIPulse factory script:
Series 2600B
System SourceMeter® Instrument Reference Manual Section 5:
Introduction to TSP operation
2600BS-901-01 Rev. C / August 2016 5-23
KIPulse tag parameter pulse functions
ConfigPulseIMeasureV() (on page 7-36)
ConfigPulseIMeasureVSweepLin() (on page 7-38)
ConfigPulseIMeasureVSweepLog() (on page 7-40)
ConfigPulseVMeasureISweepLin() (on page 7-45)
ConfigPulseVMeasureI() (on page 7-42)
ConfigPulseVMeasureISweepLog() (on page 7-47)
InitiatePulseTest() (on page 7-112)
InitiatePulseTestDual() (on page 7-114)
QueryPulseConfig() (on page 7-171)
KIPulse simple pulse functions
PulseIMeasureV() (on page 7-169)
PulseVMeasureI() (on page 7-170)
Advanced features for KIPulse tag parameter pulse functions
Variable off time between pulses in a pulse train
The KIPulse “Configure” functions will accept the toff parameter as a table, or as a number. The
table allows you to define different off times to be used after each pulse. The following should be
noted:
If toff is passed as a number or only a single value is used in the table, it will be used for all
points in a multiple point pulse.
The number of times specified in the table must match the number of points called for in the
sweep.
The times used in tables must match for dual channel pulsing.
Each specified off time must adhere to the duty cycle limits for the specified pulsing region.
Simultaneous IV measurement during pulse
The KIPulse “Configure” functions will optionally accept an extra reading buffer to activate
simultaneous IV measurements during pulsing. Previous usage of passing in a reading buffer or a nil
(for no measurement) is still supported.
KIHighC factory script
The KIHighC factory script is made up of two functions: i_leakage_measure() and
i_leakage_threshold(). These functions are intended to be used when HighC mode is active.
Output is generally at a non-zero voltage prior to calling these functions. These functions can also be
used to step the voltage to zero volts in order to measure the leakage current.
i_leakage_measure() (on page 7-110)
i_leakage_threshold() (on page 7-111)
KIParlib factory script
The KIParlib factory script is made up of two functions: gm_vsweep() and gm_isweep().
gm_vsweep() (on page 7-108)
gm_isweep() (on page 7-107)
Section
5: Introduction to TSP operation Series 2600B System SourceMeter® Instrument
Reference Manual
5-24 2600BS-901-01 Rev. C / August 2016
KISavebuffer factory script
The KISavebuffer script has one function: savebuffer().
savebuffer() (on page 7-174)
In this section:
Fundamentals of scripting for TSP ........................................... 6-1
Fundamentals of programming for TSP ................................. 6-11
Test Script Builder (TSB) ....................................................... 6-29
Password management ......................................................... 6-33
Working with TSB Embedded ................................................ 6-36
Advanced scripting for TSP .................................................... 6-37
TSP-Link system expansion interface .................................... 6-46
TSP-Net ................................................................................. 6-58
Fundamentals of scripting for TSP
Though it can improve your process to use scripts, you do not have to create scripts to use the
instrument. Most of the examples in the documentation can be run by sending individual command
messages. The next few sections of the documentation describe scripting and programming features
of the instrument. You only need to review this information if you are using scripting and
programming.
Scripting helps you combine commands into a block of code that the instrument can run. Scripts help
you communicate with the instrument more efficiently.
Scripts offer several advantages compared to sending individual commands from the host controller
(computer):
Scripts are easier to save, refine, and implement than individual commands.
The instrument performs more quickly and efficiently when it processes scripts than it does when
it processes individual commands.
You can incorporate features such as looping and branching into scripts.
Scripts allow the controller to perform other tasks while the instrument is running a script,
enabling some parallel operation.
Scripts eliminate repeated data transfer times from the controller.
In the instrument, the Test Script Processor (TSP®) scripting engine processes and runs scripts.
This section describes how to create, load, modify, and run scripts.
Section 6
Instrument programming
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-2 2600BS-901-01 Rev. C / August 2016
What is a script?
A script is a collection of instrument control commands and programming statements. Scripts that you
create are referred to as user scripts.
Your scripts can be interactive. Interactive scripts display messages on the front panel of the
instrument that prompt the operator to enter parameters.
Run-time and nonvolatile memory storage of scripts
Scripts are loaded into the run-time environment of the instrument. From there, they can be stored in
the nonvolatile memory.
The run-time environment is a collection of global variables, which include scripts, that the user has
defined. A global variable can be used to store a value while the instrument is turned on. When you
create a script, the instrument creates a global variable with the same name so that you can
reference the script more conveniently. After scripts are loaded into the run-time environment, you
can run and manage them from the front panel of the instrument or from a computer. Information in
the run-time environment is lost when the instrument is turned off.
Nonvolatile memory is where information is stored even when the instrument is turned off. Save
scripts to nonvolatile memory to save them even if the power is cycled. The scripts that are in
nonvolatile memory are loaded into the run-time environment when the instrument is turned on.
Scripts are placed in the run-time environment when:
The instrument is turned on. All scripts that are saved to nonvolatile memory are copied to the
run-time environment when the instrument is turned on.
Loaded over a remote command interface.
For detail on the amount of memory available in the run-time environment, see Memory
considerations for the run-time environment (on page 6-45).
If you make changes to a script in the run-time environment, the changes are lost when the
instrument is turned off. To save the changes, you must save them to nonvolatile memory. See
Working with scripts in nonvolatile memory (on page 6-7).
What can be included in scripts?
Scripts can include combinations of TSP commands and Lua code. TSP commands instruct the
instrument to do one thing and are described in the command reference (see TSP commands (on
page 7-8)). Lua is a scripting language that is described in Fundamentals of programming for TSP (on
page 6-11).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-3
Commands that cannot be used in scripts
Though an instrument accepts the following commands, you cannot use these commands in scripts.
Commands that cannot be used in scripts
General commands IEEE Std 488.2 common commands
abort
endflash
endscript
flash
loadscript
loadandrunscript
password
restoreglobals
*CLS
*ESE
*ESE?
*ESR?
*IDN?
*OPC
*OPC?
*RST
*SRE
*SRE?
*STB?
*TRG
*TST?
*WAI
Manage scripts
This section describes how to create scripts by sending commands over the remote interface and
using TSB Embedded.
Tools for managing scripts
To manage scripts, you can send messages to the instrument, use your own development tool or
program, use Keithley Instruments Test Script Builder (TSB) software, or use TSB Embedded on the
instrument's web interface. TSB and TSB Embedded are described below.
Test Script Builder (TSB) software: TSB software is a programming tool that you can download
from the Keithley Downloads web page (http://www.tek.com/downloads). You can use it to create,
modify, debug, and store Test Script Processor (TSP®) scripting engine scripts. For more
information about using the TSB software, see Using Test Script Builder (TSB) (on page 6-30).
TSB Embedded: TSB Embedded is a tool with a reduced set of features than the complete
Keithley TSB software. TSB Embedded has both script-building functionality and console
functionality (single-line commands). It is accessed from a web browser.
If you are using TSB or TSB Embedded to create scripts, you do not need to use the commands
loadscript or loadandrunscript and endscript.
Create and load a script
You create scripts by loading them into the run-time environment of the instrument. You can load a
script as a named script or as the anonymous script.
Once a script is loaded into the instrument, you can execute it remotely or from the front panel.
Anonymous scripts
If a script is created with the loadscript or loadandrunscript command with no name defined,
it is called the "anonymous" script. There can only be one anonymous script in the run-time
environment. If another anonymous script is loaded into the run-time environment, it replaces the
existing anonymous script.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-4 2600BS-901-01 Rev. C / August 2016
Named scripts
A named script is a script with a unique name. You can have as many named scripts as needed in
the instrument (within the limits of the memory available to the run-time environment). When a named
script is loaded into the run-time environment with the loadscript or loadandrunscript
commands, a global variable with the same name is created to reference the script.
Key points regarding named scripts:
If you load a new script with the same name as an existing script, the existing script becomes an
unnamed script, which in effect removes the existing script if there are no variables that reference
it.
Sending revised scripts with different names will not remove previously loaded scripts.
Named scripts can be saved to internal nonvolatile memory. Saving a named script to nonvolatile
memory allows the instrument to be turned off without losing the script. See Working with scripts
in nonvolatile memory (on page 6-7).
Load a script by sending commands over the remote interface
To load a script over the remote interface, you can use the loadscript, loadandrunscript, and
endscript commands.
The loadscript and loadandrunscript commands start the collection of messages that make
up the script. When the instrument receives either of these commands, it starts collecting all
subsequent messages. Without these commands, the instrument would run them immediately as
individual commands.
The endscript command tells the instrument to compile the collection of messages. It compiles the
messages into one group of commands. This group of commands is loaded into the run-time
environment.
The following figure shows an example of how to load a script named “test.” The first command tells
the instrument to start collecting the messages for the script named “test.” The last command marks
the end of the script. When this script is run, the message “This is a test” is displayed on the
instrument and sent to the computer.
Figure 109: Loadscript and endscript example
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-5
To load a named script by sending commands:
1. Send the command loadscript scriptName, where scriptName is the name of the script.
The name must be a legal Lua variable name.
2. Send the commands that need to be included in the script.
3. Send the command endscript.
4. You can now run the script. See Run scripts (on page 6-5).
To run the script immediately, use loadandrunscript scriptName instead of loadscript.
Create a script using TSB Embedded
If you are using TSB Embedded to create scripts, you do not need to use the commands
loadscript or loadandrunscript and endscript.
You can create a script from the instrument web page with TSB Embedded. When you save the script
in TSB Embedded, it is loaded into the run-time environment and saved in the nonvolatile memory of
the instrument. For information about using TSB Embedded, select the Help button on a web page or
the Help option from the navigation pane on the left side of the web interface.
To create a script using TSB Embedded:
1. In the TSP Script box, enter a name for the script.
2. In the input area, enter the sequence of commands to be included in the script.
3. Click Save Script. The name is added to the User Scripts list on the left.
Run scripts
This section describes how to run the anonymous and named scripts.
If the instrument is in local control when the script is started, it switches to remote control (REM is
displayed) while the script is running. The instrument is returned to local control when the script
completes. If you press the front-panel EXIT (LOCAL) key while the script is running, the script is
stopped.
Run the anonymous script
The anonymous script can be run many times without reloading it. It remains in the run-time
environment until a new anonymous script is created or until the instrument is turned off.
To run the anonymous script, use any one of these commands:
run()
script.run()
script.anonymous()
script.anonymous.run()
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-6 2600BS-901-01 Rev. C / August 2016
Run a named script
You can run any named script that is in the run-time environment using one of the following
commands:
scriptVar()
scriptVar.run()
Where: scriptVar is the user-defined name of the script.
To run a named script from TSB Embedded, select the script from the User Scripts list and click Run.
When a script is named, it can be accessed using the global variable scriptVar.
Example: Run a named script
test3()
If the script test3 is loaded into the
run-time environment, the instrument
executes
test3
.
Scripts that run automatically
You can set up scripts to run automatically when you power on the instrument. To do this, either set
the autorun attribute for the script to yes (see Autorun scripts (on page 6-6)), or create a script with
the script name autoexec (see Autoexec script (on page 6-7)).
Autorun scripts
Autorun scripts run automatically when the instrument is turned on. You can set any number of scripts
to autorun. The run order for autorun scripts is arbitrary, so make sure the run order is not important.
As shown in the example below, you can set a script to run automatically by setting the .autorun
attribute of the script to "yes" and then saving the script.
Example:
scriptVar.autorun = "yes"
scriptVar.save()
Where: scriptVar is the user-defined name of the script.
To disable autorun, set the script's .autorun attribute to "no" and then save the script.
The scriptVar.save() command saves the script to nonvolatile memory, which makes the
change persistent through a power cycle. See Save a user script to nonvolatile memory (on page 6-
8) for more detail.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instr
ument programming
2600BS-901-01 Rev. C / August 2016 6-7
Example: Set a script to run automatically
test5.autorun = "yes"
test5.save()
Assume a script named
test5
is in the
run-time environment.
The next time the instrument is turned on,
test5 script automatically loads and
runs.
Autoexec script
The autoexec script runs automatically when the instrument is turned on. It runs after all the scripts
have loaded and any scripts marked as autorun have run.
To create a script that executes automatically, create and load a new script and name it autoexec.
See Create and load a script (on page 6-3).
You must save the autoexec script to nonvolatile memory if you want to use it after instrument power
has been turned off and then turned on again. See Save a user script to nonvolatile memory (on
page 6-8) for more detail.
Example: Creating an autoexec script with loadscript command
loadscript autoexec
display.clear()
display.settext("Hello from autoexec")
endscript
autoexec.save()
Creates the script
autoexec
.
Saves the autoexec script to nonvolatile
memory. The next time the instrument is
turned on, "Hello from autoexec" is
displayed.
Example: Creating an autoexec script using TSB Embedded
display.clear()
display.settext("Hello from autoexec")
In the TSP Script box, enter
autoexec
.
Enter the code in the entry box.
Click Save Script.
Creates a new script that clears the
display when the instrument is turned on
and displays "
Hello from autoexec
."
Working with scripts in nonvolatile memory
The Fundamentals of scripting for TSP (on page 6-1) section in this manual describes working with
scripts, primarily in the run-time environment. You can also work with scripts in nonvolatile memory.
The run-time environment and nonvolatile memory are separate storage areas in the instrument. The
information in the run-time environment is lost when the instrument is turned off. The nonvolatile
memory remains intact when the instrument is turned off. When the instrument is turned on,
information in nonvolatile memory is loaded into the run-time environment.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-8 2600BS-901-01 Rev. C / August 2016
Save a user script
You can save scripts to nonvolatile memory using commands or TSB Embedded.
Only named scripts can be saved to nonvolatile memory. The anonymous script must be named
before it can be saved to nonvolatile memory.
If a script is not saved to nonvolatile memory, the script is lost when the instrument is turned off.
To save a script to nonvolatile memory:
1. Create and load a named script (see Create and load a script (on page 6-3)).
2. Do one of the following:
Send the command scriptVar.save(), where scriptVar is the name of the script.
In TSB Embedded, click Save Script.
Example: Save a user script to nonvolatile memory
test1.save()
Assume a script named test1
has been loaded. test1 is
saved into nonvolatile memory.
To save a script to an external USB drive:
When you save a script to a USB flash drive, you do not need to specify a file extension. The
extension .tsp is automatically added. If you do specify a file extension, it must be .tsp. An error
will occur if you use any other file extension.
1. Load a script (see Create and load a script (on page 6-3)).
2. Send the command scriptVar.save("/usb1/filename.tsp"), where scriptVar is the
variable referencing the script and filename.tsp is the name of the file.
You can also use TSB Embedded to save a script to a USB flash drive (or any accessible drive)
installed on your computer. From TSB Embedded, load the script and click Export to PC.
Save the anonymous script as a named script
To save the anonymous script to nonvolatile memory, you must name it first.
To save the anonymous script as a named script:
1. To name the script, send the command script.anonymous.name = "myTest" (where
myTest is the name of the script).
2. Send the script.anonymous.save() command to save myTest to nonvolatile memory.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-9
Delete user scripts
These steps remove a script from nonvolatile memory. To completely remove a script from the
instrument, there are additional steps you must take. See Delete user scripts from the instrument (on
page 6-44).
To delete a script from nonvolatile memory using a remote interface:
You can delete the script from nonvolatile memory by sending either of the following commands:
script.delete("name")
script.user.delete("name")
Where: name is the user-defined name of the script.
To delete a script from nonvolatile memory using TSB Embedded:
1. In TSB Embedded, select the script from the User Scripts list.
2. Click Delete. There is no confirmation message.
Example: Delete a user script from nonvolatile memory
script.delete("test8")
Delete a user script named test8
from nonvolatile memory.
Programming example
Interactive script
An interactive script prompts the operator to input values using front panel controls. The following
example script uses display messages to prompt the operator to:
Enter the voltage level to source
Enable or disable measurements
Set the number of readings if measurements are enabled
After the operator completes entering values, the output will turn on and source the specified value. If
measurements were enabled, a message will indicate that measurements are in progress. Another
message will be displayed when the source-measure operation is complete. If measurements were
not enabled, the message will indicate that the source operation is complete.
When an input prompt is displayed, the script waits until the operator inputs the parameter or presses
the ENTER key. The example shown here assumes that you are using TSB or TSB Embedded. If you
are using a remote interface, you need to add the loadscript and endscript commands to the
example code. See Load a script by sending commands over the remote interface (on page 6-4) for
details.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument Refere
nce Manual
6-10 2600BS-901-01 Rev. C / August 2016
reset()
-- Clear the display.
display.clear()
-- Prompt the user for a voltage value to source.
srcVoltage = display.prompt("+000.00", " V", "Enter source voltage", 5, -20, 20)
-- Prompt the user to enable measurements.
measEnable = display.menu("Measurements?", "ENABLE DISABLE")
if measEnable == "ENABLE" then
-- Prompt the user for the number of measurements.
numMeas = display.prompt("0000", " Rdgs", "Enter the number of readings", 10,
0, 9999)
smua.measure.count = numMeas
smua.nvbuffer1.clear()
end
-- Convert user input to the source level.
smua.source.levelv = tonumber(srcVoltage)
smua.source.output = smua.OUTPUT_ON
if measEnable == "ENABLE" then
-- Inform the user that measurments are in progress
display.setcursor(1, 1)
display.settext("$BPlease wait.$R$NMeasure operation in progress.")
smua.measure.i(smua.nvbuffer1)
display.clear()
-- Inform the user that the Source Measure operation has finished
display.settext("Operation Finished$NSource-Measure Complete")
else
-- Inform the user that the Source operation has finished
display.settext("Operation Finished$NSource Complete")
end
-- Wait 5 seconds then return the the main screen.
delay(5)
display.screen = display.SMUA
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-11
Fundamentals of programming for TSP
Introduction
To conduct a test, a computer (controller) is programmed to send sequences of commands to an
instrument. The controller orchestrates the actions of the instrumentation. The controller is typically
programmed to request measurement results from the instrumentation and make test sequence
decisions based on those measurements.
To take advantage of the advanced features of the instrument, you can add programming commands
to your scripts. Programming commands control script execution and provide tools such as variables,
functions, branching, and loop control.
The Test Script Processor (TSP®) scripting engine is a Lua interpreter. In TSP-enabled instruments,
the Lua programming language has been extended with Keithley-specific instrument control
commands.
What is Lua?
Lua is a programming language that can be used with TSP-enabled instruments. Lua is an efficient
language with simple syntax that is easy to learn.
Lua is also a scripting language, which means that scripts are compiled and run when they are sent
to the instrument. You do not compile them before sending them to the instrument.
Lua basics
This section contains the basics about the Lua programming language to allow you to start adding
Lua programming commands to your scripts quickly.
For more information about Lua, see the Lua website (http://www.lua.org). Another source of useful
information is the Lua users group (http://lua-users.org), created for and by users of Lua programming
language.
Comments
Comments start anywhere outside a string with a double hyphen (--). If the text immediately after a
double hyphen (--) is anything other than double left brackets ([[), the comment is a short comment,
which continues only until the end of the line. If double left brackets ([[) follow the double hyphen (--
), it is a long comment, which continues until the corresponding double right brackets (]]) close the
comment. Long comments may continue for several lines and may contain nested [[ . . . ]] pairs.
The table below shows how to use code comments.
Using code comments
Type of
comment
Comment
delimiters
Usage Example
Short
comment
--
Use when the
comment text fits
on a single line.
--Turn off the front-panel display.
display.lightstate = display.STATE_LCD_OFF
Long
comment
--[[ ]]
Use when the
comment text is
longer than one
line.
--[[Display a menu with three menu items.
If the second menu item is selected,
the selection will be given the value
Test2.]]
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-12 2600BS-901-01 Rev. C / August 2016
Function and variable name restrictions
You cannot use factory script names, functions created by factory scripts, Lua reserved words and
top level command names for function or variable names.
For information on factory script names, see Factory scripts (on page 5-20).
You cannot use the following Lua reserved words for function or variable names.
Lua reserved words
and
for
or
break
function
repeat
do
if
return
else
in
then
elseif
local
true
end
nil
until
false
not
while
Do not use top-level command names as variable names. If you do, you will lose access to all
commands that start with that name until the global variables are restored. For example, if you send
the command digio = 5, you lose access to the digio.* commands. To restore the commands listed
in the table (except node) and access to the digio.* commands, send the restoreglobals
command or restart the instrument. The top-level command names are listed in the following table.
Top level command names
beeper
gcinfo
os
smub
bit
gettimezone
print
status
collectgarbage
gpib
printbuffer
string
dataqueue
io
printnumber
timer
delay
lan
reset
tonumber
digio
localnode
savebuffer
tostring
display
makegetter
script
trigger
errorqueue
makesetter
serial
tsplink
eventlog
math
settime
tspnet
exit
meminfo
settimezone
type
format
node
setup
userstring
fs
opc
smua
waitcomplete
Values and variable types
In Lua, you use variables to store values in the run-time environment for later use.
Lua is a dynamically-typed language; the type of the variable is determined by the value that is
assigned to the variable.
Variables in Lua are assumed to be global unless they are explicitly declared to be local. A global
variable is accessible by all commands. Global variables do not exist until they have been assigned a
value.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instrument pro
gramming
2600BS-901-01 Rev. C / August 2016 6-13
Variable types
Variables can be one of the following types.
Variable types and values
Variable type returned Value Notes
"nil"
not declared
The type of the value nil, whose
main property is to be different from
any other value; usually it represents
the absence of a useful value.
"boolean"
true or false
Boolean is the type of the values
false and true. In Lua, both nil
and false make a condition
false; any other value makes it
true
.
"number"
number
All numbers are real numbers; there
is no distinction between integers
and floating-point numbers.
"string"
sequence of words or
characters
"function"
a block of code Functions perform a task or compute
and return values.
"table"
an array New tables are created with { }
braces. For example,
{1, 2, 3.00e0}.
To determine the type of a variable, you can call the type() function, as shown in the examples
below.
The output you get from these examples may vary depending on the data format that is set.
Example: Nil
x = nil
print(x, type(x))
nil nil
Example: Boolean
y = false
print(y, type(y))
false boolean
Example: String and number
x = "123"
print(x, type(x))
x = x + 7
print(x, type(x))
123 string
Adding a number to x forces its type to
number.
1.30 number
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-14 2600BS-901-01 Rev. C / August 2016
Example: Function
function add_two(first_value,
second_value)
return first_value + second_value
end
print(add_two(3, 4), type(add_two))
7 function
Example: Table
atable = {1, 2, 3, 4}
print(atable, type(atable))
print(atable[1])
print(atable[4])
Defines a table with four numeric
elements.
Note that the "table" value (shown here
as a096cd30) will vary.
table: a096cd30 table
1
4
Delete a global variable
To delete a global variable, assign nil to the global variable. This removes the global variable from
the run-time environment.
Functions
With Lua, you can group commands and statements using the function keyword. Functions can
take zero, one, or multiple parameters, and they return zero, one, or multiple values.
You can use functions to form expressions that calculate and return a value. Functions can also act
as statements that execute specific tasks.
Functions are first-class values in Lua. That means that functions can be stored in variables, passed
as arguments to other functions, and returned as results. They can also be stored in tables.
Note that when a function is defined, it is stored in the run-time environment. Like all data that is
stored in the run-time environment, the function persists until it is removed from the run-time
environment, is overwritten, or the instrument is turned off.
Create functions using the function keyword
Functions are created with a message or in Lua code in either of the following forms:
function myFunction(parameterX) functionBody end
myFunction = function (parameterX) functionBody end
Where:
myFunction: The name of the function.
parameterX: Parameter names. To use multiple parameters, separate the names with commas.
functionBody: The code that is executed when the function is called.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-15
To execute a function, substitute appropriate values for parameterX and insert them into a message
formatted as:
myFunction(valueForParameterX, valueForParameterY)
Where valueForParameterX and valueForParameterY represent the values to be passed to
the function call for the given parameters.
The output you get from these examples will vary depending on the data format settings of the
instrument.
Example 1
function add_two(first_value,
second_value)
return first_value + second_value
end
print(add_two(3, 4))
Creates a variable named add_two that
has a variable type of function.
Output:
7
Example 2
add_three = function(first_value,
second_value, third_value)
return first_value + second_value +
third_value
end
print(add_three(3, 4, 5))
Creates a variable named add_three
that has a variable type of function.
Output:
12
Example 3
function sum_diff_ratio(first_value,
second_value)
psum = first_value + second_value
pdif = first_value - second_value
prat = first_value / second_value
return psum, pdif, prat
end
sum, diff, ratio = sum_diff_ratio(2, 3)
print(sum)
print(diff)
print(ratio)
Returns multiple parameters (sum,
difference, and ratio of the two numbers
passed to it).
Output:
5
-1
0.66666666666667
Create functions using scripts
You can use scripts to define functions. Scripts that define a function are like any other script: They
do not cause any action to be performed on the instrument until they are executed. The global
variable of the function does not exist until the script that created the function is executed.
A script can consist of one or more functions. Once a script has been run, the computer can call
functions that are in the script directly.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-16 2600BS-901-01 Rev. C / August 2016
The following steps use TSB Embedded. You can also use the loadscript and endscript
commands to create the script over the remote interface. See Load a script by sending commands
over the remote interface (on page 6-4).
Steps to create a function using a script:
1. In TSB Embedded, enter a name into the TSP Script box. For example, type MakeMyFunction.
2. Enter the function as the body of the script. This example concatenates two strings:
MyFunction = function (who)
print("Hello " .. who)
end
3. Click Save Script.
MakeMyFunction is now on the instrument in a global variable with the same name as the script
(MakeMyFunction). However, the function defined in the script does not yet exist because the
script has not been executed.
4. Run the script as a function. For this example, send:
MakeMyFunction()
This instructs the instrument to run the script, which creates the MyFunction global variable.
This variable is of the type "function" (see Variable types (on page 6-13)).
5. Run the new function with a value.
MyFunction("world")
The response message is:
Hello world
Group commands using the function keyword
The following script contains instrument commands that display the name of the person that is using
the script on the front panel of the instrument. It takes one parameter to represent this name. When
this script is run, the function is loaded in memory. Once loaded into memory, you can call the
function outside of the script to execute it.
When calling the function, you must specify a string for the name argument of the function. For
example, to set the name to John, call the function as follows:
myDisplay("John")
Example: User script
User script created in Test Script Builder or
TSB Embedded
User script created in user's own program
function myDisplay(name)
display.clear()
display.settext(
name .. "$N is here!")
end
loadscript
function myDisplay(name)
display.clear()
display.settext(
name .. " $N is here!")
end
endscript
Operators
You can compare and manipulate Lua variables and constants using operators.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-17
Arithmetic operators
Operator Description
+
addition
subtraction
*
multiplication
/
division
-
negation (for example, c = a)
^
exponentiation
Relational operators
Operator Description
<
less than
>
greater than
<=
less than or equal
>=
greater than or equal
~=
not equal
==
equal
Logical operators
The logical operators in Lua are and, or, and not. All logical operators consider both false and
nil as false and anything else as true.
The operator not always returns false or true.
The conjunction operator and returns its first argument if the first argument is false or nil;
otherwise, and returns its second argument. The disjunction operator or returns its first argument if
this value is different from nil and false; otherwise, or returns its second argument. Both and and
or use shortcut evaluation, that is, the second operand is evaluated only if necessary.
The example output you get may vary depending on the data format settings of the instrument.
Example
print(10 or errorqueue.next())
print(nil or "a")
print(nil and 10)
print(false and errorqueue.next())
print(false and nil)
print(false or nil)
print(10 and 20)
1.00000e+01
a
nil
false
false
nil
2.00000e+01
String concatenation
String operators
Operator Description
..
Concatenates two strings. If either argument is a number, it is coerced to a string (in
a reasonable format) before concatenation.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-18 2600BS-901-01 Rev. C / August 2016
Example: Concatenation
print(2 .. 3)
print("Hello " .. "World")
23
Hello World
Operator precedence
Operator precedence in Lua follows the order below (from higher to lower priority):
^ (exponentiation)
not, - (unary)
*, /
+,
.. (concatenation)
<, >, <=, >=, ~=, !=, ==
and
or
You can use parentheses to change the precedences in an expression. The concatenation ("..") and
exponentiation ("^") operators are right associative. All other binary operators are left associative. The
examples below show equivalent expressions.
Equivalent expressions
reading + offset < testValue/2+0.5
=
(reading + offset) <
((testValue/2)+0.5)
3+reading^2*4
=
3+((reading^2)*4)
Rdg < maxRdg and lastRdg <=
expectedRdg
=
(Rdg < maxRdg) and (lastRdg <=
expectedRdg)
-reading^2
=
-(reading^2)
reading^testAdjustment^2
=
reading^(testAdjustment^2)
Conditional branching
Lua uses the if, else, elseif, then, and end keywords to do conditional branching.
Note that in Lua, nil and false are false and everything else is true. Zero (0) is true in Lua.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Ins
trument programming
2600BS-901-01 Rev. C / August 2016 6-19
The syntax of a conditional block is as follows:
if expression then
block
elseif expression then
block
else
block
end
Where:
expression is Lua code that evaluates to either true or false
block consists of one or more Lua statements
Example: If
if 0 then
print("Zero is true!")
else
print("Zero is false.")
end
Output:
Zero is true!
Example: Comparison
x = 1
y = 2
if x and y then
print("Both x and y are true")
end
Output:
Both x and y are true
Example: If and else
x = 2
if not x then
print("This is from the if block")
else
print("This is from the else block")
end
Output:
This is from the else
block
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-20 2600BS-901-01 Rev. C / August 2016
Example: Else and elseif
x = 1
y = 2
if x and y then
print("'if' expression 2 was not false.")
end
if x or y then
print("'if' expression 3 was not false.")
end
if not x then
print("'if' expression 4 was not false.")
else
print("'if' expression 4 was false.")
end
if x == 10 then
print("x = 10")
elseif y > 2 then
print("y > 2")
else
print("x is not equal to 10, and y is not greater than 2.")
end
Output:
'if' expression 2 was not false.
'if' expression 3 was not false.
'if' expression 4 was false.
x is not equal to 10, and y is not greater than 2.
\
Loop control
If you need to repeat code execution, you can use the Lua while, repeat, and for control
structures. To exit a loop, you can use the break keyword.
While loops
To use conditional expressions to determine whether to execute or end a loop, you use while loops.
These loops are similar to Conditional branching (on page 6-18) statements.
while expression do
block
end
Where:
expression is Lua code that evaluates to either true or false
block consists of one or more Lua statements
The output you get from this example may vary depending on the data format settings of the
instrument.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-21
Example: While
list = {
"One", "Two", "Three", "Four", "Five", "Six"}
print("Count list elements on numeric index:")
element = 1
while list[element] do
print(element, list[element])
element = element + 1
end
This loop exits when
list[element]
= nil.
Output:
Count list elements on
numeric index:
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Repeat until loops
To repeat a command, you use the repeat ... until statement. The body of a repeat statement
always executes at least once. It stops repeating when the conditions of the until clause are met.
repeat
block
until expression
Where:
block consists of one or more Lua statements
expression is Lua code that evaluates to either true or false
The output you get from this example may vary depending on the data format settings of the
instrument.
Example: Repeat until
list = {
"One", "Two", "Three", "Four", "Five", "Six"}
print("Count elements in list using repeat:")
element = 1
repeat
print(element, list[element])
element = element + 1
until not list[element]
Output:
Count elements in list
using repeat:
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
For loops
There are two variations of for statements supported in Lua: numeric and generic.
In a for loop, the loop expressions are evaluated once, before the loop starts.
The output you get from these examples may vary depending on the data format settings of the
instrument.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-22 2600BS-901-01 Rev. C / August 2016
Example: Numeric for
list = {"One", "Two", "Three", "Four", "Five", "Six"}
---------- For loop -----------
print("Counting from one to three:")
for element = 1, 3 do
print(element, list[element])
end
print("Counting from one to four, in steps of two:")
for element = 1, 4, 2 do
print(element, list[element])
end
The numeric for loop repeats a block of code while a control variable runs through an
arithmetic progression.
Output:
Counting from one to three:
1 One
2 Two
3 Three
Counting from one to four, in steps of two:
1 One
3 Three
Example: Generic for
days = {"Sunday",
"Monday", "Tuesday",
"Wednesday", "Thursday",
"Friday", "Saturday"}
for i, v in ipairs(days) do
print(days[i], i, v)
end
The generic for statement works by using functions called iterators. On each iteration, the
iterator function is called to produce a new value, stopping when this new value is nil.
Output:
Sunday 1 Sunday
Monday 2 Monday
Tuesday 3 Tuesday
Wednesday 4 Wednesday
Thursday 5 Thursday
Friday 6 Friday
Saturday 7 Saturday
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-23
Break
The break statement can be used to terminate the execution of a while, repeat, or for loop,
skipping to the next statement after the loop. A break ends the innermost enclosing loop.
Return and break statements can only be written as the last statement of a block. If it is necessary to
return or break in the middle of a block, an explicit inner block can be used.
The output you get from these examples may vary depending on the data format settings of the
instrument.
Example: Break with while statement
local numTable = {5, 4, 3, 2, 1}
local k = table.getn(numTable)
local breakValue = 3
while k > 0 do
if numTable[k] == breakValue then
print("Going to break and k = ", k)
break
end
k = k - 1
end
if k == 0 then
print("Break value not found")
end
This example defines a
break
value
(breakValue) so that the break
statement is used to exit the while loop
before the value of k reaches 0.
Output:
Going to break and k = 3
Example: Break with while statement enclosed by comment delimiters
local numTable = {5, 4, 3, 2, 1}
local k = table.getn(numTable)
--local breakValue = 3
while k > 0 do
if numTable[k] == breakValue then
print("Going to break and k = ", k)
break
end
k = k - 1
end
if k == 0 then
print("Break value not found")
end
This example defines a break value
(breakValue), but the break value
line is preceded by comment delimiters
so that the break value is not
assigned, and the code reaches the
value 0 to exit the while loop.
Output:
Break value not found
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-24 2600BS-901-01 Rev. C / August 2016
Example: Break with infinite loop
a, b = 0, 1
while true do
print(a, b)
a, b = b, a + b
if a > 500 then
break
end
end
This example uses a
break
statement
that causes the while loop to exit if the
value of a becomes greater than 500.
Output:
0 1
1 1
1 2
2 3
3 5
5 8
8 13
13 21
21 34
34 55
55 89
89 144
144 233
233 377
377 610
Tables and arrays
Lua makes extensive use of the data type table, which is a flexible array-like data type. Table indices
start with 1. Tables can be indexed not only with numbers, but with any value except nil. Tables can
be heterogeneous, which means that they can contain values of all types except nil.
Tables are the sole data structuring mechanism in Lua. They may be used to represent ordinary
arrays, symbol tables, sets, records, graphs, trees, and so on. To represent records, Lua uses the
field name as an index. The language supports this representation by providing a.name as an easier
way to express a["name"].
The output you get from this example may vary depending on the data format settings of the
instrument.
Example: Loop array
atable = {1, 2, 3, 4}
i = 1
while atable[i] do
print(atable[i])
i = i + 1
end
Defines a table with four numeric
elements.
Loops through the array and prints
each element.
The Boolean value of
atable[index] evaluates to true if
there is an element at that index. If
there is no element at that index, nil
is returned (nil is considered to be
false).
Output:
1
2
3
4
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instrum
ent programming
2600BS-901-01 Rev. C / August 2016 6-25
Standard libraries
In addition to the standard programming constructs described in this document, Lua includes
standard libraries that contain useful functions for string manipulation, mathematics, and related
functions. Test Script Processor (TSP®) scripting engine instruments also include instrument control
extension libraries, which provide programming interfaces to the instrumentation that can be
accessed by the TSP scripting engine. These libraries are automatically loaded when the TSP
scripting engine starts and do not need to be managed by the programmer.
The following topics provide information on some of the basic Lua standard libraries. For additional
information, see the Lua website (http://www.lua.org).
When referring to the Lua website, please be aware that the TSP scripting engine uses Lua 5.0.2.
Base library functions
Base library functions
Function Description
collectgarbage()
collectgarbage(limit)
Sets the garbage-collection threshold to the given limit (in
kilobytes) and checks it against the byte counter. If the new
threshold is smaller than the byte counter, Lua immediately
runs the garbage collector. If there is no limit parameter, it
defaults to zero (0), which forces a garbage-collection cycle.
See the "Lua memory management" topic below for more
information.
gcinfo()
Returns the number of kilobytes of dynamic memory that the
Test Script Processor (TSP®) scripting engine is using, and
returns the present garbage collector threshold (also in
kilobytes). See the "Lua memory management" topic below for
more information.
tonumber(x)
tonumber(x, base)
Returns x converted to a number. If x is already a number, or a
convertible string, the number is returned; otherwise, it returns
nil.
An optional argument specifies the base to use when
interpreting the numeral. The base may be any integer from 2 to
36, inclusive. In bases above 10, the letter A (in either upper or
lower case) represents 10, B represents 11, and so forth, with Z
representing 35. In base 10, the default, the number may have
a decimal part, as well as an optional exponent. In other bases,
only unsigned integers are accepted.
tostring(x)
Receives an argument of any type and converts it to a string in
a reasonable format.
type(v)
Returns (as a string) the type of its only argument. The possible
results of this function are "nil" (a string, not the value nil),
"number", "string", "boolean", "table", "function",
"thread", and "userdata".
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-26 2600BS-901-01 Rev. C / August 2016
Lua memory management
Lua automatically manages memory, which means you do not have to allocate memory for new
objects and free it when the objects are no longer needed. Lua occasionally runs a garbage collector
to collect all objects that are no longer accessible from Lua. All objects in Lua are subject to automatic
management, including tables, variables, functions, threads, and strings.
Lua uses two numbers to control its garbage-collection cycles. One number counts how many bytes
of dynamic memory Lua is using; the other is a threshold. When the number of bytes crosses the
threshold, Lua runs the garbage collector, which reclaims the memory of all inaccessible objects. The
byte counter is adjusted and the threshold is reset to twice the new value of the byte counter.
String library functions
This library provides generic functions for string manipulation, such as finding and extracting
substrings. When indexing a string in Lua, the first character is at position 1 (not 0, as in ANSI C).
Indices may be negative and are interpreted as indexing backward from the end of the string. Thus,
the last character is at position 1, and so on.
String library functions
Function Description
string.byte(s)
string.byte(s, i)
string.byte(
s
,
i
,
j
)
Returns the internal numeric codes of the characters s[i],
s[i+1], ···, s[j]. The default value for i is 1; the default
value for j is i.
string.char(···)
Receives zero or more integers separated by commas. Returns a
string with length equal to the number of arguments, in which each
character has the internal numeric code equal to its corresponding
argument.
string.format(
formatstring, ...)
Returns a formatted version of its variable number of arguments
following the description given in its first argument, which must be
a string. The format string follows the same rules as the printf
family of standard C functions. The only differences are that the
modifiers *, l, L, n, p, and h are not supported and there is an
extra option, q. The q option formats a string in a form suitable to
be safely read back by the Lua interpreter; the string is written
between double quotes, and all double quotes, newlines,
embedded zeros, and backslashes in the string are correctly
escaped when written.
For example, the call:
string.format('%q', 'a string with "quotes" and
\n new line')
will produce the string:
"a string with \"quotes\" and \
new line"
The options c, d, E, e, f, g, G, i, o, u, X, and x all expect a number
as argument. q and s expect a string. This function does not
accept string values containing embedded zeros, except as
arguments to the
q
option.
string.len(s)
Receives a string and returns its length. The empty string "" has
length 0. Embedded zeros are counted, so "a\000bc\000" has
length 5.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-27
String library functions
Function Description
string.lower(s)
Receives a string and returns a copy of this string with all
uppercase letters changed to lowercase. All other characters are
left unchanged.
string.rep(s, n)
Returns a string that is the concatenation of n copies of the
string s.
string.sub(s, i)
string.sub(s, i, j)
Returns the substring of s that starts at i and continues until j; i
and j can be negative. If j is absent, it is assumed to be equal to
-1 (which is the same as the string length). In particular, the call
string.sub(s, 1, j) returns a prefix of s with length j, and
string.sub(
s
, -
i
)
returns a suffix of s with length i.
string.upper(s)
Receives a string and returns a copy of this string with all
lowercase letters changed to uppercase. All other characters are
left unchanged.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument Ref
erence Manual
6-28 2600BS-901-01 Rev. C / August 2016
Math library functions
This library is an interface to most of the functions of the ANSI C math library. All trigonometric
functions work in radians. The functions math.deg() and math.rad() convert between radians
and degrees.
Math library functions
Function Description
math.abs(x)
Returns the absolute value of x.
math.acos(x)
Returns the arc cosine of x.
math.asin(x)
Returns the arc sine of x.
math.atan(x)
Returns the arc tangent of x.
math.atan2(y, x)
Returns the arc tangent of y
/
x, but uses the signs of both parameters to
find the quadrant of the result (it also handles correctly the case of x
being zero).
math.ceil(x)
Returns the smallest integer larger than or equal to x.
math.cos(x)
Returns the cosine of x.
math.deg(x)
Returns the angle
x
(given in radians) in degrees.
math.exp(x)
Returns the value
ex
.
math.floor(x)
Returns the largest integer smaller than or equal to x.
math.frexp(x)
Returns m and e such that x = m2
e
, where e is an integer and the
absolute value of
m
is in the range
[0.5, 1]
(or zero when x is zero).
math.ldexp(x, n)
Returns m2e (e should be an integer).
math.log(x)
Returns the natural logarithm of x.
math.log10(x)
Returns the base-10 logarithm of
x
.
math.max(x, ...)
Returns the maximum value among its arguments.
math.min(x, ...)
Returns the minimum value among its arguments.
math.pi
The value of π (3.141592654).
math.pow(x, y)
Returns x
y
(you can also use the expression x^y to compute this value).
math.rad(x)
Returns the angle x (given in degrees) in radians.
math.random()
math.random(m)
math.random(m, n)
This function is an interface to the simple pseudorandom generator
function rand provided by ANSI C.
When called without arguments, returns a uniform pseudorandom real
number in the range [0,1]. When called with an integer number m,
math.random() returns a uniform pseudorandom integer in the
range [1, m]. When called with two integer numbers m and n,
math.random() returns a uniform pseudorandom integer in the
range
[
m, n
]
.
math.randomseed(x)
Sets x as the seed for the pseudorandom generator: equal seeds
produce equal sequences of numbers.
math.sin(x)
Returns the sine of x.
math.sqrt(x)
Returns the square root of x. (You can also use the expression x^0.5 to
compute this value.)
math.tan(x)
Returns the tangent of x.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-29
Programming example
The following script puts a message on the front panel display slowly one character at a time. The
intent of this example is to demonstrate:
The use of a for loop
Simple display remote commands
Simple Lua string manipulation
When creating a script using the TSB Embedded, you do not need the shell commands
loadscript and endscript, as shown in the examples below.
Example: User script
User script created in TSB Embedded User script created in user's own program
loadscript
display.clear()
myMessage = "Hello World!"
for k = 1, string.len(myMessage) do
x = string.sub(myMessage, k, k)
display.settext(x)
print(x)
delay(1)
end
display.clear()
myMessage = "Hello World!"
for k = 1, string.len(myMessage) do
x = string.sub(myMessage, k, k)
display.settext(x)
print(x)
delay(1)
end
endscript
Test Script Builder (TSB)
Keithley Instruments Test Script Builder (TSB) is a software tool included with your Series 2600B.
You can install and use TSB to develop scripts for TSP-enabled instruments.
Installing the TSB software
The installation files for the Test Script Builder software are available for download from the Keithley
Downloads web page (http://www.tek.com/downloads).
To install the Test Script Builder (TSB) software:
1. Close all programs.
2. Download the installer to your computer and double-click the .exe file to start the installation.
3. Follow the on-screen instructions.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-30 2600BS-901-01 Rev. C / August 2016
Installing the TSB add-in
When you install the Test Script Builder Software Suite, all available updates for TSB Add-in software
are also installed. This includes any additional tools for the Test Script Builder (TSB), and Series
2600B-specific examples and help files (see Installing the TSB software (on page 6-29)). If you have
an existing version of the TSB that does not have model-specific examples for an instrument you are
using, you can download a separate add-in from the Keithley Instruments webite
(http://www.tek.com/keithley).
Before installing the TSB Add-in software, you must install the TSB software.
To install the TSB Add-in software:
1. Close all programs.
2. Download the Add-in to your computer and double-click it to start installation.
3. Follow the on-screen instructions.
Using Test Script Builder (TSB)
Keithley Instruments Test Script Builder (TSB) is a software tool that simplifies building test scripts.
You can use TSB to perform the following operations:
Send remote commands and Lua statements
Receive responses (data) from commands and scripts
Upgrade instrument firmware
Create, manage, and run user scripts
Debug scripts
Import factory scripts to view or edit and convert to user scripts
The Keithley Instruments Test Script Processor (TSP®) scripting engine is a Lua interpreter. In TSP-
enabled instruments, the Lua programming language has been extended with Keithley-specific
instrument control commands. For more information about using the Lua scripting language with
Keithley TSP-enabled instruments, refer to the Fundamentals of programming for TSP (on page 6-11)
section.
Keithley has created a collection of remote commands specifically for use with Keithley TSP-enabled
instruments; for detailed information about those commands, refer to the "Command reference"
section of the documentation for your specific instrument. You can build scripts from a combination of
these commands and Lua programming statements. Scripts that you create are referred to as "user
scripts." Also, some TSP-enabled instruments come with a number of built-in factory scripts.
The following figure shows an example of the Test Script Builder. As shown, the workspace is divided
into these areas:
Project navigator
Script editor
Outline view
Programming interaction
Help files
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instrument
programming
2600BS-901-01 Rev. C / August 2016 6-31
Figure 110: Example of the Test Script Builder workspace
Item Description
1
Project navigator
2
Script editor; right-click to run the script that is displayed
3
Outline view
4
Programming interaction
5
Help; includes detailed information on using Test Script Builder
Project navigator
The project navigator consists of project folders and the script files (.tsp) created for each project.
Each project folder can have one or more script files.
To view the script files in a project folder, click the plus (+) next to the project folder. To hide the folder
contents, click the minus () next to the project folder.
You can download a TSP project to the instrument and run it, or you can run it from the TSB
interface.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-32 2600BS-901-01 Rev. C / August 2016
Script editor
The script editor is where scripts are written, modified, and debugged.
To open and display a script file, double-click the file name in the project navigator. You can have
multiple script files open in the script editor at the same time. Each open script file is displayed on a
separate tab.
To display another script file that is already open, click the tab that contains the script in the script
editor area.
Outline view
The outline view allows you to navigate through the structure of the active script in the script editor.
Double-clicking a variable name or icon causes the first instance of the variable in the active script to
be highlighted.
This view shows:
Names of local and global variables
Functions referenced by the active script in the script editor
Parameters
Loop control variables
Table variables
Simple assignments to table fields
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-33
The Outline tab is visible by default in the TSP perspective.
Icon Name Examples
Global function variable
function gFunction()
end
Local function variable
local function lFunction()
end
Anonymous function
myTest(function() return 1 end)
Global table variable
gTable = { }
Local table variable
local lTable = { }
Other table field
testTable.unit1 = "This is unit 1"
testTable.unit2 = "This is unit 2"
Global variable
gVariable = 3
Local variable
local lVariable = 5
Table method
gTable = { }
function gTable:testmethod()
end
[ ]
Nonfunction block
statement (example 1)
if true == true then
local var
end
Nonfunction block
statement (example 2)
for index = 1, 10 do
end
Programming interaction
This part of the workspace is where you interact with the scripts that you are building in Test Script
Builder (TSB). The actual contents of the programming interaction area of the workspace can vary.
You can send commands from the Instrument Console command line, retrieve data, view variables
and errors, and view and set breakpoints when using the debug feature.
Password management
The Series 2600B has password capabilities that let you decide how to password protect the
instrument. You can enable password policies to lock the instrument. Locking the instrument prevents
unauthorized access to any remote interface and reserves the instrument exclusively for your use.
When password usage is enabled, you must supply a password to change the configuration or to
control an instrument from a web page or other remote command interface.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument Referen
ce Manual
6-34 2600BS-901-01 Rev. C / August 2016
Password overview
Passwords can contain up to 255 characters.
If the password feature is enabled, a password is required to view and modify the following web
pages:
IP configuration
Set password
TSB Embedded
Reading buffers
Flash upgrade
TSP® Express
Complete the following steps to set the password.
1. From the web interface, click Set Password.
The LXI - Keithley Instruments - 2600B - Administration page is displayed.
2. In the "Current Password" field, type the existing password.
3. In the "New Password" field, type the new password.
4. Retype the new password in the "Confirm Password" field.
5. Click Submit.
The LXI Welcome page is displayed.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-35
Setting the password from a command interface
The password is set (or changed) by setting the localnode.password attribute. For example:
localnode.password = "Keithley"
The attribute localnode.passwordmode enables passwords and sets the mode. The password
mode identifies which interface to password protect.
Use one of the following attributes to set the password mode.
localnode.PASSWORD_WEB. Passwords are only required for the web interface.
localnode.PASSWORD_LAN. Enables passwords on all Ethernet and web interfaces.
localnode.PASSWORD_ALL. Protects the LAN and all command and web interfaces.
localnode.PASSWORD_NONE. Disables all passwords.
The password lock feature on Series 2600B is similar to the lock feature on your computer.
You must enable passwords to use this feature.
To lock the instrument when you are away from the testing area, send the following command:
password
The remote interface is locked. The Series 2600B does not respond to commands issued from the
command interface until you unlock the interface. This reserves the instrument and protects the test
script running on the instrument.
Unlocking the remote interface
If the remote interface is locked, you must enter the password before the Series 2600B responds to
any command issued over a remote interface.
The password for the example below is Keithley.
To unlock the remote interface, send the following command:
password Keithley
The Series 2600B is unlocked and communicates with any remote interface.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-36 2600BS-901-01 Rev. C / August 2016
Resetting the password
If you forget the password, you can reset the password from the front panel. Once you enable the
password feature, the Series 2600B stores this password until the LAN configuration is reset or until
you reset the password.
Complete the following steps to reset the password:
From the front panel, press the MENU key, and then select RESET-PASSWORD.
If you reset the LAN settings, you must re-enable the password feature.
Working with TSB Embedded
TSB Embedded is an alternative to the full version of the Test Script Builder (TSB) Suite. The
capabilities of TSB Embedded are similar to TSB. TSB Embedded includes a command line interface
that you can use to send instrument commands and create, modify, and save test scripts to the
instrument.
Sending instrument commands with TSB Embedded
The response from the instrument appears in the instrument output area.
To send commands from the command line:
1. Type the command in the Console field and then press the Enter key.
2. (Optional) Click Clear to clear the instrument output area.
To create a new script:
1. Click in the script editor area and then type the first line of your script. Then press the Enter key
to advance to line 2.
2. In the TSP Script field, type the name of the script and then click Save Script.
The instrument validates the syntax and then saves the script to the nonvolatile memory.
To remove the code from the script editor:
Click Clear.
To run a script:
1. Select a script from the User Scripts area.
2. Click Run.
To stop a running script:
Click Abort Script.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instrument prog
ramming
2600BS-901-01 Rev. C / August 2016 6-37
You cannot retrieve a deleted script. Be sure to back up your script to your computer before deleting.
To delete a script from TSB embedded:
1. Select the script from the User Scripts area.
2. Click Delete.
To modify a script:
1. Select the script from the User Scripts area.
2. Modify the code in the script editor.
3. Click Save Script to validate the syntax and save the script.
4. The following message is displayed: Script <filename> will be overwritten. Do one of the
following:
To overwrite the script, click OK.
To save the script with a new name, click Cancel and then type the name of the script in the name field.
To export a script to be saved on an external drive (or to store as a backup on your computer):
1. To export a script, click the name of the script in the User Scripts area.
2. Click Export to PC. The Save dialog box is displayed.
3. Go to the file or directory in the Look In list.
4. In the File Name field, type the name of the file, and then click Save.
Advanced scripting for TSP
The following topics describe advanced information that can help you understand how the Test Script
Processor (TSP®) scripting engine works.
Global variables and the script.user.scripts table
When working with script commands, it is helpful to understand how scripts are handled in the
instrument.
Scripts are loaded into the run-time environment from nonvolatile memory when you turn the
instrument on. They are also added to the run-time environment when you load them into the
instrument.
A script in the run-time environment can be:
A named script
An unnamed script
The anonymous script (which is a special unnamed script)
When a named script is loaded into the runtime environment:
A global variable with the same name is created to reference the script more conveniently.
An entry for the script is added to the script.user.scripts table.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-38 2600BS-901-01 Rev. C / August 2016
When you create a script using the script.new() function without providing a name, the script is
added to the run-time environment as an unnamed script. The script.new() function returns the
script, but the script is not added to the script.user.scripts table.
When the anonymous script is loaded, it does not have a global variable or an entry in the
script.user.scripts table. If there is an existing anonymous script, it is replaced by the new
one.
When the instrument is turned off, everything in the run-time environment is deleted, including the
scripts and global variables.
See the figure below to see how the scripts, global variables, and script.user.scripts table
interrelate.
Figure 111: Global variables and scripts in the runtime environment
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-39
Create a script using the script.new() command
Use the script.new() function to copy an existing script from the local node to a remote node. This
enables parallel script execution.
You can create a script with the script.new() function using the command:
scriptVar = script.new(code, name)
Where:
scriptVar
= Name of the variable created when the script is loaded into the run-time environment
code
= Content of the script
name
= Name that is added to the script.user.scripts table
For example, to set up a two-second beep, you can send the command:
beepTwoSec = script.new("beeper.enable = 1 beeper.beep(2, 2400)", "beepTwoSec")
To run the new script, send the command:
beepTwoSec()
When you add beepTwoSec, the global variable and script.user.scripts table entries are
made to the run-time environment as shown in the following figure.
Figure 112: Runtime environment after creating a script
Create an unnamed script using script.new()
Unnamed scripts are not available from the front-panel display of the instrument. Only the
anonymous script and named scripts are available from the front-panel display.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-40 2600BS-901-01 Rev. C / August 2016
When you create a script using script.new(), if you do not include name, the script is added to the
run-time environment as an unnamed script. The script.new() function returns the script. You can
assign it to a global variable, a local variable, or ignore the return value. A global variable is not
automatically created.
For example, send the following command:
hello = script.new('display.clear() display.settext("hello")')
A script is created in the run-time environment and a global variable is created that references the
script.
To run the script, send the command:
hello()
Figure 113: Create an unnamed script
A script will become unnamed if you create a new script with the same name. In this circumstance,
the name of the script in the script.user.scripts table is set to an empty string before it is
replaced by the new script.
For example, if beepTwoSec already exists in the script.user.scripts table and you sent:
beepTwoSec1200 = script.new("beeper.enable = 1 beeper.beep(2, 1200)", "beepTwoSec")
The following actions occur:
beepTwoSec1200 is added as a global variable.
The script that was in the run-time environment as beepTwoSec is changed to an unnamed script
(the name attribute is set to an empty string).
The global variable beepTwoSec remains in the run-time environment unchanged (it points to the
now unnamed script).
A new script named beepTwoSec is added to the run-time environment.
In this example, you can access the new script by sending either of the following commands:
beepTwoSec1200()
script.user.scripts.beepTwoSec()
To access the unnamed script, you can send the command:
beepTwoSec()
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-41
Figure 114: Create a new script with the name of an existing script
Rename a script
You can rename a script. You might want to rename a script if you need to name another script the
same name as the existing script. You could also rename an existing script to be the autoexec script.
To change the name of a script, use the command:
scriptVar.name = "renamedScript"
Where:
scriptVar
=
The global variable name
"renamedScript"
= The new name of the user script that was referenced by the scriptVar
global variable
After changing the name, you need to save the original script to save the change to the name
attribute.
For example:
beepTwoSec.name = "beep2sec"
beepTwoSec.save()
Run the beep2sec script using the following command:
script.user.scripts.beep2sec()
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-42 2600BS-901-01 Rev. C / August 2016
If the new name is the same as a name that is already used for a script, the name of the existing
script is removed and that script becomes unnamed. This removes the existing script if there are no
other variables that reference the previous script. If variables do reference the existing script, the
references remain intact.
Changing the name of a script does not change the name of any variables that reference that script.
After changing the name, the script is located in the script.user.scripts table under its new
name.
Figure 115: Rename script
For example, to change the name of the script named test2 to be autoexec:
test2.name = "autoexec"
test2.save()
The autoexec script runs automatically when the instrument is turned on. It runs after all the scripts
have loaded and any scripts marked as autorun have run.
You can also use the script.new() and the scriptVar.source attribute commands to create a
script with a new name. For example, if you had an existing script named test1, you could create a
new script named test2 by sending the command:
test2 = script.new(test1.source, "test2")
See script.new() (on page 7-178).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instrume
nt programming
2600BS-901-01 Rev. C / August 2016 6-43
Retrieve a user script
There are several ways to retrieve the source code of a user script:
One line at a time: Use scriptVar.list() to retrieve the source code one line at a time
Entire script: Use the print(scriptVar.source) command to retrieve the script source code
as a single string
Use TSB Embedded
See Create and load a script (on page 6-3) for information about loading the script back into the
instrument after retrieving and modifying it.
To get a list of scripts that are in nonvolatile memory, use the script.user.catalog() (on page 7-181)
function.
Retrieve source code one line at a time
To retrieve the source code one line at a time, send the scriptVar.list() command. When this
command is received, the instrument sends the entire script. Each line of the script is sent as a
separate response message. The output includes the loadscript or loadandrunscript and
endscript keywords.
After retrieving the source code, you can modify and save the command lines as a user script under
the same name or a new name.
To retrieve the source code of a script one line at a time, send the command:
scriptVar.list()
Where scriptVar is the name of the script.
To retrieve the commands in the anonymous script, use script.anonymous.list().
Example: Retrieve source code one line at a time
test.list()
Retrieve the source of a script named "test".
The output will look similar to:
loadscript test
display.clear()
display.settext("This is a test")
print("This is a test")
endscript
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-44 2600BS-901-01 Rev. C / August 2016
Retrieve a script as a single string
To retrieve the entire user script source code as a single string, use the scriptVar.source
attribute. The loadscript or loadandrunscript and endscript keywords are not included.
To retrieve the source code as a single string, send the command:
print(scriptVar.source)
Where scriptVar is the name of the script.
Example: Retrieve the source code as a single string
print(test.source)
Retrieve the source of a script named
"test".
Output might look similar to:
display.clear()
display.settext("This is a
test") print("This is a
test")
Delete user scripts from the instrument
In most circumstances, you can delete a script using script.delete() (as described in Delete
user scripts (on page 6-9)), and then turn the instrument off and back on again. However, if you
cannot turn the instrument off, you can use the following steps to completely remove a script from the
instrument.
When you completely remove a script, you delete all references to the script from the run-time
environment, the script.user.scripts table, and nonvolatile memory.
To completely remove a script:
1. Remove the script from the run-time environment. Set any variables that refer to the script to
nil or assign the variables a different value. For example, to remove the script "beepTwoSec"
from the run-time environment, send the following code:
beepTwoSec = nil
2. Remove the script from the script.user.scripts table. Set the name attribute to an empty
string (""). This makes the script nameless, but does not make the script become the anonymous
script. For example, to remove the script named "beepTwoSec", send the following code:
script.user.scripts.beepTwoSec.name = ""
3. Remove the script from nonvolatile memory. To delete the script from nonvolatile memory,
send the command:
script.delete("name")
Where name is the name that the script was saved as. For example, to delete "beepTwoSec",
you would send:
script.delete("beepTwoSec")
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-45
Restore a script to the run-time environment
You can retrieve a script that was removed from the run-time environment but is still saved in
nonvolatile memory.
To restore a script from nonvolatile memory into the run-time environment, you can use
script.restore("scriptName"), where scriptName is the user-defined name of the script to
be restored.
For example, to restore a user script named "test9" from nonvolatile memory:
script.restore("test9")
Memory considerations for the run-time environment
The Series 2600B reserves 32 MB of memory for dynamic run-time use. Approximate allocation of
this memory is shown below:
5 MB
Firmware general operation
1 MB
Reserve for instrument internal operation
2 MB
Reserve for future firmware updates
24 MB
Run-time environment, user-created reading buffers, and active sweep
configuration
Note that the run-time environment, user-created reading buffers, and active sweep configuration
must fit in the 24 MB of memory that is available. The amount of memory used by a reading buffer is
approximately 15 bytes for each entry requested.
Reading buffers also use a small amount of memory for reading buffer management, which is not
significant when making memory utilization calculations. For example, assume two reading buffers
were created. One of them was created to store up to 1,000 readings and the other to store up to
2,500 readings. The memory reserved for the reading buffers is calculated as follows:
(1000 * 15) + (2500 * 15) = 52,500 bytes or 52.5 kilobytes
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument Refe
rence Manual
6-46 2600BS-901-01 Rev. C / August 2016
Note that the dedicated reading buffers do not consume memory that is needed by the run-time
environment; do not include them in your memory consumption calculations. Also, reading buffers for
remote nodes consume memory on the remote node, not the local node. You should be sure the total
reading buffer memory for any particular remote node does not exceed 24 MB, but do not include that
amount in your local memory consumption calculations.
The amount of memory used by a sweep configuration is based on the number of source points. The
actual memory consumption can vary greatly depending on the source-measure unit (SMU) settings,
but as a general rule, each source point can be expected to consume at least 24 bytes.
It is possible for the memory used for the run-time environment, sweep configuration and reading
buffers to exceed 24 MB. When this occurs, there is a risk that memory allocation errors will occur
and commands will not be executed as expected.
If the instrument encounters memory allocation errors when the memory used is above 95 percent,
the state of the instrument cannot be guaranteed. After attempting to save any important data, turn
off power to the instrument and turn it back on to reset the run-time environment and return the
instrument to a known state. Unsaved scripts and reading buffers will be lost.
The amount of memory in use can be checked using the meminfo() function. The first value
returned by meminfo() is the number of kilobytes of memory in use.
If the amount of memory used is over 95 percent, or if you receive out-of-memory errors, you should
reduce the amount of memory that is used.
Some suggestions for increasing the available memory:
Turn the instrument off and on. This deletes scripts that have not been saved and reloads only
scripts that have been stored in nonvolatile memory.
Remove unneeded scripts from nonvolatile memory. Scripts are loaded from nonvolatile memory
into the run-time environment when the instrument is turned on. See Delete user scripts from the
instrument (on page 6-44).
Reduce the number of TSP-Link® nodes.
Delete unneeded global variables from the run-time environment by setting them to nil.
Set the source attribute of all scripts to nil.
Adjust the collectgarbage() settings in Lua. See Lua memory management (on page 6-26)
for more information.
Review scripts to optimize their memory usage. In particular, you can see memory gains by
changing string concatenation lines into a Lua table of string entries. You can then use the
table.concat() function to create the final string concatenation.
TSP-Link system expansion interface
The TSP-Link® is not available on the Models 2604B, 2614B, and 2634B.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-47
Overview
The TSP-Link® expansion interface allows the Series 2600B instrument to communicate with other
Test Script Processor (TSP®) enabled instruments. The test system can be expanded to include up to
32 TSP-Link enabled instruments.
Combining two Series 2600B instruments to achieve greater currents in both source voltage and
source current applications requires specific precautions, including configuration settings. Make sure
that you adequately understand the risks involved and the measures needed to accommodate the
combination of two Series 2600B instruments. To prevent damage to the Series 2600B, connected
instruments, and the device under test, make sure proper procedures are used. For further
information, visit the Keithley Instruments webite (http://www.tek.com/keithley) for application notes
on combining two Series 2600B channels.
Master and subordinates
In a TSP-Link® system, one of the nodes (instruments) is the master node and the other nodes are
the subordinate nodes. The master node in a TSP-Link® system can control the other nodes
(subordinates) in the system.
When any node transitions from local operation to remote operation, it becomes the master of the
system. All other nodes also transition to remote operation and become its subordinates. When any
node transitions from remote operation to local, all other nodes also transition to local operation, and
the master/subordinate relationship between nodes is dissolved.
In a TSP-Link® system, one of the nodes (instruments) is the master node and the other nodes are
the subordinate nodes. The master node in a TSP-Link® system can control the other nodes
(subordinates) in the system.
When any node transitions from local operation to remote operation, it becomes the master of the
system. All other nodes also transition to remote operation and become its subordinates. When any
node transitions from remote operation to local, all other nodes also transition to local operation, and
the master/subordinate relationship between nodes is dissolved.
The expanded system can be stand-alone or computer-based.
Stand-alone system: You can run a script from the front panel of any instrument (node) connected
to the system. When a script is run, all nodes in the system go into remote operation (REM indicators
turn on). The node running the script becomes the master and can control all of the other nodes,
which become its subordinates. When the script is finished running, all the nodes in the system return
to local operation (REM indicators turn off), and the master/subordinate relationship between nodes is
dissolved.
Computer-based system: You can use a computer and a LAN, GPIB, or RS-232 interface to any
single node in the system. This node becomes the interface to the entire system. When a command
is sent through this node, all nodes go into remote operation (REM indicators turn on). The node that
receives the command becomes the master and can control all of the other nodes, which become its
subordinates. In a computer-based system, the master/subordinate relationship between nodes can
only be dissolved by performing an abort operation.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-48 2600BS-901-01 Rev. C / August 2016
TSP-Link system
You can use the TSP-Link® expansion interface to expand your test system to include up to 32
addressable TSP® enabled instruments that use the TSP-LINK®. The expanded system can be stand-
alone or computer-based.
Stand-alone system: You can run a script from the front panel of any instrument (node) connected
to the system. When a script is run, all nodes in the system go into remote operation (REM indicators
turn on). The node running the script becomes the master and can control all of the other nodes,
which become its subordinates. When the script is finished running, all the nodes in the system return
to local operation (REM indicators turn off), and the master/subordinate relationship between nodes is
dissolved.
Computer-based system: You can use a computer and a LAN, GPIB, or RS-232 interface to any
single node in the system. This node becomes the interface to the entire system. When a command
is sent through this node, all nodes go into remote operation (REM indicators turn on). The node that
receives the command becomes the master and can control all of the other nodes, which become its
subordinates. In a computer-based system, the master/subordinate relationship between nodes can
only be dissolved by performing an abort operation.
TSP-Link nodes
Each instrument (node) attached to the TSP-Link® network must be identified by assigning it a unique
TSP-Link node number.
Commands for remote nodes are stored in the node table. An individual node is accessed as
node[N], where N is the node number assigned to the node.
All TSP-accessible remote commands can be accessed as elements of the specific node. The
following attributes are examples of items you can access:
node[N].model: The product model number string of the node.
node[N].revision: The product revision string of the node.
node[N].serialno: The product serial number string of the node.
You do not need to know the node number of the node that is running a script. The variable
localnode is an alias for the node entry of the node where the script is running. For example, if a
script is running on node 5, you can use the global variable localnode as an alias for node[5].
With this in mind, to access the product model number for this example, use localnode.model.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instrument p
rogramming
2600BS-901-01 Rev. C / August 2016 6-49
Connections
Connections for an expanded system are shown in the following figure. As shown, one instrument is
optionally connected to the computer using the GPIB, LAN, USB, or RS-232 interface. Details about
these computer communication connections are described in Remote communication interfaces (on
page 2-88).
All the instruments in the system are connected in a sequence (daisy-chained) using LAN crossover
cables.
Figure 116: TSP-Link connections
Initialization
Before a TSP-Link® system can be used, it must be initialized. For initialization to succeed, each
instrument in a TSP-Link system must be assigned a different node number.
Assigning node numbers
At the factory, each Series 2600B instrument is assigned as node 1. The node number for each
instrument is stored in its nonvolatile memory and remains in storage when the instrument is turned
off. You can assign a node number to a Series 2600B using the front panel or by using a remote
command. Note that there can only be 32 physical nodes, but you can assign node numbers from 1
to 64.
To assign a node number from the front panel of the instrument:
1. Press the MENU key, then select TSPLINK > NODE.
2. Press the navigation wheel and select the desired number.
3. Press the ENTER key to save the node number.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-50 2600BS-901-01 Rev. C / August 2016
To assign a node number using a remote command:
Set the tsplink.node attribute of the instrument:
tsplink.node = N
Where: N = 1 to 64
To determine the node number of an instrument, you can read the tsplink.node attribute by
sending the following command:
print(tsplink.node)
The above print command outputs the node number. For example, if the node number is 1, a 1 is
displayed.
Resetting the TSP-Link network
After all the node numbers are set, you must initialize the system by performing a TSP-Link® network
reset.
If you change the system configuration after initialization, you must reinitialize the system by
performing a TSP-Link network reset. Changes that require that you reinitialize the TSP-Link network
include turning off power or rebooting any instrument in the system, or rearranging or disconnecting
the TSP-Link cable connections between instruments.
Front panel operation
To reset the TSP-Link® network from the front panel:
1. Power on all instruments connected to the TSP-Link network.
2. Press the MENU key, select TSPLINK, and then press the ENTER key.
3. Turn the navigation wheel to select RESET, and then press the ENTER key.
Remote programming
The commands associated with the TSP-Link® system reset are listed in the following table.
TSP-Link reset commands
Command Description
tsplink.reset()
Initializes the TSP-Link network
tsplink.state
Reads the state of the TSP-Link network:
online” if the most recent TSP-Link reset was
successful
offline
” if the reset operation failed
An attempted TSP-Link reset operation will fail if any of the following conditions are true:
Two or more instruments in the system have the same node number
There are no other instruments connected to the instrument performing the reset (only if the
expected number of nodes was not provided in the reset call)
One or more of the instruments in the system is turned off
If the actual number of nodes is less than the expected number
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-51
The programming example below illustrates a TSP-Link reset operation and displays its state:
tsplink.reset()
print(tsplink.state)
If the reset operation is successful, online is output to indicate that communications with all nodes
have been established.
Using the expanded system
Accessing nodes
A TSP-Link® reset command populates the node table. Each instrument in the system corresponds to
an entry in this table. Each entry is indexed by the node number of the instrument. The variable
node[N] (where N is the node number) is used to access any node in the system. For example, node
1 is represented as entry node[1] in the node table.
You can access all the remote commands for a specific node by adding node[N]. to the beginning
of the remote command, where N is the node number. For example, to set the NPLC value for the
source-measure unit (SMU) A on node 1 to 0.1, you could send the this command:
node[1].smua.measure.nplc = 0.1
The variable localnode is an alias for node[N], where N is the node number of the node on which
the code is running. For example, if node 1 is running the code, localnode can be used instead of
node[1].
The following programming examples illustrate how to access instruments in the TSP-Link system
(shown in TSP-Link connections):
You can use any one of the following three commands to reset SMU A of node 1 (which, in this
example, is the master). The other nodes in the system are not affected.
smua.reset()
localnode.smua.reset()
node[1].smua.reset()
The following command will reset SMU A of node 4, which is a subordinate. The other nodes are
not affected.
node[4].smua.reset()
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument Referenc
e Manual
6-52 2600BS-901-01 Rev. C / August 2016
Using the reset() command
Most TSP-Link® system operations target a single node in the system, but the reset() command
affects the system as a whole by resetting all nodes to their default settings:
-- Reset all nodes in a TSP-Link system to their default state.
reset()
Using the reset() command in a TSP-Link network differs from using the tsplink.reset()
command. The tsplink.reset() command reinitializes the TSP-Link network and may change
the state of individual nodes in the system.
Use node[N].reset() or localnode.reset() to reset only one of the nodes. The other nodes
are not affected. The following programming example shows this type of reset operation with code
that is run on node 1.
-- Reset node 1 only.
node[1].reset()
-- Reset the node you are connected to (in this case, node 1).
localnode.reset()
-- Reset node 4 only.
node[4].reset()
Using the abort command
An abort command terminates an executing script and returns all nodes to local operation (REM
indicators turn off). This dissolves the master/subordinate relationships between nodes. To invoke an
abort operation, either send an abort command to a specific node or press the EXIT (LOCAL) key
on any node in the system.
You can also perform an abort operation by pressing the OUTPUT ON/OFF control on any node. The
results are the same as above, with the addition that all source-measure unit (SMU) outputs in the
system are turned off.
Triggering with TSP-Link
The TSP-Link® expansion interface has three synchronization lines that function similarly to the digital
I/O synchronization lines. See Digital I/O (on page 3-82) and Triggering (on page 3-32) for more
information.
TSP advanced features
Use the Test Script Processor (TSP®) scripting engine's advanced features to:
Run test scripts simultaneously
Manage resources allocated to test scripts that are running simultaneously
Use the data queue to facilitate real-time communication between nodes on the TSP-Link®
network
When test scripts are run simultaneously, it improves functional testing, provides higher throughput,
and expands system flexibility.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-53
There are two methods you can use to run test scripts simultaneously:
Create multiple TSP-Link networks
Use a single TSP-Link network with groups
The following figure displays the first method, which consists of multiple TSP-Link networks. Each
TSP-Link network has a master node and a GPIB connection to the computer.
Figure 117: Multiple TSP-Link networks
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-54 2600BS-901-01 Rev. C / August 2016
The second method you can use to run simultaneous test scripts is to use groups with a single
TSP-Link network. Each group on the TSP-Link network can run a test while other groups are running
different tests.
A group consists of one or more nodes with the same group number. The following figure displays a
single TSP-Link network with groups. This method requires one TSP-Link network and a single GPIB
connection to the computer.
Figure 118: Single TSP-Link network with groups
The following table shows an example of the functions of a single TSP-Link network. Each group in
this example runs a different test script than the other groups, which allows the system to run multiple
tests simultaneously.
TSP-Link network group functions
Group
number
Group members Present function
0
Master node 1
Initiates and runs a test script on node 2
Initiates and runs a test script on node 5
Initiates and runs a test script on node 6
1 Group leader
Node 2
Runs the test script initiated by the master node
Initiates remote operations on node 3
Node 3 Performs remote operations initiated by node 2
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instrument progr
amming
2600BS-901-01 Rev. C / August 2016 6-55
TSP-Link network group functions
2 Group leader
Node 5
Runs the test script initiated by the master node
Initiates remote operations on node 4
Node 4 Performs remote operations initiated by node 5
3
Group leader
Node 6
Runs the test script initiated by the master node
Using groups to manage nodes on TSP-Link network
The primary purpose of groups is to allow each group to run a different test script simultaneously.
A group can consist of one or more nodes. You must assign group numbers to each node using
remote commands. If you do not assign a node to a group, it defaults to group 0, which will always be
grouped with the master node (regardless of the group to which the master node is assigned).
Master node overview
The master node can be assigned to any group. You can also include other nodes in the group that
includes the master. Note that any nodes that are set to group 0 are automatically included in the
group that contains the master node, regardless of the group that is assigned to the master node.
The master node is always the node that coordinates activity on the TSP-Link network.
The master node:
Is the only node that can use the execute() command on a remote node
Cannot initiate remote operations on any node in a remote group if any node in that remote group
is performing an overlapped operation (a command that continues to operate after the command
that initiated it has finished running)
Can execute the waitcomplete() command to wait for the group to which the master node
belongs; to wait for another group; or to wait for all nodes on the TSP-Link network to complete
overlapped operations (overlapped commands allow the execution of subsequent commands
while device operations of the overlapped command are still in progress)
Group leader overview
Each group has a dynamic group leader. The last node in a group that performs any operation
initiated by the master node is the group leader.
The group leader:
Performs operations initiated by the master node
Initiates remote operations on any node with the same group number
Cannot initiate remote operations on any node with a different group number
Can use the waitcomplete() command without a parameter to wait for all overlapped
operations running on nodes in the same group
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-56 2600BS-901-01 Rev. C / August 2016
Assigning groups
Group numbers can range from zero (0) to 64. The default group number is 0. You can change the
group number at any time. You can also add or remove a node to or from a group at any time.
Each time the node's power is turned off, the group number for that node changes to 0.
The following example code dynamically assigns a node to a group:
-- Assign node 3 to group 1.
node[3].tsplink.group = 1
Running simultaneous test scripts
You can send the execute() command from the master node to initiate a test script and Lua code
on a remote node. The execute() command places the remote node in the overlapped operation
state. As a test script runs on the remote node, the master node continues to process other
commands simultaneously.
Use the following code to send the execute() command for a remote node. The N parameter
represents the node number that runs the test script (replace N with the node number).
To set the global variable "setpoint" on node N to 2.5:
node[N].execute("setpoint = 2.5")
The following code demonstrates how to run a test script that is defined on the local node. For this
example, scriptVar is defined on the local node, which is the node that initiates the code to run on
the remote node. The local node must be the master node.
To run scriptVar on node N:
node[N].execute(scriptVar.source)
The programming example below demonstrates how to run a test script that is defined on a remote
node. For this example, scriptVar is defined on the remote node.
To run a script defined on the remote node:
node[N].execute("scriptVar()")
It is recommended that you copy large scripts to a remote node to improve system performance. See
Copying test scripts across the TSP-Link network (on page 6-57) for more information.
Coordinating overlapped operations in remote groups
All overlapped operations on all nodes in a group must have completed before the master node can
send a command to the group. If you send a command to a node in a remote group when an
overlapped operation is running on any node in that group, errors will occur.
You can execute the waitcomplete() command on the master node or group leader to wait for
overlapped operations. The action of waitcomplete() depends on the parameters specified.
If you want to wait for completion of overlapped operations for:
All nodes in the local group: Use waitcomplete() without a parameter from the master node
or group leader.
A specific group: Use waitcomplete(N) with a group number as the parameter from the
master node. This option is not available for group leaders.
All nodes in the system: Use waitcomplete(0) from the master node. This option is not
available for group leaders.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-57
For additional information, see waitcomplete() (on page 7-413).
The following code shows two examples of using the waitcomplete() command from the master
node:
-- Wait for each node in group N to complete all overlapped operations.
waitcomplete(N)
-- Wait for all groups on the TSP-Link network to complete overlapped operations.
waitcomplete(0)
A group leader can issue the waitcomplete() command to wait for the local group to complete all
overlapped operations.
The following code is an example of how to use the waitcomplete() command from a group
leader:
-- Wait for all nodes in the local group to complete all overlapped operations.
waitcomplete()
Using the data queue for real-time communication
Nodes that are running test scripts at the same time can store data in the data queue for real-time
communication. Each instrument has an internal data queue that uses the first-in, first-out (FIFO)
structure to store data. You can use the data queue to post numeric values, strings, and tables.
Use the data queue commands to:
Share data between test scripts running in parallel
Access data from a remote group or a local node on a TSP-Link® network at any time
You cannot access the reading buffers or global variables from any node in a remote group while a
node in that group is performing an overlapped operation. However, you can use the data queue to
retrieve data from any node in a group that is performing an overlapped operation. In addition, the
master node and the group leaders can use the data queue as a way to coordinate activities.
Tables in the data queue consume one entry. When a node stores a table in the data queue, a copy
of the data in the table is made. When the data is retrieved from the data queue, a new table is
created on the node that is retrieving the data. The new table contains a completely separate copy of
the data in the original table, with no references to the original table or any subtables.
You can access data from the data queue even if a remote group or a node has overlapped
operations in process. See the dataqueue commands in the TSP command reference (on page 7-1)
for more information.
Copying test scripts across the TSP-Link network
To run a large script on a remote node, copy the test script to the remote node to increase the speed
of test script initiation.
The code in the example below copies a test script across the TSP-Link® network, creating a copy of
the script on the remote node with the same name.
-- Add the source code from the script
-- testScript to the data queue.
node[2].dataqueue.add(testScript.source)
-- Create a new script on the remote node
-- using the source code from testScript.
node[2].execute(testScript.name ..
"= script.new(dataqueue.next(), [[" .. testScript.name .. "]])")
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument Reference Ma
nual
6-58 2600BS-901-01 Rev. C / August 2016
Removing stale values from the reading buffer cache
The node that acquires the data also stores the data for the reading buffer. To optimize data access,
all nodes can cache data from the node that stores the reading buffer data.
When you run Lua code remotely, it can cause reading buffer data that is held in the cache to
become stale. If the values in the reading buffer change while the Lua code runs remotely, another
node can hold stale values. Use the clearcache() command to clear the cache. For additional
detail on the reading buffer cache commands, see bufferVar.cachemode (on page 7-18) and
bufferVar.clearcache() (on page 7-20).
The following example code demonstrates how stale values occur and how to use the
clearcache() command to clear the cache on node 2, which is part of group 7.
-- Create a reading buffer on a node in a remote group.
node[2].tsplink.group = 7
node[2].execute("rbremote = smua.makebuffer(20)" ..
"smua.measure.count = 20 " ..
"smua.measure.v(rbremote)")
-- Create a variable on the local node to
-- access the reading buffer.
rblocal = node[2].getglobal("rbremote")
-- Access data from the reading buffer.
print(rblocal[1])
-- Run code on the remote node that updates the reading buffer.
node[2].execute("smua.measure.v(rbremote)")
-- Use the clearcache command if the reading buffer contains cached data.
rblocal.clearcache()
-- If you do not use the clearcache command, the data buffer
-- values will never update. Every time the print command is
-- issued after the first print command, the same data buffer
-- values will print.
print(rblocal[1])
TSP-Net
Overview
The TSP-Net® library allows the Series 2600B to control LAN-enabled devices directly through its
LAN port. This enables the Series 2600B to communicate directly with a device that is not TSP®
enabled without the use of a controlling computer.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6:
Instrument programming
2600BS-901-01 Rev. C / August 2016 6-59
TSP-Net capabilities
The TSP-Net library permits the Series 2600B to control a remote instrument through the LAN port for
both Test Script Processor (TSP®) and non-TSP instruments. Using TSP-Net library methods, you
can transfer string data to and from a remote instrument, transfer and format data into Lua variables,
and clear input buffers. The TSP-Net library is only accessible using commands from a remote
command interface.
You can use TSP-Net commands to communicate with any ethernet-enabled instrument. However,
specific TSP-Net commands exist for TSP-enabled instruments to allow for support of features unique
to the TSP scripting engine. These features include script downloads, reading buffer access, wait
completion, and handling of TSP scripting engine prompts.
Using TSP-Net commands with TSP-enabled instruments, a Series 2600B can download a script to
another TSP-enabled instrument and have both instruments run scripts independently. The Series
2600B can read the data from the remote instrument and either manipulate the data or send the data
to a different remote instrument on the LAN. You can simultaneously connect to a maximum of
32 devices using standard TCP/IP networking techniques through the LAN port of the Series 2600B.
Using TSP-Net with any ethernet instrument
Refer to TSP command reference (on page 7-1) for details about the commands presented in this
section.
The Series 2600B has Auto-MDIX, so you can use either a LAN crossover cable or a LAN straight-
through cable to connect directly from the Series 2600B to an ethernet device or to a hub.
To set up communication to a remote ethernet instrument that is TSP® enabled:
1. Send the following command to configure TSP-Net to send an abort command when a
connection to a TSP instrument is established:
tspnet.tsp.abortonconnect=1
If the scripts are allowed to run, the connection will be made, but the remote instrument may be
busy.
2. Send the command:
connectionID = tspnet.connect(ipAddress)
Where:
connectionID is the connection ID that will be used as a handle in all other TSP-Net function calls.
ipAddress is the IP address of the remote instrument.
See tspnet.connect() (on page 7-400) for additional detail.
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-60 2600BS-901-01 Rev. C / August 2016
To setup communication to a remote ethernet device that is not TSP enabled:
1. Send the command:
connectionID = tspnet.connect(ipAddress, portNumber, initString)
Where:
connectionID is the connection ID that will be used as a handle in all other TSP-Net function calls.
ipAddress is the IP address of the remote device.
portNumber is the port number of the remote device.
initString is the initialization string that is to be sent to ipAddress.
See tspnet.connect() (on page 7-400) for additional detail.
To communicate to a remote ethernet device from the Series 2600B:
1. Connect to the remote device using one of the above procedures. If the Series 2600B cannot
make a connection to the remote device, it generates a timeout error. Use tspnet.timeout to
set the timeout value. The default timeout value is 20 seconds.
2. Use tspnet.write() or tspnet.execute() to send strings to a remote device. If you use:
tspnet.write(): Strings are sent to the device exactly as indicated, and you must supply any
needed termination characters.
tspnet.execute(): The Series 2600B appends termination characters to all strings that are sent.
Use tspnet.termination() to specify the termination character.
1. To retrieve responses from the remote instrument, use tspnet.read(). The Series 2600B
suspends operation until the remote device responds or a timeout error is generated. To check if
data is available from the remote instrument, use tspnet.readavailable().
2. Disconnect from the remote device using the tspnet.disconnect() function. Terminate all
remote connections using tspnet.reset().
Example script
The following example demonstrates how to connect to a remote device that is not TSP® enabled,
and send and receive data from this device:
-- Disconnect all existing TSP-Net connections.
tspnet.reset()
-- Set tspnet timeout to 5 s.
tspnet.timeout = 5
-- Establish connection to another device with IP address 192.168.1.51
-- at port 1394.
id_instr = tspnet.connect("192.168.1.51", 1394, "*rst\r\n")
-- Print the device ID from connect string.
print("ID is: ", id_instr)
-- Set the termination character to CRLF. You must do this
-- for each connection after the connection has been made.
tspnet.termination(id_instr, tspnet.TERM_CRLF)
-- Send the command string to the connected device.
tspnet.write(id_instr, "*idn?" .. "\r\n")
-- Read the data available, then print it.
print("instrument write/read returns: ", tspnet.read(id_instr))
-- Disconnect all existing TSP-Net sessions.
tspnet.reset()
Series 2600B
System SourceMeter® Instrument Reference Manual Section 6: Instrument programmi
ng
2600BS-901-01 Rev. C / August 2016 6-61
TSP-Net compared to TSP-Link to communicate with TSP-enabled
devices
The TSP-Link® network interface is the preferred communication method for most applications where
communication occurs between the Series 2600B and another TSP-enabled instrument.
One of the advantages of using the TSP-Link network interface is that TSP-Link connections have
three synchronization lines that are available to each device on the TSP-Link network. You can use
any one of the synchronization lines to perform hardware triggering between devices on the TSP-Link
network. Refer to Hardware trigger modes (on page 3-57) for details.
However, if the distance between the Series 2600B and the TSP-enabled device is longer than
15 feet, use TSP-Net commands.
TSP-Net instrument commands: General device control
The following instrument commands provide general device control:
tspnet.clear() (on page 7-399)
tspnet.connect() (on page 7-400)
tspnet.disconnect() (on page 7-401)
tspnet.execute() (on page 7-402)
tspnet.idn() (on page 7-403)
tspnet.read() (on page 7-403)
tspnet.readavailable() (on page 7-404)
tspnet.reset() (on page 7-405)
tspnet.termination() (on page 7-405)
tspnet.timeout (on page 7-406)
tspnet.write() (on page 7-410)
TSP-Net instrument commands: TSP-enabled device control
The following instrument commands provide TSP-enabled device control:
tspnet.tsp.abort() (on page 7-407)
tspnet.tsp.abortonconnect (on page 7-407)
tspnet.tsp.rbtablecopy() (on page 7-408)
tspnet.tsp.runscript() (on page 7-409)
Section
6: Instrument programming Series 2600B System SourceMeter® Instrument
Reference Manual
6-62 2600BS-901-01 Rev. C / August 2016
Example: Using tspnet commands
function telnetConnect(ipAddress, userName, password)
-- Connect through Telnet to a computer.
id = tspnet.connect(ipAddress, 23, "")
-- Read the title and login prompt from the computer.
print(string.format("from computer--> (%s)", tspnet.read(id, "%n")))
print(string.format("from computer--> (%s)", tspnet.read(id, "%s")))
-- Send the login name.
tspnet.write(id, userName .. "\r\n")
-- Read the login echo and password prompt from the computer.
print(string.format("from computer--> (%s)", tspnet.read(id, "%s")))
-- Send the password information.
tspnet.write(id, password .. "\r\n")
-- Read the telnet banner from the computer.
print(string.format("from computer--> (%s)", tspnet.read(id, "%n")))
print(string.format("from computer--> (%s)", tspnet.read(id, "%n")))
print(string.format("from computer--> (%s)", tspnet.read(id, "%n")))
print(string.format("from computer--> (%s)", tspnet.read(id, "%n")))
end
function test_tspnet()
tspnet.reset()
-- Connect to a computer using Telnet.
telnetConnect("192.0.2.1", "my_username", "my_password")
-- Read the prompt back from the computer.
print(string.format("from computer--> (%s)", tspnet.read(id, "%n")))
-- Change directory and read the prompt back from the computer.
tspnet.write(id, "cd c:\\\r\n")
print(string.format("from computer--> (%s)", tspnet.read(id, "%s")))
-- Make a directory and read the prompt back from the computer.
tspnet.write(id, "mkdir TEST_TSP\r\n")
print(string.format("from computer--> (%s)", tspnet.read(id, "%s")))
-- Change to the newly created directory.
tspnet.write(id, "cd c:\\TEST_TSP\r\n")
print(string.format("from computer--> (%s)", tspnet.read(id, "%s")))
-- if you have data print it to the file.
-- 11.2 is an example of data collected.
cmd = "echo " .. string.format("%g", 11.2) .. " >> datafile.dat\r\n"
tspnet.write(id, cmd)
print(string.format("from computer--> (%s)", tspnet.read(id, "%s")))
tspnet.disconnect(id)
end
test_tspnet()
In this section:
TSP command programming notes .......................................... 7-1
Using the TSP command reference ......................................... 7-4
TSP commands ........................................................................ 7-8
TSP command programming notes
This section contains general information about using TSP commands.
Section 7
TSP command reference
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-2 2600BS-901-01 Rev. C / August 2016
Placeholder text
This manual uses italicized text to represent the parts of remote commands that must be replaced by
user specified values. The following examples show typical uses of italicized text:
Example 1:
gpib.address = address
Where:
address is an integer (0 to 30) that you specify. For example, to set this attribute to 15 you would
send:
gpib.address = 15
Example 2:
digio.trigger[N].assert()
Where:
N is an integer (1 to 14) that you specify. For example, to assert trigger line 7 you would send:
digio.trigger[7].assert()
To assert a trigger line with a variable as the integer, you would send:
triggerline = 7
digio.trigger[triggerline].assert()
Example 3:
smuX.trigger.measure.Y(rbuffer)
Where:
X refers to the source-measure unit (SMU) channel (use a for SMU A).
Y is the measurement type that you specify (v, i, r, or p).
rbuffer is the reading buffer object where the readings will be stored.
For example, to use SMU A to take voltage measurements and store them in buffer vbuffername,
you would send:
smua.trigger.measure.v(vbuffername)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-3
Syntax rules
The following table lists syntax requirements to build well-formed instrument control commands.
Syntax rules for instrument commands
Syntax rule Details Examples
Case sensitivity:
Instrument
commands are case
sensitive.
For best results,
simply match the
case shown in the
command reference
descriptions.
Function and attribute
names should be in
lowercase characters.
An example of the scriptVar.save()
function (where test8 is the name of the
script):
test8.save()
Parameters can use a
combination of lowercase
and uppercase
characters.
Attribute constants use
uppercase characters
In the command below, which sets the format of
data transmitted from the instrument to
double-precision floating point,
format.REAL64 is the attribute constant and
format.data is the attribute command:
format.data = format.REAL64
White space: Not
required in a
function.
Functions can be sent
with or without white
spaces.
The following functions, which set digital I/O line
3 low, are equivalent:
digio.writebit(3,0)
digio.writebit (3, 0)
Function
parameters: All
functions are
required to have a
set of parentheses ()
immediately
following the
function.
You can specify the
function parameters by
placing them between
the parentheses. Note
that the parentheses are
required even when
there are no parameters
specified.
The following function specifies all overlapped
commands in the nodes in group G must
complete before commands from other groups
can execute:
waitcomplete(G)
The command below reads the value of the
local time zone (no parameters are needed):
timezone = localnode.gettimezone()
Multiple
parameters: Must
be separated by
commas (,).
Some commands require
multiple parameters,
which must be separated
by commas (,).
This command sets the beeper to emit a
double-beep at 2400 Hz, with a beep sequence
of 0.5 seconds on, 0.25 seconds off, and then
0.5 seconds on:
beeper.beep(0.5, 2400)
delay(0.250)
beeper.beep(0.5, 2400)
Time and date values
Time and date values are represented as the number of seconds since some base. Representing
time as a number of seconds is referred to as “standard time format.” There are three time bases:
UTC 12:00 am Jan 1, 1970. Some examples of UTC time are reading buffer base timestamps,
adjustment dates, and the value returned by os.time().
Instrument on. References time to when the instrument was turned on. The value returned by
os.clock() is referenced to the turn-on time.
Event. Time referenced to an event, such as the first reading stored in a reading buffer.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-4 2600BS-901-01 Rev. C / August 2016
Using the TSP command reference
The TSP command reference contains detailed descriptions of each of the TSP commands that you
can use to control your instrument. Each command description is broken into subsections. The figure
below shows an example of a command description.
Figure 119: Example instrument command description
The subsections contain information about the command. The subsections are:
Command name and summary table
Usage
Details
Example
Also see
The content of each of these subsections is described in the following topics.
Command name and summary table
Each instrument command description starts with the command name, followed by a table with
relevant information for each command. Definitions for the numbered items in the figure below are
listed following the figure.
Figure 120: Command name and summary table
Series 2
600B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-5
1. Instrument command name. Indicates the beginning of the command description. It is followed
by a brief description of what the command does.
2. Type of command. Commands can be functions, attributes, or constants. If the command is an
attribute, it can be read-only (R), read-write (RW), or write-only (W). For detail on commands, see
Introduction to TSP operation (on page 5-1).
3. TSP-Link accessible. Yes or No; indicates whether or not the command can accessed through a
TSP-Link network.
4. Affected by. Commands or actions that have a direct effect on this command.
LAN restore defaults
Recall setup
Instrument reset: This command is reset when reset(), localnode.reset(), or *RST is sent.
1. Where saved. Indicates where the command settings reside once they are used on an
instrument. Options include:
Not saved: Command is not saved anywhere and must be typed each time you use it.
Nonvolatile memory: Storage area in the instrument where information is saved when the instrument
is turned off.
Saved setup: Command is saved as part of the saved setup.
1. Default value: Lists the default value or constant for the command. The parameter values are
defined in the Usage or Details sections of the command description.
Command usage
The Usage section of the remote command listing shows how to properly structure the command.
Each line in the Usage section is a separate variation of the command usage. All possible command
usage options are shown here.
Figure 121: TSP usage description
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-6 2600BS-901-01 Rev. C / August 2016
1 Structure of command usage: Shows how the parts of the command should be organized. If a
parameter is shown to the left of the command, it is the return when you print the command.
Information to the right are the parameters or other items you need to enter when setting the
command.
2 User-supplied parameters: Indicated by italics. For example, for the function
beeper.beep(duration, frequency), replace duration with the number of seconds and
frequency with the frequency of the tone. beeper.beep(2, 2400) generates a two-second,
2400 Hz tone.
Some commands have optional parameters. If there are optional parameters, they must be
entered in the order presented in the Usage section. You cannot leave out any parameters that
precede the optional parameter. Optional parameters are shown as separate lines in usage,
presented in the required order with each valid permutation of the optional parameters.
For example:
printbuffer(startIndex, endIndex, buffer1)
printbuffer(startIndex, endIndex, buffer1, buffer2)
3 Parameter value options: Descriptions of the options that are available for the user-defined
parameter.
Command details
This section lists additional information you need to know to successfully use the remote commands.
Figure 122: TSP Details description
Example section
The Example section of the remote command description shows some simple examples of how you
can use the command.
Figure 123: TSP example code
1 Actual example code that you can copy from this table and paste into your own programming
application.
2 Description of the code and what it does. This may also contain the output of the code.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-7
Related commands and information
The Also See section of the remote command description lists additional commands that are related
to the command being described.
Figure 124: TSP Also See description
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-8 2600BS-901-01 Rev. C / August 2016
TSP commands
beeper.beep()
generates an audible tone.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
beeper.beep(duration, frequency)
duration
The amount of time to play the tone (0.001 to 100 s)
frequency
The frequency of the tone in Hertz (Hz)
Details
You can use the beeper of the Series 2600B to provide an audible signal at a specified frequency and
time duration. For example, you can use the beeper to signal the end of a lengthy sweep.
The beeper will not sound if it is disabled. It can be disabled or enabled with the beeper enable
command, or through the front panel.
Example
beeper.enable = beeper.ON
beeper.beep(2, 2400)
Enables the beeper and generates a
two-second, 2400 Hz tone.
Also see
beeper.enable (on page 7-9)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-9
beeper.enable
This command allows you to turn the beeper on or off.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Recall setup
Instrument reset
Saved setup 1 (beeper.ON)
Usage
state = beeper.enable
beeper.enable = state
state
Disable the beeper: beeper.OFF or 0
Enable the beeper:
beeper.ON
or
1
Details
This command enables or disables the beeper. When enabled, a beep signals that a front-panel key
has been pressed. Disabling the beeper also disables front-panel key clicks.
Example
beeper.enable = beeper.ON
beeper.beep(2, 2400)
Enables the beeper and generates a
two-second, 2400 Hz tone.
Also see
beeper.beep() (on page 7-8)
bit.bitand()
This function performs a bitwise logical AND operation on two numbers.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
result = bit.bitand(value1, value2)
result
Result of the logical AND operation
value1
Operand for the logical AND operation
value2
Operand for the logical AND operation
Details
Any fractional parts of value1 and value2 are truncated to form integers. The returned result is
also an integer.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-10 2600BS-901-01 Rev. C / August 2016
Example
testResult = bit.bitand(10, 9)
print(testResult)
Performs a logical AND operation on decimal 10
(binary 1010) with decimal 9 (binary 1001), which
returns a value of decimal 8 (binary 1000).
Output:
8.00000e+00
Also see
Bit manipulation and logic operations (on page 5-3)
bit.bitor() (on page 7-10)
bit.bitxor() (on page 7-10)
bit.bitor()
This function performs a bitwise logical OR operation on two numbers.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
result = bit.bitor(value1, value2)
result
Result of the logical OR operation
value1
Operand for the logical OR operation
value2
Operand for the logical OR operation
Details
Any fractional parts of value1 and value2 are truncated to make them integers. The returned
result is also an integer.
Example
testResult = bit.bitor(10, 9)
print(testResult)
Performs a bitwise logical OR operation on decimal
10 (binary 1010) with decimal 9 (binary 1001), which
returns a value of decimal 11 (binary 1011).
Output:
1.10000e+01
Also see
Bit manipulation and logic operations (on page 5-3)
bit.bitand() (on page 7-9)
bit.bitxor() (on page 7-10)
bit.bitxor()
This function performs a bitwise logical XOR (exclusive OR) operation on two numbers.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-11
Usage
result = bit.bitxor(value1, value2)
result
Result of the logical XOR operation
value1
Operand for the logical XOR operation
value2
Operand for the logical XOR operation
Details
Any fractional parts of value1 and value2 are truncated to make them integers. The returned
result is also an integer.
Example
testResult = bit.bitxor(10, 9)
print(testResult)
Performs a logical XOR operation on decimal 10
(binary 1010) with decimal 9 (binary 1001), which
returns a value of decimal 3 (binary 0011).
Output:
3.00000e+00
Also see
Bit manipulation and logic operations (on page 5-3)
bit.bitand() (on page 7-9)
bit.bitor() (on page 7-10)
bit.clear()
This function clears a bit at a specified index position.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
result = bit.clear(value, index)
result
Result of the bit manipulation
value
Specified number
index
One-based bit position within value to clear (1 to 32)
Details
Any fractional part of value is truncated to make it an integer. The returned result is also an
integer.
The least significant bit of value is at index position 1; the most significant bit is at index position
32.
Example
testResult = bit.clear(15, 2)
print(testResult)
The binary equivalent of decimal 15 is 1111. If you
clear the bit at index position 2, the returned
decimal value is 13 (binary 1101).
Output:
1.30000e+01
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-12 2600BS-901-01 Rev. C / August 2016
Also see
Bit manipulation and logic operations (on page 5-3)
bit.get() (on page 7-12)
bit.set() (on page 7-13)
bit.test() (on page 7-15)
bit.toggle() (on page 7-16)
bit.get()
This function retrieves the weighted value of a bit at a specified index position.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
result = bit.get(value, index)
result
Result of the bit manipulation
value
Specified number
index
One-based bit position within value to get (1 to 32)
Details
This function returns the value of the bit in value at index. This is the same as returning value with
all other bits set to zero (0).
The least significant bit of value is at index position 1; the most significant bit is at index position
32.
If the indexed bit for the number is set to zero (0), the result will be zero (0).
Example
testResult = bit.get(10, 4)
print(testResult)
The binary equivalent of decimal 10 is 1010. If you
get the bit at index position 4, the returned decimal
value is 8.
Output:
8.00000e+00
Also see
Bit manipulation and logic operations (on page 5-3)
bit.clear() (on page 7-11)
bit.set() (on page 7-13)
bit.test() (on page 7-15)
bit.toggle() (on page 7-16)
bit.getfield()
This function returns a field of bits from the value starting at the specified index position.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-13
Usage
result = bit.getfield(value, index, width)
result
Result of the bit manipulation
value
Specified number
index
One-based bit position within
value
to get (1 to 32)
width
The number of bits to include in the field (1 to 32)
Details
A field of bits is a contiguous group of bits. This function retrieves a field of bits from value starting at
index.
The index position is the least significant bit of the retrieved field. The number of bits to return is
specified by width.
The least significant bit of value is at index position 1; the most significant bit is at index position
32.
Example
myResult = bit.getfield(13, 2, 3)
print(myResult)
The binary equivalent of decimal 13 is 1101.
The field at index position 2 and width 3
consists of the binary bits 110. The returned value
is decimal 6 (binary 110).
Output:
6.00000e+00
Also see
Bit manipulation and logic operations (on page 5-3)
bit.get() (on page 7-12)
bit.set() (on page 7-13)
bit.setfield() (on page 7-14)
bit.set()
This function sets a bit at the specified index position.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
result = bit.set(value, index)
result
Result of the bit manipulation
value
Specified number
index
One-based bit position within value to set (1 to 32)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-14 2600BS-901-01 Rev. C / August 2016
Details
This function returns result, which is value with the indexed bit set. The index must be between
1 and 32.
The least significant bit of value is at index position 1; the most significant bit is at index position
32.
Any fractional part of value is truncated to make it an integer.
Example
testResult = bit.set(8, 3)
print(testResult)
The binary equivalent of decimal 8 is 1000. If the bit at
index position 3 is set to 1, the returned value is
decimal 12 (binary 1100).
Output:
1.20000e+01
Also see
Bit manipulation and logic operations (on page 5-3)
bit.clear() (on page 7-11)
bit.get() (on page 7-12)
bit.getfield() (on page 7-12)
bit.setfield() (on page 7-14)
bit.test() (on page 7-15)
bit.toggle() (on page 7-16)
bit.setfield()
This function overwrites a bit field at a specified index position.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
result = bit.setfield(value, index, width, fieldValue)
result
Result of the bit manipulation
value
Specified number
index
One-based bit position in
value
to set (1 to 32)
width
The number of bits to include in the field (1 to 32)
fieldValue
Value to write to the field
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-15
Details
This function returns result, which is value with a field of bits overwritten, starting at index. The
index specifies the position of the least significant bit of value. The width bits starting at index
are set to fieldValue.
The least significant bit of value is at index position 1; the most significant bit is at index position
32.
Before setting the field of bits, any fractional parts of value and fieldValue are truncated to form
integers.
If fieldValue is wider than width, the most significant bits of the fieldValue that exceed the
width are truncated. For example, if width is 4 bits and the binary value for fieldValue is 11110 (5
bits), the most significant bit of fieldValue is truncated and a binary value of 1110 is used.
Example
testResult = bit.setfield(15, 2, 3, 5)
print(testResult)
The binary equivalent of decimal 15 is 1111. After
overwriting it with a decimal 5 (binary 101) at index
position 2, the returned value is decimal 11 (binary
1011).
Output:
1.10000e+01
Also see
Bit manipulation and logic operations (on page 5-3)
bit.get() (on page 7-12)
bit.set() (on page 7-13)
bit.getfield() (on page 7-12)
bit.test()
This function returns the Boolean value (true or false) of a bit at the specified index position.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
result = bit.test(value, index)
result
Result of the bit manipulation
value
Specified number
index
One-based bit position within value to test (1 to 32)
Details
This function returns result, which is the result of the tested bit.
The least significant bit of value is at index position 1; the most significant bit is at index position
32.
If the indexed bit for value is 0, result is false. If the bit of value at index is 1, the returned
value is true.
If index is bigger than the number of bits in value, the result is false.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-16 2600BS-901-01 Rev. C / August 2016
Example
testResult = bit.test(10, 4)
print(testResult)
The binary equivalent of decimal 10 is 1010.
Testing the bit at index position 4 returns a
Boolean value of true.
Output:
true
Also see
Bit manipulation and logic operations (on page 5-3)
bit.clear() (on page 7-11)
bit.get() (on page 7-12)
bit.set() (on page 7-13)
bit.toggle() (on page 7-16)
bit.toggle()
This function toggles the value of a bit at a specified index position.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
result = bit.toggle(value, index)
result
Result of the bit manipulation
value
Specified number
index
One-based bit position within
value
to toggle (1 to 32)
Details
This function returns result, which is the result of toggling the bit index in value.
Any fractional part of value is truncated to make it an integer. The returned value is also an integer.
The least significant bit of value is at index position 1; the most significant bit is at index position
32.
The indexed bit for value is toggled from 0 to 1, or 1 to 0.
Example
testResult = bit.toggle(10, 3)
print(testResult)
The binary equivalent of decimal 10 is 1010.
Toggling the bit at index position 3 returns a
decimal value of 14 (binary 1110).
Output:
1.40000e+01
Also see
Bit manipulation and logic operations (on page 5-3)
bit.clear() (on page 7-11)
bit.get() (on page 7-12)
bit.set() (on page 7-13)
bit.test() (on page 7-15)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-17
bufferVar.appendmode
This attribute sets the state of the reading buffer's append mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Not applicable See
Details
0 (disabled)
Usage
state = bufferVar.appendmode
bufferVar.appendmode = state
state
The reading buffer append mode; set to one of the following:
0: Append mode off; new measurement data overwrites the previous buffer content
1: Append mode on; appends new measurement data to the present buffer content
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
Details
Assigning a value to this attribute enables or disables the buffer append mode. This value can only be
changed with an empty buffer. Use bufferVar.clear() to empty the buffer.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
If the append mode is set to 0, any stored readings in the buffer are cleared before new ones are
stored. If append mode is set to 1, any stored readings remain in the buffer and new readings are
added to the buffer after the stored readings.
With append mode on, the first new measurement is stored at rb[n+1], where n is the number of
readings stored in buffer rb.
Example
buffer1.appendmode = 1
Append new readings to contents of the
reading buffer named buffer1.
Also see
bufferVar.clear() (on page 7-20)
Reading buffers (on page 3-6)
bufferVar.basetimestamp
This attribute contains the timestamp that indicates when the first reading was stored in the buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
See Details
0
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-18 2600BS-901-01 Rev. C / August 2016
Usage
basetime = bufferVar.basetimestamp
basetime
The timestamp of the first stored reading
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as
smua.nvbuffer1
)
Details
This read-only attribute contains the timestamp (in seconds) of the first reading stored in a buffer
(rb[1] stored in reading buffer rb). The timestamp is the number of seconds since 12:00 AM
January 1, 1970 (UTC) that the measurement was performed and stored.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
See the smuX.nvbufferY attribute for details on accessing dedicated reading buffers.
Example
basetime = smua.nvbuffer1.basetimestamp
print(basetime)
Read the timestamp for the first reading
stored in dedicated reading buffer 1
(source-measure unit (SMU) channel A).
Output:
1.28300e+09
This output indicates that the timestamp is
1,283,000,000 seconds (which is Saturday,
August 28, 2010 at 12:53:20 PM).
Also see
Reading buffers (on page 3-6)
smuX.measure.overlappedY() (on page 7-225)
smuX.measure.Y() (on page 7-229)
smuX.nvbufferY (on page 7-231)
smuX.trigger.measure.Y() (on page 7-264)
bufferVar.cachemode
This attribute enables or disables the reading buffer cache (on or off).
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Not applicable Not saved 1 (enabled)
Usage
cacheMode = bufferVar.cachemode
bufferVar.cachemode = cacheMode
cacheMode
The reading buffer cache mode; set to one of the following:
0: Cache mode disabled (off)
1
: Cache mode enabled (on)
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-19
Details
Assigning a value to this attribute enables or disables the reading buffer cache. When enabled, the
reading buffer cache improves access speed to reading buffer data.
If you run successive operations that overwrite reading buffer data, the reading buffer may return
stale cache data. This can happen when initiating successive sweeps without reconfiguring the
sweep measurements or when overwriting data in the reading buffer by setting the
bufferVar.fillmode attribute to smuX.FILL_WINDOW. To avoid this, make sure that you include
commands that automatically invalidate the cache as needed (for example, explicit calls to the
bufferVar.clearcache() function) or disable the cache using this attribute
(bufferVar.cachemode).
Example
smua.nvbuffer1.cachemode = 1
Enables reading buffer cache of
dedicated reading buffer 1
(source-measure unit (SMU)
channel A).
Also see
bufferVar.clearcache() (on page 7-20)
bufferVar.fillmode (on page 7-24)
Reading buffers (on page 3-6)
bufferVar.capacity
This attribute contains the capacity of the buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
See Details
Not applicable
Usage
bufferCapacity = bufferVar.capacity
bufferCapacity
The maximum number of readings the buffer can store
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
Details
This read-only attribute reads the number of readings that can be stored in the buffer.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
The buffer's capacity does not change as readings fill the buffer. A dedicated reading buffer that only
collects basic items can store over 140,000 readings. Turning on additional collection items, such as
timestamps and source values, decreases the capacity of a dedicated reading buffer (for example,
smua.nvbuffer1), but does not change the capacity of a user-defined dynamically allocated buffer.
A user-defined dynamically allocated buffer has a fixed capacity that is set when the buffer is created.
See the smuX.nvbufferY attribute for details on accessing dedicated reading buffers. See the
smuX.makebuffer() function for information on creating user-defined dynamically allocated
reading buffers.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-20 2600BS-901-01 Rev. C / August 2016
Example
bufferCapacity = smua.nvbuffer1.capacity
print(bufferCapacity)
Reads the capacity of dedicated reading
buffer 1 (source-measure unit (SMU)
channel A).
Output:
1.49789e+05
The above output indicates that the buffer
can hold 149789 readings.
Also see
Reading buffers (on page 3-6)
smuX.makebuffer() (on page 7-212)
smuX.measure.overlappedY() (on page 7-225)
smuX.measure.Y() (on page 7-229)
smuX.nvbufferY (on page 7-231)
smuX.trigger.measure.Y() (on page 7-264)
bufferVar.clear()
empties the buffer.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
bufferVar.clear()
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
Details
clears all readings and statistics from the specified buffer. (for example, bufferVar.timestamps
and bufferVar.statuses) from the specified buffer.
Example
smua.nvbuffer1.clear()
Clears dedicated reading buffer 1
(source-measure unit (SMU) channel A).
Also see
Reading buffers (on page 3-6)
smuX.nvbufferY (on page 7-231)
bufferVar.clearcache()
This function clears the cache.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-21
Usage
bufferVar.clearcache()
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
Details
This function clears all readings from the specified cache.
If you run successive operations that overwrite reading buffer data, the reading buffer may return
stale cache data. This can happen when you:
Initiate successive sweeps without reconfiguring the sweep measurements. Watch for this when running
Lua code remotely on more than one node, because values in the reading buffer cache may change
while the Lua code is running.
Overwrite data in the reading buffer by setting the bufferVar.fillmode attribute to
smuX.FILL_WINDOW.
To avoid this, you can include explicit calls to the bufferVar.clearcache() function to remove
stale values from the reading buffer cache.
Example
smua.nvbuffer1.clearcache()
Clears the reading buffer cache for
dedicated reading buffer 1 (source-measure
unit (SMU) channel A).
Also see
bufferVar.fillmode (on page 7-24)
Reading buffers (on page 3-6)
Removing stale values from the reading buffer cache (on page 6-58)
smuX.nvbufferY (on page 7-231)
bufferVar.collectsourcevalues
This attribute sets whether or not source values will be stored with the readings in the buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
See Details
0 (disabled)
Usage
state = bufferVar.collectsourcevalues
bufferVar.collectsourcevalues = state
state
Source value collection status; set to one of the following:
0: Source value collection disabled (off)
1: Source value collection enabled (on)
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as smua.nvbuffer1)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-22 2600BS-901-01 Rev. C / August 2016
Details
Assigning a value to this attribute enables or disables the storage of source values. Reading this
attribute returns the state of source value collection. This value can only be changed with an empty
buffer. Empty the buffer using the bufferVar.clear() function.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
When on, source values will be stored with readings in the buffer. This requires four extra bytes of
storage for each reading. Turning on additional collection items, such as source values (this attribute)
and timestamps, decreases the capacity of a dedicated reading buffer (for example,
smua.nvbuffer1), but does not change the capacity of a user-defined dynamically allocated buffer.
Example
smua.nvbuffer1.collectsourcevalues = 1
Include source values with readings for
dedicated reading buffer 1 (source-measure
unit (SMU) channel A).
Also see
bufferVar.clear() (on page 7-20)
Reading buffers (on page 3-6)
smuX.measure.overlappedY() (on page 7-225)
smuX.measure.Y() (on page 7-229)
smuX.nvbufferY (on page 7-231)
smuX.trigger.measure.Y() (on page 7-264)
bufferVar.collecttimestamps
This attribute sets whether or not timestamp values are stored with the readings in the buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
See Details
0 (disabled)
Usage
state = bufferVar.collecttimestamps
bufferVar.collecttimestamps = state
state
Timestamp value collection status; set to one of the following:
0: Timestamp value collection disabled (off)
1
: Timestamp value collection enabled (on)
bufferVar
The reading buffer. Can be a dynamically allocated user-defined buffer or a
dedicated reading buffer.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP co
mmand reference
2600BS-901-01 Rev. C / August 2016 7-23
Details
Assigning a value to this attribute enables or disables the storage of timestamps. Reading this
attribute returns the state of timestamp collection.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
When on, timestamp values are stored with readings in the buffer. This requires four extra bytes of
storage for each reading. Turning on additional collection items, such as timestamps (this attribute)
and source values, decreases the capacity of a dedicated reading buffer (for example,
smua.nvbuffer1), but does not change the capacity of a user-defined dynamically allocated buffer.
This value, off (0) or on (1), can only be changed when the buffer is empty. Empty the buffer using the
bufferVar.clear() function.
Example
smua.nvbuffer1.collecttimestamps = 1
Include timestamps with readings for
dedicated reading buffer 1 (source-measure
unit (SMU) channel A).
Also see
bufferVar.clear() (on page 7-20)
Reading buffers (on page 3-6)
smuX.measure.overlappedY() (on page 7-225)
smuX.measure.Y() (on page 7-229)
smuX.nvbufferY (on page 7-231)
smuX.trigger.measure.Y() (on page 7-264)
bufferVar.fillcount
This attribute sets the reading buffer fill count.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
See Details
0
Usage
fillCount = bufferVar.fillcount
bufferVar.fillcount = fillCount
fillCount
The reading buffer fill count
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as smua.nvbuffer1)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-24 2600BS-901-01 Rev. C / August 2016
Details
The reading buffer fill count sets the number of readings to store before restarting at index 1. If the
value is zero (0), then the capacity of the buffer is used. Use this attribute to control when the SMU
restarts filling the buffer at index 1, rather than having it restart when the buffer is full.
If the bufferVar.fillcount attribute is set to a value higher than the capacity of the buffer, after
storing the element at the end of the buffer, the SMU will overwrite the reading at index 1, the reading
after that will overwrite the reading at index 2, and so on.
This attribute is only used when the bufferVar.fillmode attribute is set to smuX.FILL_WINDOW.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Example
smua.nvbuffer1.fillcount = 50
Sets fill count of dedicated reading
buffer 1 (source-
measure unit (SMU)
channel A) to 50.
Also see
bufferVar.fillmode (on page 7-24)
bufferVar.fillmode
This attribute sets the reading buffer fill mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
See Details
0 (smuX.FILL_ONCE)
Usage
fillMode = bufferVar.fillmode
bufferVar.fillmode = fillMode
fillMode
The reading buffer fill mode; set to one of the following:
0 or smuX.FILL_ONCE: Do not overwrite old data
1 or smuX.FILL_WINDOW: New readings restart at index 1 after acquiring reading at
index bufferVar
.fillcount
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as
smua.nvbuffer1
)
Details
When this attribute is set to smuX.FILL_ONCE, the reading buffer will not overwrite readings. If the
buffer fills up, new readings will be discarded.
When this attribute is set to smuX.FILL_WINDOW, new readings will be added after existing data until
the buffer holds bufferVar.fillcount elements. Continuing the sequence, the next reading will
overwrite the reading at index 1, the reading after that will overwrite the reading at index 2, and so on.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-25
Example
smua.nvbuffer1.fillmode = smua.FILL_ONCE
Sets fill mode of dedicated reading
buffer 1 (source-
measure unit (SMU)
channel A) to fill once (do not
overwrite old data).
Also see
bufferVar.fillcount (on page 7-23)
Reading buffers (on page 3-6)
bufferVar.measurefunctions
This attribute contains the measurement function that was used to acquire a reading stored in a specified reading
buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
Usage
measurefunction = bufferVar.measurefunctions[N]
measurefunction
The measurement function used ("current", "voltage", "ohms", or "watts")
to acquire reading number
N
in the specified buffer
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as smua.nvbuffer1)
N
The reading number (1 to bufferVar.n)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Reference
Manual
7-26 2600BS-901-01 Rev. C / August 2016
Details
The measurefunctions buffer recall attribute is like an array (a Lua table) of strings indicating the
function measured for the reading.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Example 1
measurefunction = smua.nvbuffer1.measurefunctions[5]
Store the measure function
used to make reading
number 5.
Example 2
printbuffer(1, 5, smua.nvbuffer1.measurefunctions)
Print the measurement
function that was used to
measure the first five readings
saved in source-measure unit
(SMU) channel A, dedicated
reading buffer 1.
Example output:
Current, Current,
Current, Current,
Current
Also see
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
bufferVar.measureranges
This attribute contains the measurement range values that were used for readings stored in a specified buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
Usage
measurerange = bufferVar.measureanges[N]
measurerange
The measurement range used to acquire reading number N in the specified buffer
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as
smua.nvbuffer1
)
N
The reading number (1 to
bufferVar
.n)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-27
Details
The measureranges buffer recall attribute is like an array (a Lua table) of full-scale range values for
the measure range used when the measurement was made.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Example
measurerange = smua.nvbuffer1.measureranges[1]
Store the measure range that was
used to make reading number 1.
printbuffer(1, 10, smua.nvbuffer1.measureranges)
Print the range values that were used
for the first 10 readings saved in
source-measure unit (SMU) A,
dedicated reading buffer 1.
Example output:
1.00000e-07, 1.00000e-07,
1.00000e-07, 1.00000e-07,
1.00000e-07, 1.00000e-07,
1.00000e-07, 1.00000e-07,
1.00000e-07, 1.00000e-07
Also see
bufferVar.measurefunctions (on page 7-25)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
bufferVar.n
This attribute contains the number of readings in the buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
Usage
numberOfReadings = bufferVar.n
numberOfReadings
The number of readings stored in the buffer
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
Details
This read-only attribute contains the number of readings presently stored in the buffer.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-28 2600BS-901-01 Rev. C / August 2016
Example
numberOfReadings = smua.nvbuffer1.n
print(numberOfReadings)
Reads the number of readings stored in
dedicated reading buffer 1 (source-measure
unit (SMU) channel A).
Output:
1.25000+02
The above output indicates that there are 125
readings stored in the buffer.
Also see
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
smuX.measure.overlappedY() (on page 7-225)
smuX.measure.Y() (on page 7-229)
smuX.nvbufferY (on page 7-231)
smuX.trigger.measure.Y() (on page 7-264)
bufferVar.readings
This attribute contains the readings stored in a specified reading buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
Usage
reading = bufferVar.readings[N]
reading
The value of the reading in the specified reading buffer
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
N
The reading number (
1
to bufferVar
.n
)
Details
The readings buffer recall attribute is like 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.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP comma
nd reference
2600BS-901-01 Rev. C / August 2016 7-29
Example
print(smua.nvbuffer1.readings[1])
Output the first reading saved in
source-measure unit (SMU) channel A,
dedicated reading buffer 1.
Output:
8.81658e-08
Also see
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
bufferVar.sourcefunctions
This attribute contains the source function that was being used when the readings were stored in a specified
reading buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Clearing the buffer See
Details
Not applicable
Usage
sourcefunction = bufferVar.sourcefunctions[N]
sourcefunction
The source function used ("current" or "voltage") to acquire reading number N
in the specified buffer
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as
smua.nvbuffer1
)
N
The reading number (1 to
bufferVar
.n)
Details
The sourcefunctions buffer recall attribute is like an array (a Lua table) of strings indicating the
source function at the time of the measurement.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Example 1
sourcefunction = smua.nvbuffer1.sourcefunctions[3]
Store the source function used
to make reading number 3.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-30 2600BS-901-01 Rev. C / August 2016
Example 2
printbuffer(1, 10, smua.nvbuffer1.sourcefunctions)
Print the source function used
for 10 readings stored in
source-measure unit (SMU)
channel A, dedicated reading
buffer 1.
Example output:
Voltage, Voltage,
Voltage, Voltage,
Voltage, Voltage,
Voltage, Voltage,
Voltage, Voltage
Also see
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
bufferVar.sourceoutputstates
This attribute indicates the state of the source output for readings that are stored in a specified buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
Usage
state = bufferVar.sourceoutputstates[N]
state
The output state ("Off" or "On") when reading N of the specified buffer was
acquired
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as smua.nvbuffer1)
N
The reading number (1 to bufferVar.n)
Details
The sourceoutputstates buffer recall attribute is similar to an array (a Lua table) of strings. This
array indicates the state of the source output ("Off" or "On") at the time of the measurement.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-31
Example
printbuffer(1, 1, smua.nvbuffer1.sourceoutputstates)
Print the source output for the
first reading stored in source-
measure unit (SMU) channel A,
dedicated reading buffer 1.
Example output:
On
Also see
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
\
bufferVar.sourceranges
This attribute contains the source range that was used for readings stored in a specified reading buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
sourcerange = bufferVar.sourceranges[N]
sourcerange
The source range used to acquire reading number
N
in the specified buffer
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as smua.nvbuffer1)
N
The reading number (1 to
bufferVar
.n)
Details
The sourceranges buffer recall attribute is like an array (a Lua table) of full-scale range values for the
source range used when the measurement was made.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Example 1
sourcerange = smua.nvbuffer1.sourceranges[1]
Store the source range that was used for the
first reading stored in source-measure unit
(SMU) A, dedicated reading buffer 1.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Reference Ma
nual
7-32 2600BS-901-01 Rev. C / August 2016
Example 2
printbuffer(1, 6, smua.nvbuffer1.sourceranges)
Print the source ranges that were used for the
first 6 readings stored in source-measure unit
(SMU) A, buffer 1.
Example output:
1.00000e-04, 1.00000e-04,
1.00000e-04, 1.00000e-04,
1.00000e-04, 1.00000e-04
Also see
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
bufferVar.sourcevalues
When enabled by the bufferVar.collectsourcevalues attribute, this attribute contains the source levels
being output when readings in the reading buffer were acquired.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
Usage
sourcevalue = bufferVar.sourcevalues[N]
sourcevalue
The source's output value when reading N of the specified buffer was acquired
bufferVar
The reading buffer; can be a dynamically allocated buffer (user-defined), or a
dedicated reading buffer (such as
smua.nvbuffer1
)
N
The reading number (1 to
bufferVar
.n)
Details
If the bufferVar.collectsourcevalues attribute is enabled before readings are taken, the
bufferVar.sourcevalues buffer recall attribute is like an array (a Lua table) of the sourced value
in effect at the time of the reading. Note that you can set the bufferVar.collectsourcevalues
attribute only if the affected reading buffer is empty. See bufferVar.collectsourcevalues (on page 7-
21) for more detailed information.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Example 1
sourcevalue = smua.nvbuffer1.sourcevalues[1]
Get the sourced value of the first reading
stored in source-measure unit (SMU) A,
dedicated reading buffer 1.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-33
Example 2
printbuffer(1, 6, smua.nvbuffer1.sourcevalues)
Print the sourced value of the first 6 readings
stored in source-measure unit (SMU) A,
buffer 1.
Example output:
1.00000e-04, 1.00000e-04,
1.00000e-04, 1.00000e-04,
1.00000e-04, 1.00000e-04
Also see
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.statuses (on page 7-33)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
bufferVar.statuses
This attribute contains the status values of readings in the reading buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
Usage
statusInformation = bufferVar.statuses[N]
statusInformation
The status value when reading N of the specified buffer was acquired
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
N
The reading number (
1
to bufferVar
.n
)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-34 2600BS-901-01 Rev. C / August 2016
Details
This read-only buffer recall attribute is like an array (a Lua table) of the status values for all the
readings in the buffer. The status values are floating-point numbers that encode the status value; see
the following table for values.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Buffer status bits
Bit Name Hex value Description
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
Relative offset applied to reading
B6
Compliance
0x40
Source function was limited because
the complementary function would be
over the compliance limit
B7 Filtered 0x80 Reading was filtered
Also see
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
bufferVar.timestampresolution
This attribute contains the timestamp's resolution.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
See Details
1e-6 (1 µs)
Usage
resolution = bufferVar.timestampresolution
resolution
Timestamp resolution in seconds
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-35
Details
Assigning a value to this attribute sets the resolution for the timestamps. Reading this attribute returns
the timestamp resolution value. This value can only be changed with an empty buffer. Empty the
buffer using the bufferVar.clear() function.
The finest timestamp resolution is 0.000001 seconds (1 μs). At this resolution, the reading buffer can
store unique timestamps for up to 71 minutes. This value can be increased for very long tests.
The value specified when setting this attribute will be rounded to an even power of 2 μs.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Example
smua.nvbuffer1.timestampresolution = 0.000008
Sets the timestamp resolution of
dedicated reading buffer 1
(source-measure unit (SMU)
channel A) to 8 μs.
Also see
bufferVar.clear() (on page 7-20)
bufferVar.collecttimestamps (on page 7-22)
bufferVar.timestamps (on page 7-35)
Reading buffers (on page 3-6)
smuX.measure.overlappedY() (on page 7-225)
smuX.measure.Y() (on page 7-229)
smuX.nvbufferY (on page 7-231)
smuX.trigger.measure.Y() (on page 7-264)
bufferVar.timestamps
When enabled by the bufferVar.collecttimestamps attribute, this attribute contains the timestamp (in
seconds) of when each reading saved in the specified reading buffer occurred.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Clearing the buffer
See Details
Not applicable
Usage
timestamp = bufferVar.timestamps[N]
timestamp
The timestamp of reading number N in the specified buffer when the reading was
acquired
bufferVar
The reading buffer; can be a dynamically allocated user-defined buffer or a
dedicated reading buffer
N
The reading number (
1
to bufferVar
.n
)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-36 2600BS-901-01 Rev. C / August 2016
Details
The bufferVar.timestamps information from a reading buffer is only available if the
bufferVar.collecttimestamps attribute is set to 1 (default setting). If it is set to 0, you cannot
access any time information from a reading buffer.
If enabled, this buffer recall attribute is like an array (a Lua table) that contains timestamps, in
seconds, of when each reading occurred. These are relative to the bufferVar.basetimestamp for
the buffer. See Reading buffer commands (on page 3-12) for more information.
For dedicated reading buffers, all buffer attributes are saved to nonvolatile memory only when the
reading buffer is saved to nonvolatile memory.
Example
timestamp = smua.nvbuffer1.timestamps[1]
Get the timestamp of the first reading stored
in source-measure unit (SMU) A, buffer 1.
Also see
bufferVar.clear() (on page 7-20)
bufferVar.collecttimestamps (on page 7-22)
bufferVar.measurefunctions (on page 7-25)
bufferVar.measureranges (on page 7-26)
bufferVar.n (on page 7-27)
bufferVar.readings (on page 7-28)
bufferVar.sourcefunctions (on page 7-29)
bufferVar.sourceoutputstates (on page 7-30)
bufferVar.sourceranges (on page 7-31)
bufferVar.sourcevalues (on page 7-32)
bufferVar.statuses (on page 7-33)
Reading buffers (on page 3-6)
ConfigPulseIMeasureV()
This KIPulse factory script function configures a current pulse train with a voltage measurement at each point.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
f, msg = ConfigPulseIMeasureV(smu, bias, level, limit, ton, toff, points, buffer,
tag, sync_in, sync_out, sync_in_timeout, sync_in_abort)
f, msg = ConfigPulseIMeasureV(smu, bias, level, limit, ton, toff, points, buffer,
tag, sync_in, sync_out, sync_in_timeout)
f, msg = ConfigPulseIMeasureV(smu, bias, level, limit, ton, toff, points, buffer,
tag, sync_in, sync_out)
f, msg = ConfigPulseIMeasureV(smu, bias, level, limit, ton, toff, points, buffer,
tag, sync_in)
f, msg = ConfigPulseIMeasureV(smu, bias, level, limit, ton, toff, points, buffer,
tag)
Seri
es 2600B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-37
f
A Boolean flag; this flag is true when the pulse was successfully configured, false when
errors were encountered
msg
A string message; if the f flag is false, msg contains an error message; if it is true, msg
contains a string that indicates successful configuration
smu
System SourceMeter® instrument channel (for example, smua refers to SMU channel A)
bias
Bias level in amperes
level
Pulse level in amperes
limit
Voltage limit (for example, compliance) in volts
ton
Pulse on time in seconds
toff
Pulse off time in seconds
points
Number of pulse-measure cycles
buffer
Reading buffer where pulsed measurements will be stored; if this is nil when the function is
called, no measurements will be made when the pulse train is initiated
tag
Numeric identifier to be assigned to the defined pulse train
sync_in
Defines a digital I/O trigger input line; if programmed, the pulse train waits for a trigger input
before executing each pulse
sync_out
Defines a digital I/O trigger output line; if programmed, the pulse train generates a trigger
output immediately before the start of ton
sync_in_timeout
Specifies the length of time (in seconds) to wait for input trigger; default value is 10 s
sync_in_abort
Specifies whether or not to abort the pulse if an input trigger is not received; if pulse aborts
because of a missed trigger, a timer timeout message is returned;
true
or
false
Details
Data for pulsed voltage measurements are stored in the reading buffer specified by the buffer input
parameter.
This function configures a current pulse train with a voltage measurement at each point.
Measurements are made at the end of the ton time.
This function does not cause the specified smu to output a pulse train. It simply checks to see if all the
pulse dimensions can be achieved, and if they are, assigns the indicated tag or index to the pulse
train. The InitiatePulseTest(tag) and InitiatePulseTestDual(tag1, tag2) functions
are used to initiate a pulse train assigned to a valid tag.
Figure 125: ConfigPulseIMeasureV()
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-38 2600BS-901-01 Rev. C / August 2016
Example
ConfigPulseIMeasureV(smua, 0, 5, 10,
0.001, 0.080, 1, smua.nvbuffer1, 1)
Set up a pulse train that uses System SourceMeter
®
instrument channel A. The pulse amplitude will be 5 A
and will return to 0 A after 1 ms. The pulse will remain
at 0 A for 80 ms and the voltage limit will be 10 V
during the pulse. The pulse train will consist of only 1
pulse, and this pulse will be assigned a tag index of
1.
Also see
InitiatePulseTest() (on page 7-112)
InitiatePulseTestDual() (on page 7-114)
KIPulse factory script (on page 5-22)
ConfigPulseIMeasureVSweepLin()
This KIPulse factory script function configures a linear pulsed current sweep with a voltage measurement at each
point.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
f, msg = ConfigPulseIMeasureVSweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out, sync_in_timeout, sync_in_abort)
f, msg = ConfigPulseIMeasureVSweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out, sync_in_timeout)
f, msg = ConfigPulseIMeasureVSweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out)
f, msg = ConfigPulseIMeasureVSweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in)
f, msg = ConfigPulseIMeasureVSweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag)
f
A Boolean flag; this flag is true if the pulse was successfully configured, false when errors
were encountered
msg
A string message; if the f flag is false, msg contains an error message; if it is true, msg
contains a string indicating successful configuration
smu
System SourceMeter® instrument channel (for example, smua refers to SMU channel A)
bias
Bias level in amperes
start
Pulse sweep start level in amperes
stop
Pulse sweep stop level in amperes
limit
Voltage limit (for example, compliance) in volts
ton
Pulse on time in seconds
toff
Pulse off time in seconds
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-39
points
Number of pulse-measure cycles
buffer
Reading buffer where pulsed measurements will be stored; if this is nil when the function is
called, no measurements will be made when the pulse train is initiated
tag
Numeric identifier to be assigned to the defined pulse train
sync_in
Defines a digital I/O trigger input line; if programmed, the pulse train will wait for a trigger input
before executing each pulse
sync_out
Defines a digital I/O trigger output line; if programmed, the pulse train will generate a trigger
output immediately before the start of
ton
sync_in_timeout
Specifies the length of time (in seconds) to wait for input trigger; default value is 10 s
sync_in_abort
Specifies whether or not to abort pulse if input trigger is not received; if pulse aborts because of
a missed trigger, a timer timeout message is returned;
true
or
false
Details
Data for pulsed voltage measurements are stored in the reading buffer specified by the buffer input
parameter.
This function configures a linear pulsed current sweep with a voltage measurement at each point.
Measurements are made at the end of the ton time.
The magnitude of the first pulse will be start amperes; the magnitude of the last pulse will be stop
amperes. The magnitude of each pulse in between will be step amperes larger than the previous
pulse, where:
step = (stop - start) / (points - 1)
This function does not cause the specified smu to output a pulse train. It does check to see if all the
pulse dimensions can be achieved, and if they can, assigns the indicated tag or index to the pulse
train. The InitiatePulseTest(tag) and InitiatePulseTestDual(tag1, tag2) functions
are used to initiate a pulse train assigned to a valid tag.
Figure 126: ConfigPulseIMeasureVSweepLin()
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-40 2600BS-901-01 Rev. C / August 2016
Example
ConfigPulseIMeasureVSweepLin(smua, 0,
0.01, 0.05, 1, 1e-3, 0.1, 20,
smua.nvbuffer2, 3)
Set up a pulsed sweep that will use System
SourceMeter® instrument channel A. The pulsed
sweep will start at 10 mA, end at 50 mA, and return to
a 0 mA bias level between pulses. Each pulsed step
will be on for 1 ms, and then at the bias level for
100 ms. The voltage limit will be 1 V during the entire
pulsed sweep. The pulse train will be comprised of 20
pulsed steps and the pulse train will be assigned a
tag index of 3.
Also see
InitiatePulseTest() (on page 7-112)
InitiatePulseTestDual() (on page 7-114)
KIPulse factory script (on page 5-22)
ConfigPulseIMeasureVSweepLog()
This KIPulse factory script function configures a voltage pulse train with a current measurement at each point.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
f, msg = ConfigPulseIMeasureVSweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out, sync_in_timeout, sync_in_abort)
f, msg = ConfigPulseIMeasureVSweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out, sync_in_timeout)
f, msg = ConfigPulseIMeasureVSweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out)
f, msg = ConfigPulseIMeasureVSweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in)
f, msg = ConfigPulseIMeasureVSweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-41
f
A Boolean flag; this flag is true when the pulse was successfully configured, false when
errors were encountered
msg
A string message; if the f flag is false, msg contains an error message; if it is true, msg
contains a string indicating successful configuration
smu
System SourceMeter® instrument channel (for example, smua refers to SMU channel A)
bias
Bias level in amperes
start
Pulse sweep start level in amperes
stop
Pulse sweep stop level in amperes
limit
Voltage limit (for example, compliance) in volts
ton
Pulse on time in seconds
toff
Pulse off time in seconds
points
Number of pulse-measure cycles
buffer
Reading buffer where pulsed measurements will be stored; if this is nil when the function is
called, no measurements will be made when the pulse train is initiated
tag
Numeric identifier to be assigned to the defined pulse train
sync_in
Defines a digital I/O trigger input line; if programmed, the pulse train waits for a trigger input
before executing each pulse
sync_out
Defines a digital I/O trigger output line; if programmed, the pulse train generates a trigger
output immediately before the start of
ton
sync_in_timeout
Specifies the length of time (in seconds) to wait for input trigger; default value is 10 s
sync_in_abort
Specifies whether or not to abort pulse if input trigger is not received; if pulse aborts because
of a missed trigger, a timer timeout message is returned; true or false
Details
Data for pulsed voltage measurements are stored in the reading buffer specified by the buffer input
parameter.
This function configures a logarithmic pulsed current sweep with a voltage measurement at each
point. Measurements are made at the end of the ton time.
The magnitude of the first pulse will be start amperes; the magnitude of the last pulse will be stop
amperes. The magnitude of each pulse in between will be LogStepn amperes larger than the
previous pulse, where:
LogStepSize = (log10(stop) - log10(start)) / (points -1)
LogStepn = (n - 1) * (LogStepSize), where n = [2, points]
SourceStepLeveln = antilog(LogStepn) * start
This function does not cause the specified smu to output a pulse train. It simply checks to see if all of
the pulse dimensions can be achieved, and if they can, assigns the indicated tag or index to the
pulse train. The InitiatePulseTest(tag) and InitiatePulseTestDual(tag1, tag2)
functions are used to initiate a pulse train assigned to a valid tag.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-42 2600BS-901-01 Rev. C / August 2016
Figure 127: ConfigPulseIMeasureVSweepLog()
Example
ConfigPulseIMeasureVSweepLog(smua, 0,
1e-3, 0.01, 1, 1e-3, 10e-3, 10,
smua.nvbuffer1, 5)
Set up a pulsed logarithmic sweep that uses System
SourceMeter® instrument channel A. The pulsed
sweep will start at 1 mA, end at 10 mA, and return to
a 0 A bias level between pulses. Each pulsed step
will be on for 1 ms, and then at the bias level for 10
ms. The voltage limit will be 1 V during the entire
pulsed sweep. The pulse train will be comprised of 10
pulsed steps, and the pulse train will be assigned a
tag index of 5.
Also see
InitiatePulseTest() (on page 7-112)
InitiatePulseTestDual() (on page 7-114)
KIPulse factory script (on page 5-22)
ConfigPulseVMeasureI()
This KIPulse factory script function configures a voltage pulse train with a current measurement at each point.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-43
Usage
f, msg = ConfigPulseVMeasureI(smu, bias, level, limit, ton, toff, points, buffer,
tag, sync_in, sync_out, sync_in_timeout, sync_in_abort)
f, msg = ConfigPulseVMeasureI(smu, bias, level, limit, ton, toff, points, buffer,
tag, sync_in, sync_out, sync_in_timeout)
f, msg = ConfigPulseVMeasureI(smu, bias, level, limit, ton, toff, points, buffer,
tag, sync_in, sync_out)
f, msg = ConfigPulseVMeasureI(smu, bias, level, limit, ton, toff, points, buffer,
tag, sync_in)
f, msg = ConfigPulseVMeasureI(smu, bias, level, limit, ton, toff, points, buffer,
tag)
f
A Boolean flag; this flag is true when the pulse was successfully configured, false when
errors were encountered
msg
A string message; if the f flag is false, msg contains an error message; if it is true, msg
contains a string indicating successful configuration
smu
System SourceMeter
®
instrument channel (for example,
smua
refers to SMU channel A)
bias
Bias level in volts
level
Pulse level in volts
limit
Current limit (for example, compliance) in amperes
ton
Pulse on time in seconds
toff
Pulse off time in seconds
points
Number of pulse-measure cycles
buffer
Reading buffer where pulsed measurements will be stored; if this is nil when the function is
called, no measurements will be made when the pulse train is initiated
tag
Numeric identifier to be assigned to the defined pulse train
sync_in
Defines a digital I/O trigger input line; if programmed, the pulse train waits for a trigger input
before executing each pulse
sync_out
Defines a digital I/O trigger output line; if programmed, the pulse train generates a trigger
output immediately before the start of
ton
sync_in_timeout
Specifies the length of time (in seconds) to wait for input trigger; default value is 10 s
sync_in_abort
Specifies whether or not to abort pulse if input trigger is not received; if pulse aborts because
of a missed trigger, a timer timeout message is returned; true or false
Details
Data for pulsed current measurements are stored in the reading buffer specified by the buffer input
parameter.
This function configures a voltage pulse train with a current measurement at each point.
Measurements are made at the end of the ton time.
This function does not cause the specified smu to output a pulse train. It does check to see if all the
pulse dimensions can be achieved, and if they can, assigns the indicated tag or index to the pulse
train.The InitiatePulseTest(tag) and InitiatePulseTestDual(tag1, tag2) functions are
used to initiate a pulse train assigned to a valid tag.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-44 2600BS-901-01 Rev. C / August 2016
Figure 128: ConfigPulseVMeasureI()
Example 1
ConfigPulseVMeasureI(smua, 0, 20, 1,
0.001, 0.080, 10, smua.nvbuffer1, 2)
Set up a pulse train that uses System
SourceMeter® instrument channel A. The pulse
amplitude is 20 V and returns to 0 V after 1 ms.
The pulse remains at 0 V for 80 ms, and the
current limit is 1 A during the pulse. The pulse
train consists of 10 pulses, and the pulse train is
assigned a tag index of 2.
Example 2
local timelist = { 1, 2, 3, 4, 5 }
f, msg = ConfigPulseVMeasureI(smua, 0, 1,
100e-3, 1, timelist, 5, nil, 1)
Variable off time between pulses in a pulse
train.
Configure a pulse with 1 second on-time and
variable off-time, no measurement.
Example 3
rbi = smua.makebuffer(10)
rbv = smua.makebuffer(10)
rbi.appendmode = 1
rbv.appendmode = 1
rbs = { i = rbi, v = rbv }
f, msg = ConfigPulseVMeasureI(smua, 0, 10,
1e-3, 1e-3, 1e-3, 2, rbs, 1)
Simultaneous IV measurement during pulse.
Also see
InitiatePulseTest() (on page 7-112)
InitiatePulseTestDual() (on page 7-114)
KIPulse factory script (on page 5-22)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-45
ConfigPulseVMeasureISweepLin()
This KIPulse factory script function configures a voltage pulse train with a current measurement at each point.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
f, msg = ConfigPulseVMeasureISweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out, sync_in_timeout, sync_in_abort)
f, msg = ConfigPulseVMeasureISweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out, sync_in_timeout)
f, msg = ConfigPulseVMeasureISweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out)
f, msg = ConfigPulseVMeasureISweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in)
f, msg = ConfigPulseVMeasureISweepLin(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag)
f
A Boolean flag; this flag is true when the pulse was successfully configured, false when
errors were encountered
msg
A string message; if the f flag is false, msg contains an error message; if it is true, msg
contains a string indicating successful configuration
smu
System SourceMeter
®
instrument channel (for example,
smua
refers to SMU channel A)
bias
Bias level in volts
start
Pulse sweep start level in volts
stop
Pulse sweep stop level in volts
limit
Current limit (for example, compliance) in amperes
ton
Pulse on time in seconds
toff
Pulse off time in seconds
points
Number of pulse-measure cycles
buffer
Reading buffer where pulsed measurements will be stored; if this is nil when the function is
called, no measurements will be made when the pulse train is initiated
tag
Numeric identifier to be assigned to the defined pulse train
sync_in
Defines a digital I/O trigger input line; if programmed, the pulse train will wait for a trigger input
before executing each pulse
sync_out
Defines a digital I/O trigger output line; if programmed, the pulse train will generate a trigger
output immediately before the start of
ton
sync_in_timeout
Specifies the length of time (in seconds) to wait for input trigger; default value is 10 s
sync_in_abort
Specifies whether or not to abort pulse if input trigger is not received; if pulse aborts because
of a missed trigger, a timer timeout message is returned; true or false
Details
Data for pulsed current measurements are stored in the reading buffer specified by the buffer input
parameter.
This function configures a linear pulsed voltage sweep with a current measurement at each point.
Measurements are made at the end of the ton time.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-46 2600BS-901-01 Rev. C / August 2016
The magnitude of the first pulse will be start volts; the magnitude of the last pulse will be stop
volts. The magnitude of each pulse in between will be step volts larger than the previous pulse,
where:
step = (stop - start) / (points - 1)
This function does not cause the specified smu to output a pulse train. It does check to see if all the
pulse dimensions can be achieved, and if they can, assigns the indicated tag or index to the pulse
train.
The InitiatePulseTest(tag) and InitiatePulseTestDual(tag1, tag2) functions are
used to initiate a pulse train assigned to a valid tag.
Figure 129: ConfigPulseVMeasureISweepLin()
Example
ConfigPulseVMeasureISweepLin(smua, 0, 1,
10, 1, 10e-3, 20e-3, 16,
smua.nvbuffer1, 4)
Set up a pulsed sweep that uses System
SourceMeter® instrument channel A. The pulsed
sweep starts at 1 V, ends at 10 V, and returns to a
0 V bias level between pulses. Each pulsed step is on
for 10 ms, and then at the bias level for 20 ms.
The current limit is 1 A during the entire pulsed
sweep. The pulse train is comprised of 16 pulsed
steps, and the pulse train is assigned a tag index of
4.
Also see
InitiatePulseTest() (on page 7-112)
InitiatePulseTestDual() (on page 7-114)
KIPulse factory script (on page 5-22)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-47
ConfigPulseVMeasureISweepLog()
This KIPulse factory script1 function configures a voltage pulse train with a current measurement at each point.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
f, msg = ConfigPulseVMeasureISweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out, sync_in_timeout, sync_in_abort)
f, msg = ConfigPulseVMeasureISweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out, sync_in_timeout)
f, msg = ConfigPulseVMeasureISweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in, sync_out)
f, msg = ConfigPulseVMeasureISweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag, sync_in)
f, msg = ConfigPulseVMeasureISweepLog(smu, bias, start, stop, limit, ton, toff,
points, buffer, tag)
f
A Boolean flag; this flag is true when the pulse was successfully configured,
false when errors were encountered
msg
A string message; if the f flag is
false
, msg contains an error message; if it is
true,
msg
contains a string indicating successful configuration
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
bias
Bias level in volts
start
Pulse sweep start level in volts
stop
Pulse sweep stop level in volts
limit
Current limit (for example, compliance) in amperes
ton
Pulse on time in seconds
toff
Pulse off time in seconds
points
Number of pulse-measure cycles
buffer
Reading buffer where pulsed measurements will be stored; if this is nil when the
function is called, no measurements will be made when the pulse train is initiated
tag
Numeric identifier to be assigned to the defined pulse train
sync_in
Defines a digital I/O trigger input line; if programmed, the pulse train will wait for a
trigger input before executing each pulse
sync_out
Defines a digital I/O trigger output line; if programmed, the pulse train will generate a
trigger output immediately before the start of
ton
sync_in_timeout
Specifies the length of time (in seconds) to wait for input trigger; default value is 10 s
sync_in_abort
Specifies whether or not to abort pulse if input trigger is not received; if pulse aborts
because of a missed trigger, a timer timeout message is returned;
true
or
false
1 The KIPulse factory script provides examples of how to generate pulses and to provide a simple pulsing
interface. Pulses can be generated using the functions listed below.@Please note the following information about
the KIPulse factory script:This factory script only operates on the channels present in the instrument executing the
pulse functions. These functions will not operate correctly if you attempt to access instrument channels over the
TSPLink® interface.The KIPulse factory scripts are ge ...
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-48 2600BS-901-01 Rev. C / August 2016
Details
Data for pulsed current measurements are stored in the reading buffer specified by the buffer input
parameter.
This function configures a logarithmic pulsed voltage sweep with a current measurement at each
point. Measurements are made at the end of the ton time.
The magnitude of the first pulse will be start volts; the magnitude of the last pulse will be stop
volts. The magnitude of each pulse in between will be LogStepn volts larger than the previous pulse,
where:
LogStepSize = (log10(stop) - log10(start)) / (points -1)
LogStepn = (n - 1) * (LogStepSize), where n = [2, points]
SourceStepLeveln = antilog(LogStepn) * start
This function does not cause the specified smu to output a pulse train. It does check to see if all the
pulse dimensions can be achieved, and if they can, assigns the indicated tag or index to the pulse
train. The InitiatePulseTest(tag) and InitiatePulseTestDual(tag1, tag2) functions
are used to initiate a pulse train assigned to a valid tag.
Figure 130: ConfigPulseVMeasureISweepLog()
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-49
Example
ConfigPulseVMeasureISweepLog(smua, 0, 1,
10, 1, 10e-3, 20e-3, 10,
smua.nvbuffer1, 6)
Set up a pulsed logarithmic sweep that uses System
SourceMeter® instrument channel A. The pulsed
sweep starts at 1 V, ends at 10 V, and returns to a
0 V bias level between pulses. Each pulsed step is on
for 10 ms, and then at the bias level for 20 ms.
The current limit will be 1 A during the entire pulsed
sweep. The pulse train will be comprised of 10 pulsed
steps, and the pulse train will be assigned a tag
index of 6.
Also see
InitiatePulseTest() (on page 7-112)
InitiatePulseTestDual() (on page 7-114)
KIPulse factory script (on page 5-22)
dataqueue.add()
This function adds an entry to the data queue.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
result = dataqueue.add(value)
result = dataqueue.add(value, timeout)
result
The resulting value of true or false based on the success of the function
value
The data item to add; value can be of any type
timeout
The maximum number of seconds to wait for space in the data queue
Details
You cannot use the timeout value when accessing the data queue from a remote node (you can
only use the timeout value while adding data to the local data queue).
The timeout value is ignored if the data queue is not full.
The dataqueue.add() function returns false:
If the timeout expires before space is available in the data queue
If the data queue is full and a timeout value is not specified
If the value is a table, a duplicate of the table and any subtables is made. The duplicate table does
not contain any references to the original table or to any subtables.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-50 2600BS-901-01 Rev. C / August 2016
Example
dataqueue.clear()
dataqueue.add(10)
dataqueue.add(11, 2)
result = dataqueue.add(12, 3)
if result == false then
print("Failed to add 12 to the dataqueue")
end
print("The dataqueue contains:")
while dataqueue.count > 0 do
print(dataqueue.next())
end
Clear the data queue.
Each line adds one item to the data queue.
Output:
The dataqueue contains:
1.00000e+01
1.10000e+01
1.20000e+01
Also see
dataqueue.CAPACITY (on page 7-50)
dataqueue.clear() (on page 7-51)
dataqueue.count (on page 7-51)
dataqueue.next() (on page 7-52)
dataqueue.CAPACITY
This constant is the maximum number of entries that you can store in the data queue.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
count = dataqueue.CAPACITY
count
The variable that is assigned the value of dataqueue.CAPACITY
Details
This constant always returns the maximum number of entries that can be stored in the data queue.
Example
MaxCount = dataqueue.CAPACITY
while dataqueue.count < MaxCount do
dataqueue.add(1)
end
print("There are " .. dataqueue.count
.. " items in the data queue")
This example fills the data queue until it is full
and prints the number of items in the queue.
Output:
There are 128 items in the data
queue
Also see
dataqueue.add() (on page 7-49)
dataqueue.clear() (on page 7-51)
dataqueue.count (on page 7-51)
dataqueue.next() (on page 7-52)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-51
dataqueue.clear()
This function clears the data queue.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
dataqueue.clear()
Details
This function forces all dataqueue.add() commands that are in progress to time out and deletes all
data from the data queue.
Example
MaxCount = dataqueue.CAPACITY
while dataqueue.count < MaxCount do
dataqueue.add(1)
end
print("There are " .. dataqueue.count
.. " items in the data queue")
dataqueue.clear()
print("There are " .. dataqueue.count
.. " items in the data queue")
This example fills the data queue and prints the
number of items in the queue. It then clears the
queue and prints the number of items again.
Output:
There are 128 items in the data
queue
There are 0 items in the data queue
Also see
dataqueue.add() (on page 7-49)
dataqueue.CAPACITY (on page 7-50)
dataqueue.count (on page 7-51)
dataqueue.next() (on page 7-52)
dataqueue.count
This attribute contains the number of items in the data queue.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Power cycle
Not saved
Not applicable
Usage
count = dataqueue.count
count
The number of items in the data queue
Details
The count gets updated as entries are added with dataqueue.add() and read from the data queue
with dataqueue.next(). It is also updated when the data queue is cleared with
dataqueue.clear().
A maximum of dataqueue.CAPACITY items can be stored at any one time in the data queue.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-52 2600BS-901-01 Rev. C / August 2016
Example
MaxCount = dataqueue.CAPACITY
while dataqueue.count < MaxCount do
dataqueue.add(1)
end
print("There are " .. dataqueue.count
.. " items in the data queue")
dataqueue.clear()
print("There are " .. dataqueue.count
.. " items in the data queue")
This example fills the data queue and prints the
number of items in the queue. It then clears the
queue and prints the number of items again.
Output:
There are 128 items in the data queue
There are 0 items in the data queue
Also see
dataqueue.add() (on page 7-49)
dataqueue.CAPACITY (on page 7-50)
dataqueue.clear() (on page 7-51)
dataqueue.next() (on page 7-52)
dataqueue.next()
This function removes the next entry from the data queue.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
value = dataqueue.next()
value = dataqueue.next(timeout)
value
The next entry in the data queue
timeout
The number of seconds to wait for data in the queue
Details
If the data queue is empty, the function waits up to the timeout value.
If data is not available in the data queue before the timeout expires, the return value is nil.
The entries in the data queue are removed in first-in, first-out (FIFO) order.
If the value is a table, a duplicate of the original table and any subtables is made. The duplicate table
does not contain any references to the original table or to any subtables.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-53
Example
dataqueue.clear()
for i = 1, 10 do
dataqueue.add(i)
end
print("There are " .. dataqueue.count
.. " items in the data queue")
while dataqueue.count > 0 do
x = dataqueue.next()
print(x)
end
print("There are " .. dataqueue.count
.. " items in the data queue")
Clears the data queue, adds ten entries, then
reads the entries from the data queue. Note that
your output may differ depending on the setting
of format.asciiprecision.
Output:
There are 10 items in the data queue
1.0000000e+00
2.0000000e+00
3.0000000e+00
4.0000000e+00
5.0000000e+00
6.0000000e+00
7.0000000e+00
8.0000000e+00
9.0000000e+00
1.0000000e+01
There are 0 items in the data queue
Also see
dataqueue.add() (on page 7-49)
dataqueue.CAPACITY (on page 7-50)
dataqueue.clear() (on page 7-51)
dataqueue.count (on page 7-51)
format.asciiprecision (on page 7-101)
delay()
This function delays the execution of the commands that follow it.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
delay(seconds)
seconds
The number of seconds to delay (0 to 100,000 s)
Details
The instrument delays execution of the commands for at least the specified number of seconds and
fractional seconds. However, the processing time may cause the instrument to delay 5 μs to 10 μs
(typical) more than the requested delay.
Example
beeper.beep(0.5, 2400)
delay(0.250)
beeper.beep(0.5, 2400)
Emit a double-beep at 2400 Hz. The sequence is
0.5 s on, 0.25 s off, 0.5 s on.
Also see
None
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-54 2600BS-901-01 Rev. C / August 2016
digio.readbit()
This function reads one digital I/O line. This function is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
data = digio.readbit(N)
data
The state of the I/O line
N
Digital I/O line number to be read (1 to 14)
Details
A returned value of zero (0) indicates that the line is low. A returned value of one (1) indicates that the
line is high.
Example
print(digio.readbit(4))
Assume line 4 is set high, and it is then read.
Output:
1.00000e+00
Also see
digio.readport() (on page 7-54)
digio.writebit() (on page 7-64)
digio.writeport() (on page 7-64)
Digital I/O port (on page 3-82)
digio.readport()
This function reads the digital I/O port. This function is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
data = digio.readport()
data
The present value of the input lines on the digital I/O port
Details
The binary equivalent of the returned value indicates the value of the input lines on the I/O port. The
least significant bit (bit B1) of the binary number corresponds to line 1; bit B14 corresponds to line 14.
For example, a returned value of 170 has a binary equivalent of 000000010101010, which indicates
that lines 2, 4, 6, and 8 are high (1), and the other 10 lines are low (0).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-55
Example
data = digio.readport()
print(data)
Assume lines 2, 4, 6, and 8 are set high when
the I/O port is read.
Output:
1.70000e+02
This is binary 10101010
Also see
digio.readbit() (on page 7-54)
digio.writebit() (on page 7-64)
digio.writeport() (on page 7-64)
Digital I/O port (on page 3-82)
digio.trigger[N].assert()
This function asserts a trigger on one of the digital I/O lines. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
digio.trigger[N].assert()
N
Digital I/O trigger line (1 to 14)
Details
The set pulsewidth determines how long the trigger is asserted.
Example
digio.trigger[2].assert()
Asserts a trigger on digital I/O line 2.
Also see
digio.trigger[N].pulsewidth (on page 7-58)
digio.trigger[N].clear()
This function clears the trigger event on a digital I/O line. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
digio.trigger[N].clear()
N
Digital I/O trigger line (1 to 14)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-56 2600BS-901-01 Rev. C / August 2016
Details
The event detector of a trigger enters the detected state when an event is detected. It is cleared when
digio.trigger[N].wait() or digio.trigger[N].clear() is called.
digio.trigger[N].clear() clears the event detector of the specified trigger line, discards the
history of the trigger line, and clears the digio.trigger[N].overrun attribute.
Example
digio.trigger[2].clear()
Clears the trigger event detector on I/O line 2.
Also see
digio.trigger[N].overrun (on page 7-58)
digio.trigger[N].wait() (on page 7-63)
digio.trigger[N].EVENT_ID
This constant identifies the trigger event generated by the digital I/O line N. This constant is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Constant Yes
Usage
eventID = digio.trigger[N].EVENT_ID
eventID
The trigger event number
N
Digital I/O trigger line (1 to 14)
Details
To have another trigger object respond to trigger events generated by the trigger line, set the other
object's stimulus attribute to the value of this constant.
Example 1
digio.trigger[5].stimulus = digio.trigger[3].EVENT_ID
Uses a trigger event on digital I/O
trigger line 3 to be the stimulus for
digital I/O trigger line 5.
Also see
None
digio.trigger[N].mode
This attribute sets the mode in which the trigger event detector and the output trigger generator operate on the
given trigger line. This attribute is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Digital I/O trigger N reset
Recall setup
Not saved
0
(digio.TRIG_BYPASS)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-57
Usage
triggerMode = digio.trigger[N].mode
digio.trigger[N].mode = triggerMode
triggerMode
The trigger mode; see Details for values
N
Digital I/O trigger line (1 to 14)
Details
Set triggerMode to one of the following values:
Trigger mode values
triggerMode Description
digio.TRIG_BYPASS or 0
Allows direct control of the line.
digio.TRIG_FALLING or 1
Detects falling-edge triggers as input; asserts a TTL-low pulse for
output.
digio.TRIG_RISING or 2 If the programmed state of the line is high, the
digio.TRIG_RISING mode behavior is similar to
digio.TRIG_RISINGA. If the programmed state of the line is low,
the digio.TRIG_RISING mode behavior is similar to
digio.TRIG_RISINGM. This setting should only be used if
necessary for compatibility with other Keithley Instruments products.
digio.TRIG_EITHER
or
3
Detects rising- or falling-edge triggers as input. Asserts a TTL-low
pulse for output.
digio.TRIG_SYNCHRONOUSA or 4
Detects the falling-edge input triggers and automatically latches and
drives the trigger line low. Asserting the output trigger releases the
latched line.
digio.TRIG_SYNCHRONOUS or 5
Detects the falling-edge input triggers and automatically latches and
drives the trigger line low. Asserts a TTL-low pulse as an output
trigger.
digio.TRIG_SYNCHRONOUSM or 6
Detects rising-edge triggers as input. Asserts a TTL-low pulse for
output.
digio.TRIG_RISINGA or 7
Detects rising-edge triggers as input. Asserts a TTL-low pulse for
output.
digio.TRIG_RISINGM or 8
Asserts a TTL-high pulse for output. Input edge detection is not
possible in this mode.
When programmed to any mode except digio.TRIG_BYPASS, the output state of the I/O line is
controlled by the trigger logic, and the user-specified output state of the line is ignored.
Use of either digio.TRIG_SYNCHRONOUSA or digio.TRIG_SYNCHRONOUSM is preferred over
digio.TRIG_SYNCHRONOUS, because digio.TRIG_SYNCHRONOUS is provided for compatibility
with the digital I/O and TSP-Link triggering on older firmware.
To control the line state, set the mode to digio.TRIG_BYPASS and use the digio.writebit()
and digio.writeport() commands.
Example
digio.trigger[4].mode = 2
Sets the trigger mode for I/O line 4 to
digio.TRIG_RISING
.
Also see
digio.trigger[N].clear() (on page 7-55)
digio.trigger[N].reset() (on page 7-60)
digio.writebit() (on page 7-64)
digio.writeport() (on page 7-64)
Sweep Operation (on page 3-20)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-58 2600BS-901-01 Rev. C / August 2016
a
digio.trigger[N].overrun
Use this attribute to read the event detector overrun status. This attribute is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Instrument reset
Digital I/O trigger N clear
Digital I/O trigger N reset
Recall setup
Not saved Not applicable
Usage
overrun = digio.trigger[N].overrun
overrun
Trigger overrun state (true or false)
N
Digital I/O trigger line (1 to 14)
Details
If this is true, an event was ignored because the event detector was already in the detected state
when the event occurred.
This is an indication of the state of the event detector built into the line itself. It does not indicate if an
overrun occurred in any other part of the trigger model or in any other detector that is monitoring the
event.
Example
overrun = digio.trigger[1].overrun
print(overrun)
If there is no trigger overrun, the following
text is output:
false
Also see
digio.trigger[N].clear() (on page 7-55)
digio.trigger[N].reset() (on page 7-60)
digio.trigger[N].pulsewidth
This attribute describes the length of time that the trigger line is asserted for output triggers. This attribute is not
available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Digital I/O trigger N reset
Recall setup
Not saved
10e-6 (10 µs)
Usage
width = digio.trigger[N].pulsewidth
digio.trigger[N].pulsewidth = width
width
The pulse width (seconds)
N
Digital I/O trigger line (1 to 14)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-59
Details
Setting width to zero (0) seconds asserts the trigger indefinitely. To release the trigger line, use
digio.trigger[N].release().
Example
digio.trigger[4].pulsewidth = 20e-6
Sets the pulse width for trigger line 4 to
20 μs.
Also see
digio.trigger[N].assert() (on page 7-55)
digio.trigger[N].reset() (on page 7-60)
digio.trigger[N].release() (on page 7-59)
digio.trigger[N].release()
This function releases an indefinite length or latched trigger. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
digio.trigger[N].release()
N
Digital I/O trigger line (1 to 14)
Details
Releases a trigger that was asserted with an indefinite pulse width time. It also releases a trigger that
was latched in response to receiving a synchronous mode trigger. Only the specified trigger line is
affected.
Example
digio.trigger[4].release()
Releases digital I/O trigger line 4.
Also see
digio.trigger[N].assert() (on page 7-55)
digio.trigger[N].pulsewidth (on page 7-58)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-60 2600BS-901-01 Rev. C / August 2016
digio.trigger[N].reset()
This function resets trigger values to their factory defaults. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
digio.trigger[N].reset()
N
Digital I/O trigger line (1 to 14)
Details
This function resets the following attributes to factory default settings:
digio.trigger[N].mode
digio.trigger[N].pulsewidth
digio.trigger[N].stimulus
It also clears digio.trigger[N].overrun.
Example
digio.trigger[3].mode = 2
digio.trigger[3].pulsewidth = 50e-6
digio.trigger[3].stimulus = digio.trigger[5].EVENT_ID
print(digio.trigger[3].mode, digio.trigger[3].pulsewidth,
digio.trigger[3].stimulus)
digio.trigger[3].reset()
print(digio.trigger[3].mode, digio.trigger[3].pulsewidth,
digio.trigger[3].stimulus)
Set the digital I/O trigger line 3 for a falling edge with a pulsewidth of 50 microseconds.
Use digital I/O line 5 to trigger the event on line 3.
Reset the line back to factory default values.
Output before reset:
2.00000e+00 5.00000e-05 5.00000e+00
Output after reset:
0.00000e+00 1.00000e-05 0.00000e+00
Also see
digio.trigger[N].mode (on page 7-56)
digio.trigger[N].overrun (on page 7-58)
digio.trigger[N].pulsewidth (on page 7-58)
digio.trigger[N].stimulus (on page 7-61)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-61
digio.trigger[N].stimulus
This attribute selects the event that causes a trigger to be asserted on the digital output line. This attribute is not
available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Digital I/O trigger N reset
Recall setup
Not saved
0
Usage
triggerStimulus = digio.trigger[N].stimulus
digio.trigger[N].stimulus = triggerStimulus
triggerStimulus
The event identifier for the triggering event
N
Digital I/O trigger line (1 to 14)
Details
Set this attribute to zero (0) to disable the automatic trigger output.
Do not use the stimulus attribute for generating output triggers under script control. Use
digio.trigger[N].assert() instead.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-62 2600BS-901-01 Rev. C / August 2016
The trigger stimulus for a digital I/O line may be set to one of the existing trigger event IDs, described
in the following table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Example 1
digio.trigger[3].stimulus = 0
Clear the trigger
stimulus of digital
I/O line 3.
Example 2
digio.trigger[3].stimulus =
smua.trigger.SOURCE_COMPLETE_EVENT_ID
Set the trigger
stimulus of digital
I/O line 3 to be the
source complete
event.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-63
Also see
digio.trigger[N].assert() (on page 7-55)
digio.trigger[N].clear() (on page 7-55)
digio.trigger[N].reset() (on page 7-60)
digio.trigger[N].wait()
This function waits for a trigger. This function is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
triggered = digio.trigger[N].wait(timeout)
triggered
The value true if a trigger is detected, or false if no triggers are detected during
the timeout period
N
Digital I/O trigger line (1 to 14)
timeout
Timeout in seconds
Details
This function pauses for up to timeout seconds for an input trigger. If one or more trigger events are
detected since the last time digio.trigger[N].wait() or digio.trigger[N].clear() was
called, this function returns a value immediately. After waiting for a trigger with this function, the event
detector is automatically reset and ready to detect the next trigger. This is true regardless of the
number of events detected.
Example
triggered = digio.trigger[4].wait(3)
print(triggered)
Waits up to three seconds for a trigger to be
detected on trigger line 4, then outputs the
results.
Output if no trigger is detected:
false
Output if a trigger is detected:
true
Also see
digio.trigger[N].clear() (on page 7-55)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-64 2600BS-901-01 Rev. C / August 2016
digio.writebit()
This function sets a digital I/O line high or low. This function is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
digio.writebit(N, data)
N
Digital I/O trigger line (1 to 14)
data
The value to write to the bit:
0 (low)
Non-zero (high)
Details
If the output line is write-protected using the digio.writeprotect attribute, the command is
ignored.
The reset() function does not affect the present state of the digital I/O lines.
Use the digio.writebit() and digio.writeport() commands to control the output state of
the synchronization line when trigger operation is set to digio.TRIG_BYPASS.
The data must be zero (0) to clear the bit. Any value other than zero (0) sets the bit.
Example
digio.writebit(4, 0)
Sets digital I/O line 4 low (0).
Also see
digio.readbit() (on page 7-54)
digio.readport() (on page 7-54)
digio.trigger[N].mode (on page 7-56)
digio.writeport() (on page 7-64)
digio.writeprotect (on page 7-65)
digio.writeport()
This function writes to all digital I/O lines. This function is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
digio.writeport(data)
data
Value to write to the port (0 to 16383)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-65
Details
The binary representation of data indicates the output pattern to be written to the I/O port. For
example, a data value of 170 has a binary equivalent of 00000010101010. Lines 2, 4, 6, and 8 are
set high (1), and the other 10 lines are set low (0).
Write-protected lines are not changed.
The reset() function does not affect the present states of the digital I/O lines.
Use the digio.writebit() and digio.writeport() commands to control the output state of
the synchronization line when trigger operation is set to digio.TRIG_BYPASS.
Example
digio.writeport(255)
Sets digital I/O Lines 1 through 8 high (binary
00000011111111).
Also see
digio.readbit() (on page 7-54)
digio.readport() (on page 7-54)
digio.writebit() (on page 7-64)
digio.writeprotect (on page 7-65)
digio.writeprotect
This attribute contains the write-protect mask that protects bits from changes from the digio.writebit() and
digio.writeport() functions. This attribute is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
Recall setup
Saved setup 0
Usage
mask = digio.writeprotect
digio.writeprotect = mask
mask
Sets the value that specifies the bit pattern for write-protect
Details
Bits that are set to one cause the corresponding line to be write-protected.
The binary equivalent of mask indicates the mask to be set for the I/O port. For example, a mask
value of 7 has a binary equivalent of 00000000000111. This mask write-protects lines 1, 2, and 3.
Example
digio.writeprotect = 15
Write-protects lines 1, 2, 3, and 4.
Also see
digio.writebit() (on page 7-64)
digio.writeport() (on page 7-64)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-66 2600BS-901-01 Rev. C / August 2016
display.clear()
This function clears all lines of the display.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
display.clear()
Details
This function switches to the user screen and then clears the display.
The display.clear(), display.setcursor(), and display.settext() functions are
overlapped commands. That is, the script does not wait for one of these commands to complete.
These functions do not immediately update the display. For performance considerations, they update
the physical display as soon as processing time becomes available.
Also see
display.setcursor() (on page 7-82)
display.settext() (on page 7-83)
display.getannunciators()
This function reads the annunciators (indicators) that are presently turned on.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
annunciators = display.getannunciators()
annunciators
The bitmasked value that shows which indicators are turned on
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-67
Details
This function returns a bitmasked value showing which indicators are turned on. The 16-bit binary
equivalent of the returned value is the bitmask. The return value is a sum of set annunciators, based
on the weighted value, as shown in the following table.
Annunciator (indicator) bitmasked values and equivalent constants
Indicator Bit Weighted
value
Equivalent constant
FILT
1
1
display.ANNUNCIATOR_FILTER
MATH 2 2
display.ANNUNCIATOR_MATH
4W
3
4
display.ANNUNCIATOR_4_WIRE
AUTO
4
8
display.ANNUNCIATOR_AUTO
ARM 5 16
display.ANNUNCIATOR_ARM
TRIG
6
32
display.ANNUNCIATOR_TRIGGER
* (star)
7
64
display.ANNUNCIATOR_STAR
SMPL
8
128
display.ANNUNCIATOR_SAMPLE
EDIT
9
256
display.ANNUNCIATOR_EDIT
ERR
10
512
display.ANNUNCIATOR_ERROR
REM
11
1024
display.ANNUNCIATOR_REMOTE
TALK 12 2048
display.ANNUNCIATOR_TALK
LSTN
13
4096
display.ANNUNCIATOR_LISTEN
SRQ
14
8192
display.ANNUNCIATOR_SRQ
REAR 15 16384
display.ANNUNCIATOR_REAR
REL
16
32768
display.ANNUNCIATOR_REL
Example 1
testAnnunciators = display.getannunciators()
print(testAnnunciators)
rem = bit.bitand(testAnnunciators, 1024)
if rem > 0 then
print("REM is on")
else
print("REM is off")
end
REM indicator is turned on.
Output:
1.28000e+03
REM is on
Example 2
print(display.ANNUNCIATOR_EDIT)
print(display.ANNUNCIATOR_TRIGGER)
print(display.ANNUNCIATOR_AUTO)
Output:
2.56000e+02
3.20000e+01
8.00000e+00
Also see
bit.bitand() (on page 7-9)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-68 2600BS-901-01 Rev. C / August 2016
display.getcursor()
This function reads the present position of the cursor on the front panel display.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
row, column, style = display.getcursor()
row
The row where the cursor is:
1
(top row);
2
(bottom row)
column
The column where the cursor is:
If the cursor is in the top row: 1 to 20
If the cursor is in the bottom row: 1 to 32
style
Visibility of the cursor:
0
(invisible cursor);
1
(blinking cursor)
Details
This function switches the display to the user screen (the text set by display.settext()), and
then returns values to indicate the cursor's row and column position and cursor style.
Columns are numbered from left to right on the display.
Example 1
testRow, testColumn = display.getcursor()
print(testRow, testColumn)
This example reads the cursor position
into local variables and prints them.
Example output:
1.00000e+00 1.00000e+00
Example 2
print(display.getcursor())
This example prints the cursor position
directly. In this example, the cursor is in
row 1 at column 3, with an invisible cursor:
1.00000e+00 3.00000e+00
0.00000e+00
Also see
display.gettext() (on page 7-70)
display.screen (on page 7-79)
display.setcursor() (on page 7-82)
display.settext() (on page 7-83)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-69
display.getlastkey()
This function retrieves the key code for the last pressed key.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
keyCode = display.getlastkey()
keyCode
A returned value that represents the last front-panel key pressed; see Details for
more information
Details
A history of the key code for the last pressed front-panel key is maintained by the instrument. When
the instrument is turned on, or when it is transitioning from local to remote operation, the key code is
set to 0 (display.KEY_NONE).
Pressing the EXIT (LOCAL) key normally aborts a script. To use this function with the EXIT (LOCAL)
key, you must set display.locallockout to display.LOCK.
The table below lists the keyCode value for each front-panel action.
Key codes
Value Key list
Value Key list
0
display.KEY_NONE
82
display.KEY_ENTER
65 display.KEY_RANGEUP 83 display.KEY_MEASB
67
display.KEY_RELB
84
display.DIGITSB
68
display.KEY_MENU
85
display.KEY_RECALL
69 display.KEY_MODEA 86 display.KEY_MEASA
70
display.KEY_RELA
87
display.KEY_DIGITSA
71
display.KEY_RUN
90
display.KEY_LIMITB
72 display.KEY_DISPLAY 91 display.KEY_SPEEDB
73 display.KEY_AUTO 92 display.KEY_TRIG
74
display.KEY_FILTERB
93
display.KEY_LIMITA
75
display.KEY_EXIT
94
display.KEY_SPEEDA
76 display.KEY_SRCB 95 display.KEY_LOAD
77
display.KEY_FILTERA
97
display.WHEEL_ENTER
78
display.KEY_STORE
103
display.KEY_RIGHT
79 display.KEY_SRCA 104 display.KEY_LEFT
80
display.KEY_CONFIG
107
display.WHEEL_LEFT
81
display.KEY_RANGEDOWN
114
display.WHEEL_RIGHT
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-70 2600BS-901-01 Rev. C / August 2016
When using this function, use built-in constants such as display.KEY_RIGHT (rather than the
numeric value of 103). This will allow for better forward compatibility with firmware revisions.
The OUTPUT ON/OFF controls for SMU A or SMU B cannot be tracked by this function.
Example
key = display.getlastkey()
print(key)
On the front panel, press the MENU key and
then send the code shown here. This retrieves
the key code for the last pressed key.
Output:
6.80000e+01
Also see
display.locallockout (on page 7-76)
display.sendkey() (on page 7-80)
display.gettext()
This function reads the text displayed on the instrument front panel.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
text = display.gettext()
text = display.gettext(embellished)
text = display.gettext(embellished, row)
text = display.gettext(embellished, row, columnStart)
text = display.gettext(embellished, row, columnStart, columnEnd)
text
The returned value, which contains the text that is presently displayed
embellished
Indicates type of returned text: false (simple text); true (text with embedded
character codes)
row
Selects the row from which to read the text: 1 (row 1); 2 (row 2). If row is not
included, both rows of text are read
columnStart
Selects the first column from which to read text; for row 1, the valid column numbers
are 1 to 20; for row 2, the valid column numbers are 1 to 32; if nothing is selected, 1
is used
columnEnd
Selects the last column from which to read text; for row 1, the valid column numbers
are 1 to 20; for row 2, the valid column numbers are 1 to 32; the default is 20 for row
1, and 32 for row 2
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-71
Details
Using the command without any parameters returns both lines of the display.
The $N character code is included in the returned value to show where the top line ends and the
bottom line begins. This is not affected by the value of embellished.
When embellished is set to true, all other character codes are returned along with the message.
When embellished is set to false, only the message and the $N character code is returned. For
information on the embedded character codes, see display.settext() (on page 7-83).
The display is not switched to the user screen (the screen set using display.settext()). Text will
be read from the active screen.
Example 1
display.clear()
display.setcursor(1, 1)
display.settext("ABCDEFGHIJ$DKLMNOPQRST")
display.setcursor(2, 1)
display.settext("abcdefghijklm$Bnopqrstuvwxyz$F123456")
print(display.gettext())
print(display.gettext(true))
print(display.gettext(false, 2))
print(display.gettext(true, 2, 9))
print(display.gettext(false, 2, 9, 10))
This example shows how to retrieve the display text in multiple ways. The output is:
ABCDEFGHIJKLMNOPQRST$Nabcdefghijklmnopqrstuvwxyz123456
$RABCDEFGHIJ$DKLMNOPQRST$N$Rabcdefghijklm$Bnopqrstuvwxyz$F123456
abcdefghijklmnopqrstuvwxyz123456
$Rijklm$Bnopqrstuvwxyz$F123456
ij
Example 2
display.clear()
display.settext("User Screen")
text = display.gettext()
print(text)
This outputs all text in both lines of the display:
User Screen $N
This indicates that the message “User Screen” is on the top line. The bottom line is blank.
Also see
display.clear() (on page 7-66)
display.getcursor() (on page 7-68)
display.setcursor() (on page 7-82)
display.settext() (on page 7-83)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-72 2600BS-901-01 Rev. C / August 2016
display.inputvalue()
This function displays a formatted input field on the instrument display that the operator can edit.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
display.inputvalue(format)
display.inputvalue(format, default)
display.inputvalue(format, default, minimum)
display.inputvalue(format, default, minimum, maximum)
format
A string that defines how the input field is formatted; see Details for more information
default
The default value for the input value
minimum
The minimum input value
maximum
The maximum input value
Details
The format parameter uses zeros (0), the decimal point, polarity sign, and exponents to define how
the input field is formatted. The format parameter can include the options shown in the following
table.
Option Description Examples
E
Include the E to display the value exponentially
0.00000e+0
+
Allows operators to enter positive or negative values; if the
"+" sign is not included, the operator cannot enter a
negative value
+0.00
0 Defines the digit positions for the value; you can use up to
six zeros (0)
+00.0000e+00
.
Include to have a decimal point appear in the value
+0.00
The default parameter is the value shown when the value is first displayed.
The minimum and maximum parameters can be used to limit the values that can be entered. When +
is not selected for format, the minimum limit must be more than or equal to zero (0). When limits are
used, you cannot enter values above or below these limits.
The input value is limited to ±1e37.
Before calling display.inputvalue(), you should send a message prompt to the operator using
display.prompt(). Make sure to position the cursor where the edit field should appear.
After this command is sent, script execution pauses until you enter a value and press the ENTER key.
For positive and negative entry (plus sign (+) used for the value field and/or the exponent field),
polarity of a nonzero value or exponent can be toggled by positioning the cursor on the polarity sign
and turning the navigation wheel . Polarity will also toggle when using the navigation wheel to
decrease or increase the value or exponent past zero. A zero (0) value or exponent (for example,
+00) is always positive and cannot be toggled to negative polarity.
After executing this command and pressing the EXIT (LOCAL) key, the function returns nil.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command r
eference
2600BS-901-01 Rev. C / August 2016 7-73
Example
display.clear()
display.settext("Enter value between$N -0.10 and 2.00: ")
value = display.inputvalue("+0.00", 0.5, -0.1, 2.0)
print("Value entered = ", value)
Displays an editable field (+0.50) for operator input. The valid input range is -0.10 to +2.00, with a default of
0.50.
Output:
Value entered = 1.35000e+00
Also see
display.prompt() (on page 7-78)
display.setcursor() (on page 7-82)
display.settext() (on page 7-83)
display.loadmenu.add()
This function adds an entry to the USER TESTS menu, which can be accessed by pressing the LOAD key on the
instrument front panel.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
display.loadmenu.add(displayName, code)
display.loadmenu.add(displayName, code, memory)
displayName
The name that is added to the USER TESTS menu
code
The code that is run from the USER TESTS menu
memory
Determines if code is saved to nonvolatile memory:
0 or display.DONT_SAVE: Does not save the code to nonvolatile memory
1
or
display.SAVE
: Saves the code to nonvolatile memory (default)
Details
After adding code to the load menu, you can run it from the front panel by pressing the LOAD key,
then selecting USER to select from the available code to load. Pressing the RUN key will then run the
script.
You can add items in any order. They are always displayed in alphabetic order when the menu is
selected.
Any Lua code can be can be included in the code parameter. If memory is set to display.SAVE,
the entry (name and code) is saved in nonvolatile memory. Scripts, functions, and variables used in
the code are not saved by display.SAVE. Functions and variables need to be saved with the code.
If the code is not saved in nonvolatile memory, it will be lost when the Series 2600B is turned off. See
Example 2 below.
If you do not make a selection for memory, the code is automatically saved to nonvolatile memory.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-74 2600BS-901-01 Rev. C / August 2016
You can create a script that defines several functions, and then use the
display.loadmenu.add() command to add items that call those individual functions. This allows
the operator to run tests from the front panel.
Example 1
display.loadmenu.add("Test9", "Test9()")
Assume a user script named "Test9" has
been loaded into the run-time environment.
Adds the menu entry to the User menu to run
the script after loading.
Example 2
display.loadmenu.add(
"Test", "DUT1() beeper.beep(2, 500)",
display.SAVE)
Assume a script with a function named
“DUT1” has already been loaded into the
instrument, and the script has NOT been
saved in nonvolatile memory.
Now assume you want to add a test named
“Test” to the USER TESTS menu. You want
the test to run the function named “DUT1”
and sound the beeper. This example adds
“Test” to the menu, defines the code, and
then saves the displayName and code in
nonvolatile memory.
When “Test” is run from the front panel USER
TESTS menu, the function named “DUT1”
executes and the beeper beeps for two
seconds.
Now assume you turn off instrument power.
Because the script was not saved in
nonvolatile memory, the function named
“DUT1” is lost when you turn the instrument
on. When “Test” is again run from the front
panel, an error is generated because DUT1
no longer exists in the instrument as a
function.
Example 3
display.loadmenu.add("Part1",
"testpart([[Part1]], 5.0)", display.SAVE)
Adds an entry called “Part1” to the front panel
“USER TESTS” load menu for the code
testpart([[Part1]], 5.0), and sav
es it
in nonvolatile memory.
Also see
display.loadmenu.delete() (on page 7-75)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-75
display.loadmenu.catalog()
This function creates an iterator for the user menu items accessed using the LOAD key on the instrument front
panel.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
for displayName in display.loadmenu.catalog() do body end
for displayName, code in display.loadmenu.catalog() do body end
displayName
The name displayed in the menu
code
The code associated with the
displayName
body
The body of the code to process the entries in the loop
Details
Each time through the loop, displayName and code will take on the values in the USER TESTS
menu.
The instrument goes through the list in random order.
Example
for displayName, code in
display.loadmenu.catalog() do
print(displayName, code)
end
Output:
Test DUT1() beeper.beep(2, 500)
Part1 testpart([[Part1]], 5.0)
Test9 Test9()
Also see
display.loadmenu.add() (on page 7-73)
display.loadmenu.delete() (on page 7-75)
display.loadmenu.delete()
This function removes an entry from the USER TESTS menu, which can be accessed using the LOAD key on the
instrument front panel.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
display.loadmenu.delete(displayName)
displayName
The name to be deleted from the USER TESTS menu
Details
If you delete an entry from the USER TESTS menu, you can no longer run it by pressing the LOAD
key.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-76 2600BS-901-01 Rev. C / August 2016
Example
display.loadmenu.delete("Test9")
for displayName, code in
display.loadmenu.catalog() do
print(displayName, code)
end
Deletes the entry named "Test9"
Output:
Test DUT1() beeper.beep(2, 500)
Part1 testpart([[Part1]], 5.0)
Also see
display.loadmenu.add() (on page 7-73)
display.loadmenu.catalog() (on page 7-75)
display.locallockout
This attribute describes whether or not the EXIT (LOCAL) key on the instrument front panel is enabled.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Power cycle
Not saved
0 (display.UNLOCK)
Usage
lockout = display.locallockout
display.locallockout = lockout
lockout
0 or display.UNLOCK: Unlocks EXIT (LOCAL) key
1
or
display.LOCK
: Locks out EXIT (LOCAL) key
Details
Set display.locallockout to display.LOCK to prevent the user from interrupting remote
operation by pressing the EXIT (LOCAL) key.
Set this attribute to display.UNLOCK to allow the EXIT (LOCAL) key to interrupt script or remote
operation.
Example
display.locallockout = display.LOCK
Disables the front-panel EXIT (LOCAL) key.
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-77
display.menu()
This function presents a menu on the front panel display.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
selection = display.menu(name, items)
selection
Name of the variable that holds the selected menu item
name
Menu name to display on the top line
items
Menu items to display on the bottom line
Details
The menu consists of the menu name string on the top line, and a selectable list of items on the
bottom line. The menu items must be a single string with each item separated by whitespace. The
name for the top line is limited to 20 characters.
After sending this command, script execution pauses for the operator to select a menu item. An item
is selected by rotating the navigation wheel to place the blinking cursor on the item, and then
pressing the navigation wheel (or the ENTER key). When an item is selected, the text of that
selection is returned.
Pressing the EXIT (LOCAL) key will not abort the script while the menu is displayed, but it will return
nil. The script can be aborted by calling the exit function when nil is returned.
Example
selection = display.menu("Menu", "Test1 Test2 Test3")
print(selection)
Displays a menu with three
menu items. If the second menu
item is selected, selection is
given the value Test2.
Output:
Test2
Also see
None
display.numpad
This attribute controls whether the front panel keys act as a numeric keypad during value entry.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
Recall setup
Saved setup 1 (display.ENABLE)
Usage
numericKeypad = display.numpad
display.numpad = numericKeypad
numericKeypad
Enable the numeric keypad feature (1 or display.ENABLE)
Disable the numeric keypad feature (
0
or
display.DISABLE
)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-78 2600BS-901-01 Rev. C / August 2016
Details
The numeric keypad feature is only available when editing a numeric value at the same time that the
EDIT indicator is lit.
Example
display.numpad = display.ENABLE
Turn on the numeric keypad feature.
Also see
Setting a value (on page 2-21)
display.prompt()
This function prompts the user to enter a parameter from the front panel of the instrument.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
display.prompt(format, units, help)
display.prompt(format, units, help, default)
display.prompt(format, units, help, default, minimum)
display.prompt(format, units, help, default, minimum, maximum)
format
A string that defines how the input field is formatted; see Details for more information
units
Set the units text string for the top line (eight characters maximum); this indicates the units (for
example, "V" or "A") for the value
help
Text string to display on the bottom line (32 characters maximum)
default
The value that is shown when the value is first displayed
minimum
The minimum input value that can be entered
maximum
The maximum input value that can be entered (must be more than minimum)
Details
This function creates an editable input field at the present cursor position, and an input prompt
message on the bottom line. Example of a displayed input field and prompt:
0.00V
Input 0 to +2V
The format parameter uses zeros (0), the decimal point, polarity sign, and exponents to define how
the input field is formatted.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-79
The format parameter can include the options shown in the following table.
Option Description Examples
E
Include the E to display the value exponentially. Include a
plus sign (+) for positive/negative exponent entry. Do not
include the plus sign (+) to prevent negative value entry. 0
defines the digit positions for the exponent.
0.00000E+0
+ Allows operators to enter positive or negative values. If
the plus sign (+) is not included, the operator cannot enter
a negative value.
+0.00
0
Defines the digit positions for the value. You can use up to
six zeros (0).
+00.0000E+00
.
The decimal point where needed for the value.
+0.00
The minimum and maximum parameters can be used to limit the values that can be entered. When a
plus sign (+) is not selected for format, the minimum limit must be greater than or equal to zero (0).
When limits are used, the operator cannot enter values above or below these limits.
The input value is limited to ±1e37.
After sending this command, script execution pauses for the operator to enter a value and press
ENTER.
For positive and negative entry (plus sign (+) used for the value field and the exponent field), polarity
of a nonzero value or exponent can be toggled by positioning the cursor on the polarity sign and
turning the navigation wheel . Polarity will also toggle when using the navigation wheel to
decrease or increase the value or exponent past zero. A zero value or exponent (for example, +00) is
always positive and cannot be toggled to negative polarity.
After executing this command and pressing the EXIT (LOCAL) key, the value returns nil.
Example
value = display.prompt("0.00", "V", "Input 0 to +2V", 0.5, 0, 2)
print(value)
The above command prompts the operator to enter a voltage value. The valid input range is 0 to +2.00, with a
default of 0.50:
0.50V
Input 0 to +2V
If the operator enters 0.70, the output is:
7.00000e-01
Also see
display.inputvalue() (on page 7-72)
display.screen
This attribute contains the selected display screen.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
Saved setup
Models 2601B/2611B/2635B:
0 (display.SMUA)
Models
2602B/2604B/2612B/2614B/2634B/
2636B: 2 (display.SMUA_SMUB)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-80 2600BS-901-01 Rev. C / August 2016
Usage
displayID = display.screen
display.screen = displayID
displayID
One of the following values:
0 or display.SMUA: Displays source-measure and compliance for SMU A
1 or display.SMUB: Displays source-measure and compliance for SMU B
2 or display.SMUA_SMUB: Displays source-measure for SMU A and SMU B
3
or
display.USER
: Displays the user screen
Details
Setting this attribute selects the display screen for the front panel. This performs the same action as
pressing the DISPLAY key on the front panel. The text for the display screen is set by
display.settext().
Read this attribute to determine which of the available display screens was last selected.
Example
display.screen = display.SMUA
Selects the source-measure and compliance
limit display for SMU A.
Also see
display.settext() (on page 7-83)
display.sendkey()
This function sends a code that simulates the action of a front panel control.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
display.sendkey(keyCode)
keyCode
A parameter that specifies the key press to simulate; see Details for more
information
Series 2
600B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-81
Details
This command simulates the pressing of a front panel key or navigation wheel, or the turning the
navigation wheel one click to the left or right.
Key codes
Value Key list
Value Key list
0
display.KEY_NONE
82
display.KEY_ENTER
65
display.KEY_RANGEUP
83
display.KEY_MEASB
66
display.KEY_MODEB
84
display.KEY_DIGITSB
67
display.KEY_RELB
85
display.KEY_RECALL
68
display.KEY_MENU
86
display.KEY_MEASA
69
display.KEY_MODEA
87
display.KEY_DIGITSA
70
display.KEY_RELA
88
display.KEY_OUTPUTA
71
display.KEY_RUN
90
display.KEY_LIMITB
72
display.KEY_DISPLAY
91
display.KEY_SPEEDB
73
display.KEY_AUTO
92
display.KEY_TRIG
74
display.KEY_FILTERB
93
display.KEY_LIMITA
75
display.KEY_EXIT
94
display.KEY_SPEEDA
76
display.KEY_SRCB
95
display.KEY_LOAD
77
display.KEY_FILTERA
96
display.KEY_OUTPUTB
78
display.KEY_STORE
97
display.WHEEL_ENTER
79
display.KEY_SRCA
103
display.KEY_RIGHT
80
display.KEY_CONFIG
104
display.KEY_LEFT
81
display.KEY_RANGEDOWN
107
display.WHEEL_LEFT
114
display.WHEEL_RIGHT
When using this function, send built-in constants, such as display.KEY_RIGHT, rather than the
numeric value, such as 103. This allows for better forward compatibility with firmware revisions.
Example
display.sendkey(display.KEY_RUN)
Simulates pressing the RUN key.
Also see
Front panel
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-82 2600BS-901-01 Rev. C / August 2016
display.setcursor()
This function sets the position of the cursor.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
display.setcursor(row, column)
display.setcursor(row, column, style)
row
The row number for the cursor (1 or 2)
column
The active column position to set; row 1 has columns 1 to 20, row 2 has columns 1
to 32
style
Set the cursor to invisible (0, default) or blinking (1)
Details
Sending this command selects the user screen and then moves the cursor to the given location.
The display.clear(), display.setcursor(), and display.settext() functions are
overlapped commands. That is, the script does not wait for one of these commands to complete.
These functions do not immediately update the display. For performance considerations, they update
the physical display as soon as processing time becomes available.
An out-of-range parameter for row sets the cursor to row 2. An out-of-range parameter for column
sets the cursor to column 20 for row 1, or 32 for row 2.
An out-of-range parameter for style sets it to 0 (invisible).
A blinking cursor is only visible when it is positioned over displayed text. It cannot be seen when
positioned over a space character.
Example
display.clear()
display.setcursor(1, 8)
display.settext("Hello")
display.setcursor(2, 14)
display.settext("World")
This example displays a message on the
instrument front panel, approximately center.
Note that the top line of text is larger than the
bottom line of text.
The front panel of the instrument displays "Hello"
on the top line and "World" on the second line.
Also see
display.clear() (on page 7-66)
display.getcursor() (on page 7-68)
display.gettext() (on page 7-70)
display.screen (on page 7-79)
display.settext() (on page 7-83)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-83
display.settext()
This function displays text on the user screen.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
display.settext(text)
text
Text message to be displayed, with optional character codes
Details
This function selects the user display screen and displays the given text.
After the instrument is turned on, the first time you use a display command to write to the display, the
message "User Screen" is cleared. After the first write, you need to use display.clear() to clear
the message.
The display.clear(), display.setcursor(), and display.settext() functions are
overlapped commands. That is, the script does not wait for one of these commands to complete.
These functions do not immediately update the display. For performance considerations, they update
the physical display as soon as processing time becomes available.
The text starts at the present cursor position. After the text is displayed, the cursor is after the last
character in the display message.
Top line text does not wrap to the bottom line of the display automatically. Any text that does not fit on
the current line is truncated. If the text is truncated, the cursor remains at the end of the line.
The text remains on the display until replaced or cleared.
The character codes described in the following table can be also be included in the text string.
Display character codes
Character Code Description
$N
Newline, starts text on the next line; if the cursor is already on line 2, text will be ignored
after the
$N
is received
$R
Sets text to normal intensity, nonblinking
$B
Sets text to blink
$D
Sets text to dim intensity
$F
Sets the text to background blink
$$
Escape sequence to display a single dollar symbol ($)
Example
display.clear()
display.settext("Normal $BBlinking$N")
display.settext("$DDim $FBackgroundBlink$R $$$$ 2 dollars")
This example sets the display to:
Normal Blinking
Dim BackgroundBlink $$ 2 dollars
with the named effect on each word.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-84 2600BS-901-01 Rev. C / August 2016
Also see
display.clear() (on page 7-66)
display.getcursor() (on page 7-68)
display.gettext() (on page 7-70)
display.screen (on page 7-79)
display.setcursor() (on page 7-82)
display.smuX.digits
This attribute sets the display resolution of the selected measurement.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
Saved setup
5 (display.DIGITS_5_5)
Usage
digits = display.smuX.digits
display.smuX.digits = digits
digits
Set digits to one of the following values:
Select 4-1/2 digit resolution (4 or display.DIGITS_4_5)
Select 5-1/2 digit resolution (5 or display.DIGITS_5_5)
Select 6-1/2 digit resolution (
6
or
display.DIGITS_6_5)
X
Source-measure unit (SMU) channel (for example, display.smua.digits
applies to SMU channel A)
Details
SMU A and SMU B can be set for different measurement display resolutions.
Example
display.smua.digits = display.DIGITS_5_5
Select 5-1/2 digit resolution for SMU A.
Also see
Display resolution (on page 3-71)
display.smuX.limit.func
On single SMU display screens, this attribute specifies the type of limit value setting displayed.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
Recall setup
Saved setup 0 (display.LIMIT_IV)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-85
Usage
func = display.smuX.limit.func
display.smuX.limit.func = func
func
One of the following values:
0 or display.LIMIT_IV: Displays the primary limit setting
1 or display.LIMIT_P: Displays the power limit setting
X
Source-measure unit (SMU) channel (for example,
display.smua.limit.func
applies to SMU channel A)
Details
Selects the displayed limit function: primary (IV) or power (P).
SMU A and SMU B can be set for different display functions.
Example
display.smua.limit.func = display.LIMIT_P
Specifies the power limit value is
displayed for SMU Channel A.
Also see
display.smuX.measure.func (on page 7-85)
display.smuX.measure.func
This attribute specifies the type of measurement that is being displayed.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
Recall setup
Saved setup 1 (display.MEASURE_DCVOLTS)
Usage
func = display.smuX.measure.func
display.smuX.measure.func = func
func
One of the following values:
0 or display.MEASURE_DCAMPS: Selects current measurement function
1 or display.MEASURE_DCVOLTS: Selects volts measurement function
2 or display.MEASURE_OHMS: Selects ohms measurement function
3
or
display.MEASURE_WATTS
: Selects power measurement function
X
Source-measure unit (SMU) channel (for example,
display.smua.measure.func
applies to SMU channel A)
Details
Selects the displayed measurement function: Amperes, volts, ohms, or watts.
SMU A and SMU B can be set for different measurement functions.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-86 2600BS-901-01 Rev. C / August 2016
Example
display.smua.measure.func = display.MEASURE_DCAMPS
Selects the current measure function
for SMU A.
Also see
display.smuX.limit.func (on page 7-84)
display.trigger.clear()
This function clears the front-panel trigger event detector.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
display.trigger.clear()
Details
The trigger event detector remembers if an event has been detected since the last
display.trigger.wait() call. This function clears the trigger event detector and discards the
previous history of TRIG key presses.
This attribute also clears the display.trigger.overrun attribute.
Also see
display.trigger.overrun (on page 7-87)
display.trigger.wait() (on page 7-87)
display.trigger.EVENT_ID
This constant is the event ID of the event generated when the front-panel TRIG key is pressed.
Type TSP-Link accessible Affected by Where saved Default value
Constant Yes
Usage
eventID = display.trigger.EVENT_ID
eventID
The trigger event number
Details
Set the stimulus of any trigger event detector to the value of this constant to have it respond to front-
panel trigger key events.
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-87
display.trigger.overrun
This attribute contains the event detector overrun status.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Display trigger clear
Instrument reset
Recall setup
Not saved
false
Usage
overrun = display.trigger.overrun
overrun
The trigger overrun state
Details
Indicates if a trigger event was ignored because the event detector was already in the detected state
when the TRIG button was pressed.
Indicates the overrun state of the event detector built into the display.
This attribute does not indicate whether an overrun occurred in any other part of the trigger model or
in any other detector that is monitoring the event.
Example
overrun = display.trigger.overrun
Sets the variable overrun equal to the
present state of the event detector built into
the display.
Also see
display.trigger.clear() (on page 7-86)
display.trigger.wait()
This function waits for the TRIG key on the front panel to be pressed.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
triggered = display.trigger.wait(timeout)
triggered
true: Trigger was detected
false: The operation timed out
timeout
Timeout in seconds
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-88 2600BS-901-01 Rev. C / August 2016
Details
If the trigger key was previously pressed and one or more trigger events were detected, this function
returns immediately.
After waiting for a trigger with this function, the event detector is automatically reset and rearmed.
This is true regardless of the number of events detected.
Use the display.trigger.clear() call to clear the trigger event detector.
Example
triggered = display.trigger.wait(5)
print(triggered)
Waits up to five seconds for the TRIG key to be
pressed. If TRIG is pressed within five seconds,
the output is
true
. If not, the output is
false
.
Also see
display.trigger.clear() (on page 7-86)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-89
display.waitkey()
This function captures the key code value for the next front-panel action.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
keyCode = display.waitkey()
keyCode
See Details for more information
Details
After you send this function, script execution pauses until a front-panel action (for example, pressing
a key or the navigation wheel , or turning the navigation wheel ). After the action, the value of the
key (or action) is returned.
If the EXIT (LOCAL) key is pressed while this function is waiting for a front-panel action, the script is
not aborted.
A typical use for this function is to prompt the user to press the EXIT (LOCAL) key to abort the script
or press any other key to continue. For example, if the keyCode value 75 is returned (the EXIT
(LOCAL) key was pressed), the exit() function can be called to abort the script.
The table below lists the keyCode value for each front panel action.
Key codes
Value Key (or action)
Value Key (or action)
0
display.KEY_NONE
83
display.KEY_MEASB
65
display.KEY_RANGEUP
84
display.KEY_DIGITSB
66
display.KEY_MODEB
85
display.KEY_RECALL
67
display.KEY_RELB
86
display.KEY_MEASA
68
display.KEY_MENU
87
display.KEY_DIGITSA
69
display.KEY_MODEA
88
display.KEY_OUTPUTA
70
display.KEY_RELA
90
display.KEY_LIMITB
71
display.KEY_RUN
91
display.KEY_SPEEDB
72
display.KEY_DISPLAY
92
display.KEY_TRIG
73
display.KEY_AUTO
93
display.KEY_LIMITA
74
display.KEY_FILTERB
94
display.KEY_SPEEDA
75
display.KEY_EXIT
95
display.KEY_LOAD
76
display.KEY_SRCB
96
display.KEY_OUTPUTB
77
display.KEY_FILTERA
97
display.WHEEL_ENTER
78
display.KEY_STORE
103
display.KEY_RIGHT
79
display.KEY_SRCA
104
display.KEY_LEFT
80
display.KEY_CONFIG
107
display.WHEEL_LEFT
81
display.KEY_RANGEDOWN
114
display.WHEEL_RIGHT
82
display.KEY_ENTER
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-90 2600BS-901-01 Rev. C / August 2016
When using this function, use built-in constants such as display.KEY_RIGHT (rather than the
numeric value of 103). This will allow for better forward compatibility with firmware revisions.
Example
key = display.waitkey()
print(key)
Pause script execution until the operator presses
a key or the navigation wheel , or rotates the
navigation wheel.
If the output is:
8.60000e+01
It indicates that the MEAS(A) key was pressed.
Also see
Capturing key-press codes (on page 3-80)
display.getlastkey() (on page 7-69)
display.sendkey() (on page 7-80)
display.settext() (on page 7-83)
errorqueue.clear()
This function clears all entries out of the error queue.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
errorqueue.clear()
Details
See the Error queue (on page E-3) topic for additional information about the error queue.
Also see
Error queue (on page E-3)
errorqueue.count (on page 7-91)
errorqueue.next() (on page 7-91)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-91
errorqueue.count
This attribute gets the number of entries in the error queue.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Power cycle
Clearing error queue
Reading error messages
Not applicable
Not applicable
Usage
count = errorqueue.count
count
The number of entries in the error queue
Example
count = errorqueue.count
print(count)
Returns the number of entries in the error
queue.
The output below indicates that there are
four entries in the error queue:
4.00000e+00
Also see
errorqueue.clear() (on page 7-90)
errorqueue.next() (on page 7-91)
errorqueue.next()
This function reads the oldest entry from the error queue and removes it from the queue.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
errorCode, message, severity, errorNode = errorqueue.next()
errorCode
The error code number for the entry
message
The message that describes the error code
severity
The severity level (0, 10, 20, 30, or 40); see Details for more information
errorNode
The node number where the error originated
Details
Entries are stored in a first-in, first-out (FIFO) queue. This functions reads the oldest entry and
removes it from the queue.
Error codes and messages are listed in the Error summary list (on page 8-3).
If there are no entries in the queue, code 0, "Queue is Empty" is returned.
Returned severity levels are described in the following table.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-92 2600BS-901-01 Rev. C / August 2016
Number Error level Description
0 NO_SEVERITY The message is information only. This level is used when the error
queue is empty; the message does not represent an error.
10 INFORMATIONAL The message is information only. This level is used to indicate status
changes; the message does not represent an error.
20
RECOVERABLE
The error was caused by improper use of the instrument or by conditions
that can be corrected. This message indicates that an error occurred.
The instrument is still operating normally.
30
SERIOUS
There is a condition that prevents the instrument from functioning
properly. The message indicates that the instrument is presently
operating in an error condition. If the condition is corrected, the
instrument will return to normal operation.
40
FATAL
There is a condition that cannot be corrected that prevents the
instrument from functioning properly. Disconnect the DUT and turn the
power off and then on again. If the error is a hardware fault that persists
after cycling the power, the instrument must be repaired.
In an expanded system, each TSP-Link enabled instrument is assigned a node number. The variable
errorNode stores the node number where the error originated. The errorNode will always be
equal to 1 on the Models 2604B/2614B/2634B.
Example
errorcode, message = errorqueue.next()
print(errorcode, message)
Reads the oldest entry in the error queue. The
output below indicates that the queue is empty.
Output:
0.00000e+00 Queue Is Empty
Also see
Error queue (on page E-3)
errorqueue.clear() (on page 7-90)
errorqueue.count (on page 7-91)
Error summary list (on page 8-3)
eventlog.all()
This function returns all entries from the event log as a single string and removes them from the event log.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
logString = eventlog.all()
logString
A listing of all event log entries
Details
This function returns all events in the event log. Logged items are shown from oldest to newest. The
response is a string that has the messages delimited with a new line character.
This function also clears the event log.
If there are no entries in the event log, this function returns the value nil.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-93
Example
print(eventlog.all())
Get and print all entries from the event log and remove the entries from the log.
Output:
17:26:35.690 10 Oct 2007, LAN0, 192.168.1.102, LXI, 0, 1192037132,
1192037155.733269000, 0, 0x0
17:26:39.009 10 Oct 2007, LAN5, 192.168.1.102, LXI, 0, 1192037133,
1192037159.052777000, 0, 0x0
Also see
eventlog.clear() (on page 7-93)
eventlog.count (on page 7-94)
eventlog.enable (on page 7-94)
eventlog.next() (on page 7-95)
eventlog.overwritemethod (on page 7-96)
eventlog.clear()
clears the event log.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
eventlog.clear()
Details
This command removes all messages from the event log.
Also see
eventlog.all() (on page 7-92)
eventlog.count (on page 7-94)
eventlog.enable (on page 7-94)
eventlog.next() (on page 7-95)
eventlog.overwritemethod (on page 7-96)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-94 2600BS-901-01 Rev. C / August 2016
eventlog.count
This attribute returns the number of events in the event log.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Instrument reset
Clearing event log
Reading event log
Not applicable Not applicable
Usage
N = eventlog.count
N
The number of events in the event log
Example
print(eventlog.count)
Displays the present number of events in the
instrument event log.
Output looks similar to:
3.00000e+00
Also see
eventlog.all() (on page 7-92)
eventlog.clear() (on page 7-93)
eventlog.enable (on page 7-94)
eventlog.next() (on page 7-95)
eventlog.overwritemethod (on page 7-96)
eventlog.enable
This attribute enables or disables the event log.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
Not saved
1 (eventlog.ENABLE)
Usage
status = eventlog.enable
eventlog.enable = status
status
The enable status of the event log:
1 or eventlog.ENABLE: Event log enable
0 or eventlog.DISABLE: Event log disable
Details
When the event log is disabled (eventlog.DISABLE or 0), no new events are added to the event
log. You can, however, read and remove existing events.
When the event log is enabled, new events are logged.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-95
Example
print(eventlog.enable)
eventlog.enable = eventlog.DISABLE
print(eventlog.enable)
Displays the present status of the Series
2600B event log.
Output:
1.00000e+00
0.00000e+00
Also see
eventlog.all() (on page 7-92)
eventlog.clear() (on page 7-93)
eventlog.count (on page 7-94)
eventlog.next() (on page 7-95)
eventlog.overwritemethod (on page 7-96)
eventlog.next()
This function returns the oldest message from the event log and removes it from the log.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
logString = eventlog.next()
logString
The next log entry
Details
Returns the next entry from the event log and removes it from the log.
If there are no entries in the event log, returns the value nil.
Example 1
print(eventlog.next())
Get the oldest message in the event log and remove that entry from the log.
Output:
17:28:22.085 10 Oct 2009, LAN2, 192.168.1.102, LXI, 0, 1192037134, <no time>, 0,
0x0
Example 2
print(eventlog.next())
If you send this command when there is nothing in the event log, you will get the following output:
nil
Also see
eventlog.all() (on page 7-92)
eventlog.clear() (on page 7-93)
eventlog.count (on page 7-94)
eventlog.enable (on page 7-94)
eventlog.overwritemethod (on page 7-96)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-96 2600BS-901-01 Rev. C / August 2016
eventlog.overwritemethod
This attribute controls how the event log processes events if the event log is full.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
Recall setup
Not saved 1
(eventlog.DISCARD_OLDEST)
Usage
method = eventlog.overwritemethod
eventlog.overwritemethod = method
method
Set to one of the following values:
0 or eventlog.DISCARD_NEWEST: New entries are not logged
1
or
eventlog.DISCARD_OLDEST
: Old entries are deleted as new events are logged
Details
When this attribute is set to eventlog.DISCARD_NEWEST, new entries are not logged.
When this attribute is set to eventlog.DISCARD_OLDEST, the oldest entry is discarded when a new
entry is added.
Example
eventlog.overwritemethod = 0
When the log is full, the event log will ignore
new entries.
Also see
eventlog.all() (on page 7-92)
eventlog.clear() (on page 7-93)
eventlog.count (on page 7-94)
eventlog.enable (on page 7-94)
eventlog.next() (on page 7-95)
exit()
This function stops a script that is presently running.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
exit()
Details
Terminates script execution when called from a script that is being executed.
This command does not wait for overlapped commands to complete before terminating script
execution. If overlapped commands are required to finish, use the waitcomplete() function before
calling exit().
Also see
waitcomplete() (on page 7-413)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-97
fileVar:close()
This function closes the file that is represented by the fileVar variable.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
fileVar:close()
fileVar
The file descriptor variable to close
Details
This command is equivalent to io.close(fileVar).
Note that files are automatically closed when the file descriptors are garbage collected.
Also see
fileVar:flush() (on page 7-97)
fileVar:read() (on page 7-98)
fileVar:seek() (on page 7-99)
fileVar:write() (on page 7-100)
io.close() (on page 7-117)
io.open() (on page 7-119)
fileVar:flush()
This function writes buffered data to a file.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
fileVar:flush()
fileVar
The file descriptor variable to flush
Details
The fileVar:write() or io.write() functions buffer data, which may not be written immediately
to the USB flash drive. Use fileVar:flush() to flush this data. Using this function removes the
need to close a file after writing to it, allowing the file to be left open to write more data. Data may be
lost if the file is not closed or flushed before a script ends.
If there is going to be a time delay before more data is written to a file, and you want to keep the file
open, flush the file after you write to it to prevent loss of data.
Also see
fileVar:write() (on page 7-100)
io.open() (on page 7-119)
io.write() (on page 7-121)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-98 2600BS-901-01 Rev. C / August 2016
fileVar:read()
This function reads data from a file.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
data1 = fileVar:read()
data1 = fileVar:read(format1)
data1, data2 = fileVar:read(format1, format2)
data1, ..., datan = fileVar:read(format1, ..., formatn)
data1
First data read from the file
data2
Second data read from the file
datan
Last data read from the file
fileVar
The descriptor of the file to be read
format1
A string or number indicating the first type of data to be read
format2
A string or number indicating the second type of data to be read
formatn
A string or number indicating the last type of data to be read
...
One or more entries (or values) separated by commas
Details
The format parameters may be any of the following:
"*n": Returns a number.
"*a": Returns the whole file, starting at the current position (returns an empty string if the current file
position is at the end of the file).
"*l": Returns the next line, skipping the end of line; returns nil if the current file position is at the
end of file.
n: Returns a string with up to n characters; returns an empty string if n is zero; returns nil if the
current file position is at the end of file.
If no format parameters are provided, the function will perform as if the function is passed the value
"*l".
Any number of format parameters may be passed to this command, each corresponding to a returned
data value.
Also see
fileVar:write() (on page 7-100)
io.input() (on page 7-118)
io.open() (on page 7-119)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-99
fileVar:seek()
This function sets and gets a file's current position.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
position, errorMsg = fileVar:seek()
position, errorMsg = fileVar:seek(whence)
position, errorMsg = fileVar:seek(whence, offset)
position
The new file position, measured in bytes from the beginning of the file
errorMsg
A string containing the error message
fileVar
The file descriptor variable
whence
A string indicating the base against which offset is applied; the default is
"cur"
offset
The intended new position, measured in bytes from a base indicated by
whence (default is
0
)
Details
The whence parameters may be any of the following:
"set": Beginning of file
"cur": Current position
"end": End of file
If an error is encountered, it is logged to the error queue, and the command returns nil and the error
string.
Also see
io.open() (on page 7-119)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-100 2600BS-901-01 Rev. C / August 2016
fileVar:write()
This function writes data to a file.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
fileVar:write(data)
fileVar:write(data1, data2)
fileVar:write(data1, ..., datan)
fileVar
The file descriptor variable
data
Write all data to the file
data1
The first data to write to the file
data2
The second data to write to the file
datan
The last data to write to the file
...
One or more entries (or values) separated by commas
Details
This function may buffer data until a flush (fileVar:flush() or io.flush()) or close
(fileVar:close() or io.close()) operation is performed.
Also see
fileVar:close() (on page 7-97)
fileVar:flush() (on page 7-97)
io.close() (on page 7-117)
io.flush() (on page 7-117)
io.open() (on page 7-119)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-101
format.asciiprecision
This attribute sets the precision (number of digits) for all numbers returned in the ASCII format.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) No Instrument reset
Recall setup
Not saved 6
Usage
precision = format.asciiprecision
format.asciiprecision = precision
precision
A number representing the number of digits to be printed for numbers printed with
the print(), printbuffer(), and printnumber() functions; must be a
number between 1 and 16
Details
This attribute specifies the precision (number of digits) for numeric data printed with the print(),
printbuffer(), and printnumber() functions. The format.asciiprecision attribute is only
used with the ASCII format. The precision value must be a number from 0 to 16.
Note that the precision is the number of significant digits printed. There is always one digit to the left
of the decimal point; be sure to include this digit when setting the precision.
Example
format.asciiprecision = 10
x = 2.54
printnumber(x)
format.asciiprecision = 3
printnumber(x)
Output:
2.540000000e+00
2.54e+00
Also see
format.byteorder (on page 7-101)
format.data (on page 7-102)
print() (on page 7-165)
printbuffer() (on page 7-166)
printnumber() (on page 7-169)
format.byteorder
This attribute sets the binary byte order for the data that is printed using the printnumber() and
printbuffer() functions.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
Not saved
1 (format.LITTLEENDIAN)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-102 2600BS-901-01 Rev. C / August 2016
Usage
order = format.byteorder
format.byteorder = order
order
Byte order value as follows:
Most significant byte first: 0, format.NORMAL, format.NETWORK, or
format.BIGENDIAN
Least significant byte first: 1, format.SWAPPED or format.LITTLEENDIAN
Details
This attribute selects the byte order in which data is written when you are printing data values with the
printnumber() and printbuffer() functions. The byte order attribute is only used with the
format.SREAL, format.REAL, format.REAL32, and format.REAL64 data formats.
format.NORMAL, format.BIGENDIAN, and format.NETWORK select the same byte order.
format.SWAPPED and format.LITTLEENDIAN select the same byte order. Selecting which to use
is a matter of preference.
Select the format.SWAPPED or format.LITTLEENDIAN byte order when sending data to a
computer with a Microsoft Windows operating system.
Example
x = 1.23
format.data = format.REAL32
format.byteorder = format.LITTLEENDIAN
printnumber(x)
format.byteorder = format.BIGENDIAN
printnumber(x)
Output depends on the terminal program
you use, but will look something like:
#0¤p??
#0??p¤
Also see
format.asciiprecision (on page 7-101)
format.data (on page 7-102)
printbuffer() (on page 7-166)
printnumber() (on page 7-169)
format.data
This attribute sets the data format for data that is printed using the printnumber() and printbuffer()
functions.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
No
Instrument reset
Recall setup
Not saved
1 (format.ASCII)
Usage
value = format.data
format.data = value
value
The format to use for data, set to one of the following values:
ASCII format: 1 or format.ASCII
Single-precision IEEE Std 754 binary format: 2, format.SREAL, or format.REAL32
Double-precision IEEE Std 754 binary format: 3, format.REAL, format.REAL64, or
format.DREAL
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-103
Details
The precision of numeric values can be controlled with the format.asciiprecision attribute. The
byte order of format.SREAL, format.REAL, format.REAL32, and format.REAL64 can be
selected with the format.byteorder attribute.
REAL32 and SREAL select the same single precision format. REAL and REAL64 select the same
double precision format. They are alternative identifiers. Selecting which to use is a matter of
preference.
The IEEE Std 754 binary formats use four bytes for single-precision values and eight bytes for
double-precision values.
When data is written with any of the binary formats, the response message starts with #0 and ends
with a new line. When data is written with the ASCII format, elements are separated with a comma
and space.
Binary formats are not intended to be interpreted by humans.
Example
format.asciiprecision = 10
x = 3.14159265
format.data = format.ASCII
printnumber(x)
format.data = format.REAL64
printnumber(x)
Output a number represented by x in ASCII
using a precision of 10, then output the
same number in binary using double
precision format.
Output:
3.141592650e+00
#0ñÔÈSû! @
Also see
format.asciiprecision (on page 7-101)
format.byteorder (on page 7-101)
printbuffer() (on page 7-166)
printnumber() (on page 7-169)
fs.chdir()
This function sets the current working directory.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
workingDirectory = fs.chdir(path)
workingDirectory
Returned value containing the working path
path
A string indicating the new working directory path
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-104 2600BS-901-01 Rev. C / August 2016
Details
The new working directory path may be absolute or relative to the current working directory.
An error is logged to the error queue if the given path does not exist.
Example
testPath = fs.chdir("/usb1/")
Change the working directory to
usb1
.
Also see
None
fs.cwd()
This function returns the absolute path of the current working directory.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
path = fs.cwd()
path
The absolute path of the current directory
Also see
None
fs.is_dir()
This function tests whether or not the specified path refers to a directory.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
status = fs.is_dir(path)
status
Whether or not the given path is a directory (
true
or
false
)
path
The path of the file system entry to test
Details
The file system path may be absolute or relative to the current working system path.
Also see
fs.is_file() (on page 7-105)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-105
fs.is_file()
Tests whether the specified path refers to a file (as opposed to a directory).
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
status = fs.is_file(path)
status
true if the given path is a file; otherwise, false
path
The path of the file system entry to test
Details
The file system path may be absolute or relative to the current working system path.
Also see
fs.is_dir() (on page 7-104)
fs.mkdir()
This function creates a directory at the specified path.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
path = fs.mkdir(newPath)
path
The returned path of the new directory
newpath
Location (path) of where to create the new directory
Details
The directory path may be absolute or relative to the current working directory.
An error is logged to the error queue if the parent folder of the new directory does not exist, or if a file
system entry already exists at the given path.
Also see
fs.rmdir() (on page 7-106)
fs.readdir()
This function returns a list of the file system entries in the directory.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-106 2600BS-901-01 Rev. C / August 2016
Usage
files = fs.readdir(path)
files
A table containing the names of all the file system entries in the specified
directory
path
The directory path
Details
The directory path may be absolute or relative to the current working directory.
This command is nonrecursive. For example, entries in subfolders are not returned.
An error is logged to the error queue if the given path does not exist or does not represent a directory.
Also see
None
fs.rmdir()
This function removes a directory from the file system.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
fs.rmdir(path)
path
The path of the directory to remove
Details
This path may be absolute or relative to the current working directory.
An error is logged to the error queue if the given path does not exist, or does not represent a
directory, or if the directory is not empty.
Also see
fs.mkdir() (on page 7-105)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-107
gettimezone()
This function retrieves the local time zone.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
timeZone = gettimezone()
timeZone
The local timezone of the instrument
Details
See settimezone() for additional details about the time zone format and a description of the fields.
timeZone can be in either of the following formats:
If one parameter was used with settimezone(), the format used is:
GMThh:mm:ss
If four parameters were used with settimezone(), the format used is:
GMThh:mm:ssGMThh:mm:ss,Mmm.w.dw/hh:mm:ss,Mmm.w.dw/hh:mm:ss
Example
timezone = gettimezone()
Reads the value of the local timezone.
Also see
settimezone() (on page 7-192)
gm_isweep()
This KIParlib factory script function performs a linear current sweep and calculates the transconductance (Gm) at
each point.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
gm_array, vbuf, ibuf = gm_isweep(smu, start_i, stop_i, points)
gm_array
A Lua table containing the calculated Gm values at each point
vbuf
A reading buffer containing the measured voltage at each point
ibuf
A reading buffer containing the measured current at each point
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
start_i
Starting current level of the sweep
stop_i
Ending current level of the sweep
points
Number of measurements between start_i and stop_i (must be 2)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-108 2600BS-901-01 Rev. C / August 2016
Details
Output data includes transconductance values, reading buffer with measured voltages, reading buffer
with measured voltages and currents.
If all parameters are omitted when this function is called, this function is executed with the parameters
set to the default values.
The gm_isweep() function performs a linear current sweep, measuring voltage and current, and
then calculating the transconductance (Gm) at each point using the central difference method. It can
return an array of Gm values, a reading buffer with the measured voltages, and a reading buffer with
the measured currents.
Example
gm_array = gm_isweep(smua, 0, 0.01, 20)
gm_array, vbuf = gm_isweep(smua, 0, 0.01, 20)
gm_array, vbuf, ibuf = gm_isweep(smua, 0,
0.01, 20)
Source-measure unit (SMU) A returns Gm
values only.
SMU A returns Gm and reading buffer with
measured voltages.
SMU A returns Gm and reading buffers with
measured voltages and currents.
Also see
gm_vsweep() (on page 7-108)
KIParlib factory script (on page 5-23)
gm_vsweep()
This KIParlib factory script function performs a linear voltage sweep and calculates the transconductance (Gm) at
each point.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
gm_array, ibuf, vbuf = gm_vsweep(smu, start_v, stop_v, points)
gm_array
A Lua table containing the calculated Gm values at each point
ibuf
A reading buffer containing the measured current at each point
vbuf
A reading buffer containing the measured voltage at each point
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
start_v
Starting voltage level of the sweep
stop_v
Ending voltage level of the sweep
points
Number of measurements between start_v and stop_v (must be 2)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-109
Details
Output data includes transconductance values, reading buffer with measured currents, reading buffer
with measured currents and voltages.
The gm_vsweep() function performs a linear voltage sweep, measuring voltage and current, and
then calculating the transconductance (Gm) at each point using the central difference method. It can
return an array of Gm values, a reading buffer with the measured currents, and a reading buffer with
the measured voltages.
Example
gm_array = gm_vsweep(smua, 0, 5, 20)
gm_array, ibuf = gm_vsweep(smua, 0, 5, 20)
gm_array, ibuf, vbuf = gm_vsweep(smua, 0, 5, 20)
SMU A returns Gm values only.
SMU A returns Gm and reading buffer
with measured currents.
SMU A returns Gm and reading buffers
with measured currents and voltages.
Also see
gm_isweep() (on page 7-107)
KIParlib factory script (on page 5-23)
gpib.address
This attribute contains the GPIB address.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
No
Not applicable
Nonvolatile memory
26
Usage
address = gpib.address
gpib.address = address
address
The GPIB address of the instrument (0 to 30)
Details
The address can be set to any address value from 0 to 30. However, the address must be unique in
the system. It cannot conflict with an address that is assigned to another instrument or to the GPIB
controller.
A new GPIB address takes effect when the command to change it is processed. If there are response
messages in the output queue when this command is processed, they must be read at the new
address.
If command messages are being queued (sent before this command has executed), the new settings
may take effect in the middle of a subsequent command message, so care should be exercised when
setting this attribute from the GPIB interface.
You should allow ample time for the command to be processed before attempting to communicate
with the instrument again. After sending this command, make sure to use the new address to
communicate with the instrument.
The reset() function does not affect the GPIB address.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-110 2600BS-901-01 Rev. C / August 2016
Example
gpib.address = 26
address = gpib.address
print(address)
Sets the GPIB address and reads the address.
Output:
2.600000e+01
Also see
GPIB setup
i_leakage_measure()
This KIHighC factory script function performs a current leakage measurement after stepping the output voltage.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
imeas = i_leakage_measure(smu, levelv, limiti, sourcedelay, measurei, measuredelay)
imeas
The measured current
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
levelv
Voltage level to step to when this function is called
limiti
Current limit setting for the voltage step
sourcedelay
Delay to wait before lowering the current limit for measurement
measurei
Current limit (and measure range); note the current limit is lower at this level and
because high-capacitance mode is active, the measure range will follow
measuredelay
Delay to wait after lowering the current limit before taking the measurement
Details
This function causes the smu to:
Change its current limit to limiti with a voltage output of levelv for sourcedelay time, and then
changes its current limit to measurei (that also changes the measurement range to measurei) for
measuredelay time
When measuredelay time expires, a measurement is taken and returned as imeas.
When measuring leakage current:
Charge the capacitor before calling this function (the instrument's output is usually at a nonzero voltage
before calling this function; when measuring leakage, this function does not charge the capacitor).
Set levelv = 0
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-111
Example
smua.source.highc = smua.ENABLE
smua.source.levelv = 5
smua.source.output = smua.OUTPUT_ON
delay(1)
imeas = i_leakage_measure(smua, 0, 1, 300e-3,
10e-6, .1)
Enable high-capacitance mode. Charge the
capacitor at 5 V for 1 second set
by delay(1).
The parameters passed on to the
i_leakage_measure() function in this
example are:
smu = smua
levelv = 0 V
limiti = 1 A
sourcedelay = 300 ms
measurei = 10 µA range
measuredelay = 100 ms
The levels and delays will depend on the
value and type of capacitor used.
Also see
i_leakage_threshold() (on page 7-111)
High-capacitance mode (on page 3-65)
KIHighC factory script (on page 5-23)
i_leakage_threshold()
This KIHighC factory script function measures the current and compares it to a threshold. This continues until
either the measured current drops below the threshold or the timeout expires.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
f = i_leakage_threshold(smu, levelv, limiti, sourcedelay, measurei, measuredelay,
threshold, timeout)
f
A Boolean flag; this flag will be true when the current is below the threshold,
false
if threshold is not reached before timeout expires
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
levelv
Voltage level to step to when this function is called
limiti
Current limit setting for the voltage step
sourcedelay
Delay to wait before lowering the current limit for measurement
measurei
Current limit (and measure range); note the current limit is lower at this level and
because high-capacitance mode is active, the measure range will follow
measuredelay
Delay before the first measurement after measure range is changed
threshold
The specified current that establishes the test limit
timeout
Amount of time (in seconds) to wait for the current to drop to threshold after all
the delays have occurred
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-112 2600BS-901-01 Rev. C / August 2016
Details
This function causes the smu to:
Change its current limit to limiti with a voltage output of levelv for sourcedelay time, and then
changes its current limit to measurei (that also changes the measurement range to measurei) for
measuredelay time
When measuredelay time expires, measurements are taken at a rate determined by the
smuX.measure.nplc setting
The function returns true if threshold is reached; the function returns false if threshold is not
reached before timeout expires.
When testing the leakage current threshold:
Charge the capacitor before calling this function (the instrument's output is usually at a non-zero voltage
prior to calling this function; when measuring leakage, this function does not charge the capacitor).
If testing the device's leakage current threshold, set levelv = 0.
Example
smua.source.highc = smua.ENABLE
smua.source.levelv = 5
smua.source.output = smua.OUTPUT_ON
delay(1)
pass = i_leakage_threshold(smua, 0, 1,
300e-3, 10e-6, 100e-3, 1e-6, 1)
Enable high-capacitance mode.
Charge the capacitor.
The parameters passed on to the
i_threshold_measure() function in this
example are:
smu = smua
levelv = 0 V
limiti = 1 A
sourcedelay = 300 ms
measurei = 10 µA range
measuredelay = 100 ms
threshold = 1 µA
timeout = 1 s
The levels and delays will depend on the
value and type of capacitor used.
Sets pass = true if the current is
measured below 1
µ
A in less than 1 second.
Also see
High-capacitance mode (on page 3-65)
i_leakage_measure() (on page 7-110)
High-capacitance mode (on page 3-65)
KIHighC factory script (on page 5-23)
InitiatePulseTest()
This KIPulse factory script function initiates the pulse configuration assigned to tag.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-113
Usage
f, msg = InitiatePulseTest(tag)
f
A Boolean flag; this flag is true when the pulse was successfully configured,
false
when errors are encountered
msg
A string message; if the f flag is false, msg contains an error message; if it is
true, msg contains a string that indicates successful configuration
tag
Numeric identifier of the pulse configuration to be initiated
Details
This function only initiates configured pulse trains assigned to a valid tag. Configure the pulse before
initiating it using one of the ConfigurePulse* functions (refer to the Also see section).
Example
smua.reset()
smua.source.rangev = 5
smua.source.rangei = 1
smua.source.levelv = 0
smua.measure.rangev = 5
smua.measure.rangei = 1
smua.measure.nplc = 0.01
smua.measure.autozero = smua.AUTOZERO_ONCE
smua.nvbuffer1.clear()
smua.nvbuffer1.appendmode = 1
smua.source.output = smua.OUTPUT_ON
f1, msg1 = ConfigPulseVMeasureI(smua, 0, 5,
1, 0.002, 0.2, 10, smua.nvbuffer1, 1)
if f1 == true then
f2, msg2 = InitiatePulseTest(1)
print("Initiate message:", msg2)
else
print("Config errors:", msg1)
end
Configure System SourceMeter
®
instrument channel A to generate
a pulse train. If no errors are
encountered, initiate the pulse
train. Channel A pulses voltage
from a bias level of 0 V to a pulse
level of 5 V. The pulse level is
present for 2 ms and the bias level
for 200 ms, with a 1 A limit setting.
A total of 10 pulses is generated,
and the measurement data is
stored in smua.nvbuffer1. This
pulse train is assigned to tag =
1.
Also see
ConfigPulseIMeasureV() (on page 7-36)
ConfigPulseVMeasureI() (on page 7-42)
ConfigPulseIMeasureVSweepLin() (on page 7-38)
ConfigPulseVMeasureISweepLin() (on page 7-45)
ConfigPulseIMeasureVSweepLog() (on page 7-40)
ConfigPulseVMeasureISweepLog() (on page 7-47)
KIPulse factory script (on page 5-22)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-114 2600BS-901-01 Rev. C / August 2016
InitiatePulseTestDual()
This KIPulse factory script (on page 5-22) function configures initiates the pulse configuration assigned tag1 and
tag2.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
f, msg = InitiatePulseTestDual(tag1, tag2)
f
A Boolean flag; this flag will be true when the pulse was successfully configured,
false
when errors were encountered
msg
A string message; if the f flag is false, msg will contain an error message; if it is
true
,
msg
will contain a string indicating successful configuration
tag1
Numeric identifier of the first pulse configuration to be initiated
tag2
Numeric identifier of the second pulse configuration to be initiated
Details
The pulse trains associated with the indicated tags will be generated simultaneously. This is useful
when testing devices such as voltage regulators, where the input signal and output load must be
applied to the instrument at the same time.
When using this function, each tag1 pulse will encapsulate each tag2 pulse in time. Specifically, the
tag1 pulse will transition from its bias level to its pulse level before the tag2 pulse. Both the tag1
and tag2 pulses will return to their respective bias levels at approximately the same time.
Measurements for both pulse trains take place at the same time (see the waveform in the figure
below).
To provide this encapsulation, the following rules are enforced:
The tag1 pulse on time, ton1, must be configured to be > 40 μs longer than the tag2 pulse on time.
The tag1 and tag2 pulse off times, toff, must be the same.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-115
Figure 131: InitiatePulseTestDual
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-116 2600BS-901-01 Rev. C / August 2016
Example
smua.reset()
smua.source.rangev = 5
smua.source.rangei = 1
smua.source.levelv = 0
smua.measure.rangev = 5
smua.measure.rangei = 1
smua.measure.nplc = 0.01
smua.measure.autozero = smua.AUTOZERO_ONCE
smua.nvbuffer1.clear()
smua.nvbuffer1.appendmode = 1
smua.source.output = smua.OUTPUT_ON
smub.reset()
smub.source.func = smub.OUTPUT_DCAMPS
smub.source.rangei = 1
smub.source.rangev = 5
smub.source.leveli = 0
smub.measure.rangei = 1
smub.measure.rangev = 5
smub.measure.nplc = 0.01
smub.measure.autozero = smub.AUTOZERO_ONCE
smub.nvbuffer1.clear()
smub.nvbuffer1.appendmode = 1
smub.source.output = smub.OUTPUT_ON
f1, msg1 = ConfigPulseVMeasureI(smua, 0, 5, 1,
0.002, 0.2, 10, smua.nvbuffer1, 1)
f2, msg2 = ConfigPulseIMeasureV(smub, 0,-1, 5,
0.001, 0.2, 10, smub.nvbuffer1, 2)
if (f1 == true) and (f2 == true) then
f3, msg3 = InitiatePulseTestDual(1, 2)
print("Initiate message:", msg3)
else
print("Config errors:", msg1, msg2)
end
Set up the System
SourceMeter® instrument
channels A and B for pulse
operation, configure pulse
trains for each channel, and
then initiate the pulse trains
if no errors are encountered.
Channel A will pulse voltage
from a bias level of 0 V to
pulse level of 5 V. The pulse
level will be present for
2 ms, and the bias level for
200 ms with a 1 A limit
setting.
A total of 10 pulses will be
generated on channel A,
and the measurement data
will be stored in
smua.nvbuffer1. This
pulse train will be assigned
to tag = 1.
Channel B will pulse current
from a bias level of 0 A to
pulse level of 1 A. The pulse
level will be present for 1
ms, and the bias level for
200 ms with a 5V limit
setting.
A total of 10 pulses will be
generated on channel B,
and the measurement data
will be stored in
smub.nvbuffer1. This
pulse train will be assigned
to tag = 2.
Also see
ConfigPulseIMeasureV() (on page 7-36)
ConfigPulseVMeasureI() (on page 7-42)
ConfigPulseIMeasureVSweepLin() (on page 7-38)
ConfigPulseVMeasureISweepLin() (on page 7-45)
ConfigPulseIMeasureVSweepLog() (on page 7-40)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-117
io.close()
This function closes a file.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes (see Details)
Usage
io.close()
io.close(file)
file
The descriptor of the file to close
Details
If a file is not specified, the default output file closes.
Only io.close(), used without specifying a parameter, can be accessed from a remote node.
Example
testFile, testError = io.open("testfile.txt", "w")
if nil == testError then
testFile:write("This is my test file")
io.close(testFile)
end
Opens file testfile.txt
for writing. If no errors were
found while opening, writes
"This is my test
file"
and closes the file.
Also see
io.open() (on page 7-119)
io.flush()
This function saves buffered data to a file.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
io.flush()
Details
You must use the io.flush() or io.close() functions to write data to the file system.
Data is not automatically written to a file when you use the io.write() function. The io.write()
function buffers data; it may not be written to the USB drive immediately. Use the io.flush()
function to immediately write buffered data to the drive.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-118 2600BS-901-01 Rev. C / August 2016
This function only flushes the default output file.
Using this command removes the need to close a file after writing to it and allows it to be left open to
write more data. Data may be lost if the file is not closed or flushed before an application ends. To
prevent the loss of data if there is going to be a time delay before more data is written (and when you
want to keep the file open and not close it), flush the file after writing to it.
Also see
fileVar:flush() (on page 7-97)
fileVar:write() (on page 7-100)
io.write() (on page 7-121)
io.input()
This function assigns a previously opened file, or opens a new file, as the default input file.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes (see Details)
Usage
fileVar = io.input()
fileVar = io.input(newfile)
fileVar
The descriptor of the input file or an error message (if the function fails)
newfile
A string representing the path of a file to open as the default input file, or the
file descriptor of an open file to use as the default input file
Details
The newfile path may be absolute or relative to the current working directory.
When using this function from a remote TSP-Link® node, this command does not accept a file
descriptor and does not return a value.
If the function fails, an error message is returned.
Also see
io.open() (on page 7-119)
io.output() (on page 7-119)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-119
io.open()
This function opens a file for later reference.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
fileVar, errorMsg = io.open(path)
fileVar, errorMsg = io.open(path, mode)
fileVar
The descriptor of the opened file
errorMsg
Indicates whether an error was encountered while processing the
function
path
The path of the file to open
mode
A string representing the intended access mode ("r" = read,
"w"
= write, and
"a"
= append)
Details
The path to the file to open may be absolute or relative to the current working directory. If you
successfully open the file, errorMsg is nil and fileVar has the descriptor that can be used to
access the file.
If an error is encountered, the command returns nil for fileVar and an error string.
Example
testFile, testError = io.open("testfile.txt", "w")
if testError == nil then
testFile:write("This is my test file")
io.close(testFile)
end
Opens file testfile.txt for
writing. If no errors were found
while opening, writes "This is
my test file" and closes the
file.
Also see
io.close() (on page 7-117)
io.output()
This function assigns a previously opened file or opens a new file as the default output file.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes (see Details)
Usage
fileVar = io.output()
fileVar = io.output(newfile)
fileVar
The descriptor of the output file or an error message (if the function fails)
newfile
A file descriptor to assign (or the path of a file to open) as the default output
file
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-120 2600BS-901-01 Rev. C / August 2016
Details
The path of the file to open may be absolute or relative to the current working directory.
When accessed from a remote node using the TSP-Link network, this command does not accept a
file descriptor parameter and does not return a value.
If the function fails, an error message is returned.
Also see
io.input() (on page 7-118)
io.open() (on page 7-119)
io.read()
This function reads data from the default input file.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
data1 = io.read()
data1 = io.read(format1)
data1, data2 = io.read(format1, format2)
data1, ..., dataN = io.read(format1, ..., formatN)
data1
The data read from the file
data2
The data read from the file
dataN
The data read from the file; the number of return values matches the number
of format values given
format1
A string or number indicating the type of data to be read
format2
A string or number indicating the type of data to be read
formatN
A string or number indicating the type of data to be read
...
One or more entries (or values) separated by commas
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-121
Details
The format parameters may be any of the following:
Format parameter Description
"*N"
Returns a number
"*a"
Returns the whole file, starting at the present position; returns an empty string if it is at the
end of file
"*l"
Returns the next line, skipping the end of line; returns nil if the present file position is at the
end of file
N
Returns a string with up to
N
characters; returns an empty string if
N
is zero (0); returns nil if
the present file position is at the end of file
Any number of format parameters may be passed to this command, each corresponding to a returned
data value.
If no format parameters are provided, the function will perform as if the function was passed the value
"*l".
Also see
None
io.type()
This function checks whether or not a given object is a file handle.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
type = io.type(obj)
type
Indicates whether the object is an open file handle
obj
Object to check
Details
Returns the string "file" if the object is an open file handle. If it is not an open file handle, nil is
returned.
Also see
io.open() (on page 7-119)
io.write()
This function writes data to the default output file.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-122 2600BS-901-01 Rev. C / August 2016
Usage
io.write()
io.write(data1)
io.write(data1, data2)
io.write(data1, ..., dataN)
data1
The data to be written
data2
The data to be written
dataN
The data to be written
...
One or more values separated by commas
Details
All data parameters must be either strings or numbers.
Data is not immediately written to a file when you use the io.write() function. The io.write()
function buffers data; it may not be written to the USB drive immediately. Use the io.flush()
function to immediately write buffered data to the drive.
Also see
io.flush() (on page 7-117)
lan.applysettings()
This function re-initializes the LAN interface with new settings.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
lan.applysettings()
Details
Disconnects all existing LAN connections to the instrument and re-initializes the LAN with the present
configuration settings.
This function initiates a background operation. LAN configuration could be a lengthy operation.
Although the function returns immediately, the LAN initialization continues to run in the background.
Even though the LAN configuration settings may not have changed since the LAN was last
connected, new settings may take effect due to the dynamic nature of dynamic host configuration
protocol (DHCP) or dynamic link local addressing (DLLA) configuration.
Re-initialization takes effect even if the configuration has not changed since the last time the
instrument connected to the LAN.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-123
Example
lan.applysettings()
Re-initialize the LAN interface with new settings.
Also see
None
lan.autoconnect
This attribute is used to enable or disable link monitoring.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
LAN restore defaults
Nonvolatile memory
1 (lan.ENABLE)
Usage
state = lan.autoconnect
lan.autoconnect = state
state
LAN link monitoring state:
1 or lan.ENABLE: Enables automatic link reconnection and monitoring
0 or lan.DISABLE: Disables automatic link reconnection and monitoring
Details
This attribute sets the LAN link monitoring and automatic connection state.
When this is set to lan.ENABLE, all connections are closed if the link to the LAN is lost for more than
the time specified by lan.linktimeout.
Set this attribute to lan.ENABLE to automatically reset the LAN connection after the LAN link is
established.
Also see
lan.linktimeout (on page 7-130)
lan.restoredefaults() (on page 7-132)
lan.config.dns.address[N]
Configures DNS server IP addresses.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
LAN restore defaults
Nonvolatile memory
"0.0.0.0"
Usage
dnsAddress = lan.config.dns.address[N]
lan.config.dns.address[N] = dnsAddress
dnsAddress
DNS server IP address
N
Entry index (1 or 2)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-124 2600BS-901-01 Rev. C / August 2016
Details
This attribute is an array of DNS (domain name system) server addresses. These addresses take
priority for DNS lookups and are consulted before any server addresses that are obtained using
DHCP. This allows local DNS servers to be specified that take priority over DHCP-configured global
DNS servers.
You can specify up to two addresses. The address specified by 1 is consulted first for DNS lookups.
dnsAddress must be a string specifying the DNS server’s IP address in dotted decimal notation.
Unused entries are returned as "0.0.0.0" when read. To disable an entry, set its value to
"0.0.0.0" or the empty string "".
Although only two address may be manually specified here, the instrument will use up to three DNS
server addresses. If two are specified here, only one that is given by a DHCP server is used. If no
entries are specified here, up to three addresses that are given by a DHCP server are used.
Example
dnsaddress = "164.109.48.173"
lan.config.dns.address[1] = dnsaddress
Configure DNS address 1 to
"164.109.48.173"
Also see
lan.config.dns.domain (on page 7-124)
lan.config.dns.dynamic (on page 7-125)
lan.config.dns.hostname (on page 7-125)
lan.config.dns.verify (on page 7-126)
lan.restoredefaults() (on page 7-132)
lan.config.dns.domain
Configures the dynamic DNS domain.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes LAN restore defaults Nonvolatile memory ""
Usage
domain = lan.config.dns.domain
lan.config.dns.domain = domain
domain
Dynamic DNS registration domain; use a string of 255 characters or less
Details
This attribute holds the domain to request during dynamic DNS registration. Dynamic DNS
registration works with DHCP to register the domain specified in this attribute with the DNS server.
The length of the fully qualified host name (combined length of the domain and host name with
separator characters) must be less than or equal to 255 characters. Although up to 255 characters
are allowed, you must make sure the combined length is also no more than 255 characters.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-125
Example
print(lan.config.dns.domain)
Outputs the present dynamic DNS domain. For
example, if the domain is "Matrix", the response
would be:
Matrix
Also see
lan.config.dns.dynamic (on page 7-125)
lan.config.dns.hostname (on page 7-125)
lan.config.dns.verify (on page 7-126)
lan.restoredefaults() (on page 7-132)
lan.config.dns.dynamic
Enables or disables the dynamic DNS registration.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
LAN restore defaults
Nonvolatile memory
1 (lan.ENABLE)
Usage
state = lan.config.dns.dynamic
lan.config.dns.dynamic = state
state
The dynamic DNS registration state. It may be one of the following values:
1 or lan.ENABLE: Enabled
0
or
lan.DISABLE
: Disabled
Details
Dynamic DNS registration works with DHCP to register the host name with the DNS server. The host
name is specified in the lan.config.dns.hostname attribute.
Example
print(lan.config.dns.dynamic)
Outputs the dynamic registration state.
If dynamic DNS registration is enabled, the
response is:
1.00000e+00
Also see
lan.config.dns.hostname (on page 7-125)
lan.restoredefaults() (on page 7-132)
lan.config.dns.hostname
This attribute defines the dynamic DNS host name.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
Instrument specific
(see
Details
)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-126 2600BS-901-01 Rev. C / August 2016
Usage
hostName = lan.config.dns.hostname
lan.config.dns.hostname = hostName
hostName
The host name to use for dynamic DNS registration; the host name must:
be a string of 63 characters or less
start with a letter
end with a letter or digit
contain only letters, digits, and hyphens
Details
This attribute holds the host name to request during dynamic DNS registration. Dynamic DNS
registration works with DHCP to register the host name specified in this attribute with the DNS server.
The factory default value for hostName is "k-<model number>-<serial number>", where
<model number> and <serial number> are replaced with the actual model number and serial
number of the instrument (for example, "k-2602B-1234567"). Note that hyphens separate the
characters of hostName.
The length of the fully qualified host name (combined length of the domain and host name with
separator characters) must be less than or equal to 255 characters. Although up to 63 characters can
be entered here, care must be taken to be sure the combined length is no more than 255 characters.
Setting this attribute to an empty string (in other words, setting this attribute to a string of length zero,
or one consisting entirely of whitespace characters) will revert the host name to the factory default
value.
Example
print(lan.config.dns.hostname)
Outputs the present dynamic DNS host name.
Also see
lan.config.dns.dynamic (on page 7-125)
lan.restoredefaults() (on page 7-132)
lan.config.dns.verify
This attribute defines the DNS host name verification state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes LAN restore defaults Nonvolatile memory 1 (lan.ENABLE)
Usage
state = lan.config.dns.verify
lan.config.dns.verify = state
state
DNS hostname verification state:
1 or lan.ENABLE: DNS host name verification enabled
0
or
lan.DISABLE
: DNS host name verification disabled
Details
When this is enabled, the instrument performs DNS lookups to verify that the DNS host name
matches the value specified by lan.config.dns.hostname.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-127
Example
print(lan.config.dns.verify)
Outputs the present DNS host name verification
state.
If it is enabled, the output is:
1.00000e+00
Also see
lan.config.dns.hostname (on page 7-125)
lan.restoredefaults() (on page 7-132)
lan.config.duplex
This attribute defines the LAN duplex mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes LAN restore defaults Nonvolatile memory 1 (lan.FULL)
Usage
duplex = lan.config.duplex
lan.config.duplex = duplex
duplex
LAN duplex setting can be one of the following values:
1 or lan.FULL: Selects full-duplex operation
0 or lan.HALF: Selects half-duplex operation
Details
This attribute does not indicate the actual setting currently in effect. Use the lan.status.duplex
attribute to determine the present operating state of the LAN.
Also see
lan.restoredefaults() (on page 7-132)
lan.config.gateway
This attribute contains the LAN default gateway address.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
LAN restore defaults
Nonvolatile memory
"0.0.0.0"
Usage
gatewayAddress = lan.config.gateway
lan.config.gateway = gatewayAddress
gatewayAddress
LAN default gateway address; must be a string specifying the default
gateway’s IP address in dotted decimal notation
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-128 2600BS-901-01 Rev. C / August 2016
Details
This attribute specifies the default gateway IP address to use when manual or DLLA configuration
methods are used to configure the LAN. If DHCP is enabled, this setting is ignored.
This attribute does not indicate the actual setting that is presently in effect. Use the
lan.status.gateway attribute to determine the present operating state of the LAN.
The IP address must be formatted in four groups of numbers, each separated by a decimal.
Example
print(lan.config.gateway)
Outputs the default gateway address. For example,
you might see the output:
192.168.0.1
Also see
lan.restoredefaults() (on page 7-132)
lan.status.gateway (on page 7-135)
lan.config.ipaddress
This attribute specifies the LAN IP address.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
LAN restore defaults
Nonvolatile memory
"192.168.0.2"
Usage
ipAddress = lan.config.ipaddress
lan.config.ipaddress = ipAddress
ipAddress
LAN IP address; must be a string specifying the IP address in dotted decimal
notation
Details
This attribute specifies the LAN IP address to use when the LAN is configured using the manual
configuration method. This setting is ignored when DLLA or DHCP is used.
This attribute does not indicate the actual setting that is presently in effect. Use the
lan.status.ipaddress attribute to determine the present operating state of the LAN.
Example
ipaddress = lan.config.ipaddress
Retrieves the presently set LAN IP address.
Also see
lan.restoredefaults() (on page 7-132)
lan.status.ipaddress (on page 7-136)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP
command reference
2600BS-901-01 Rev. C / August 2016 7-129
lan.config.method
This attribute contains the LAN settings configuration method.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes LAN restore defaults Nonvolatile memory 0 (lan.AUTO)
Usage
method = lan.config.method
lan.config.method = method
method
The method for configuring LAN settings; it can be one of the following
values:
0 or lan.AUTO: Selects automatic sequencing of configuration methods
1 or lan.MANUAL: Use only manually specified configuration settings
Details
This attribute controls how the LAN IP address, subnet mask, default gateway address, and DNS
server addresses are determined.
When method is lan.AUTO, the instrument first attempts to configure the LAN settings using dynamic
host configuration protocol (DHCP). If DHCP fails, it tries dynamic link local addressing (DLLA). If
DLLA fails, it uses the manually specified settings.
When method is lan.MANUAL, only the manually specified settings are used. Neither DHCP nor
DLLA are attempted.
Example
print(lan.config.method)
Outputs the current method.
For example:
1.00000e+00
Also see
lan.restoredefaults() (on page 7-132)
lan.config.speed
This attribute contains the LAN speed used when restarting in manual configuration mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
LAN restore defaults
Nonvolatile memory
100 (100 Mbps)
Usage
speed = lan.config.speed
lan.config.speed = speed
speed
LAN speed setting in Mbps (10 or 100)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-130 2600BS-901-01 Rev. C / August 2016
Details
This attribute stores the speed that will be used if the LAN is restarted for manual configuration
operation.
This attribute does not indicate the actual setting presently in effect. Use the lan.status.speed
attribute to determine the present operating state of the LAN.
The LAN speed is measured in megabits per second (Mbps).
Example
lan.config.speed = 100
Configure LAN speed for 100.
Also see
lan.restoredefaults() (on page 7-132)
lan.status.speed (on page 7-139)
lan.config.subnetmask
This attribute contains the LAN subnet mask.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes LAN restore defaults Nonvolatile memory "255.255.255.0"
Usage
mask = lan.config.subnetmask
lan.config.subnetmask = mask
mask
String that specifies the LAN subnet mask value in dotted decimal notation
Details
This attribute specifies the LAN subnet mask that will be used when the manual configuration method
is used to configure the LAN. This setting is ignored when DLLA or DHCP is used.
This attribute does not indicate the actual setting presently in effect. Use the
lan.status.subnetmask attribute to determine the present operating state of the LAN.
Example
print(lan.config.subnetmask)
Outputs the LAN subnet mask, such as:
255.255.255.0
Also see
lan.restoredefaults() (on page 7-132)
lan.status.subnetmask (on page 7-139)
lan.linktimeout
This attribute contains the LAN link timeout period.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes LAN restore defaults Nonvolatile memory 20 (20 s)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-131
Usage
timeout = lan.linktimeout
lan.linktimeout = timeout
timeout
The LAN link monitor time-out period (in seconds)
Details
You must enable the command lan.autoconnect before you can use this attribute.
The timeout value represents the amount of time that passes before the instrument disconnects
from the LAN due to the loss of the LAN link integrity.
The LAN interface does not disconnect if the connection to the LAN is reestablished before the
timeout value expires.
If the LAN link integrity is not restored before the timeout value expires, the instrument begins to
monitor for a new connection.
Example
print(lan.linktimeout)
Outputs the present LAN link timeout setting.
Also see
lan.autoconnect (on page 7-123)
lan.restoredefaults() (on page 7-132)
lan.lxidomain
This attribute contains the LXI domain.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes LAN restore defaults Nonvolatile memory 0
Usage
domain = lan.lxidomain
lan.lxidomain = domain
domain
The LXI domain number (0 to 255)
Details
This attribute sets the LXI domain number.
All outgoing LXI packets are generated with this domain number. All inbound LXI packets are ignored
unless they have this domain number.
Example
print(lan.lxidomain)
Displays the LXI domain.
Also see
None
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-132 2600BS-901-01 Rev. C / August 2016
lan.nagle
This attribute controls the state of the LAN Nagle algorithm.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Power cycle Not saved 0 (lan.DISABLE)
Usage
state = lan.nagle
lan.nagle = state
state
1 or lan.ENABLE: Enable the LAN Nagle algorithm for TCP connections
0
or
lan.DISABLE
: Disable the Nagle algorithm for TCP connections
Details
This attribute enables or disables the use of the LAN Nagle algorithm on transmission control protocol
(TCP) connections.
Also see
lan.restoredefaults() (on page 7-132)
lan.reset()
This function resets the LAN interface.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
lan.reset()
Details
This function resets the LAN interface. It performs the commands lan.restoredefaults() and
lan.applysettings().
Also see
lan.applysettings() (on page 7-122)
lan.restoredefaults() (on page 7-132)
lan.restoredefaults()
This function resets LAN settings to default values.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
lan.restoredefaults()
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-133
Details
The settings that are restored are shown in the following table.
Settings that are restored to default
Attribute Default setting
lan.autoconnect
lan.ENABLE
lan.config.dns.address[N]
"0.0.0.0"
lan.config.dns.domain
""
lan.config.dns.dynamic
lan.ENABLE
lan.config.dns.hostname
""
lan.config.dns.verify
lan.ENABLE
lan.config.duplex
lan.FULL
lan.config.gateway
"0.0.0.0"
lan.config.ipaddress
"0.0.0.0"
lan.config.method
lan.AUTO
lan.config.speed
100
lan.config.subnetmask
"255.255.255.0"
lan.linktimeout
20
(seconds)
lan.lxidomain
0
lan.nagle
lan.ENABLE
lan.timedwait
20 (seconds)
This command is run when lan.reset() is sent.
Example
lan.restoredefaults()
Restores the LAN defaults.
Also see
lan.reset() (on page 7-132)
localnode.password (on page 7-153)
lan.status.dns.address[N]
This attribute contains the DNS server IP addresses.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
dnsAddress = lan.status.dns.address[N]
dnsAddress
DNS server IP address
N
Entry index (1, 2, or 3)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-134 2600BS-901-01 Rev. C / August 2016
Details
This attribute is an array of DNS server addresses. The instrument can use up to three addresses.
Unused or disabled entries are returned as "0.0.0.0" when read. The dnsAddress returned is a
string specifying the IP address of the DNS server in dotted decimal notation.
You can only specify two addresses manually. However, the instrument uses up to three DNS server
addresses. If two are specified, only the one given by a DHCP server is used. If no entries are
specified, up to three address given by a DHCP server are used.
The value of lan.status.dns.address[1] is referenced first for all DNS lookups. The values of
lan.status.dns.address[2] and lan.status.dns.address[3] are referenced second and
third, respectively.
Example
print(lan.status.dns.address[1])
Outputs DNS server address 1, for example:
164.109.48.173
Also see
lan.status.dns.name (on page 7-134)
lan.status.dns.name
This attribute contains the present DNS fully qualified host name.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
hostName = lan.status.dns.name
hostName
Fully qualified DNS host name that can be used to connect to the instrument
Details
A fully qualified domain name (FQDN), sometimes referred to as an absolute domain name, is a
domain name that specifies its exact location in the tree hierarchy of the Domain Name System
(DNS).
A FQDN is the complete domain name for a specific computer or host on the LAN. The FQDN
consists of two parts: the host name and the domain name.
If the DNS host name for an instrument is not found, this attribute stores the IP address in dotted
decimal notation.
Example
print(lan.status.dns.name)
Outputs the dynamic DNS host name.
Also see
lan.config.dns.address[N] (on page 7-123)
lan.config.dns.hostname (on page 7-125)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP com
mand reference
2600BS-901-01 Rev. C / August 2016 7-135
lan.status.duplex
This attribute contains the duplex mode presently in use by the LAN interface.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not applicable Not applicable
Usage
duplex = lan.status.duplex
duplex
LAN duplex setting can be one of the following values:
0 or lan.HALF: half-duplex operation
1 or lan.FULL: full-duplex operation
Example
print(lan.status.duplex)
Outputs the present LAN duplex mode, such as:
1.00000e+00
Also see
None
lan.status.gateway
This attribute contains the gateway address presently in use by the LAN interface.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not applicable Not applicable
Usage
gatewayAddress = lan.status.gateway
gatewayAddress
LAN gateway address presently being used
Details
The value of gatewayAddress is a string that indicates the IP address of the gateway in dotted
decimal notation.
Example
print(lan.status.gateway)
Outputs the gateway address, such as:
192.168.0.1
Also see
lan.config.gateway (on page 7-127)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-136 2600BS-901-01 Rev. C / August 2016
lan.status.ipaddress
This attribute contains the LAN IP address presently in use by the LAN interface.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not applicable Not applicable
Usage
ipAddress = lan.status.ipaddress
ipAddress
LAN IP address specified in dotted decimal notation
Details
The IP address is a character string that represents the IP address assigned to the instrument.
Example
print(lan.status.ipaddress)
Outputs the LAN IP address currently in use, such
as:
192.168.0.2
Also see
lan.config.ipaddress (on page 7-128)
lan.status.macaddress
This attribute contains the LAN MAC address.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not applicable Not applicable
Usage
macAddress = lan.status.macaddress
macAddress
The instrument MAC address
Details
The MAC address is a character string representing the MAC address of the instrument in
hexadecimal notation. The string includes colons that separate the address octets (see Example).
Example
print(lan.status.macaddress)
Outputs the MAC address of the instrument, for
example:
00:60:1A:00:00:57
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-137
lan.status.port.dst
This attribute contains the LAN dead socket termination port number.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not applicable Not applicable
Usage
port = lan.status.port.dst
port
Dead socket termination socket port number
Details
This attribute holds the TCP port number used to reset all other LAN socket connections.
To reset all LAN connections, open a connection to the DST port number.
Example
print(lan.status.port.dst)
Outputs the LAN dead socket termination port
number, such as:
5.03000e+03
Also see
None
lan.status.port.rawsocket
This attribute contains the LAN raw socket connection port number.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
port = lan.status.port.rawsocket
port
Raw socket port number
Details
Stores the TCP port number used to connect the instrument and to control the instrument over a raw
socket communication interface.
Example
print(lan.status.port.rawsocket)
Outputs the LAN raw socket port number, such as:
5.02500e+03
Also see
None
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Refe
rence Manual
7-138 2600BS-901-01 Rev. C / August 2016
lan.status.port.telnet
This attribute contains the LAN Telnet connection port number.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not applicable Not applicable
Usage
port = lan.status.port.telnet
port
Telnet port number
Details
This attribute holds the TCP port number used to connect to the instrument to control it over a Telnet
interface.
Example
print(lan.status.port.telnet)
Get the LAN Telnet connection port number.
Output:
2.30000e+01
Also see
None
lan.status.port.vxi11
This attribute contains the LAN VXI-11 connection port number.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
port = lan.status.port.vxi11
port
LAN VXI-11 port number
Details
This attribute stores the TCP port number used to connect to the instrument over a VXI-11 interface.
Example
print(lan.status.port.vxi11)
Outputs the VXI-11 number, such as:
1.02400e+03
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-139
lan.status.speed
This attribute contains the LAN speed.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not applicable Not applicable
Usage
speed = lan.status.speed
speed
LAN speed in Mbps, either 10 or 100
Details
This attribute indicates the transmission speed currently in use by the LAN interface.
Example
print(lan.status.speed)
Outputs the instrument's transmission speed
presently in use, such as:
1.00000e+02
Also see
None
lan.status.subnetmask
This attribute contains the LAN subnet mask that is presently in use by the LAN interface.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
mask = lan.status.subnetmask
mask
A string specifying the subnet mask in dotted decimal notation
Details
Use this attribute to determine the present operating state of the LAN. This attribute will return the
present LAN subnet mask value if the LAN is manually configured, or when DLLA or DHCP is used.
Example
print(lan.status.subnetmask)
Outputs the subnet mask of the instrument that is
presently in use, such as:
255.255.255.0
Also see
lan.config.subnetmask (on page 7-130)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-140 2600BS-901-01 Rev. C / August 2016
lan.timedwait
This attribute contains the LAN timed-wait state interval.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes LAN restore defaults Nonvolatile memory 20 (20 s)
Usage
timeout = lan.timedwait
lan.timedwait = timeout
timeout
The LAN timed-wait state interval in seconds
Details
This attribute controls the amount of time that resources are allocated to closed TCP connections.
When a TCP connection is closed, the connection is put in a timed-wait state and resources remain
allocated for the connection until the timed-wait state ends. During the timed-wait interval, the
instrument processes delayed packets that arrive after the connection is closed.
Use this attribute to tailor the timed-wait state interval for the instrument.
Also see
lan.restoredefaults() (on page 7-132)
lan.trigger[N].assert()
This function simulates the occurrence of the trigger and generates the corresponding event ID.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
lan.trigger[N].assert()
N
The LAN event number (1 to 8)
Details
Generates and sends a LAN trigger packet for the LAN event number specified.
Sets the pseudo line state to the appropriate state.
The following indexes provide the listed LXI events:
1:LAN0
2:LAN1
3:LAN2
8:LAN7
Example
lan.trigger[5].assert()
Creates a trigger with LAN packet 5.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command
reference
2600BS-901-01 Rev. C / August 2016 7-141
Also see
lan.lxidomain (on page 7-131)
lan.trigger[N].clear() (on page 7-141)
lan.trigger[N].mode (on page 7-145)
lan.trigger[N].overrun (on page 7-146)
lan.trigger[N].stimulus (on page 7-148)
lan.trigger[N].wait() (on page 7-150)
Understanding hardware value and pseudo line state (on page 3-51)
lan.trigger[N].clear()
This function clears the event detector for a trigger.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
lan.trigger[N].clear()
N
The LAN event number to clear (1 to 8)
Details
The trigger event detector enters the detected state when an event is detected. This function clears a
trigger event detector and discards the previous history of the trigger packet.
This function clears all overruns associated with this LAN trigger.
Example
lan.trigger[5].clear()
Clears the event detector with LAN packet 5.
Also see
lan.trigger[N].assert() (on page 7-140)
lan.trigger[N].overrun (on page 7-146)
lan.trigger[N].stimulus (on page 7-148)
lan.trigger[N].wait() (on page 7-150)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-142 2600BS-901-01 Rev. C / August 2016
lan.trigger[N].connect()
This function prepares the event generator for outgoing trigger events.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
lan.trigger[N].connect()
N
The LAN event number (1 to 8)
Details
Prepares the event generator to send event messages. For TCP connections, this opens the TCP
connection.
The event generator automatically disconnects when either the lan.trigger[N].protocol or
lan.trigger[N].ipaddress attributes for this event are changed.
Example
lan.trigger[1].protocol = lan.MULTICAST
lan.trigger[1].connect()
lan.trigger[1].assert()
Set the protocol for LAN trigger 1 to be
multicast when sending LAN triggers.
Then, after connecting the LAN trigger,
send a message on LAN trigger 1 by
asserting it.
Also see
lan.trigger[N].assert() (on page 7-140)
lan.trigger[N].ipaddress (on page 7-144)
lan.trigger[N].overrun (on page 7-146)
lan.trigger[N].protocol (on page 7-147)
lan.trigger[N].stimulus (on page 7-148)
lan.trigger[N].wait() (on page 7-150)
lan.trigger[N].connected
This attribute stores the LAN event connection state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not applicable Not applicable
Usage
connected = lan.trigger[N].connected
connected
The LAN event connection state:
true: Connected
false: Not connected
N
The LAN event number (1 to 8)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-143
Details
This read-only attribute is set to true when the LAN trigger is connected and ready to send trigger
events following a successful lan.trigger[N].connect() command; if the LAN trigger is not
ready to send trigger events, this value is false.
This attribute is also false when either lan.trigger[N].protocol or
lan.trigger[N].ipaddress attributes are changed or the remote connection closes the
connection.
Example
lan.trigger[1].protocol = lan.MULTICAST
print(lan.trigger[1].connected)
Outputs true if connected, or false if not
connected.
Example output:
false
Also see
lan.trigger[N].connect() (on page 7-142)
lan.trigger[N].ipaddress (on page 7-144)
lan.trigger[N].protocol (on page 7-147)
lan.trigger[N].disconnect()
This function disconnects the LAN trigger.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
lan.trigger[N].disconnect()
N
The LAN event number (1 to 8)
Details
For TCP connections, this closes the TCP connection.
The LAN trigger automatically disconnects when either the lan.trigger[N].protocol or
lan.trigger[N].ipaddress attributes for this event are changed.
Also see
lan.trigger[N].ipaddress (on page 7-144)
lan.trigger[N].protocol (on page 7-147)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Referenc
e Manual
7-144 2600BS-901-01 Rev. C / August 2016
lan.trigger[N].EVENT_ID
This constant is the event identifier used to route the LAN trigger to other subsystems (using stimulus properties).
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
lan.trigger[N].EVENT_ID
N
The LAN event number (1 to 8)
Details
Set the stimulus of any trigger event detector to the value of this constant to have it respond to
incoming LAN trigger packets.
Example
digio.trigger[14].stimulus = lan.trigger[1].EVENT_ID
Route occurrences of triggers
on LAN trigger 1 to digital I/O
trigger 14.
Also see
None
lan.trigger[N].ipaddress
This attribute specifies the address (in dotted-decimal format) of UDP or TCP listeners.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
LAN trigger N reset
Recall setup
Not saved "0.0.0.0"
Usage
ipAddress = lan.trigger[N].ipaddress
lan.trigger[N].ipaddress = ipAddress
ipAddress
The LAN address for this attribute as a string in dotted decimal notation
N
A number specifying the LAN event number (1 to 8)
Details
Sets the IP address for outgoing trigger events.
Set to "0.0.0.0" for multicast.
After changing this setting, the lan.trigger[N].connect() command must be called before
outgoing messages can be sent.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-145
Example
lan.trigger[3].protocol = lan.TCP
lan.trigger[3].ipaddress = "192.168.1.100"
lan.trigger[3].connect()
Set the protocol for LAN trigger 3 to be
lan.TCP when sending LAN triggers.
Use IP address "192.168.1.100" to
connect the LAN trigger.
Also see
lan.trigger[N].connect() (on page 7-142)
lan.trigger[N].mode
This attribute sets the trigger operation and detection mode of the specified LAN event.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
LAN trigger N reset
Recall setup
Not saved 0 (lan.TRIG_EITHER)
Usage
mode = lan.trigger[N].mode
lan.trigger[N].mode = mode
mode
A number representing the trigger mode (0 to 7); see the Details section for
more information
N
A number representing the LAN event number (1 to 8)
Details
This command controls how the trigger event detector and the output trigger generator operate on the
given trigger. These settings are intended to provide behavior similar to the digital I/O triggers.
LAN trigger mode values
Mode Number Trigger packets detected as
input
LAN trigger packet
generated for output
with a…
lan.TRIG_EITHER
0
Rising or falling edge (positive
or negative state)
negative state
lan.TRIG_FALLING
1
Falling edge (negative state)
negative state
lan.TRIG_RISING
2
Rising edge (positive state)
positive state
lan.TRIG_RISINGA
3
Rising edge (positive state)
positive state
lan.TRIG_RISINGM
4
Rising edge (positive state)
positive state
lan.TRIG_SYNCHRONOUS
5
Falling edge (negative state)
positive state
lan.TRIG_SYNCHRONOUSA
6
Falling edge (negative state)
positive state
lan.TRIG_SYNCHRONOUSM
7
Rising edge (positive state)
negative state
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-146 2600BS-901-01 Rev. C / August 2016
lan.TRIG_RISING and lan.TRIG_RISINGA are the same.
lan.TRIG_RISING and lan.TRIG_RISINGM are the same.
Use of either lan.TRIG_SYNCHRONOUSA or lan.TRIG_SYNCHRONOUSM over
lan.TRIG_SYNCHRONOUS is preferred, as lan.TRIG_SYNCHRONOUS is provided for compatibility
with older firmware.
Example
print(lan.trigger[1].mode)
Outputs the present LAN trigger mode of LAN
event 1.
Also see
Digital I/O (on page 3-82)
TSP-Link system expansion interface (on page 6-46)
lan.trigger[N].overrun
This attribute contains the event detector's overrun status.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
LAN trigger N clear
LAN trigger N reset
Instrument reset
Recall setup
Not applicable
Not applicable
Usage
overrun = lan.trigger[N].overrun
overrun
The trigger overrun state for the specified LAN packet (true or false)
N
A number representing the LAN event number (1 to 8)
Details
This attribute indicates whether an event has been ignored because the event detector was already in
the detected state when the event occurred.
This is an indication of the state of the event detector built into the synchronization line itself. It does
not indicate if an overrun occurred in any other part of the trigger model, or in any other construct that
is monitoring the event.
It also is not an indication of an output trigger overrun. Output trigger overrun indications are provided
in the status model.
Example
overrun = lan.trigger[5].overrun
print(overrun)
Checks the overrun status of a trigger on LAN5 and
outputs the value, such as:
false
Also see
lan.trigger[N].assert() (on page 7-140)
lan.trigger[N].clear() (on page 7-141)
lan.trigger[N].stimulus (on page 7-148)
lan.trigger[N].wait() (on page 7-150)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command ref
erence
2600BS-901-01 Rev. C / August 2016 7-147
lan.trigger[N].protocol
This attribute sets the LAN protocol to use for sending trigger messages.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
LAN trigger N reset
Recall setup
Not saved 0 (lan.TCP)
Usage
protocol = lan.trigger[N].protocol
lan.trigger[N].protocol = protocol
protocol
The protocol to use for the trigger's messages:
0 or lan.TCP
1 or lan.UDP
2 or lan.MULTICAST
N
A number representing the LAN event number (1 to 8)
Details
The LAN trigger listens for trigger messages on all supported protocols, but uses the designated
protocol for sending outgoing messages. After changing this setting, lan.trigger[N].connect()
must be called before outgoing event messages can be sent.
When the lan.MULTICAST protocol is selected, the lan.trigger[N].ipaddress attribute is
ignored and event messages are sent to the multicast address 224.0.23.159.
Example
print(lan.trigger[1].protocol)
Get LAN protocol to use for sending trigger
messages for LAN event 1.
Also see
lan.trigger[N].connect() (on page 7-142)
lan.trigger[N].ipaddress (on page 7-144)
lan.trigger[N].pseudostate
This attribute sets the simulated line state for the LAN trigger.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
LAN trigger N reset
Recall setup
Not saved 1
Usage
pseudostate = lan.trigger[N].pseudostate
lan.trigger[N].pseudostate = pseudostate
pseudostate
The simulated line state (0 or 1)
N
A number representing the LAN event number (1 to 8)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-148 2600BS-901-01 Rev. C / August 2016
Details
This attribute can be set to initialize the pseudo line state to a known value.
Setting this attribute does not cause the LAN trigger to generate any events or output packets.
Example
print(lan.trigger[1].pseudostate)
Get the present simulated line state for the LAN
event 1.
Also see
None
lan.trigger[N].stimulus
This attribute specifies events that cause this trigger to assert.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
LAN trigger N reset
Recall setup
Not saved
0
Usage
triggerStimulus = lan.trigger[N].stimulus
lan.trigger[N].stimulus = triggerStimulus
triggerStimulus
The LAN event identifier used to trigger the event
N
A number specifying the trigger packet over the LAN for which to set or query
the trigger source (1 to 8)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-149
Details
This attribute specifies which event causes a LAN trigger packet to be sent for this trigger. Set
triggerStimulus to one of the existing trigger event IDs, which are shown in the following table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Setting this attribute to zero disables automatic trigger generation.
If any events are detected prior to calling lan.trigger[N].connect(), the event is ignored and
the action overrun is set.
Example
lan.trigger[5].stimulus = trigger.timer[1].EVENT_ID
Use timer 1 trigger event as
the source for LAN packet 5
trigger stimulus.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-150 2600BS-901-01 Rev. C / August 2016
Also see
lan.trigger[N].assert() (on page 7-140)
lan.trigger[N].clear() (on page 7-141)
lan.trigger[N].connect() (on page 7-142)
lan.trigger[N].overrun (on page 7-146)
lan.trigger[N].wait() (on page 7-150)
lan.trigger[N].wait()
This function waits for an input trigger.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
triggered = lan.trigger[N].wait(timeout)
triggered
Trigger detection indication
N
The trigger packet over LAN to wait for (1 to 8)
timeout
Maximum amount of time in seconds to wait for the trigger event
Details
If one or more trigger events have been detected since the last time lan.trigger[N].wait() or
lan.trigger[N].clear() was called, this function returns immediately.
After waiting for a LAN trigger event with this function, the event detector is automatically reset and
rearmed regardless of the number of events detected.
Example
triggered = lan.trigger[5].wait(3)
Wait for a trigger with LAN packet 5 with a timeout of
3 seconds.
Also see
lan.trigger[N].assert() (on page 7-140)
lan.trigger[N].clear() (on page 7-141)
lan.trigger[N].overrun (on page 7-146)
lan.trigger[N].stimulus (on page 7-148)
localnode.autolinefreq
This attribute enables or disables automatic power line frequency detection at start-up.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
true (enabled)
Usage
flag = localnode.autolinefreq
localnode.autolinefreq = flag
flag
The auto line frequency detection setting:
true
or
false
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-151
Details
Set flag to one of the following values:
true: Enable automatic line frequency detection at start-up.
false: Disable automatic line frequency detection at start-up.
When this attribute is set to true, the power line frequency is detected automatically the next time
the Series 2600B powers up. After the power line frequency is automatically detected at power-up,
the localnode.linefreq attribute will be set automatically to 50 or 60.
If the localnode.linefreq attribute is explicitly set, localnode.autolinefreq will be
automatically set to false.
When using this command from a remote node, localnode should be replaced with the node
reference, for example node[5].autolinefreq.
Also see
localnode.linefreq (on page 7-152)
localnode.description
This attribute stores a user-defined description and mDNS service name of the instrument.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
Instrument specific (see Details)
Usage
localnode.description = description
description = localnode.description
description
User-defined description and mDNS service name of the instrument; use a string of
63 characters or less
Details
This attribute stores a string that contains a description of the instrument. This value appears on
instrument's LXI welcome page. The value of this attribute is also used as the instrument's mDNS
service name.
This attribute's factory default value is "Keithley Instruments SMU <model number> - <serial
number>", where <model number> and <serial number> are replaced with the actual model number
and serial number of the instrument. Setting this attribute to an empty string (in other words, setting
this attribute to a string of length zero, or one consisting entirely of whitespace characters) will revert
the description to the factory default value.
When using this command from a remote node, localnode should be replaced with the node
reference, for example node[5].description.
Example
description = "System in Lab 05"
localnode.description = description
Set description to "System in Lab 05".
Also see
None
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-152 2600BS-901-01 Rev. C / August 2016
localnode.linefreq
This attribute contains the power line frequency setting used for NPLC calculations.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
60 (60 Hz)
Usage
frequency = localnode.linefreq
localnode.linefreq = frequency
frequency
An integer representing the instrument's detected or specified line frequency
Details
To achieve optimum noise rejection when performing measurements at integer NPLC apertures, set
the line frequency attribute to match the frequency (50 Hz or 60 Hz) of the AC power line.
When using this command from a remote node, localnode should be replaced with the node
reference, for example node[5].linefreq.When this attribute is set, the
localnode.autolinefreq attribute is automatically set to false. You can have the instrument
automatically detect the AC power line frequency and set this attribute with the line frequency
detected when the instrument power is turned on by setting the localnode.autolinefreq
attribute to true.
Example 1
frequency = localnode.linefreq
Reads line frequency setting.
Example 2
localnode.linefreq = 60
Sets the line frequency to 60 Hz.
Also see
localnode.autolinefreq (on page 7-150)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP
command reference
2600BS-901-01 Rev. C / August 2016 7-153
localnode.model
This attribute stores the model number.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
model = localnode.model
model
The model number of the instrument
Details
When using this command from a remote node, replace localnode with the node reference, for
example, node[5].model.
Example
print(localnode.model)
Outputs the model number of the local node. For example:
Also see
localnode.serialno (on page 7-157)
localnode.password
This attribute stores the remote access password.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (W) Yes LAN reset
LAN restore defaults
Nonvolatile memory ""
Usage
localnode.password = "password"
passWord
A string that contains the remote interface password
Details
This write-only attribute stores the password that is set for any remote interface. When password
usage is enabled (localnode.passwordmode), you must supply a password to change the
configuration or to control an instrument from a web page or other remote command interface.
The instrument continues to use the old password for all interactions until the command to change it
executes. When changing the password, give the instrument time to execute the command before
attempting to use the new password.
You cannot retrieve a lost password from any command interface.
The password can be reset by resetting the LAN from the front panel or by using the lan.reset()
command.
When using this command from a remote node, localnode should be replaced with the node
reference, for example, node[5].password.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-154 2600BS-901-01 Rev. C / August 2016
Example
localnode.password = "N3wpa55w0rd"
Changes the remote interface password to
N3wpa55w0rd.
Also see
lan.reset() (on page 7-132)
localnode.passwordmode (on page 7-154)
localnode.passwordmode
This attribute stores the remote access password enable mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
1 (localnode.PASSWORD_WEB)
Usage
mode = localnode.passwordmode
localnode.passwordmode = mode
mode
The remote password enable mode
Details
This attribute controls if and where remote access passwords are required. Set this attribute to one of
the values below to enable password checking:
localnode.PASSWORD_NONE or 0: Disable passwords everywhere
localnode.PASSWORD_WEB or 1: Use passwords on the web interface only
localnode.PASSWORD_LAN or 2: Use passwords on the web interface and all LAN interfaces
localnode.PASSWORD_ALL or 3: Use passwords on the web interface and all remote command
interfaces
When using this command from a remote node, localnode should be replaced with the node
reference, for example node[5].passwordmode.
Example
mode = localnode.PASSWORD_WEB
localnode.passwordmode = mode
Sets value of mode to PASSWORD_WEB.
Allows use of passwords on the web interface only.
Also see
localnode.password (on page 7-153)
localnode.prompts
This attribute sets and reads the local node prompting state (enabled or disabled).
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Power cycle Not saved 0 (disabled)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-155
Usage
prompting = localnode.prompts
localnode.prompts = prompting
prompting
Prompting state (0 to disable or 1 to enable)
Details
The command messages do not generate prompts. The instrument generates prompts in response to
command messages.
When the prompting mode is enabled (set to 1), the instrument generates prompts in response to
command messages. There are three prompts that might be generated:
TSP> is the standard prompt. This prompt indicates that everything is normal and the command is done
processing.
TSP? is issued if there are entries in the error queue when the prompt is issued. Like the TSP> prompt,
it indicates the command is done processing. It does not mean the previous command generated an
error, only that there are still errors in the queue when the command was done processing.
>>>> is the continuation prompt. This prompt is used when downloading scripts. When downloading
scripts, many command messages must be sent as a group. The continuation prompt indicates that the
instrument is expecting more messages as part of the current command.
When using this command from a remote node, localnode should be replaced with the node
reference, for example, node[5].prompts.
Do not disable prompting when using Test Script Builder. Test Script Builder requires prompts and
sets the prompting mode behind the scenes. If you disable prompting, using Test Script Builder
causes the instrument to stop responding because it is waiting for the prompt that lets it know that
the command is done executing.
Example
localnode.prompts = 1
Enable prompting.
Also see
localnode.prompts4882 (on page 7-155)
localnode.showerrors (on page 7-158)
tsplink.reset() (on page 7-385)
localnode.prompts4882
This attribute enables and disables the generation of prompts for IEEE Std 488.2 common commands.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Power cycle
Not saved
1 (enabled)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-156 2600BS-901-01 Rev. C / August 2016
Usage
prompting = localnode.prompts4882
localnode.prompts4882 = prompting
prompting
IEEE Std 488.2 prompting mode:
Disable prompting: 0
Enable prompting: 1
Details
When this attribute is enabled, the IEEE Std 488.2 common commands generate prompts if
prompting is enabled with the localnode.prompts attribute. If localnode.prompts4882 is
enabled, limit the number of *trg commands sent to a running script to 50 regardless of the setting
of the localnode.prompts attribute.
When this attribute is disabled, IEEE Std 488.2 common commands will not generate prompts. When
using the *trg command with a script that executes trigger.wait() repeatedly, disable
prompting to avoid problems associated with the command interface input queue filling.
When using this command from a remote node, localnode should be replaced with the node
reference, for example:
node[5].prompts4882
Example
localnode.prompts4882 = 0
Disables IEEE Std 488.2 common command prompting.
Also see
localnode.prompts (on page 7-154)
localnode.reset()
This function resets the local node instrument.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
localnode.reset()
Details
If you want to reset a specific instrument or a subordinate node, use the node[X].reset()
command.
A local node reset includes:
Source-measure unit (SMU) attributes affected by a SMU reset are reset
Other settings are restored back to factory default settings
A localnode.reset() is different than a reset() because reset() resets the entire system.
When using this command from a remote node, localnode should be replaced with the node
reference, for example node[5].reset().
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-157
Example
localnode.reset()
Resets the local node.
Also see
reset() (on page 7-173)
smuX.reset() (on page 7-232)
localnode.revision
This attribute stores the firmware revision level.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
revision = localnode.revision
revision
Firmware revision level
Details
This attribute indicates the revision number of the firmware that is presently running in the instrument.
When using this command from a remote node, localnode should be replaced with the node
reference. For example, node[5].revision.
Example
print(localnode.revision)
Outputs the present revision level.
Sample output:
3.0.0
Also see
localnode.description (on page 7-151)
localnode.model (on page 7-153)
localnode.serialno (on page 7-157)
localnode.serialno
This attribute stores the instrument's serial number.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
serialno = localnode.serialno
serialno
The serial number of the instrument
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-158 2600BS-901-01 Rev. C / August 2016
Details
This indicates the instrument serial number.
When using this command from a remote node, localnode should be replaced with the node
reference, for example, node[5].serialno.
Example
display.clear()
display.settext(localnode.serialno)
Clears the instrument's display.
Places the instrument's serial number on the top line of its
display.
Also see
localnode.description (on page 7-151)
localnode.model (on page 7-153)
localnode.revision (on page 7-157)
localnode.showerrors
This attribute sets whether or not the instrument automatically sends generated errors.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Power cycle
Not saved
0 (disabled)
Usage
errorMode = localnode.showerrors
localnode.showerrors = errorMode
errorMode
Enables (1) or disables (0) the show errors state
Details
If this attribute is set to 1, the instrument automatically sends any generated errors stored in the error
queue, and then clears the queue. Errors are processed after executing a command message (just
before issuing a prompt, if prompts are enabled).
If this attribute is set to 0, errors are left in the error queue and must be explicitly read or cleared.
When using this command from a remote node, localnode should be replaced with the node
reference, for example, node[5].showerrors.
Example
localnode.showerrors = 1
Enables sending of generated errors.
Also see
localnode.prompts (on page 7-154)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP com
mand reference
2600BS-901-01 Rev. C / August 2016 7-159
makegetter()
This function creates a function to get the value of an attribute.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
getter = makegetter(table, attributeName)
getter
The return value
table
Read-only table where the attribute is located
attributeName
A string representing the name of the attribute
Details
This function is useful for aliasing attributes to improve execution speed. Calling the function created
with makegetter() executes faster than accessing the attribute directly.
Creating a getter function is only useful if it is going to be called several times. Otherwise, the
overhead of creating the getter function outweighs the overhead of accessing the attribute directly.
Example
getlevel = makegetter(smua.source, "levelv")
v = getlevel()
Creates a getter function called
getlevel.
When getlevel() is called, it
returns the value of
smua.source.levelv.
Also see
makesetter() (on page 7-159)
makesetter()
This function creates a function that, when called, sets the value of an attribute.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
setter = makesetter(table, attributeName)
setter
Function that sets the value of the attribute
table
Read-only table where the attribute is located
attributeName
The string name of the attribute
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-160 2600BS-901-01 Rev. C / August 2016
Details
This function is useful for aliasing attributes to improve execution speed. Calling the setter function
will execute faster than accessing the attribute directly.
Creating a setter function is only useful if it is going to be called several times. If you are not calling
the setter function several times, it is more efficient to access the attribute directly.
Example
setlevel = makesetter(smua.source, "levelv")
for v = 1, 10 do
setlevel(v)
end
Creates a setter function called
setlevel.
Using setlevel() in the loop
sets the value of
smua.source.levelv,
performing a source sweep.
Also see
makegetter() (on page 7-159)
meminfo()
This function returns the present amount of available memory and the total amount of memory in the instrument.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
freeMem, totalMem = meminfo()
freeMem
The amount of free dynamically allocated memory available
totalMem
The total amount of dynamically allocated memory in the instrument
Details
This function returns two values:
The amount of free dynamically allocated memory available in kilobytes
The total amount of dynamically allocated memory on the instrument in kilobytes
The difference between the two values is the amount presently used.
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-161
node[N].execute()
This function starts test scripts on a remote TSP-Link node. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes (see Details)
Usage
node[N].execute(scriptCode)
N
The node number of this instrument (1 to 64)
scriptCode
A string containing the source code
Details
This command is only applicable to TSP-Link systems. You can use this command to use the remote
master node to run a script on the specified node. This function does not run test scripts on the
master node; only on the subordinate node when initiated by the master node.
This function may only be called when the group number of the node is different than the node of the
master.
This function does not wait for the script to finish execution.
Example 1
node[2].execute(sourcecode)
Runs script code on node 2. The code is in a string variable
called sourcecode.
Example 2
node[3].execute("x = 5")
Runs script code in string constant ("x = 5") to set x
equal to 5 on node 3.
Example 3
node[32].execute(TestDut.source)
Runs the test script stored in the variable
TestDut
(previously stored on the master node) on node 32.
Also see
TSP advanced features (on page 6-52)
tsplink.group (on page 7-382)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Refe
rence Manual
7-162 2600BS-901-01 Rev. C / August 2016
node[N].getglobal()
This function returns the value of a global variable. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
value = node[N].getglobal(name)
value
The value of the variable
N
The node number of this instrument (1 to 64)
name
The global variable name
Details
This function retrieves the value of a global variable from the run-time environment of this node.
Do not use this command to retrieve the value of a global variable from the local node. Instead,
access the global variable directly. This command should only be used from a remote master when
controlling this instrument over a TSP-Link® network.
Example
print(node[5].getglobal("test_val"))
Retrieves and outputs the value of the global variable
named test_val from node 5.
Also see
node[N].setglobal() (on page 7-162)
TSP advanced features (on page 6-52)
node[N].setglobal()
This function sets the value of a global variable. This function is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
node[N].setglobal(name, value)
N
The node number of this instrument (1 to 64)
name
The global variable name to set
value
The value to assign to the variable
Details
From a remote node, use this function to assign the given value to a global variable.
Do not use this command to create or set the value of a global variable from the local node (set the
global variable directly instead). This command should only be used from a remote master when
controlling this instrument over a TSP-Link®.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-163
Example
node[3].setglobal("x", 5)
Sets the global variable
x
on node 3 to the value of 5.
Also see
node[N].getglobal() (on page 7-162)
TSP advanced features (on page 6-52)
opc()
This function sets the operation complete status bit when all overlapped commands are completed.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
opc()
Details
This function causes the operation complete bit in the Standard Event Status Register to be set when
all previously started local overlapped commands are complete.
Note that each node independently sets its operation complete bits in its own status model. Any
nodes that are not actively performing overlapped commands set their bits immediately. All remaining
nodes set their own bits as they complete their own overlapped commands.
Also see
Status model (on page 5-15, on page E-1)
waitcomplete() (on page 7-413)
os.remove()
This function deletes the file or directory with a given name.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
success, msg = os.remove(filename)
success
A success indicator (true or nil)
msg
A message value (nil or an error message)
filename
A string representing the name of the file or directory to delete
Details
Directories must be empty before using the os.remove() function to delete them.
If this function fails, it returns nil (for success) and an error message string (for msg).
Example
os.remove("testFile")
Delete the file named testFile.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-164 2600BS-901-01 Rev. C / August 2016
Also see
os.rename() (on page 7-164)
os.rename()
This function renames an existing file or directory.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
success, msg = os.rename(oldname, newname)
success
A success indicator (
true
or
nil
)
msg
A message value (nil or an error message)
oldname
String representing the name of the file or directory to rename
newname
String represent the new name of the file or directory
Details
If this function fails, it returns nil (for success) and an error message string (for msg).
Example
os.rename("testFile", "exampleFile")
Changes the name of the existing file
testFile to the name exampleFile.
Also see
os.remove() (on page 7-163)
os.time()
This function generates a time value in UTC time.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
utcTime = os.time()
utcTime = os.time(timespec)
utcTime
Time value in UTC time
timespec
The date and time (year, month, day, hour, and minute)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command
reference
2600BS-901-01 Rev. C / August 2016 7-165
Details
The timespec is a table using the fields listed in the table below.
year
The year (1970 or later)
month
The month (1 to 12)
day
The day (1 to 31)
hour
The hour (00 to 23)
min
The minute (00 to 59)
sec
The second (00 to 59)
If the time (hour, minute, and second) options are not used, they default to noon for that day. When
called without a parameter (the first form), the function returns the current time.
Set the time zone before calling the os.time() function.
Example
systemTime = os.time({year = 2010,
month = 3,
day = 31,
hour = 14,
min = 25})
settime(systemTime)
Sets the date and time to Mar 31, 2010 at
2:25 pm.
Also see
settime() (on page 7-192)
settimezone() (on page 7-192)
print()
This function generates a response message.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
print(value1)
print(value1, value2)
print(value1, ..., valueN)
value1
The first argument to output
value2
The second argument to output
valueN
The last argument to output
...
One or more values separated with commas
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-166 2600BS-901-01 Rev. C / August 2016
Details
TSP-enabled instruments do not have inherent query commands. Like any other scripting
environment, the print() command and other related print() commands generate output. The
print() command creates one response message.
The output from multiple arguments are separated with a tab character.
Numbers are printed using the format.asciiprecision attribute. If you want use Lua formatting,
print the return value from the tostring() function.
Example 1
x = 10
print(x)
Example of an output response message:
1.00000e+01
Note that your output might be different if you set
your ASCII precision setting to a different value.
Example 2
x = true
print(tostring(x))
Example of an output response message:
true
Also see
format.asciiprecision (on page 7-101)
printbuffer()
This function prints data from tables or reading buffer subtables.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
printbuffer(startIndex, endIndex, bufferVar)
printbuffer(startIndex, endIndex, bufferVar, bufferVar2)
printbuffer(startIndex, endIndex, bufferVar, ..., bufferVarN)
startIndex
Beginning index of the buffer to print; this must be more than one
and less than
endIndex
endIndex
Ending index of the buffer to print; this must be more than
startIndex and less than the index of the last entry in the tables
bufferVar
Name of first table or reading buffer subtable to print; may be a
default buffer (defbuffer1 or defbuffer2) or a user-defined
buffer
bufferVar2
Second table or reading buffer subtable to print; may be a default
buffer (
defbuffer1
or
defbuffer2
) or a user-defined buffer
bufferVarN
The last table or reading buffer subtable to print; may be a default
buffer (
defbuffer1
or
defbuffer2
) or a user-defined buffer
...
One or more tables or reading buffer subtables separated with
commas
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-167
Details
If startIndex is set to less than 1 or if endIndex is more than the size of the index, 9.910000e+37
is returned for each value outside the allows index and an event is generated.
When any given reading buffers are used in overlapped commands that have not yet completed (at
least to the desired index), this function outputs data as it becomes available.
When there are outstanding overlapped commands to acquire data, n refers to the index that the last
entry in the table will have after all the readings have completed.
If you pass a reading buffer instead of a reading buffer subtable, the default subtable for that reading
buffer is used.
This command generates a single response message that contains all data.
The format.data attribute controls the format of the response message.
You can use the bufferVar attributes that are listed in the following table with the print buffer
command. For example, if testData is the buffer, you can use testData.dates attribute to print
the date of each reading in the testData buffer.
Attribute Description
bufferVar.n
The number of readings in the specified buffer. See
bufferVar.n.
bufferVar.readings
The readings stored in a specified reading buffer. See
bufferVar.readings.
bufferVar.dates
The dates of readings stored in the reading buffer. See
bufferVar.dates.
bufferVar.statuses
The status values of readings in the reading buffer. See
bufferVar.statuses.
bufferVar.formattedreadings
The stored readings formatted as they appear on the
front-panel display. See bufferVar.formattedreadings.
bufferVar.sourceformattedvalues
The source levels formatted as they appear on the front-panel
display when the readings in the reading buffer were acquired.
See bufferVar.sourceformattedvalues.
bufferVar.sourcevalues
The source levels that were being output when readings in the
reading buffer were acquired. See bufferVar.sourcevalues.
bufferVar.sourcestatuses
The source status conditions of the instrument for the reading
point. See bufferVar.sourcestatuses.
bufferVar.times
The time when the instrument made the readings. See
bufferVar.times.
bufferVar.timestamps
The timestamps of readings stored in the reading buffer. See
bufferVar.timestamps.
bufferVar.relativetimestamps
The timestamps, in seconds, when each reading occurred
relative to the timestamp of reading buffer entry number 1. See
bufferVar.relativetimestamps.
bufferVar.sourceunits
The units of measure of the source. See
bufferVar.sourceunits.
bufferVar.seconds
The nonfractional seconds portion of the timestamp when the
reading was stored in UTC format. See bufferVar.seconds.
bufferVar.fractionalseconds
The fractional portion of the timestamp (in seconds) of when
each reading occurred. See bufferVar.fractionalseconds.
bufferVar.units
The unit of measure that is stored with readings in the reading
buffer. See bufferVar.units.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Referenc
e Manual
7-168 2600BS-901-01 Rev. C / August 2016
Example 1
reset()
testData = buffer.make(200)
format.data = format.ASCII
format.asciiprecision = 6
trigger.model.load("SimpleLoop", 6, 0, testData)
trigger.model.initiate()
waitcomplete()
printbuffer(1, testData.n, testData.readings, testData.units,
testData.relativetimestamps)
This assumes that testData is a valid reading buffer in the run-time environment. The use of testData.n
(bufferVar.n) indicates that the instrument should output all readings in the reading buffer. In this example,
testBuffer.n equals 6.
Example of output data:
1.10458e-11, Amp DC, 0.00000e+00, 1.19908e-11, Amp DC, 1.01858e-01, 1.19908e-11, Amp DC,
2.03718e-01, 1.20325e-11, Amp DC, 3.05581e-01, 1.20603e-11, Amp DC, 4.07440e-01, 1.20325e-
11, Amp DC, 5.09299e-01
Example 2
for x = 1, testData.n do
printbuffer(x,x,testData, testData.units, testData.relativetimestamps)
end
Using the same buffer created in Example 1, output readings, units and relative timestamps on a separate line
for each reading.
1.10458e-11, Amp DC, 0.00000e+00
1.19908e-11, Amp DC, 1.01858e-01
1.19908e-11, Amp DC, 2.03718e-01
1.20325e-11, Amp DC, 3.05581e-01
1.20603e-11, Amp DC, 4.07440e-01
1.20325e-11, Amp DC, 5.09299e-01
Also see
bufferVar.n
bufferVar.readings
format.asciiprecision
format.byteorder
format.data
printnumber() (on page 7-169)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-169
printnumber()
This function prints numbers using the configured format.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
printnumber(value1)
printnumber(value1, value2)
printnumber(value1, ..., valueN)
value1
First value to print in the configured format
value2
Second value to print in the configured format
valueN
Last value to print in the configured format
...
One or more values separated with commas
Details
There are multiple ways to use this function, depending on how many numbers are to be printed.
This function prints the given numbers using the data format specified by format.data and
format.asciiprecision.
Example
format.asciiprecision = 10
x = 2.54
printnumber(x)
format.asciiprecision = 3
printnumber(x, 2.54321, 3.1)
Configure the ASCII precision to 10 and set x to
2.54.
Read the value of x based on these settings.
Change the ASCII precision to 3.
View how the change affects the output of x and
some numbers.
Output:
2.540000000e+00
2.54e+00, 2.54e+00, 3.10e+00
Also see
format.asciiprecision (on page 7-101)
format.byteorder (on page 7-101)
format.data (on page 7-102)
print() (on page 7-165)
printbuffer() (on page 7-166)
PulseIMeasureV()
This KIPulse factory script function performs a specified number of pulse I, measure V cycles.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-170 2600BS-901-01 Rev. C / August 2016
Usage
PulseIMeasureV(smu, bias, level, ton, toff, points)
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
bias
Bias level in amperes
level
Pulse level in amperes
ton
Pulse on time in seconds
toff
Pulse off time in seconds
points
Number of pulse-measure cycles
Details
Data for pulsed voltage measurements, current levels, and timestamps are stored in
smua.nvbuffer1.
If any parameters are omitted or nil, the operator is prompted to enter them using the front panel.
To perform the specified number of pulse I, measure V cycles, this function:
1. Sets the smu to output bias amperes and dwell for toff seconds.
2. Sets the smu to output level amperes and dwell for ton seconds.
3. Performs voltage measurement with source at level amperes.
4. Sets the smu to output bias amperes for toff seconds.
5. Repeats steps 2 through 4 for all remaining points pulse-measure cycles.
Figure 132: PulseIMeasureV
Example
PulseIMeasureV(smua, 0.001, 1.0,
20e-3, 40e-3, 10)
SMU A outputs 1 mA and dwells for 40 ms, outputs
1 A and dwells for 20 ms. The voltage measurements
occur during each 20 ms dwell period. After the
measurement, the output returns to 1 mA and dwells
for 40 ms. This pulse-measure process repeats nine
more times.
Also see
KIPulse factory script (on page 5-22)
PulseVMeasureI()
This KIPulse factory script function performs a specified number of pulse V, measure I cycles.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command ref
erence
2600BS-901-01 Rev. C / August 2016 7-171
Usage
PulseVMeasureI(smu, bias, level, ton, toff, points)
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
bias
Bias level in volts
level
Pulse level in volts
ton
Pulse on time in seconds
toff
Pulse off time in seconds
points
Number of pulse-measure cycles
Details
If any parameters are omitted or nil, the operator is prompted to enter them using the front panel.
Data for pulsed current measurements, voltage levels, and timestamps are stored in
smuX.nvbuffer1.
To perform the specified number of pulse V, measure I cycles, this function:
1. Sets the smu to output bias volts and dwell for toff seconds
2. Sets the smu to output level volts and dwell for ton seconds
3. Performs voltage measurement with source at level volts
4. Sets the smu to output bias volts for toff seconds
5. Repeats steps 2 through 4 for the remaining points pulse-measure cycles
Figure 133: PulseVMeasureI()
Example
smua.measure.nplc = 0.001
PulseVMeasureI(smua, -1, 1, 1E-3, 2E-3, 20)
SMU A outputs 1 V and dwells for 2 ms,
outputs 1 V and dwells for 1 ms. The current
measurements occur during each 1 ms
dwell period. After the measurement, the
output returns to 1 V and dwells for 2 ms.
This pulse-measure process repeats 19
more times.
Also see
KIPulse factory script (on page 5-22)
QueryPulseConfig()
This KIPulse factory script function allows you to inspect the settings of the preconfigured pulse train assigned to
tag.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-172 2600BS-901-01 Rev. C / August 2016
Usage
tbl = QueryPulseConfig(tag)
tag
Numeric identifier to be assigned to the defined pulse train
tbl
Returned table
Details
Once a pulse train has been configured and assigned to a tag, it is often desirable to inspect the
settings of this preconfigured pulse train. The QueryPulseConfig() command can be used for this
purpose.
This function returns a table that contains the settings associated with the tag input parameter.
Return values:
tostring()
A function that returns most settings in a string that is convenient for printing
tag
Identifying tag for this pulse train
smu
The SMU configured for pulsing
func
Pulse function:
smuX.OUTPUT_DCAMPS or
smu
X
.OUTPUT_DCVOLTS
bias
Pulse bias level
level
Pulse level for non sweeping pulses
start
Starting level for sweep pulses
stop
Ending level for sweep pulses
limit
Limit value
ton
On time in seconds
toff
Off time in seconds
points
The number of points in this pulse train
buf
Reference to the buffer that contains measurement data
sync_in
The sync_in digio line, if used
sync_out
The
sync_out
digio line, if used
sourcevalues
A table containing the source value for each point in the pulse train
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-173
Example
smua.reset()
smua.source.rangev = 5
smua.source.rangei = 1
smua.source.levelv = 0
smua.measure.rangev = 5
smua.measure.rangei = 1
smua.measure.nplc = 0.01
smua.measure.autozero = smua.AUTOZERO_ONCE
smua.nvbuffer1.clear()
smua.nvbuffer1.appendmode = 1
smua.source.output = smua.OUTPUT_ON
f1, msg1 = ConfigPulseVMeasureI(smua, 0, 5,
1, 0.002, 0.2, 10, smua.nvbuffer1, 1)
print(QueryPulseConfig(1).tostring())
Configure channel A to generate a pulse train,
query configuration, and then display as a string.
Channel A pulses voltage from a bias level of 0 V
to a pulse level of 5 V. The pulse level is present
for 2 ms, and the bias level for 200 ms with a 1 A
limit setting. A total of 10 pulses is generated, and
the measurement data is stored in
smua.nvbuffer1. This pulse train is assigned to
tag = 1.
Output:
>> tag = 1
>> smu = smua
>> func = volts
>> type = pulse
>> bias = 0
>> level = 5
>> limit = 1
>> time on = 0.002
>> time off = 0.2
>> points = 10
>> measure = yes
>> sync_in = 0
>> sync_out = 0
>> sync_in_timeout = 0
>> sync_out_abort = 0
>> { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }
Also see
ConfigPulseIMeasureV() (on page 7-36)
ConfigPulseIMeasureVSweepLin() (on page 7-38)
ConfigPulseIMeasureVSweepLog() (on page 7-40)
ConfigPulseVMeasureI() (on page 7-42)
ConfigPulseVMeasureISweepLin() (on page 7-45)
ConfigPulseVMeasureISweepLog() (on page 7-47)
KIPulse factory script (on page 5-22)
reset()
This function resets commands to their default settings.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
reset()
reset(system)
system
true: If the node is the master, the entire system is reset
false
: Only the local group is reset
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-174 2600BS-901-01 Rev. C / August 2016
Details
The reset() command in its simplest form resets the entire TSP-enabled system, including the
controlling node and all subordinate nodes.
If you want to reset a specific instrument, use either the localnode.reset() or
node[X].reset() command. Use the localnode.reset() command for the local instrument.
Use the node[X].reset() command to reset an instrument on a subordinate node.
When no value is specified for system, the default value is true.
You can only reset the entire system using reset(true) if the node is the master. If the node is not
the master node, executing this command generates an error.
Example
reset(true)
If the node is the master node, the entire system is
reset; if the node is not the master node, an error is
generated.
Also see
localnode.reset() (on page 7-156)
savebuffer()
This KISavebuffer factory script function saves a specified reading buffer as either a .CSV file or an .XML file.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
savebuffer(buffer, formatType, fileName)
buffer
The reading buffer to save
formatType
A string indicating which file type to use: .csv or .xml
fileName
The file name of the saved buffer
Details
Use this function to save the specified buffer to a USB flash drive.
This function will only save to a USB flash drive.
You are not required to qualify the path to the USB flash drive, but if you wish to, add /usb1/ before
the fileName (see Example 2).
Example 1
savebuffer(smua.nvbuffer1, "csv",
"mybuffer.csv")
Save
smua
dedicated reading buffer 1 as a
.CSV file named mybuffer.csv.
Example 2
savebuffer(smua.nvbuffer1, "csv",
"/usb1/mybuffer.csv")
Save smua dedicated reading buffer 1 to an
installed USB flash drive as a .CSV file
named mybuffer.csv.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-175
Also see
KISavebuffer factory script (on page 5-24)
smuX.savebuffer() (on page 7-232)
script.anonymous
This is a reference to the anonymous script.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
No
See Details
See Details
Not applicable
Usage
scriptVar = script.anonymous
scriptVar
The name of the variable that references the script
Details
You can use the script.anonymous script like any other script. Also, you can save the anonymous
script as a user script by giving it a name.
This script is replaced by loading a script with the loadscript or loadandrunscript commands
when they are used without a name.
Example 1
script.anonymous.list()
Displays the content of the anonymous
script.
Example 2
print(script.anonymous.source)
Retrieves the source of the anonymous
script.
Also see
Anonymous scripts (on page 6-3)
scriptVar.autorun (on page 7-181)
scriptVar.list() (on page 7-183)
scriptVar.name (on page 7-183)
scriptVar.run() (on page 7-184)
scriptVar.save() (on page 7-186)
scriptVar.source (on page 7-187)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-176 2600BS-901-01 Rev. C / August 2016
script.delete()
This function deletes a script from nonvolatile memory.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
script.delete(scriptName)
scriptName
The string that represents the name of the script
Example
script.delete("test8")
Deletes a user script named "test8" from
nonvolatile memory.
Also see
Delete user scripts (on page 6-9)
Delete user scripts from the instrument (on page 6-44)
scriptVar.save() (on page 7-186)
script.factory.catalog()
This function returns an iterator that can be used in a for loop to iterate over all the factory scripts.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
for name in script.factory.catalog() do body end
name
String representing the name of the script
body
Code that implements the body of the for loop to process the names in the catalog
Details
Accessing this catalog of scripts allows you to process the factory scripts. The entries will be
enumerated in no particular order.
Each time the body of the function executes, name takes on the name of one of the factory scripts.
The for loop repeats until all scripts have been iterated.
Example
for name in script.factory.catalog() do
print(name)
end
Retrieve the catalog listing for factory scripts.
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP
command reference
2600BS-901-01 Rev. C / August 2016 7-177
script.load()
This function creates a script from a specified file.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
scriptVar = script.load(file)
scriptVar = script.load(file, name)
scriptVar
The created script; this is nil if an error is encountered
file
The path and file name of the script file to load
name
The name of the script to be created
Details
The file path may be absolute or relative to the current working directory. The root folder of the USB
flash drive has the absolute path "/usb1/". Both the forward slash (/) and backslash (\) are supported
as directory separators.
The file to be loaded must start with the loadscript or loadandrunscript keywords, contain the
body of the script, and end with the endscript keyword.
Script naming:
If the name parameter is an empty string, or name is absent (or nil) and the script name cannot be
extracted from the file, scriptVar is the only handle to the created script.
If name is given (and not nil), any script name embedded in the file is ignored.
If name conflicts with the name of an existing script in the script.user.scripts table, the existing
script’s name attribute is set to an empty string before it is replaced in the script.user.scripts
table by the new script.
If name is absent or nil, the command attempts to extract the name of the script from the file. Any
conflict between the extracted name and that of an existing script in the scripts table generates an error.
If the script name cannot be extracted, the created script's name attribute is initialized to the empty
string, and must be set to a valid nonempty string before saving the script to nonvolatile memory.
Example
myTest8 =
script.load("/usb1/filename.tsp",
"myTest8")
Loads the script myTest8 from the USB flash
drive.
Also see
script.new() (on page 7-178)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-178 2600BS-901-01 Rev. C / August 2016
script.new()
This function creates a script.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
scriptVar = script.new(code)
scriptVar = script.new(code, name)
scriptVar
The name of the variable that will reference the script
code
A string containing the body of the script
name
The name of the script
Details
The name parameter is the name that is added to the script.user.scripts table. If name is not
given, an empty string will be used, and the script will be unnamed. If the name already exists in
script.user.scripts, the existing script's name attribute is set to an empty string before it is
replaced by the new script.
Note that name is the value that is used for the instrument front panel display. If this value is not
defined, the script will not be available from the instrument front panel.
You must save the new script into nonvolatile memory to keep it when the instrument is turned off.
Example 1
myTest8 = script.new(
"display.clear() display.settext('Hello from myTest8')", "myTest8")
myTest8()
Creates a new script referenced by the variable myTest8 with the name "myTest8".
Runs the script. The instrument displays "
Hello from myTest8
".
Example 2
autoexec = script.new(
"display.clear() display.settext('Hello from autoexec')", 'autoexec')
Creates a new autoexec script that clears the display when the instrument is turned on and displays
"Hello from autoexec".
Also see
Create a script using the script.new() command (on page 6-39)
Global variables and the script.user.scripts table (on page 6-37)
Named scripts (on page 6-4)
scriptVar.save() (on page 7-186)
script.newautorun() (on page 7-179)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-179
script.newautorun()
This function is identical to the script.new() function, but it creates a script with the autorun attribute set to
"yes".
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
scriptVar = script.newautorun(code)
scriptVar = script.newautorun(code, name)
scriptVar
The name of the variable that will reference the script
code
A string containing the body of the script
name
The name of the script
Details
The script.newautorun() function is identical to the script.new()function, except that the
autorun attribute of the script is set to yes. The script is also automatically run immediately after it is
created.
Example
NewAuto = script.newautorun("print('Hello from new auto run command')",
'NewAuto')
print(NewAuto.autorun)
print(NewAuto.name)
Creates a new script called NewAuto that automatically has the autorun attribute set to yes after it is
created. The name attribute's value is set to "NewAuto".
Output:
Hello from new auto run command
yes
NewAuto
Also see
Create a script using the script.new() command (on page 6-39)
Global variables and the script.user.scripts table (on page 6-37)
Named scripts (on page 6-4)
script.new() (on page 7-178)
scriptVar.save() (on page 7-186)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-180 2600BS-901-01 Rev. C / August 2016
script.restore()
This function restores a script that was removed from the run-time environment.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
script.restore(name)
name
The name of the script to be restored
Details
This command copies the script from nonvolatile memory into the run-time environment. It also
creates a global variable with the same name as the name of the script.
Example
script.restore("test9")
Restores a script named "test9" from nonvolatile
memory.
Also see
script.delete() (on page 7-176)
script.run()
This function runs the anonymous script.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
script.run()
run()
Details
Each time the script.run() command is given, the anonymous script is executed. This script can
be run using this command many times without having to re-send it.
Example
run()
Runs the anonymous script.
Also see
script.anonymous (on page 7-175)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-181
script.user.catalog()
This function returns an iterator that can be used in a for loop to iterate over all the scripts stored in nonvolatile
memory.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
for name in script.user.catalog() do body end
name
String representing the name of the script
body
Code that implements the body of the for loop to process the names in the catalog
Details
Accessing the catalog of scripts stored in nonvolatile memory allows you to process all scripts in
nonvolatile memory. The entries will be enumerated in no particular order.
Each time the body of the function executes, name takes on the name of one of the scripts stored in
nonvolatile memory. The for loop repeats until all scripts have been iterated.
Example
for name in script.user.catalog() do
print(name)
end
Retrieve the catalog listing for user scripts.
Also see
None
scriptVar.autorun
This attribute controls the autorun state of a script.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
No
Not applicable
See Details
See Details
Usage
scriptVar.autorun = state
state = scriptVar.autorun
scriptVar
The name of the variable that references the script
state
Whether or not the script runs automatically when powered on:
"yes" (script runs automatically)
"no" (script does not run automatically)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-182 2600BS-901-01 Rev. C / August 2016
Details
Autorun scripts run automatically when the instrument is turned on. You can set any number of scripts
to autorun.
The run order for autorun scripts is arbitrary, so make sure the run order is not important.
The default value for scriptVar.autorun depends on how the script was loaded. The default is
"no" if the script was loaded with loadscript or script.new(). It is "yes" for scripts loaded
with loadandrunscript or script.newautorun().
Make sure to save the script in nonvolatile memory after setting the autorun attribute so that the
instrument will retain the setting.
Example
test5.autorun = "yes"
test5.save()
Assume a script named "test5" is in the run-time
environment.
The next time the instrument is turned on, "test5"
script automatically loads and runs.
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP com
mand reference
2600BS-901-01 Rev. C / August 2016 7-183
scriptVar.list()
This function generates a script listing.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
scriptVar.list()
scriptVar
The name of variable that references the script
Details
This function generates output in the form of a sequence of response messages (one message for
each line of the script). It also generates output of the script control messages (loadscript or
loadandrunscript and endscript).
Example
test7 = script.new("display.clear() display.settext('Hello from my test')",
"test7")
test7()
test7.save()
test7.list()
The above example code creates a script named "test7" that displays text on the front panel and lists the
script with the following output:
loadscript test7
display.clear() display.settext("Hello from my test")
endscript
Also see
Load a script by sending commands over the remote interface (on page 6-4)
Retrieve source code one line at a time (on page 6-43)
scriptVar.name
This attribute contains the name of a script in the run-time environment.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
No
Not applicable
Not applicable
Not applicable
Usage
scriptVar.name = scriptName
scriptName = scriptVar.name
scriptVar
Name of the variable that references the script
scriptName
A string that represents the name of the script
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-184 2600BS-901-01 Rev. C / August 2016
Details
When setting the script name, this attribute renames the script that the variable scriptVar
references.
This attribute must be either a valid Lua identifier or the empty string. Changing the name of a script
changes the index that is used to access the script in the script.user.scripts table. Setting the
attribute to an empty string removes the script from the table completely, and the script becomes an
unnamed script.
As long as there are variables referencing an unnamed script, the script can be accessed through
those variables. When all variables that reference an unnamed script are removed, the script will be
removed from the run-time environment.
If the new name is the same as a name that is already used for another script, the name of the other
script is set to an empty string, and that script becomes unnamed.
Changing the name of a script does not change the name of any variables that reference that script.
The variables will still reference the script, but the names of the script and variables may not match.
Example
test7 = script.new("display.clear() display.settext('Hello from my test')", "")
test7()
print(test7.name)
test7.name = "test7"
print(test7.name)
test7.save()
This example calls the
script.new()
function to create a script with no name, runs the script, names the
script "test7", and then saves the script in nonvolatile memory.
Also see
Rename a script (on page 6-41)
script.new() (on page 7-178)
scriptVar.save() (on page 7-186)
scriptVar.run()
This function runs a script.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
scriptVar.run()
scriptVar()
scriptVar
The name of the variable that references the script
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-185
Details
The scriptVar.run() function runs the script referenced by scriptVar. You can also run the
script by using scriptVar().
To run a factory script, use script.factory.scripts.scriptName(), replacing scriptName
with the name of the desired factory script.
Example
test8.run()
Runs the script referenced by the variable
test8
.
Also see
None
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Refe
rence Manual
7-186 2600BS-901-01 Rev. C / August 2016
scriptVar.save()
This function saves the script to nonvolatile memory or to a USB flash drive.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
scriptVar.save()
scriptVar.save(filename)
scriptVar
The name of variable that references the script
filename
The file name to use when saving the script to a USB flash drive
Details
The scriptVar.save() function saves a script to nonvolatile memory or a USB flash drive. The
root folder of the USB flash drive has the absolute path /usb1/.
If no filename is specified (the filename parameter is an empty string), the script is saved to internal
nonvolatile memory. Only a script with filename defined can be saved to internal nonvolatile
memory. If a filename is given, the script is saved to the USB flash drive.
If no filename is specified (the filename parameter is an empty string), the script is saved to internal
nonvolatile memory. Only a script with filename defined can be saved to internal nonvolatile
memory. If a filename is given, the script is saved to the USB flash drive.
You can add the file extension, but it is not required. The only allowed extension is .tsp (see
Example 2).
Example 1
test8.save()
Saves the script referenced by the variable
test8
to nonvolatile memory.
Example 2
test8.save("/usb1/myScript.tsp")
Saves the script referenced by the variable
test8 to a file named myScript.tsp on your
USB flash drive.
Also see
Save a user script (on page 6-8)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-187
scriptVar.source
This attribute contains the source code of a script.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
(see
Details)
No Not applicable Not saved Not applicable
Usage
code = scriptVar.source
scriptVar.source = nil
scriptVar
The name of the variable that references the script that contains the source code
code
The body of the script
Details
The loadscript or loadandrunscript and endscript keywords are not included in the source
code.
The body of the script is a single string with lines separated by the new line character.
The instrument automatically stores the source for all scripts that are loaded on the instrument. To
free up memory or to obfuscate the code, assign nil to the source attribute of the script. Although
this attribute is writable, it can only be set to the nil value.
Example
test7 = script.new("display.clear() display.settext('Hello from my test')", "")
print(test7.source)
This example creates a script called "test7" that displays a message on the front panel and retrieves the
source code.
Output:
display.clear() display.settext('Hello from my test')
Also see
scriptVar.list() (on page 7-183)
serial.baud
This attribute configures the baud rate for the RS-232 port.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
9600
Usage
baud = serial.baud
serial.baud = baud
baud
The baud rate (300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 or
115200)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-188 2600BS-901-01 Rev. C / August 2016
Details
A new baud rate setting takes effect when the command to change it is processed.
Allow ample time for the command to be processed before attempting to communicate with the
instrument again. If possible, set the baud rate from one of the other command interfaces or from the
front panel.
The reset function has no effect on data bits.
Example
serial.baud = 1200
Sets the baud rate to 1200.
Also see
RS-232 interface operation (on page 2-108)
serial.databits (on page 7-188)
serial.flowcontrol (on page 7-189)
serial.parity (on page 7-189)
serial.databits
This attribute configures character width (data bits) for the RS-232 port.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
8
Usage
bits = serial.databits
serial.databits = bits
bits
An integer representing the character width (7 or 8)
Details
A new data width setting takes effect when the command to change it is processed.
Allow ample time for the command to be processed before attempting to communicate with the
instrument again. If possible, set the character width from one of the other command interfaces or
from the front panel.
The reset function has no effect on data bits.
Example
serial.databits = 8
Sets data width to 8.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command
reference
2600BS-901-01 Rev. C / August 2016 7-189
Also see
RS-232 interface operation (on page 2-108)
serial.baud (on page 7-187)
serial.flowcontrol (on page 7-189)
serial.parity (on page 7-189)
serial.flowcontrol
This attribute configures flow control for the RS-232 port.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
"none" (serial.FLOW_NONE)
Usage
flow = serial.flowcontrol
serial.flowcontrol = flow
flow
A string representing flow control configuration; set to:
"none" or serial.FLOW_NONE (selects no flow control)
"hardware"
or
serial.FLOW_HARDWARE
(selects hardware flow control)
Details
A new flow control setting takes effect when the command to change it is processed.
Allow ample time for the command to be processed before attempting to communicate with the
instrument again. If possible, set the flow control from one of the other command interfaces or from
the front panel.
The reset function has no effect on flow control.
Example
serial.flowcontrol = serial.FLOW_NONE
Sets flow control to none.
Also see
serial.baud (on page 7-187)
serial.databits (on page 7-188)
serial.parity (on page 7-189)
serial.parity
This attribute configures parity for the RS-232 port.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
"none" (serial.PARITY_NONE)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-190 2600BS-901-01 Rev. C / August 2016
Usage
parity = serial.parity
serial.parity = parity
parity
Set parity to one of the following values:
Select no parity ("none" or serial.PARITY_NONE)
Select even parity ("even" or serial.PARITY_EVEN)
Select odd parity (
"odd"
or
serial.PARITY_ODD)
Details
A new parity setting takes effect when the command to change it is processed.
Allow ample time for the command to be processed before attempting to communicate with the
instrument again. If possible, set parity from one of the other command interfaces or from the front
panel.
The reset function has no effect on parity.
Example
serial.parity = serial.PARITY_NONE
Sets parity to none.
Also see
RS-232 interface operation (on page 2-108)
serial.baud (on page 7-187)
serial.databits (on page 7-188)
serial.flowcontrol (on page 7-189)
serial.read()
This function reads available characters (data) from the serial port.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
data = serial.read(maxchars)
data
A string that consists of all data read from the serial port
maxchars
An integer that specifies the maximum number of characters to read
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-191
Details
This function reads available characters from the serial port. It does not wait for new characters to
arrive. As long as maxchars is less than 200 characters, all characters that are received by the serial
port (before the serial.read() command is executed) are returned. If too many characters are
received between calls to this function, the RS-232 buffers will overflow and some characters may be
lost.
Call this function as many times as necessary to receive the required number of characters. For
optimal performance, use a small delay between repeated calls to this function.
The data returned is the raw data stream read from the port. No characters, such as control
characters or terminator characters, are interpreted.
If you attempt to use this function when the serial port is enabled as a command interface, a settings
conflict error is generated.
Example
data = serial.read(200)
print(data)
Read data from the serial port.
Output:
John Doe
The above output indicates that the string "John
Doe" was read from the serial port.
Also see
serial.write() (on page 7-191)
serial.write()
This function writes data to the serial port.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
serial.write(data)
data
A string representing the data to write
Details
This function writes the specified string to the serial port, where it can be read by connected
equipment (for example, a component handler).
No terminator characters are added to the data, and data is written exactly as specified by the data
parameter.
Example
serial.write("1 2 3 4")
Write data string "1 2 3 4" to the serial port.
Also see
serial.read() (on page 7-190)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Referenc
e Manual
7-192 2600BS-901-01 Rev. C / August 2016
settime()
This function sets the real-time clock (sets present time of the system).
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
settime(time)
time
The time in seconds since January 1, 1970 UTC
Details
This function sets the date and time of the instrument based on the time parameter (specified in
UTC time). UTC time is specified as the number of seconds since Jan 1, 1970, UTC. You can use
UTC time from a local time specification, or you can use UTC time from another source (for example,
your computer).
Example
systemTime = os.time({year = 2010,
month = 3,
day = 31,
hour = 14,
min = 25})
settime(systemTime)
Sets the date and time to Mar 31, 2010 at
2:25 pm.
Also see
gettimezone() (on page 7-107)
os.time() (on page 7-164)
settimezone() (on page 7-192)
settimezone()
This function sets the local time zone.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
settimezone(offset)
settimezone(offset, dstOffset, dstStart, dstEnd)
offset
String representing offset from UTC
dstOffset
String representing the daylight savings offset from UTC
dstStart
String representing when daylight savings time starts
dstEnd
String representing when daylight savings time ends
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-193
Details
You only need to set the time zone if you use the os.time() and os.date() functions.
If only one parameter is given, the same time offset is used throughout the year. If four parameters
are given, time is adjusted twice during the year for daylight savings time.
offset and dstOffset are strings of the form "[+|-]hh[:mm[:ss]]" that indicate how much
time must be added to the local time to get UTC time:
hh is a number between 0 and 23 that represents hours
mm is a number between 0 and 59 that represents minutes
ss is a number between 0 and 59 that represents seconds
The minute, second, +, and fields are optional.
For example, to set the UTC-5 time zone, you specify the string "5", because UTC-5 is 5 hours
behind UTC and you must add 5 hours to the local time to determine UTC time. To specify the time
zone UTC4, you specify "-4", because UTC4 is 4 hours ahead of UTC and 4 hours must be
subtracted from the local time to determine UTC.
dstStart and dstEnd are strings of the form "MM.w.dw/hh[:mm[:ss]]" that indicate when
daylight savings time begins and ends respectively:
MM is a number between 1 and 12 that represents the month
w is a number between 1 and 5 that represents the week in the month
dw is a number between 0 and 6 that represents the day of the week (where 0 is Sunday)
The rest of the fields represent the time of day that the change takes effect:
hh represents hours
mm represents minutes
ss represents seconds
The minutes and seconds fields are optional.
The week of the month and day of the week fields are not specific dates.
Example
settimezone("8", "1", "3.3.0/02", "11.2.0/02")
settimezone(offset)
Sets offset to equal +8 hours, +1
hour for DST, starts on Mar 14 at 2:00
a.m, ends on Nov 7 at 2:00 a.m.
Sets local time zone to
offset
.
Also see
gettimezone() (on page 7-107)
os.time() (on page 7-164)
settime() (on page 7-192)
setup.poweron
This attribute specifies which saved setup to recall when the instrument is turned on.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Not applicable Nonvolatile memory 0
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-194 2600BS-901-01 Rev. C / August 2016
Usage
id = setup.poweron
setup.poweron = id
id
An integer that specifies the setup to recall when the instrument power is
turned on (0 to 5)
Details
When id = 0, the instrument uses the factory default setup when it is turned on. When id is set to 1
to 5, it uses the setup saved with setup.save().
Only setups stored in nonvolatile memory are available (you cannot recall a script from a USB flash
drive with this command).
Example
setup.poweron = 0
Set the instrument to use the factory default setup
when power is turned on.
Also see
setup.save() (on page 7-195)
Start-up (power-on) configuration (on page 2-49)
setup.recall()
This function recalls settings from a saved setup.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
setup.recall(id)
id
An integer or string that specifies the location of the setup to recall:
Factory default setup (0)
User-saved setup in nonvolatile memory (1 to 5)
User-saved setup on a USB flash drive ("/path/filename")
Details
When the id parameter is an integer (n), it is interpreted as the setup number to restore from the
instrument's nonvolatile memory. When n = 0, the instrument recalls the factory default setup; when
n = 1 to 5, the instrument recalls a user-saved setup.
When the id parameter is a string, it is interpreted as the path and file name of the setup to restore
from a file on a USB flash drive. The path may be absolute or relative to the current working directory.
Before a setup is recalled, an instrument reset is performed.
Example 1
setup.recall(1)
Recall the user-saved setup at location 1.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command ref
erence
2600BS-901-01 Rev. C / August 2016 7-195
Example 2
setup.recall("/usb1/KEITHLEY_30730.set")
Recall a user-saved setup stored in a file
named KEITHLEY_30730 on a USB flash
drive.
Also see
setup.save() (on page 7-195)
Saved setups (on page 2-47)
setup.save()
This function saves the present setup as a user-saved setup.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
setup.save(id)
id
An integer or string specifying where to save the user setup:
Save in nonvolatile memory (1 to 5)
Save as user-saved setup on a USB flash drive ("/path/filename")
Details
When the id parameter is an integer (n), it is interpreted as the setup number to save to the
instrument's nonvolatile memory.
When you save to a specified integer (1 to 5) in nonvolatile memory, the previous setup at that same
location is overwritten.
When the id parameter is a string, it is interpreted as the path and file name of the location to save
the present setup on a USB flash drive. The path may be absolute or relative to the current working
directory.
Example
setup.save(5)
Saves the present setup to the internal memory of
the instrument at location 5.
Also see
Saved setups (on page 2-47)
setup.recall() (on page 7-194)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-196 2600BS-901-01 Rev. C / August 2016
smuX.abort()
This function terminates all overlapped operations on the specified source-measure unit (SMU).
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.abort()
X
Source-measure unit (SMU) channel (for example, smua.abort() applies to SMU
channel A)
Details
The smuX.abort() function does not turn the output off or change any settings.
If this function is used to abort a sweep, when it is executed, the SMU exits its trigger model
immediately and returns to the trigger model's idle state.
Example
smua.abort()
Terminates all overlapped operations on SMU channel A.
Also see
smuX.measure.overlappedY() (on page 7-225)
smuX.trigger.initiate() (on page 7-259)
smuX.buffer.getstats()
This function returns a specified reading buffer's statistics.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
statistics = smuX.buffer.getstats(bufferVar)
statistics
The statistical data about the data in the reading buffer
X
Source-measure unit (SMU) channel (for example, smua.buffer.getstats()
specifies SMU channel A)
bufferVar
The reading buffer to process
Details
This function returns a table with statistical data about the data that is placed in the buffer.
The SMU automatically updates reading buffer statistics as data is added to the reading buffer. When
the reading buffer is configured to wrap around and overwrite older data with new data, the buffer
statistics include the data that was overwritten.
The table returned from this function is a snapshot. Although the SMU continues to update the
statistics, the table returned is not updated. To get fresh statistics, call this function again.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-197
The statistics parameter has the attributes described in the following table.
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. 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 each have the attributes defined in the following table.
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 will give the actual time the
measurement was acquired
Also see
smuX.buffer.recalculatestats() (on page 7-197)
smuX.buffer.recalculatestats()
This function recalculates the specified reading buffer's statistics.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.buffer.recalculatestats(bufferVar)
X
Source-measure unit (SMU) channel (for example,
smua.buffer.recalculatestats() specifies SMU channel A)
bufferVar
The reading buffer to process
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-198 2600BS-901-01 Rev. C / August 2016
Details
This function causes the SMU to regenerate the reading buffer statistics about the specified reading
buffer. Because the SMU automatically updates reading buffer statistics when data is added to the
reading buffer, this function is generally not needed. When the reading buffer is configured to wrap
around and overwrite older data with new data, the buffer statistics will include the data that was
overwritten. Use this function to recalculate the statistics that include only the data that is presently
stored in the buffer.
Also see
bufferVar.fillmode (on page 7-24)
smuX.buffer.getstats() (on page 7-196)
smuX.cal.adjustdate
This attribute stores the date of the last calibration adjustment.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes SMU cal. restore SMU nonvolatile
memory
Initially set to factory calibration date
Usage
adjustDate = smuX.cal.adjustdate
smuX.cal.adjustdate = adjustDate
adjustDate
Date of the last calibration adjustment
X
Source-measure unit (SMU) channel (for example, smua.cal.adjustdate
applies to SMU channel A)
Details
This attribute stores the adjustment date associated with the active calibration set. The adjustment
date can be read at any time, but can only be assigned a new value when calibration has been
enabled with the smuX.cal.unlock() function.
You cannot change the adjustment date without first making a change to the calibration constants.
Once you change any calibration constants, you must set the adjustment date before you can save
the calibration data to the SMU's nonvolatile memory.
This attribute is stored with the active calibration set. If a different calibration set is restored, this
attribute reflects the date stored with that set.
smuX.cal.adjustdate must be set to the date the adjustment was done using the UTC time and
date. The date is stored as the number of seconds since UTC, 12:00 am Jan 1, 1970.
Due to the internal storage format, smuX.cal.adjustdate is only accurate to within a few minutes
of the value set.
Example
smua.cal.adjustdate = os.time()
Sets the adjustment date for SMU channel A to the current
time set on the instrument.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-199
Also see
Adjustment (on page B-18)
os.time() (on page 7-164)
smuX.cal.date (on page 7-199)
smuX.cal.due (on page 7-200)
smuX.cal.lock() (on page 7-201)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.state (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.cal.date
This attribute stores the calibration date of the active calibration set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU cal. restore
SMU nonvolatile
memory
Initially set to factory calibration date
Usage
calDate = smuX.cal.date
smuX.cal.date = calDate
calDate
The calibration date of the active calibration set
X
Source-measure unit (SMU) channel (for example,
smua.cal.date
applies to
SMU channel A)
Details
This attribute stores the calibration date that is associated with the active calibration set. The
calibration date can be read at any time but can only be assigned a new value when calibration has
been enabled with the smuX.cal.unlock() function. It is typically set to the date when the
instrument was calibrated.
This attribute is stored with the active calibration set. If a different calibration set is restored, this
attribute will reflect the date stored with that set.
smuX.cal.date must be set to the date the calibration was done using the UTC time and date. The
date is stored as the number of seconds since UTC 12:00 am Jan 1, 1970.
Due to the internal storage format, smuX.cal.date is accurate to within a few minutes of the value
set.
Example
smua.cal.date = os.time()
Sets calibration date for SMU channel A to the current time
set on the instrument.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-200 2600BS-901-01 Rev. C / August 2016
Also see
Adjustment (on page B-18)
os.time() (on page 7-164)
smuX.cal.adjustdate (on page 7-198)
smuX.cal.due (on page 7-200)
smuX.cal.lock() (on page 7-201)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.state (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.cal.due
This attribute stores the calibration due date for the next calibration.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU cal. restore
SMU nonvolatile
memory
0
Usage
calDue = smuX.cal.due
smuX.cal.due = calDue
calDue
Due date of next calibration (0 indicates that no date is set)
X
Source-measure unit (SMU) channel (for example, smua.cal.due applies to
SMU channel A)
Details
This attribute stores the calibration due date associated with the active calibration set. The calibration
due date can be read at any time but can only be assigned a new value when calibration has been
enabled with the smuX.cal.unlock() function. It is typically set to the date when the next
calibration should be performed.
This attribute is stored with the active calibration set. If a different calibration set is restored, this
attribute will reflect the due date stored with that set.
smuX.cal.due must be set to the date the next calibration is required using the UTC time and date.
The date is stored as the number of seconds since UTC 12:00 am Jan 1, 1970.
Due to the internal storage format, smuX.cal.due is only accurate to within a few minutes of the
value set.
Example
smua.cal.due = os.time() + 365 * 24 * 60 * 60
Sets the SMU channel A calibration due date
equal to one year from the current time set on
the instrument.
Also see
Adjustment (on page B-18)
os.time() (on page 7-164)
smuX.cal.adjustdate (on page 7-198)
smuX.cal.date (on page 7-199)
smuX.cal.lock() (on page 7-201)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP
command reference
2600BS-901-01 Rev. C / August 2016 7-201
smuX.cal.restore() (on page 7-203)
smuX.cal.state (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.cal.lock()
This function disables the commands that change calibration settings.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.cal.lock()
X
Source-measure unit (SMU) channel (for example, smua.cal.lock() specifies
SMU channel A)
Details
This function disables functions that can change calibration settings. Before you can lock calibration,
the calibration constants must be written to nonvolatile memory or a previous calibration set must be
restored. Error code 5012, "Cal data not saved - save or restore before lock," will result if this
function is called when the calibration state is smuX.CALSTATE_CALIBRATING.
Example
smua.cal.lock()
Disables calibration functions for SMU channel A.
Also see
Adjustment (on page B-18)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.state (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.cal.password
This attribute stores the password required to enable calibration.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (W)
Yes
Not applicable
SMU nonvolatile
memory
"KI0026XX"
Usage
smuX.cal.password = newPassword
X
SMU channel (for example, smua.cal.password applies to SMU channel A)
newPassword
The new password (string)
Details
A new password can only be assigned when calibration has been unlocked.
The calibration password is write-only and cannot be read.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-202 2600BS-901-01 Rev. C / August 2016
Example
smua.cal.password = "LetMeIn"
Assigns a new calibration password for SMU channel A.
Also see
Adjustment (on page B-18)
smuX.cal.unlock() (on page 7-205)
smuX.cal.polarity
This attribute controls which calibration constants are used for all subsequent measurements.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
SMU cal. lock
Recall setup
Not saved
0 (smuX.CAL_AUTO)
Usage
calPolarity = smuX.cal.polarity
smuX.cal.polarity = calPolarity
calPolarity
The polarity to use for measurements. Set to one of the following values:
0 or smuX.CAL_AUTO: Automatic polarity detection
1 or smuX.CAL_POSITIVE: Measure with positive polarity calibration constants
2
or
smu
X
.CAL_NEGATIVE
: Measure with negative polarity calibration constants
X
SMU channel (for example,
smua.cal.polarity
applies to SMU channel A)
Details
This attribute controls which polarity calibration constants are used to make all subsequent
measurements. This attribute does not affect the smuX.measure.calibrateY() or
smuX.source.calibrateY() commands. The polarity for those commands is dictated by the
range parameter that is given to the command. The measurement calibration commands require the
measurements provided to have been made using the polarity being calibrated.
When making measurements for calibration points far away from zero, the desired polarity constants
are inherently used. However, when making measurements near zero, it is possible that the
instrument could use the calibration constants from the wrong polarity. Setting smuX.cal.polarity
to positive or negative forces measurements to be made using the calibration constants for a given
polarity, rather than basing the choice on the raw measurement data.
This attribute can only be set to positive or negative when calibration is unlocked. This attribute will
automatically be set to smuX.CAL_AUTO when calibration is locked.
Example
smua.cal.polarity = smua.CAL_POSITIVE
Selects positive calibration constants for all
subsequent measurements on SMU channel A.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-203
Also see
Adjustment (on page B-18)
reset() (on page 7-173)
smuX.cal.lock() (on page 7-201)
smuX.cal.unlock() (on page 7-205)
smuX.measure.calibrateY() (on page 7-216)
smuX.reset() (on page 7-232)
smuX.source.calibrateY() (on page 7-235)
smuX.cal.restore()
This function loads a stored set of calibration constants.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.cal.restore()
smuX.cal.restore(calset)
X
Source-measure unit (SMU) channel (for example, smua.cal.restore() applies
to SMU channel A)
calset
The calibration set to be loaded. Set calset to one of the following values:
0 or smuX.CALSET_NOMINAL: A set of calibration constants that are uncalibrated,
but set to nominal values to allow rudimentary functioning of the instrument
1 or smuX.CALSET_FACTORY: The calibration constants when the instrument left
the factory
2 or smuX.CALSET_DEFAULT: The normal calibration set
3 or smuX.CALSET_PREVIOUS: The calibration set that was used before the last
default set was overwritten
Details
This function overwrites the present set of calibration constants with constants read from nonvolatile
memory.
This function is disabled until a successful call to smuX.cal.unlock() is made.
If calset is not specified, smuX.CALSET_DEFAULT is used.
Example
smua.cal.restore()
Restores factory calibration constants for SMU channel A.
Also see
Adjustment (on page B-18)
smuX.cal.lock() (on page 7-201)
smuX.cal.unlock() (on page 7-205)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-204 2600BS-901-01 Rev. C / August 2016
smuX.cal.save()
This function stores the active calibration constants to nonvolatile memory.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.cal.save()
X
Source-measure unit (SMU) channel (for example, smua.cal.save() applies to
SMU channel A)
Details
This function stores the active set of calibration constants to nonvolatile memory. The previous
calibration constants (from the default calibration set) are copied to the previous calibration set
(smuX.CALSET_PREVIOUS) before overwriting the default calibration set.
This function is disabled until a successful call to smuX.cal.unlock() is made.
If any of the calibration constants have been changed, this function is disabled unless the calibration
date, the calibration due date, and the calibration adjust date have been assigned new values.
Example
smua.cal.save()
Stores calibration constants for SMU channel A in
nonvolatile memory.
Also see
Adjustment (on page B-18)
smuX.cal.adjustdate (on page 7-198)
smuX.cal.date (on page 7-199)
smuX.cal.due (on page 7-200)
smuX.cal.lock() (on page 7-201)
smuX.cal.restore() (on page 7-203)
smuX.cal.unlock() (on page 7-205)
smuX.cal.state
This attribute stores the present calibration state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not saved
Not applicable
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-205
Usage
calState = smuX.cal.state
calState
The present calibration state; when reading this attribute, calState has one of the
following values:
0 or smuX.CALSTATE_LOCKED: Calibration is locked
1 or smuX.CALSTATE_CALIBRATING: The calibration constants or dates have
been changed but not yet saved to nonvolatile memory
2 or smuX.CALSTATE_UNLOCKED: Calibration is unlocked but none of the
calibration constants or dates have changed since the last save/restore
X
Source-measure unit (SMU) channel (for example, smua.cal.state applies to
SMU channel A)
Details
This read-only attribute indicates the calibration state of the instrument: Locked, calibrating, or
unlocked.
Example
calstate = smua.cal.state
print(calstate)
Reads calibration state for SMU Channel A.
Output:
0.000000e+00
The above output indicates that calibration is locked.
Also see
Adjustment (on page B-18)
smuX.cal.lock() (on page 7-201)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.cal.unlock()
This function enables the commands that change calibration settings.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.cal.unlock(password)
X
Source-measure unit (SMU) channel (for example, smua.cal.unlock() applies
to SMU channel A)
password
Calibration password
Details
This function enables the calibration functions to change the calibration settings.
The password when the instrument is shipped from the factory is "KI0026XX".
Example
smua.cal.unlock("KI0026XX")
Unlocks calibration for SMU channel A.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-206 2600BS-901-01 Rev. C / August 2016
Also see
Adjustment (on page B-18)
smuX.cal.lock() (on page 7-201)
smuX.cal.password (on page 7-201)
smuX.cal.state (on page 7-204)
smuX.contact.calibratehi()
This function calibrates the high/sense high contact check measurement. This function is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.contact.calibratehi(cp1Measured, cp1Reference, cp2Measured, cp2Reference)
X
Source-measure unit (SMU) channel (for example,
smua.contact.calibratehi() applies to SMU channel A)
cp1Measured
The value measured by this SMU for calibration point 1
cp1Reference
The reference measurement for calibration point 1 as measured externally
cp2Measured
The value measured by this SMU for calibration point 2
cp2Reference
The reference measurement for calibration point 2 as measured externally
Details
Contact check measurement calibration does not require range information.
Typically, calibration points one and two will be near 0 and 50 Ω, respectively.
All four measurements (cp1Measured, cp1Reference, cp2Measured, and cp2Reference) must
be made with the calibration set that is active. If not, corruption of the calibration constants may
result.
The new calibration constants are activated immediately but are not written to nonvolatile memory.
Use smuX.cal.save() to save the new constants to nonvolatile memory. The active calibration
constants stay in effect until the instrument is power cycled or a calibration set is loaded from
nonvolatile memory with the smuX.cal.restore() function.
This function will be disabled until a successful call to smuX.cal.unlock() is made.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP com
mand reference
2600BS-901-01 Rev. C / August 2016 7-207
Example
-- Short SENSE LO and LO terminals
-- Short SENSE HI and HI terminals
-- Allow readings to settle, then get measurements
r0_hi, r0_lo = smua.contact.r()
-- Connect 50 OHM resistor between SENSE LO and LO
-- Connect 50 OHM resistor between SENSE HI and HI
-- Allow readings to settle, then get measurements
r50_hi, r50_lo = smua.contact.r()
smua.contact.calibratelo(r0_lo, Z_actual_lo, r50_lo,
50_ohm_actual_lo)
smua.contact.calibratehi(r0_hi, Z_actual_hi, r50_hi,
50_ohm_actual_hi)
The instrument performs a
contact
check on SMU
channel A.
Install and measure
two resisters.
The user sends the contact
check LO calibration
command.
The user sends the contact
check HI calibration command.
Also see
Adjustment (on page B-18)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.contact.calibratelo() (on page 7-208)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-208 2600BS-901-01 Rev. C / August 2016
smuX.contact.calibratelo()
This function calibrates the low/sense low contact check measurement. This function is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.contact.calibratelo(cp1Measured, cp1Reference, cp2Measured, cp2Reference)
X
Source-measure unit (SMU) channel (for example,
smua.contact.calibratelo() applies to SMU channel A)
cp1Measured
The value measured by this SMU for calibration point 1
cp1Reference
The reference measurement for calibration point 1 as measured externally
cp2Measured
The value measured by this SMU for calibration point 2
cp2Reference
The reference measurement for calibration point 2 as measured externally
Details
Contact check measurement calibration does not require range information.
Typically, calibration points one and two are near 0 and 50 Ω, respectively.
All four measurements (cp1Measured, cp1Reference, cp2Measured, and cp2Reference) must
be made with the active calibration set. If not, corruption of the calibration constants may result.
The new calibration constants are activated immediately but are not written to nonvolatile memory.
Use smuX.cal.save() to save the new constants to nonvolatile memory. The active calibration
constants stay in effect until the instrument is power cycled or a calibration set is loaded from
nonvolatile memory with the smuX.cal.restore() function.
This function is disabled until a successful call to smuX.cal.unlock() is made.
Example
-- Short SENSE LO and LO terminals
-- Short SENSE HI and HI terminals
-- Allow readings to settle, then get measurements
r0_hi, r0_lo = smua.contact.r()
-- Connect 50 OHM resistor between SENSE LO and LO
-- Connect 50 OHM resistor between SENSE HI and HI
-- Allow readings to settle, then get measurements
r50_hi, r50_lo = smua.contact.r()
smua.contact.calibratelo(r0_lo, Z_actual_lo, r50_lo,
50_ohm_actual_lo)
smua.contact.calibratehi(r0_hi, Z_actual_hi, r50_hi,
50_ohm_actual_hi)
Performs contact
check on SMU
channel A.
Install and measure
two resisters.
The user sends
contact check LO
calibration
command.
The user sends
contact check HI
calibration
command.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-209
Also see
Adjustment (on page B-18)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.contact.calibratehi() (on page 7-206)
smuX.contact.check()
This function determines if contact resistance is lower than the threshold. This function is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
smuX.contact.check()
X
Source-measure unit (SMU) channel (for example, smua.contact.check()
applies to SMU channel A)
Details
This function returns true if the contact resistance is below the threshold; this function returns
false if it is above the threshold. The threshold value is set by the smuX.contact.threshold
attribute.
If you attempt to perform a contact check measurement when any of the following conditions exist, an
error is generated.
When the output is on and any of the following:
SMU is a current source with current range set to less than 1 mA (error code 5065, "I range too low for
contact check")
SMU is a voltage source with current limit set to less than 1 mA (error code 5050, "I limit too low for
contact check")
When the output is off and any of the following:
The output off mode is High-Z (error code 5048, "Contact check not valid with HIGH-Z OUTPUT off")
The output off mode is Normal with the smuX.source.offfunc attribute set to
smuX.OUTPUT_DCVOLTS and the off current limit set to less than 1 mA (error code 5066,
"source.offlimiti too low for contact check")
The output off mode is Normal with the smuX.source.offfunc attribute set to
smuX.OUTPUT_DCAMPS and the source range is less than 1 mA (error code 5065, "I range too low for
contact check")
Example
if not smua.contact.check() then
-- take action
end
Takes action if contact check on SMU channel A fails.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Refe
rence Manual
7-210 2600BS-901-01 Rev. C / August 2016
Also see
Contact check connections (on page 2-56)
Contact check measurements (on page 2-45)
smuX.contact.speed (on page 7-211)
smuX.contact.threshold (on page 7-212)
smuX.source.offfunc (on page 7-242)
smuX.contact.r()
This function measures aggregate contact resistance. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
rhi, rlo = smuX.contact.r()
rhi
The measured aggregate contact resistance on the HI/sense HI side
rlo
The measured aggregate contact resistance on the LO/sense LO side
X
Source-measure unit (SMU) channel (for example, smua.contact.r() applies to
SMU channel A)
Details
If you attempt to perform a contact resistance measurement when any of the following conditions
exist, an error will be generated.
When the output is on and any of the following:
SMU is a current source with current range set to less than 1 mA (error code 5065, "I range too low for
contact check")
SMU is a voltage source with current limit set to less than 1 mA (error code 5050, "I limit too low for
contact check")
When the output is off and any of the following:
The output off mode is High-Z (error code 5048, "Contact check not valid with HIGH-Z OUTPUT off")
The output off mode is Normal with the smuX.source.offfunc attribute set to
smuX.OUTPUT_DCVOLTS and the off current limit set to less than 1 mA (error code 5066,
"source.offlimiti too low for contact check")
The output off mode is Normal with the smuX.source.offfunc attribute set to
smuX.OUTPUT_DCAMPS and the source range is less than 1 mA (error code 5065, "I range too low for
contact check")
Example
if not smua.contact.check() then
smua.contact.speed = smua.CONTACT_SLOW
rhi, rlo = smua.contact.r()
print(rhi, rlo)
exit()
end
Check contacts against threshold.
Set speed for SMU channel A to slow.
Get resistance readings.
Output contact resistances to the host.
Terminate execution.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-211
Also see
Contact check connections (on page 2-56)
Contact check measurements (on page 2-45)
smuX.contact.check() (on page 7-209)
smuX.contact.speed (on page 7-211)
smuX.contact.speed
This attribute stores the speed setting for contact check measurements. This attribute is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Not saved
0 (smuX.CONTACT_FAST)
Usage
speedSetting = smuX.contact.speed
smuX.contact.speed = speedSetting
speedSetting
The speed setting. Set to one of the following:
0 or smuX.CONTACT_FAST
1 or smuX.CONTACT_MEDIUM
2
or
smu
X
.CONTACT_SLOW
X
Source-measure unit (SMU) channel (for example, smua.contact.speed applies
to SMU channel A)
Details
This setting controls the aperture of measurements made for contact check. It does not affect the
smuX.measure.nplc aperture setting.
The speed setting can have a dramatic effect on the accuracy of the measurement (see
specifications).
Example
smua.contact.speed = smua.CONTACT_SLOW
Configure contact check for higher accuracy
on SMU channel A.
Also see
Contact check connections (on page 2-56)
Contact check measurements (on page 2-45)
reset() (on page 7-173)
smuX.contact.check() (on page 7-209)
smuX.contact.r() (on page 7-210)
smuX.reset() (on page 7-232)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-212 2600BS-901-01 Rev. C / August 2016
smuX.contact.threshold
This attribute stores the resistance threshold for the smuX.contact.check() function. This attribute is not
available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Not saved
50 (50 )
Usage
rValue = smuX.contact.threshold
smuX.contact.threshold = rValue
rValue
The resistance above which contact check should fail (measured in ohms)
X
Source-measure unit (SMU) channel (for example, smua.contact.threshold
applies to SMU channel A)
Details
The threshold should be set to less than 1 k.
Example
smua.contact.threshold = 5
Set the contact check threshold for SMU channel A to 5
.
Also see
Contact check connections (on page 2-56)
Contact check measurements (on page 2-45)
reset() (on page 7-173)
smuX.contact.check() (on page 7-209)
smuX.reset() (on page 7-232)
smuX.makebuffer()
This function creates a reading buffer.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
bufferVar = smuX.makebuffer(bufferSize)
bufferVar
The created reading buffer
X
Source-measure unit (SMU) channel (for example, smua.makebuffer() applies
to SMU channel A)
bufferSize
Maximum number of readings that can be stored
Details
Reading buffers can be created and allocated dynamically using this function. Use bufferSize to
designate the number of readings the buffer can store.
Dynamically allocated reading buffers can be used interchangeably with the smuX.nvbufferY
buffers.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command
reference
2600BS-901-01 Rev. C / August 2016 7-213
A reading buffer can be deleted by setting all references to the reading buffer equal to nil, then
running the garbage collector (see the collectgarbage() function in Standard libraries (on page
6-25)).
Example
mybuffer2 = smua.makebuffer(200)
Creates a 200 element reading buffer (mybuffer2)for
SMU channel A.
Also see
collectgarbage() in Base library functions (on page 6-25)
Remote reading buffer programming (on page 3-11)
savebuffer() (on page 7-174)
smuX.nvbufferY (on page 7-231)
smuX.measure.analogfilter
This attribute controls the use of an analog filter when measuring on the lowest current ranges. This attribute is
available on the Models 2634B/2635B/2636B only.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Not saved
1 (filter on)
Usage
option = smuX.measure.analogfilter
smuX.measure.analogfilter = option
option
Enables or disables the analog filter: set to one of the following:
0: Filter off
1: Filter on
X
Source-measure unit (SMU) channel (for example,
smua.measure.analogfilter applies to SMU channel A)
Details
This attribute engages an approximately 1 Hz analog filter across the current range elements.
The analog filter is only active when using the 1 nA and 100 pA measurement ranges.
Example
smua.measure.analogfilter = 0
Turns off the SMU channel A analog filter.
Also see
Filters (on page 3-3)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-214 2600BS-901-01 Rev. C / August 2016
smuX.measure.autorangeY
This attribute stores the measurement autorange setting.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Saved setup
1 (smuX.AUTORANGE_ON)
Usage
autoRange = smuX.measure.autorangeY
smuX.measure.autorangeY = autoRange
autoRange
The state of the measurement autorange setting; set to one of the following values:
0 or smuX.AUTORANGE_OFF: Disabled
1 or smuX.AUTORANGE_ON: Enabled
2 or smuX.AUTORANGE_FOLLOW_LIMIT: Measure range automatically set to the limit
range
X
Source-measure unit (SMU) channel (for example, smua.measure.autorangev
applies to SMU channel A)
Y
SMU measure function (v = voltage, i = current)
Details
This attribute indicates the measurement autorange state. Its value is smuX.AUTORANGE_OFF when
the SMU measure circuit is on a fixed range and smuX.AUTORANGE_ON when it is in autorange
mode.
Setting this attribute to smuX.AUTORANGE_OFF puts the SMU on a fixed range. The fixed range is the
present SMU measure range.
Setting this attribute to smuX.AUTORANGE_ON puts the SMU measure circuit in autorange mode. It
remains on its present measure range until the next measurement is requested.
If source highC mode is enabled, current autorange is set to smuX.AUTORANGE_FOLLOW_LIMIT and
cannot be changed.
Example
smua.measure.autorangev = 1
Enables voltage measurement autoranging for SMU
channel A. Alternatively, the value 1 may be replaced with
smua.AUTORANGE_ON.
Also see
Autoranging (on page 2-83)
Range (on page 2-81)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.rangeY (on page 7-226)
smuX.reset() (on page 7-232)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-215
smuX.measure.autozero
This attribute enables or disables of the internal reference measurements (autozero) of the source-measure unit.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Saved setup
2 (smuX.AUTOZERO_AUTO)
Usage
azMode = smuX.measure.autozero
smuX.measure.autozero = azMode
azMode
Indicates status of autozero; set to one of the following values:
0 or smuX.AUTOZERO_OFF: Autozero disabled
1 or smuX.AUTOZERO_ONCE: Performs autozero once, then disables autozero
2 or smuX.AUTOZERO_AUTO: Automatic checking of reference and zero
measurements; an autozero is performed when needed
X
Source-measure unit (SMU) channel (for example, smua.measure.autozero
applies to SMU channel A)
Details
The analog-to-digital converter (ADC) uses a ratiometric A/D conversion technique. To ensure the
accuracy of readings, the instrument must periodically obtain new measurements of its internal
ground and voltage reference. The time interval between updates to these reference measurements
is determined by the integration aperture being used for measurements. The Series 2600B uses
separate reference and zero measurements for each aperture.
By default, the instrument automatically checks these reference measurements whenever a signal
measurement is made. If the reference measurements have expired when a signal measurement is
made, the instrument will automatically take 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 additional time can cause problems in sweeps and other test sequences in which measurement
timing is critical. To avoid the time that is needed for the reference measurements in these situations,
you can use the smuX.measure.autozero attribute to disable the automatic reference
measurements.
Remember that disabling automatic reference measurements may allow the instrument to gradually
drift out of specification. To minimize the drift, a reference and zero measurement should be made
just before any critical test sequences. You can use the smuX.AUTOZERO_ONCE setting to force a
refresh of the reference and zero measurements that are used for the present aperture setting.
The Series 2600B stores the reference measurements for the last ten NPLC settings that were used
in a reference cache. If an NPLC setting is selected and an entry for it is not in the cache, the oldest
(least recently used) entry is discarded to make room for the new entry.
Example
smua.measure.autozero = 1
Performs autozero once for SMU channel A. Alternatively,
the value 1 may be replaced with
smua.AUTOZERO_ONCE
.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Referenc
e Manual
7-216 2600BS-901-01 Rev. C / August 2016
Also see
Autozero (on page 2-32)
reset() (on page 7-173)
smuX.measure.nplc (on page 7-224)
setup.recall() (on page 7-194)
smuX.reset() (on page 7-232)
smuX.measure.calibrateY()
This function generates and activates new measurement calibration constants.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.measure.calibrateY(range, cp1Measured, cp1Reference, cp2Measured,
cp2Reference)
X
Source-measure unit (SMU) channel (for example,
smua.measure.calibratev() applies to SMU channel A)
Y
SMU measurement function (v = voltage, i = current)
range
The measurement range to calibrate
cp1Measured
The value measured by this SMU for calibration point 1
cp1Reference
The reference measurement for calibration point 1 as measured externally
cp2Measured
The value measured by this SMU for calibration point 2
cp2Reference
The reference measurement for calibration point 2 as measured externally
Details
This function generates and activates new calibration constants for the given range.
The positive and negative polarities of the instrument must be calibrated separately. Use a positive
value for range to calibrate the positive polarity and a negative value for range to calibrate the
negative polarity.
Typically, the two calibration points that are used are near zero for calibration point 1 and 90% of full
scale for calibration point 2.
All four measurements (cp1Measured, cp1Reference, cp2Measured, and cp2Reference) must
be made with the calibration set that is active. Corruption of the calibration constants may result if this
is ignored.
The new calibration constants are activated immediately but they are not written to nonvolatile
memory. Use smuX.cal.save() to save the new constants to nonvolatile memory. The active
calibration constants stay in effect until the instrument is power cycled or a calibration set is loaded
from nonvolatile memory with the smuX.cal.restore() function.
This function is disabled until a successful call to smuX.cal.unlock() is made.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-217
Example
smua.measure.calibratev(1, 1e-4, 1e-5, 0.92,
0.903)
SMU channel A calibrates voltage
measurement using following values: 1 V
calibration range, 1e4 for +zero
measurement reading, 1e5 for +zero
DMM measurement reading, 0.92 for
+FS measurement read
ing, and 0.903 for
the +FS DMM measurement reading.
Also see
Adjustment (on page B-18)
smuX.cal.lock() (on page 7-201)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.source.calibrateY() (on page 7-235)
smuX.measure.count
This attribute sets the number of measurements performed when a measurement is requested.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Saved setup
1
Usage
count = smuX.measure.count
smuX.measure.count = count
count
Number of measurements
X
Source-measure unit (SMU) channel (for example,
smua.measure.count
applies
to SMU channel A)
Details
This attribute controls the number of measurements taken any time a measurement is requested.
When using a reading buffer with a measure command, this attribute also controls the number of
readings to be stored.
If smuX.measure.count is set to a value greater than 1, any measurement delay set by
smuX.measure.delay will only occur before the first measurement, while the
smuX.measure.interval controls the interval between successive measurements.
Example
smua.measure.count = 10
Sets the SMU channel A measure count to 10.
Also see
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.delay (on page 7-218)
smuX.measure.interval (on page 7-222)
smuX.measure.overlappedY() (on page 7-225)
smuX.measure.Y() (on page 7-229)
smuX.reset() (on page 7-232)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-218 2600BS-901-01 Rev. C / August 2016
smuX.measure.delay
This attribute controls the measurement delay.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Saved setup
Models 2601B/2602B/2604B/
2611B/2612B/2614B:
0 (smuX.DELAY_OFF)
Models 2634B/2635B/2636B:
1 (smuX.DELAY_AUTO)
Usage
mDelay = smuX.measure.delay
smuX.measure.delay = mDelay
mDelay
Set to the measurement delay value in seconds (for example, to specify an
additional 10 ms measurement delay, set the value to 0.010)
You can also set it one of the following values:
0 or smuX.DELAY_OFF: No delay
-1 or smu
X
.DELAY_AUTO: Automatic delay value
X
Source-measure unit (SMU) channel (for example, smua.measure.delay applies
to SMU channel A)
Details
This attribute allows for additional delay (settling time) before taking a measurement. If you define the
value instead of using the automatic delay value, the delay you specified is used regardless of the
range.
The smuX.DELAY_AUTO setting causes a current range-dependent delay to be inserted when a
current measurement is requested. This happens when a current measurement command is
executed, when the measure action is being performed in a sweep, or after changing ranges during
an autoranged measurement.
If smuX.measure.count is greater than 1, the measurement delay is only inserted before the first
measurement.
Example
smua.measure.delay = 0.010
Sets a 10 ms measurement delay for SMU channel A.
Also see
Measure auto delay (on page 2-82)
reset() (on page 7-173)
smuX.measure.count (on page 7-217)
smuX.measure.delayfactor (on page 7-219)
smuX.source.delay (see "<sm.source.delay" on page 7-237)
smuX.reset() (on page 7-232)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command ref
erence
2600BS-901-01 Rev. C / August 2016 7-219
smuX.measure.delayfactor
This attribute stores a multiplier to the delays that are used when smuX.measure.delay is set to
smuX.DELAY_AUTO.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Not saved
1
Usage
delayFactor = smuX.measure.delayfactor
smuX.measure.delayfactor = delayFactor
delayFactor
The delay factor multiplier
X
Source-measure unit (SMU) channel (for example, smua.measure.delayfactor
applies to SMU channel A)
Details
The delay factor is only applied when smuX.measure.delay = smuX.DELAY_AUTO.
This attribute can be set to a value less than 1 (for example, 0.5) to decrease the automatic delay.
This attribute can be set to a value greater than 1 (for example, 1.5 or 2.0) to increase the automatic
delay.
Setting this attribute to zero disables delays when smuX.measure.delay = smuX.DELAY_AUTO.
Example
smua.measure.delayfactor = 2.0
Doubles the measure delay for SMU channel A.
Also see
Measure auto delay (on page 2-82)
reset() (on page 7-173)
smuX.measure.delay (on page 7-218)
smuX.reset() (on page 7-232)
smuX.measure.filter.count
This command sets the number of measured readings that are required to yield one filtered measurement.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
SMU reset
Recall setup
Saved setup 1
Usage
filterCount = smuX.measure.filter.count
smuX.measure.filter.count = filterCount
filterCount
The number of readings required for each filtered measurement (1 to 100)
X
Source-measure unit (SMU) channel (for example,
smua.measure.filter.count applies to SMU channel A)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-220 2600BS-901-01 Rev. C / August 2016
Details
This attribute sets the size of the stack used for filtered measurements.
Example
smua.measure.filter.count = 10
Sets the filter count for SMU channel A to 10.
Also see
Filters (on page 3-3)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.filter.enable (on page 7-220)
smuX.measure.filter.type (on page 7-221)
smuX.reset() (on page 7-232)
smuX.measure.filter.enable
This command enables or disables filtered measurements.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
SMU reset
Recall setup
Saved setup 0 (smuX.FILTER_OFF)
Usage
filterState = smuX.measure.filter.enable
smuX.measure.filter.enable = filterState
filterState
The filter status; set to one of the following values:
0 or smuX.FILTER_OFF: Disables the filter
1 or smu
X
.FILTER_ON: Enables the filter
X
SMU channel (for example,
smua.measure.filter.enable
applies to SMU
channel A)
Details
This command enables or disables the filter.
Example
smua.measure.filter.enable = 1
Enables the filter for SMU channel A. Alternatively, the
value 1 may be replaced with
smua.FILTER_ON
.
Also see
Filters (on page 3-3)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.filter.count (on page 7-219)
smuX.measure.filter.type (on page 7-221)
smuX.reset() (on page 7-232)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-221
smuX.measure.filter.type
This command sets the type of filter used for measurements when the measurement filter is enabled.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
SMU reset
Recall setup
Saved setup 1 (smuX.FILTER_REPEAT_AVG)
Usage
filterType = smuX.measure.filter.type
smuX.measure.filter.type = filterType
filterType
The filter type to use when filtering is enabled. Set to one of the following values:
0 or smuX.FILTER_MOVING_AVG: Selects the moving average filter
1 or smuX.FILTER_REPEAT_AVG: Selects the repeat filter
2
or
smu
X
.FILTER_MEDIAN
: Selects the median filter
X
SMU channel (for example, smua.measure.filter.type applies to SMU
Channel A)
Details
There are two averaging filter types and one median filter type available. For averaging filters, both
repeating and moving filter types are available.
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.
The moving average 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 re-averaged, yielding a new reading.
The median filter uses a first-in, first-out stack. When the stack (filter count) becomes full, the “middle-
most” reading is returned. For each subsequent conversion placed into the stack, the oldest reading
is discarded. The stack is then re-sorted, yielding a new reading. If the filter count is an even number,
the reading returned is the average of the two middle readings.
Example
smua.measure.filter.type = 2
Selects the median filter for SMU channel A. Alternatively,
the value 2 may be replaced with smua.FILTER_MEDIAN.
Also see
Filters (on page 3-3)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.filter.count (on page 7-219)
smuX.measure.filter.enable (on page 7-220)
smuX.reset() (on page 7-232)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-222 2600BS-901-01 Rev. C / August 2016
smuX.measure.highcrangedelayfactor
This attribute contains a delay multiplier that is only used during range changes when the high-capacitance mode
is active.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
SMU reset
Recall setup
Saved setup 10
Usage
delayFactor = smuX.measure.highcrangedelayfactor
smuX.measure.highcrangedelayfactor = delayFactor
delayFactor
The delay factor; set to a value between 1 and 99
X
SMU channel (for example, smua.measure.highcrangedelayfactor applies
to SMU Channel A)
Details
This delay multiplier is only active when the high-capacitance mode is active.
Example
smua.measure.highcrangedelayfactor = 5
Increases the delay used during range changes for
SMU channel A by a factor of 5.
Also see
High-capacitance mode (on page 3-65)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.reset() (on page 7-232)
smuX.source.highc (on page 7-238)
smuX.measure.interval
This attribute sets the interval between multiple measurements.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Saved setup
0 (0 s)
Usage
interval = smuX.measure.interval
smuX.measure.interval = interval
interval
The interval value (in seconds); set to a value between 0 and 1
X
Source-measure unit (SMU) channel (for example,
smua.measure.interval applies to SMU channel A)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-223
Details
This attribute sets the time interval between measurements when smuX.measure.count is set to a
value greater than 1. The SMU attempts to start each measurement when scheduled. If the SMU
cannot keep up with the interval setting, measurements are made as quickly as possible.
If filtered measurements are being made, the time interval is from the start of the first measurement
for the filtered reading to the first measurement for a subsequent filtered reading. Extra
measurements made to satisfy a filtered reading are not paced by this interval.
Example
smua.measure.interval = 0.5
Sets the measure interval for SMU channel A to 0.5.
Also see
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.count (on page 7-217)
smuX.reset() (on page 7-232)
smuX.measure.lowrangeY
This attribute sets the lowest measurement range that is used when the instrument is autoranging.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Saved setup
Current:
Models 2601B/2602B/2604B/
2611B/2612B/2614B:
100e-9 (100 nA)
Model 2634B:
1e-9 (1 nA)
Models 2635B/2636B:
100e-12 (100 pA)
Voltage:
Models 2601B/2602B/2604B:
100e-3 (100 mV)
Models 2611B/2612B/2614B/
2634B/2635B/2636B:
200e-3 (200 mV)
Usage
lowRange = smuX.measure.lowrangeY
smuX.measure.lowrangeY = lowRange
lowRange
The lowest voltage or current measurement range used during autoranging
X
Source-measure unit (SMU) channel (for example, smua.measure.lowrangev
applies to SMU channel A)
Y
SMU measure function (v = voltage, i = current)
Details
This attribute is used with autoranging to put a lower bound on the range used. Since lower ranges
generally require greater settling times, setting a lowest range limit might make measurements
require less settling time.
If the instrument is set to autorange and it is on a range lower than the one specified, the range is
changed to the lowRange range value.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-224 2600BS-901-01 Rev. C / August 2016
Example
smua.measure.lowrangev = 1
Sets voltage low range for SMU channel A to 1 V.
Also see
Range (on page 2-81)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.autorangeY (on page 7-214)
smuX.reset() (on page 7-232)
smuX.measure.nplc
This command sets the integration aperture for measurements.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Saved setup
1.0
Usage
nplc = smuX.measure.nplc
smuX.measure.nplc = nplc
nplc
The integration aperture; set from 0.001 to 25
X
Source-measure unit (SMU) channel (for example, smua.measure.nplc applies
to SMU channel A)
Details
This attribute controls the integration aperture for the analog-to-digital converter (ADC).
The integration aperture is 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).
Example
smua.measure.nplc = 0.5
Sets the integration time for SMU channel A to 0.5/60
seconds.
Also see
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.reset() (on page 7-232)
Speed (on page 2-87)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP
command reference
2600BS-901-01 Rev. C / August 2016 7-225
smuX.measure.overlappedY()
This function starts an asynchronous (background) measurement.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
smuX.measure.overlappedY(rbuffer)
smuX.measure.overlappediv(ibuffer, vbuffer)
X
Source-measure unit (SMU) channel (for example,
smua.measure.overlappedv()
applies to SMU channel A)
Y
SMU measurement type (v = voltage, i = current, r = resistance, p = power)
rbuffer
A reading buffer object where the readings will be stored
ibuffer
A reading buffer object where current readings will be stored
vbuffer
A reading buffer object where voltage readings will be stored
Details
This function starts a measurement and returns immediately. The measurements, as they are
performed, are stored in a reading buffer (along with any other information that is being acquired). If
the instrument is configured to return multiple readings where one is requested, the readings are
available as they are made. Measurements are in the following units of measure: v = volts, i =
amperes, r = ohms, p = watts.
The second form of this function, smuX.measure.overlappediv(), stores current readings in
ibuffer and voltage readings in vbuffer.
This function is an overlapped command. Script execution continues while the measurements are
made in the background. Attempts to access result values that have not yet been generated cause
the script to block and wait for the data to become available. The waitcomplete() function can
also be used to wait for the measurements to complete before continuing.
If a given reading buffer contains any data, it is cleared before taking any measurements, unless the
reading buffer has been configured to append data.
Example
smua.measure.overlappedv(smua.nvbuffer1)
Starts background voltage
measurements for SMU channel A.
Also see
Reading buffers (on page 3-6)
smuX.measure.Y() (on page 7-229)
smuX.nvbufferY (on page 7-231)
waitcomplete() (on page 7-413)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-226 2600BS-901-01 Rev. C / August 2016
smuX.measure.rangeY
This attribute contains the positive full-scale value of the measurement range for voltage or current.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Saved setup
Voltage:
Models 2601B/2602B/2604B:
100e-3 (100 mV)
Models 2611B/2612B/2614B/2634B/
2635B/2636B: 200e-3 (200 mV)
Current:
100e-3 (100 mA)
Usage
rangeValue = smuX.measure.rangeY
smuX.measure.rangeY = rangeValue
rangeValue
Set to the maximum expected voltage or current to be measured
X
Source-measure unit (SMU) channel (for example, smua.measure.rangev
applies to SMU channel A)
Y
SMU measurement function (v = voltage, i = current)
Details
Reading this attribute returns the positive full-scale value of the measurement range that the SMU is
currently using. Assigning a value to this attribute sets the SMU on a fixed range large enough to
measure the assigned value. The instrument will select the best range for measuring a value of
rangeValue.
This attribute is primarily intended to eliminate the time that is required by the automatic range
selection performed by a measuring instrument. Because selecting a fixed range prevents
autoranging, an overrange condition can occur. For example, measuring 10.0 V on the Model
2601B/2602B/2604B 6 V range or measuring 5.0 V on the Model 2611B/2612B/2614B 2 V range
causes an overrange. The value 9.91000E+37 is returned when this occurs.
If 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. However,
the setting for the measure range is retained. If the source function is changed (for example, from
sourcing voltage to sourcing current), the retained measurement range is used.
Model 2601B/2602B/2604B example: Assume the source function is voltage. The source range is 1 V
and you set the measure range for 6 V. Since the source range is 1 V, the SMU performs voltage
measurements on the 1 V range. If you now change the source function to current, voltage
measurements is performed on the 6 V range.
Explicitly setting a measure range will disable measure autoranging for that function. Autoranging is
controlled separately for each source and measurement function: source voltage, source current,
measure voltage and measure current. Autoranging is enabled for all four by default.
Changing the range while the output is off does not update the hardware settings, but querying
returns the range setting that will be used once the output is turned on. Setting a range while the
output is on takes effect immediately.
With measure autoranging enabled, the range is changed only when a measurement is taken.
Querying the range after a measurement returns the range selected for that measurement.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-227
Example
smua.measure.rangev = 0.5
Selects the 1 V measurement range for SMU channel A.
Also see
Range (on page 2-81)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.autorangeY (on page 7-214)
smuX.reset() (on page 7-232)
smuX.source.rangeY (on page 7-247)
smuX.measure.rel.enableY
This attribute turns relative measurements on or off.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
SMU reset
Recall setup
Not saved
0 (smuX.REL_OFF)
Usage
relEnable = smuX.measure.rel.enableY
smuX.measure.rel.enableY = relEnable
relEnable
Relative measurement control. Set relEnable to one of the following values:
0 or smuX.REL_OFF: Disables relative measurements
1
or
smu
X
.REL_ON
: Enables relative measurements
X
Source-measure unit (SMU) channel (for example, smua.measure.rel.enablev
applies to SMU channel A)
Y
SMU measurement function (v = voltage, i = current, r = resistance, p = power)
Details
This attribute enables or disables relative measurements. When relative measurements are enabled,
all subsequent measured readings are offset by the relative offset value specified by
smuX.measure.rel.levelY. Each returned measured relative reading is the result of the following
calculation:
Relative reading = Actual measured reading Relative offset value
Example
smua.measure.rel.enablev = smua.REL_ON
Enables relative voltage measurements for SMU
channel A.
Also see
Relative offset (on page 3-1)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.rel.levelY (on page 7-228)
smuX.reset() (on page 7-232)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-228 2600BS-901-01 Rev. C / August 2016
smuX.measure.rel.levelY
This attribute sets the offset value for relative measurements.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
SMU reset
Recall setup
Not saved 0
Usage
relValue = smuX.measure.rel.levelY
smuX.measure.rel.levelY = relValue
relValue
Relative measurement offset value
X
Source-measure unit (SMU) channel (for example, smua.measure.rel.levelv
applies to SMU channel A)
Y
SMU measurement function (v = voltage, i = current, r = resistance, p = power)
Details
This attribute specifies the offset value used for relative measurements. When relative measurements
are enabled (see smuX.measure.rel.enableY), all subsequent measured readings will be offset
by the value of this attribute. Each returned measured relative reading is the result of the following
calculation:
Relative reading = Actual measured reading - Relative offset value
Example
smua.measure.rel.levelv = smua.measure.v()
Performs a voltage measurement using
SMU channel A and then uses it as the
relative offset value.
Also see
Relative offset (on page 3-1)
reset() (on page 7-173)
smuX.measure.rel.enableY (on page 7-227)
smuX.reset() (on page 7-232)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-229
smuX.measure.Y()
This function makes one or more measurements.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
reading = smuX.measure.Y()
reading = smuX.measure.Y(readingBuffer)
iReading, vReading = smuX.measure.iv()
iReading, vReading = smuX.measure.iv(iReadingBuffer)
iReading, vReading = smuX.measure.iv(iReadingBuffer, vReadingBuffer)
reading
Returned value of the last (or only) reading of the measurement process
X
Source-measure unit (SMU) channel (for example, smua.measure.v() applies to
SMU channel A)
Y
SMU measurement function (v = voltage, i = current, r = resistance, p = power)
readingBuffer
A reading buffer object where all readings will be stored
iReading
The last reading of the current measurement process
vReading
The last reading of the voltage measurement process
iReadingBuffer
A reading buffer object where current readings will be stored
vReadingBuffer
A reading buffer object where voltage readings will be stored
Details
If you use this function without specifying a reading buffer, it makes one measurement and returns
that measurement as reading. To use the additional information that is acquired while making a
measurement or to return multiple readings, specify a reading buffer. If the instrument is configured to
return multiple readings for a measurement and readingBuffer is specified, all readings are
available in readingBuffer, but only the last measurement is returned as reading.
Measurements are in the following units of measure:
v = volts
i = amperes
r = ohms
p = watts
The smuX.measure.iv() function returns the last actual current measurement and voltage
measurement as iReading and vReading, respectively. Additionally, it can store current and
voltage readings if buffers are provided (iReadingBuffer and vReadingBuffer ).
The smuX.measure.count attribute determines how many measurements are performed. When
using a reading buffer, it also determines the number of readings to store in the buffer. If a reading
buffer is not specified, the SMU ignores the smuX.measure.count attribute and only makes one
measurement.
The readingBuffer is cleared before making any measurements unless the buffer is configured to
append data.
Example
smua.measure.count = 10
smua.measure.v(smua.nvbuffer1)
Performs ten voltage measurements using SMU
channel A and stores them in a buffer.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-230 2600BS-901-01 Rev. C / August 2016
Also see
Reading buffers (on page 3-6)
smuX.measure.count (on page 7-217)
smuX.measure.overlappedY() (on page 7-225)
smuX.nvbufferY (on page 7-231)
smuX.measureYandstep()
This function performs one or two measurements and then steps the source.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
reading = smuX.measureYandstep(sourceValue)
iReading, vReading = smuX.measureivandstep(sourceValue)
reading
The measured reading before stepping the source
X
Source-measure unit (SMU) channel (for example, smua.measurevandstep()
applies to SMU channel A)
Y
SMU measurement function (v = voltage, i = current, r = resistance, p = power)
sourceValue
Source value to be set after the measurement is made
iReading
The current reading before stepping the source
vReading
The voltage reading before stepping the source
Details
The smuX.measureYandstep() function performs a measurement and then sets the source to
sourceValue. Usage of the smuX.measureivandstep() function is similar, but performs two
measurements simultaneously; one for current (i) and one for voltage (v).
Measurements are in the following units of measure: v = volts, i = amperes, r = ohms, p = watts.
The specified source value should be appropriate for the selected source function. For example, if the
source voltage function is selected, then sourceValue is expected to be a new voltage level.
Both source and measure autorange must be disabled before using this function. This function cannot
be used if source highC mode is enabled (highC mode requires autoranging to be enabled).
This function is provided for very fast execution of source-measure loops. The measurement will be
made prior to stepping the source. Prior to using this function, and before any loop this function may
be used in, set the source value to its initial level.
Example
local ivalues = {}
smua.source.rangev = 1
smua.source.levelv = 0
smua.measure.rangei = 0.01
smua.source.output = smua.OUTPUT_ON
for index = 1, 10 do
ivalues[index] = smua.measureiandstep(index / 10)
end
ivalues[11] = smua.measure.i()
This use of the SMU channel A
measure and step function
measures current starting at a
source value of 0 V. After each
current measurement, the source is
stepped 100 mV for the next current
measurement. The final source level
is 1 V, where current is again
measured.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP com
mand reference
2600BS-901-01 Rev. C / August 2016 7-231
Also see
smuX.measure.autorangeY (on page 7-214)
smuX.measure.Y() (on page 7-229)
smuX.source.autorangeY (on page 7-234)
smuX.trigger.source.limitY (on page 7-267)
smuX.trigger.source.linearY() (on page 7-268)
smuX.trigger.source.listY() (on page 7-269)
smuX.trigger.source.logY() (on page 7-270)
Sweep Operation (on page 3-20)
smuX.nvbufferY
This attribute contains a dedicated reading buffer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
See Details
Not applicable
Usage
bufferVar = smuX.nvbufferY
bufferVar
The dedicated reading buffer
X
Source-measure unit (SMU) channel (for example, smua.nvbuffer1 applies to
SMU channel A)
Y
SMU nonvolatile buffer (1 or 2)
Details
Each SMU channel contains two dedicated reading buffers: smuX.nvbuffer1 and
smuX.nvbuffer2.
All routines that return measurements can also store them in either reading buffer. Overlapped
measurements are always stored in a reading buffer. Synchronous measurements return either a
single-point measurement or can be stored in a reading buffer if passed to the measurement
command.
The dedicated reading buffers can be saved to internal nonvolatile memory (to retain data between
power cycles) using the smuX.savebuffer() function.
Example
smua.measure.overlappedv(smua.nvbuffer1)
Store voltage readings from SMU channel A
into SMU channel A dedicated reading
buffer 1.
Also see
Configuring and running sweeps (on page 3-29)
Reading buffers (on page 3-6)
savebuffer() (on page 7-174)
smuX.makebuffer() (on page 7-212)
smuX.measure.overlappedY() (on page 7-225)
smuX.savebuffer() (on page 7-232)
smuX.trigger.measure.action (on page 7-260)
smuX.trigger.measure.set() (on page 7-261)
smuX.trigger.measure.stimulus (on page 7-261)
smuX.trigger.measure.Y() (on page 7-264)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-232 2600BS-901-01 Rev. C / August 2016
smuX.reset()
This function turns off the output and resets the commands that begin with smu. to their default settings.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.reset()
X
Source-measure unit (SMU) channel (for example,
smua.reset()
applies to SMU
channel A)
Details
This function turns off the output and returns the specified SMU to its default settings.
Example
smua.reset()
Turns off the output and resets SMU
channel A to its default settings.
Also see
reset() (on page 7-173)
smuX.savebuffer()
This function saves one source-measure unit (SMU) dedicated reading buffer to nonvolatile memory (there are
two dedicated reading buffers for each SMU).
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
smuX.savebuffer(smuX.nvbufferY)
X
SMU channel (for example, smua.savebuffer(smua.nvbuffer1) applies to
SMU channel A)
Y
SMU dedicated reading buffer (1 or 2)
Details
When the instrument is turned off and back on, the dedicated reading buffers are restored from
nonvolatile memory to their last saved values.
Example
smua.savebuffer(smua.nvbuffer1)
Saves buffer 1 (SMU channel A) to
internal memory.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-233
Also see
Reading buffers (on page 3-6)
savebuffer() (on page 7-174)
smuX.nvbufferY (on page 7-231)
smuX.sense
This attribute contains the state of the sense mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
0 (smuX.SENSE_LOCAL)
Usage
senseMode = smuX.sense
smuX.sense = senseMode
senseMode
The sense mode; set to one of the following:
0 or smuX.SENSE_LOCAL: Selects local sense (2-wire)
1 or smuX.SENSE_REMOTE: Selects remote sense (4-wire)
3
or
smu
X
.SENSE_CALA
: Selects calibration sense mode
X
Source-measure unit (SMU) channel (for example, smua.sense applies to SMU
channel A)
Details
Source-measure operations are performed using either 2-wire local sense connections or 4-wire
remote sense connections. Writing to this attribute selects the sense mode.
The smuX.SENSE_CALA mode is only used for calibration and may only be selected when calibration
is enabled.
The sense mode can be changed between local and remote while the output is on.
The calibration sense mode cannot be selected while the output is on.
Resetting the instrument selects the local sense mode.
Example
smua.sense = smua.SENSE_REMOTE
Selects remote sensing for SMU
channel A.
Also see
2-wire local sensing connections (on page 2-54)
4-wire remote sensing connections (on page 2-55)
Sense mode selection (on page 2-75)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Refe
rence Manual
7-234 2600BS-901-01 Rev. C / August 2016
smuX.source.autorangeY
This attribute contains the state of the source autorange control (on/off).
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
1 (smuX.AUTORANGE_ON)
Usage
sourceAutorange = smuX.source.autorangeY
smuX.source.autorangeY = sourceAutorange
sourceAutorange
The state of the source autorange control. Set to one of the following:
0 or smuX.AUTORANGE_OFF: Disables source autorange
1
or
smu
X
.AUTORANGE_ON
: Enables source autorange
X
Source-measure unit (SMU) channel (for example, smua.source.autorangev
applies to SMU channel A)
Y
SMU source function (v = voltage, i = current)
Details
This attribute indicates the source autorange state. Its value will be smuX.AUTORANGE_OFF when the
SMU source circuit is on a fixed range and smuX.AUTORANGE_ON when it is in autorange mode.
Setting this attribute to smuX.AUTORANGE_OFF puts the SMU on a fixed source range. The fixed
range used will be the present SMU source circuit range.
Setting this attribute to smuX.AUTORANGE_ON puts the SMU source circuit into autorange mode. If
the source output is on, the SMU will immediately change range to the range most appropriate for the
value being sourced if that range is different from the present SMU range.
Autorange will disable if the source level is edited from the front panel. Setting the source range turns
off autorange when set by using the smuX.source.rangeY attribute as well.
Resetting the instrument selects the smuX.AUTORANGE_ON.
Example
smua.source.autorangev = smua.AUTORANGE_ON
Enables volts source autorange for
SMU channel A.
Also see
smuX.measure.autorangeY (on page 7-214)
smuX.source.rangeY (on page 7-247)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-235
smuX.source.calibrateY()
This function generates and activates new source calibration constants.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.source.calibrateY(range, cp1Expected, cp1Reference, cp2Expected, cp2Reference)
X
Source-measure unit (SMU) channel (for example, smua.source.calibratev()
applies to SMU channel A)
Y
SMU source function (v = voltage, i = current)
range
The measurement range to calibrate
cp1Expected
The source value set for calibration point 1
cp1Reference
The reference measurement for calibration point 1 as measured externally
cp2Expected
The source value set for calibration point 2
cp2Reference
The reference measurement for calibration point 2 as measured externally
Details
This function generates and activates new calibration constants for the given range.
The positive and negative polarities of the source must be calibrated separately. Use a positive value
for range to calibrate the positive polarity and a negative value for range to calibrate the negative
polarity. Do not use 0.0 for a negative calibration point; 0.0 is considered to be a positive number.
Typically, the two calibration points used will be near zero for calibration point 1 and 90% of full scale
for calibration point 2. Full scale for calibration point 2 should be avoided if the source of the SMU is
substantially out of calibration.
The two reference measurements must be made with the source using the active calibration set. For
example, source a value, measure it, and do not change the active calibration set before issuing this
command.
The new calibration constants are activated immediately but they are not written to nonvolatile
memory. Use smuX.cal.save() to save the new constants to nonvolatile memory.
The active calibration constants stay in effect until the instrument is power cycled or a calibration set
is loaded from nonvolatile memory with the smuX.cal.restore() function.
This function is disabled until a successful call to smuX.cal.unlock() is made.
Example
smua.source.calibratev(1, 1e-10, 1e-5, 0.9,
0.903)
SMU channel A calibrates the voltage
source using the following values:
calibrate the 1 V range, 1e-10 for +zero
source output value, 1e-5 for +zero DMM
measurement reading, 0.9 for +FS source
output value, and 0.903 for the +FS DMM
measurement reading.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-236 2600BS-901-01 Rev. C / August 2016
Also see
Calibration (on page B-1)
smuX.cal.restore() (on page 7-203)
smuX.cal.save() (on page 7-204)
smuX.cal.unlock() (on page 7-205)
smuX.measure.calibrateY() (on page 7-216)
smuX.source.compliance
This attribute contains the state of source compliance.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not saved
Not applicable
Usage
compliance = smuX.source.compliance
compliance
The state of source compliance
X
Source-measure unit (SMU) channel (for example, smua.source.compliance
applies to SMU channel A)
Details
This read-only attribute contains the source compliance state (true or false).
true indicates that the limit function is in control of the source (source in compliance).
false indicates that the source function is in control of the output (source not in compliance).
Writing to this attribute generates an error.
Reading this attribute also updates the status model and the front panel with generated compliance
information. See Current Limit (ILMT) shown in the status model diagram for the Measurement event
registers (on page E-8). The Voltage Limit (VLMT) is not shown in the status model diagram for the
Measurement event registers (on page E-8), but is similar to the Current Limit (ILMT).
Example
compliance = smua.source.compliance
print(compliance)
Reads the source compliance state
for SMU channel A.
Output:
true
This output indicates that a
configured limit has been reached
(voltage, current, or power limit).
Also see
smuX.source.limitY (on page 7-240)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command
reference
2600BS-901-01 Rev. C / August 2016 7-237
<sm.source.delay
This attribute contains the source delay.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0 (smuX.DELAY_OFF)
Usage
sDelay = smuX.source.delay
smuX.source.delay = sDelay
sDelay
Set to the source delay value (for example, to specify an additional 10 ms source
delay, set the value to 0.010)
Alternatively, you can set it one of the following values:
0 or smuX.DELAY_OFF: No delay
-1 or smu
X
.DELAY_AUTO: Automatic delay value
X
Source-measure unit (SMU) channel (for example, smua.source.delay applies
to SMU channel A)
Details
This attribute allows for additional delay (settling time) after an output step. Set sDelay to a user-
defined value (in seconds). Alternatively, set sDelay to smuX.DELAY_OFF or smuX.DELAY_AUTO.
The smuX.DELAY_AUTO setting causes a range-dependent delay to be inserted when the source is
changed. Range-dependent delays are based on the output settling time values as defined in the
Series 2600B specifications.
Example
smua.source.delay = smua.DELAY_AUTO
Sets the delay for SMU channel A
to automatic (a range-dependent
delay is inserted whenever the
source is changed).
Also see
reset() (on page 7-173)
smuX.measure.count (on page 7-217)
smuX.measure.delay (on page 7-218)
smuX.reset() (on page 7-232)
smuX.source.func
This attribute contains the source function, which can be voltage or current.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes SMU reset
Instrument reset
Recall setup
Saved setup 1 (smuX.OUTPUT_DCVOLTS)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-238 2600BS-901-01 Rev. C / August 2016
Usage
sFunction = smuX.source.func
smuX.source.func = sFunction
sFunction
The source function; set to one of the following values:
0 or smuX.OUTPUT_DCAMPS: Selects the current source function
1
or
smu
X
.OUTPUT_DCVOLTS
: Selects the voltage source function
X
Source-measure unit (SMU) channel (for example, smua.source.func applies to
SMU channel A)
Details
Reading this attribute indicates the output function of the source for the specified SMU channel.
Setting this attribute configures the specified SMU channel as either a voltage source or a current
source.
Example
smua.source.func = smua.OUTPUT_DCAMPS
Sets the source function of SMU
channel A to be a current source.
Also see
smuX.source.levelY (on page 7-239)
smuX.source.output (on page 7-244)
smuX.source.highc
This attribute enables or disables high-capacitance mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes SMU reset
Instrument reset
Recall setup
Saved setup 0 (smuX.DISABLE)
Usage
highC = smuX.source.highc
smuX.source.highc = highC
highC
The state of the high-capacitance mode; set to one of the following values:
0 or smuX.DISABLE: Disables high-capacitance mode
1 or smu
X
.ENABLE: Enables high-capacitance mode
X
Source-measure unit (SMU) channel (for example, smua.source.highc applies
to SMU channel A)
Details
When enabled, the high-capacitance mode has the following effects on the SMU settings:
smuX.measure.autorangei is set to smuX.AUTORANGE_FOLLOW_LIMIT and cannot be changed
Current ranges below 1 µA are not accessible
If smuX.source.limiti is less than 1 µA, it is raised to 1 µA
If smuX.source.rangei is less than 1 µA, it is raised to 1 µA
If smuX.source.lowrangei is less than 1 µA, it is raised to 1 µA
If smuX.measure.lowrangei is less than 1 µA, it is raised to 1 µA
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-239
Example
smua.source.highc = smua.ENABLE
Activates high-capacitance mode
for SMU channel A.
Also see
High-capacitance mode (on page 3-65)
smuX.source.levelY
This attribute sets the source level.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
0
Usage
sourceLevel = smuX.source.levelY
smuX.source.levelY = sourceLevel
sourceLevel
The source value; set to one of the following values:
Voltage: 0 V to ±40 V (Models 2601B/2602B/2604B)
Voltage: 0 V to ±200 V (Models 2611B/2612B/2614B/2634B/2635B/2636B)
Current: 0 A to ±3 A (Models 2601B/2602B/2604B)
Current: 0 A to ±1.5 A (Models 2611B/2612B/2614B/2634B/2635B/2636B)
X
Source-measure unit (SMU) channel (for example, smua.source.levelv applies
to SMU channel A)
Y
SMU source function (v = voltage, i = current)
Details
This attribute configures the output level of the voltage or current source.
If the source is configured as a voltage source and the output is on, the new smuX.source.levelv
setting is sourced immediately. If the output is off or the source is configured as a current source, the
voltage level is sourced when the source is configured as a voltage source and the output is turned
on.
If the source is configured as a current source and the output is on, the new smuX.source.leveli
setting is sourced immediately. If the output is off or the source is configured as a voltage source, the
current level is sourced when the source is configured as a current source and the output is turned
on.
The sign of sourceLevel dictates the polarity of the source. Positive values generate positive
voltage or current from the high terminal of the source relative to the low terminal. Negative values
generate negative voltage or current from the high terminal of the source relative to the low terminal.
The reset() function sets the source levels to 0 V and 0 A.
Example
smua.source.levelv = 1
Sets voltage source of SMU
channel A to 1 V.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Referenc
e Manual
7-240 2600BS-901-01 Rev. C / August 2016
Also see
smuX.source.compliance (on page 7-236)
smuX.source.func (on page 7-237)
smuX.source.output (on page 7-244)
Source-measure concepts (on page 4-1)
smuX.source.limitY
This attribute sets compliance limits.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
Limit voltage:
Models 2601B/2602B/2604B: 40 (40 V)
Models
2611B/2612B/2614B/2634B/2635B/2636B:
20 (20 V)
Limit current:
Models 2601B/2602B/2604B: 1 (1 A)
Models
2611B/2612B/2614B/2634B/2635B/2636B:
100e-3 (100 mA)
Limit power: 0 (disabled)
Usage
limit = smuX.source.limitY
smuX.source.limitY = limit
limit
The compliance limit value; set to one of the following values:
Voltage compliance:
Models 2601B/2602B/2604B: 10 mV to 40 V
Models 2611B/2612B/2614B/2634B/2635B/2636B: 20 mV to 200 V
Current compliance:
Models 2601B/2602B/2604B/2611B/2612B/2614B: 10 nA to 3 A
Models 2634B/2635B/2636B: 100 pA to 1.5 A
Power compliance (in watts)
X
Source-measure unit (SMU) channel (for example, smua.source.limitv applies to SMU
channel A)
Y
SMU function (
v
= voltage,
i
= current)
Details
Use the smuX.source.limiti attribute to limit the current output of the voltage source. Use
smuX.source.limitv to limit the voltage output of the current source. The SMU always uses
autoranging for the limit setting. Use the smuX.source.limitp attribute to limit the output power of
the source.
This attribute should be set in the test sequence before the turning the source on.
Using a limit value of 0 results in error code 1102, "Parameter too small," for v and i. Setting this
attribute to zero disables power compliance for p. When setting the power compliance limit to a
nonzero value, the SMU adjusts the source limit where appropriate to limit the output to the specified
power. The SMU uses the lower of the programmed compliance value (the compliance level that
would be used if power compliance were disabled) or the limit calculated from the power compliance
setting.
Reading this attribute indicates the presently set compliance value. Use
smuX.source.compliance to read the state of source compliance.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-241
Example
smua.source.limitv = 30
Sets the voltage limit of SMU
channel A to 30 V.
Also see
DUT test connections (on page 2-49)
smuX.source.compliance (on page 7-236)
smuX.source.func (on page 7-237)
smuX.source.output (on page 7-244)
smuX.source.lowrangeY
This attribute sets the lowest source range that will be used during autoranging.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
Voltage:
Models 2601B/2602B/2604B: 100e-3 (100 mV)
Models 2611B/2612B/2614B/2634B/2635B/2636B:
200e-3 (200 mV)
Current:
Models 2601B/2602B/2604B/2611B/2612B/2614B:
100e-9 (100 nA)
Models 2634B/2635B/2636B: 1e-9 (1 nA)
Usage
sourceRangeLow = smuX.source.lowrangeY
smuX.source.lowrangeY = sourceRangeLow
sourceRangeLow
Set to the lowest voltage (in volts) or current (in amperes) range to be used
X
Source-measure unit (SMU) channel (for example, smua.source.lowrangev
applies to SMU channel A)
Y
SMU source function (v = voltage, i = current)
Details
This attribute is used with source autoranging to put a lower bound on the range that is used. Lower
ranges generally require greater settling times. If you set a low-range value, you might be able to
source small values with less settling time.
If the instrument is set to autorange and it is on a range lower than the one specified by
sourceRangeLow, the source range will be changed to the range specified by sourceRangeLow.
Example
smua.source.lowrangev = 1
Sets volts low range for Models
2601B/2602B/2604B SMU A to 1
V. This prevents the source from
using the 100 mV range when
sourcing voltage.
Also see
smuX.source.autorangeY (on page 7-234)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-242 2600BS-901-01 Rev. C / August 2016
smuX.source.offfunc
This attribute sets the source function that is used (source 0 A or 0 V) when the output is turned off and the
source-measure unit (SMU) is in normal output-off mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes SMU reset
Instrument reset
Recall setup
Saved setup 1 (smuX.OUTPUT_DCVOLTS)
Usage
offfunc = smuX.source.offfunc
smuX.source.offfunc = offfunc
offfunc
Set to the source function to be used when the output is off and the SMU is in
normal output-off mode. Set to one of the following values:
0 or smuX.OUTPUT_DCAMPS: Source 0 A
1
or
smu
X
.OUTPUT_DCVOLTS
: Source 0 V
X
SMU channel (for example, smua.source.offfunc applies to SMU channel A)
Details
This attribute controls the source function used when the output is turned off and the
smuX.source.offmode is set to smuX.OUTPUT_NORMAL. Set this attribute to
smuX.OUTPUT_DCVOLTS for the source to be a 0 V source when the output is off
(smuX.source.offlimiti is used). Set it to smuX.OUTPUT_DCAMPS for the source to be a 0 A
source when the output is off (smuX.source.offlimitv is used).
This attribute is only used when the smuX.source.offmode attribute is set to
smuX.OUTPUT_NORMAL.
Example
smua.source.offfunc = smua.OUTPUT_DCVOLTS
Sets the normal output-off mode to
source 0 V when the output is
turned off for SMU channel A.
Also see
Output-off states (on page 2-76)
smuX.source.offlimitY (on page 7-242)
smuX.source.offmode (on page 7-243)
smuX.source.output (on page 7-244)
smuX.source.offlimitY
This attribute sets the limit (current or voltage) used when the source-measure unit (SMU) is in normal output-off
mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
Current: 1e-3 (1 mA)
Voltage: 40 (40 V)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command ref
erence
2600BS-901-01 Rev. C / August 2016 7-243
Usage
sourceLimit = smuX.source.offlimitY
smuX.source.offlimitY = sourceLimit
sourceLimit
Set to the limit to be used when the SMU is in normal output-off mode
X
Source-measure unit (SMU) channel (for example, smua.source.offlimiti
applies to SMU channel A)
Y
SMU source function (v = voltage, i = current)
Details
Setting the current limit to lower than 1 mA may interfere with operation of the contact check function.
See smuX.contact.check() and smuX.contact.r() for details.
Example
smua.source.offlimiti = 10e-3
Changes the normal output-off
mode limit to 10 mA for SMU
channel A.
Also see
smuX.contact.check() (on page 7-209)
smuX.contact.r() (on page 7-210)
smuX.source.offfunc (on page 7-242)
smuX.source.offmode (on page 7-243)
smuX.source.offmode
This attribute sets the source output-off mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
0 (smuX.OUTPUT_NORMAL)
Usage
sourceOffMode = smuX.source.offmode
smuX.source.offmode = sourceOffMode
sourceOffMode
The output-off setting; set to one of the following values:
0 or smuX.OUTPUT_NORMAL: Configures the source function according to
smuX.source.offfunc attribute
1 or smuX.OUTPUT_ZERO: Configures source to output 0 V as
smuX.OUTPUT_NORMAL with different compliance handling (see the Details below)
2 or smu
X
.OUTPUT_HIGH_Z: Opens the output relay when the output is turned off
X
Source-measure unit (SMU) channel (for example, smua.source.offmode
applies to SMU channel A)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-244 2600BS-901-01 Rev. C / August 2016
Details
Reading this attribute gives the output-off mode of the source. Setting this attribute configures the
SMU output-off mode.
The default sourceOffMode is smuX.OUTPUT_NORMAL. In this mode, the source function is
configured according to the smuX.source.offfunc attribute. The smuX.source.offfunc
attribute controls whether the SMU is configured as a 0 V voltage source or a 0 A current source.
When the SMU is operating as a 0 A current source, the smuX.source.offlimitv attribute sets
the voltage limit (similar to how the smuX.source.offlimiti attribute sets the current limit when
the SMU is operating as a 0 V voltage source).
When the sourceOffMode is set to smuX.OUTPUT_ZERO, the source is configured to output 0 V just
as smuX.OUTPUT_NORMAL mode with smuX.source.offfunc = smuX.OUTPUT_DCVOLTS. If the
source function is voltage, the current limit is not changed. If the source function is current, the
current limit is set to the current source level or 10 percent of the current source range, whichever is
greater.
When offmode is set to smuX.OUTPUT_HIGH_Z, the SMU opens the output relay when the output is
turned off.
Example
smua.source.offmode = smua.OUTPUT_HIGH_Z
Sets the output-off mode for SMU
channel A to open the output relay
when the output is turned off.
Also see
Output-off states (on page 2-76)
smuX.source.offfunc (on page 7-242)
smuX.source.offlimitY (on page 7-242)
smuX.source.output (on page 7-244)
smuX.source.output
This attribute sets the source output state (on or off).
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0 (smuX.OUTPUT_OFF)
Usage
sourceOutput = smuX.source.output
smuX.source.output = sourceOutput
sourceOutput
The source's output state setting; set to one of the following values:
0 or smuX.OUTPUT_OFF: Turns off the source output
1 or smuX.OUTPUT_ON: Turns on the source output
2 or smuX.OUTPUT_HIGH_Z: Turns off the output in high Z mode (allows you to go
to high Z mode without first setting the smuX.source.offmode attribute to
smu
X
.OUTPUT_HIGH_Z)
X
Source-measure unit (SMU) channel (for example, smua.source.output applies
to SMU channel A)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-245
Details
Reading this attribute returns the output state of the source. Setting this attribute switches the output
of the source on or off.
When the output is switched on, the SMU sources either voltage or current, as set by
smuX.source.func.
Setting this attribute to smuX.OUTPUT_HIGH_Z causes the output to turn off and go to the High Z
mode. If the smuX.source.output is read after setting this attribute to smuX.OUTPUT_HIGH_Z, it
returns 0.
Example
smua.source.output = smua.OUTPUT_ON
Turns on SMU channel A source
output.
Also see
DUT test connections (on page 2-49)
smuX.source.func (on page 7-237)
smuX.source.offmode (on page 7-243)
smuX.source.outputenableaction
This attribute controls output enable action of the source.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes SMU reset
Instrument reset
Recall setup
Saved setup 0 (smuX.OE_NONE)
Usage
outputAction = smuX.source.outputenableaction
smuX.source.outputenableaction = outputAction
outputAction
The output enable action of the source; set to one of the following values:
0 or smuX.OE_NONE: No action
1 or smu
X
.OE_OUTPUT_OFF: Turns the source output off
X
Source-measure unit (SMU) channel (for example,
smua.source.outputenableaction applies to SMU channel A)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-246 2600BS-901-01 Rev. C / August 2016
Details
For the Models 2601B/2602B/2604B, this attribute controls the SMU action taken when the output
enable line is deasserted.
When set to smuX.OE_NONE, the SMU will take no action when the output enable line goes low
(deasserted).
When set to smuX.OE_OUTPUT_OFF and the output enable line is de-asserted, the SMU will turn its
output off as if the smuX.source.output = smuX.OUTPUT_OFF command had been received.
The SMU will not automatically turn its output on when the output enable line returns to the high state.
If the output enable line is not asserted when this attribute is set to smuX.OE_OUTPUT_OFF and the
output is on, the output will turn off immediately.
Detection of the output enable line going low will not abort any running scripts. This may cause
execution errors.
For models that have a safety interlock (Models 2611B/ 2612B/2614B/2635B/2636B/2634B), this
attribute dictates the source output behavior when the interlock line is not engaged and the source is
configured for safe operation.
When sourcing voltage on the 20 V range or lower, or sourcing current with a limit of 20 V or less and
the smuX.source.outputenableaction attribute is set to smuX.OE_OUTPUT_OFF, the source
output will automatically turn off when the interlock is disengaged. Furthermore, the output cannot be
turned on unless the interlock is engaged.
When sourcing voltage on the 20 V range or lower, or sourcing current with a limit of 20 V or less and
the smuX.source.outputenableaction attribute is set to smuX.OE_NONE, the source will ignore the
state of the interlock signal. The output can be turned on regardless of the interlock state.
When sourcing voltage on the 200 V range, or sourcing current with a limit greater than 20 V, the
source output will automatically turn off when the interlock is disengaged. Furthermore, the output
cannot be turned on unless the interlock is engaged. The smuX.source.outputenableaction
attribute will be ignored in this case.
Example
smua.source.outputenableaction = smua.OE_OUTPUT_OFF
Sets SMU channel A to turn off the
output if the output enable line
goes low (deasserted).
Also see
smuX.source.offmode (on page 7-243)
smuX.source.output (on page 7-244)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-247
smuX.source.rangeY
This attribute contains the source range.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
Voltage:
Models 2601B/2602B/2604B: 100e-3 (100 mV)
Models 2611B/2612B/2614B/2634B/2635B/2636B:
200e-3 (200 mV)
Current:
Models 2601B/2602B/2604B/2611B/2612B/2614B:
100e-9 (100 nA)
Models 2634B/2635B/2636B: 1e-9 (1 nA)
Usage
rangeValue = smuX.source.rangeY
smuX.source.rangeY = rangeValue
rangeValue
Set to the maximum expected voltage or current to be sourced
X
Source-measure unit (SMU) channel (for example, smua.measure.rangev
applies to SMU channel A)
Y
SMU source function (v = voltage, i = current)
Details
This attribute contains a value that sets the source-measure unit (SMU) to a fixed range large enough
to source the value. When read, the attribute contains the range the instrument is presently on when
in autorange.
Assigning a value to this attribute sets the SMU to a fixed range large enough to source the assigned
value. The instrument selects the best range for sourcing a value of rangeValue.
Reading this attribute returns the positive full-scale value of the source range the SMU is currently
using. With source autoranging enabled, the output level controls the range. Querying the range after
the level is set returns the range the instrument chose as appropriate for that source level.
This attribute is primarily intended to eliminate the time required by the automatic range selection
performed by a sourcing instrument. Because selecting a fixed range prevents autoranging, an
overrange condition can occur. For example, sourcing 10.0 V on the Model 2601B/2602B/2604B 6 V
range or sourcing 5.0 V on the Model 2611B/2612B/2614B 2 V range causes an overrange condition.
Example
smua.source.rangev = 1
Selects the 1 V source range for SMU channel A.
Also see
Range (on page 2-81)
reset() (on page 7-173)
setup.recall() (on page 7-194)
smuX.measure.rangeY (on page 7-226)
smuX.reset() (on page 7-232)
smuX.source.autorangeY (on page 7-234)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-248 2600BS-901-01 Rev. C / August 2016
smuX.source.settling
This attribute contains the source settling mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0 (smuX.SETTLE_SMOOTH)
Usage
settleOption = smuX.source.settling
smuX.source.settling = settleOption
settleOption
Set to the source settling mode. Set to one of the following values:
0 or smuX.SETTLE_SMOOTH: Turns off additional settling operations (default)
1 or smuX.SETTLE_FAST_RANGE: Instructs the source-measure unit (SMU) to use
a faster procedure when changing ranges
2 or smuX.SETTLE_FAST_POLARITY: Instructs the SMU to change polarity without
going to zero
3 or smuX.SETTLE_DIRECT_IRANGE: Instructs the SMU to change the current
range directly
4 or smuX.SETTLE_SMOOTH_100NA: Enables the use of range rampers for the 100
nA range
128
or
smu
X
.SETTLE_FAST_ALL
: Enables all
smu
X
.SETTLE_FAST_*
operations
X
SMU channel (for example,
smua.source.settling
applies to SMU channel A)
Details
Using smuX.SETTLE_FAST_RANGE may cause the SMU to exceed the range change overshoot
specification.
smuX.SETTLE_FAST_POLARITY does not go to zero when changing polarity and may create
inconsistencies at the zero crossing.
smuX.SETTLE_DIRECT_IRANGE switches the SMU directly to the target range instead of the default
“range-by-range” method. This option is mutually exclusive of any other smuX.SETTLE_FAST_*
commands.
smuX.SETTLE_SMOOTH_100NA is disabled by default in Model 2601B/2602B/2604B and Model
2611B/2612B/2614B. In Model 2634B/2635B/2636B, it is always enabled.
Example
smua.source.settling = smua.SETTLE_FAST_POLARITY
Selects fast polarity changing for
SMU channel A.
Also see
Range (on page 2-81)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP
command reference
2600BS-901-01 Rev. C / August 2016 7-249
smuX.source.sink
This attribute turns sink mode on or off.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Saved setup
0 (smuX.DISABLE)
Usage
sinkMode = smuX.source.sink
smuX.source.sink = sinkMode
sinkMode
Sets the sink mode on or off; set to one of the following values:
0 or smuX.DISABLE: Turns off sink mode
1
or
smu
X
.ENABLE
: Turns on sink mode
X
Source-measure unit (SMU) channel (for example, smua.source.sink applies to
SMU channel A)
Details
This attribute enables or disables sink mode. When sink mode is enabled, it reduces the source limit
inaccuracy that occurs when operating in quadrants II and IV (quadrants I and III will show this source
limit inaccuracy).
Example
smua.source.sink = smua.ENABLE
Enables sink mode for SMU
channel A.
Also see
Source or sink (on page 4-5)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-250 2600BS-901-01 Rev. C / August 2016
smuX.trigger.arm.count
This attribute sets the arm count in the trigger model.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
1
Usage
triggerArmCount = smuX.trigger.arm.count
smuX.trigger.arm.count = triggerArmCount
triggerArmCount
The arm count in the trigger model
X
Source-measure unit (SMU) channel (for example, smua.trigger.arm.count
applies to SMU channel A)
Details
During a sweep, the SMU iterates through the arm layer of the trigger model this many times. After
performing this many iterations, the SMU returns to an idle state.
If this count is set to zero, the SMU stays in the trigger model indefinitely until aborted.
Example
smua.trigger.arm.count = 5
Sets the SMU channel A to iterate
through the arm layer of the trigger
model five times and then return to
the idle state.
Also see
smuX.trigger.count (on page 7-254)
smuX.trigger.arm.set()
This function sets the arm event detector to the detected state.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.trigger.arm.set()
X
Source-measure unit (SMU) channel (for example, smua.trigger.arm.set()
applies to SMU channel A)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-251
Details
The SMU will automatically clear all the event detectors when the smuX.trigger.initiate()
function is executed. This function should be called after the sweep is initiated.
A common example of when this function can be used is when you want the SMU to immediately
perform an action the first time through the trigger model even if a programmed trigger event does not
occur.
This function can also be used to start actions on the SMU in case of a missed trigger event.
Example
smua.trigger.arm.set()
Sets the arm event detector to the
detected state for SMU channel A.
Also see
smuX.trigger.initiate() (on page 7-259)
smuX.trigger.measure.set() (on page 7-261)
smuX.trigger.source.set() (on page 7-271)
smuX.trigger.arm.stimulus
This attribute selects the event that will cause the arm event detector to enter the detected state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0
Usage
eventID = smuX.trigger.arm.stimulus
smuX.trigger.arm.stimulus = eventID
eventID
Event that triggers the arm detector
X
Source-measure unit (SMU) channel (for example,
smua.trigger.arm.stimulus
applies to SMU channel A)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-252 2600BS-901-01 Rev. C / August 2016
Details
Set this attribute to the event ID of any trigger event generator to wait for that event.
Set this attribute to zero to bypass waiting for events at the arm event detector (the SMU continues
uninterrupted through the remote trigger model). Set eventID to one of the existing trigger event IDs
shown in the following table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Example
smua.trigger.arm.stimulus =
trigger.timer[1].EVENT_ID
An event on trigger timer 1 causes the arm
event detector to enter the detected state.
Also see
Triggering (on page 3-32)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-253
smuX.trigger.ARMED_EVENT_ID
This constant contains the armed event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
eventID = smuX.trigger.ARMED_EVENT_ID
eventID
The armed event number
X
Source-measure unit (SMU) channel (for example,
smua.trigger.ARMED_EVENT_ID
applies to SMU channel A)
Details
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
armed events from this SMU.
Example
trigger.timer[1].stimulus =
smua.trigger.ARMED_EVENT_ID
Trigger timer when the SMU
passes through the ARM layer.
Also see
Triggering (on page 3-32)
smuX.trigger.autoclear
This attribute turns automatic clearing of the event detectors on or off.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes SMU reset
Instrument reset
Recall setup
Not saved 0 (smuX.DISABLE)
Usage
autoClear = smuX.trigger.autoclear
smuX.trigger.autoclear = autoClear
autoClear
Auto clear setting; set to one of the following values:
0 or smuX.DISABLE: Turns off automatic clearing of the event detectors
1 or smu
X
.ENABLE: Turns on automatic clearing of the event detectors
X
Source-measure unit (SMU) channel (for example,
smua.trigger.autoclear
applies to SMU channel A)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-254 2600BS-901-01 Rev. C / August 2016
Details
This attribute enables or disables automatic clearing of the trigger model state machine event
detectors when the SMU transitions from the arm layer to the trigger layer.
Only the detected states of the event detectors are cleared.
The overrun statuses of the event detectors are not automatically cleared when the SMU transitions
from the arm layer to the trigger layer.
The event detectors are always cleared when a sweep is initiated.
Also see
Triggering (on page 3-32)
smuX.trigger.count
This attribute sets the trigger count in the trigger model.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes SMU reset
Instrument reset
Recall setup
Not saved 1
Usage
triggerCount = smuX.trigger.count
smuX.trigger.count = triggerCount
triggerCount
The trigger count is the number of times the source-measure unit (SMU) will iterate
in the trigger layer for any given sweep
X
SMU channel (for example, smua.trigger.count applies to SMU channel A)
Details
During a sweep, the SMU iterates through the trigger layer of the trigger model this many times. After
performing this many iterations, the SMU returns to the arm layer.
If this count is set to zero (0), the SMU stays in the trigger model indefinitely until aborted.
Also see
Triggering (on page 3-32)
smuX.trigger.endpulse.action
This attribute enables or disables pulse mode sweeps.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
1 (smuX.SOURCE_HOLD)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP com
mand reference
2600BS-901-01 Rev. C / August 2016 7-255
Usage
pulseAction = smuX.trigger.endpulse.action
smuX.trigger.endpulse.action = pulseAction
pulseAction
The pulse mode setting; set to one of the following values (see Details for
definition):
0 or smuX.SOURCE_IDLE
1
or
smu
X
.SOURCE_HOLD
X
Source-measure unit (SMU) channel (for example,
smua.trigger.endpulse.action
applies to SMU channel A)
Details
When set to smuX.SOURCE_HOLD, this attribute disables pulse mode sweeps, holding the source
level for the remainder of the step.
When set to smuX.SOURCE_IDLE, this attribute enables pulse mode sweeps, setting the source level
to the programmed (idle) level at the end of the pulse.
Example
smua.trigger.endpulse.action = smua.SOURCE_IDLE
smua.trigger.endpulse.stimulus =
trigger.timer[1].EVENT_ID
Configure the end pulse action to achieve a
pulse and configure trigger timer 1 to control
the end of pulse.
Also see
Triggering (on page 3-32)
smuX.trigger.endpulse.set()
This function sets the end pulse event detector to the detected state.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
smuX.trigger.endpulse.set()
X
Source-measure unit (SMU) channel (for example,
smua.trigger.endpulse.set()
applies to SMU channel A)
Details
This function sets the end pulse event detector to the detected state.
The SMU automatically clears all the event detectors when the smuX.trigger.initiate()
function is executed. Therefore, smuX.trigger.endpulse.set() should be called after the
sweep is initiated. If the event detectors are configured to clear automatically because the
smuX.trigger.autoclear attribute is set to smuX.ENABLE, make sure that
smuX.trigger.endpulse.set() is issued after the SMU has entered the trigger layer.
Also see
smuX.trigger.autoclear (on page 7-253)
smuX.trigger.initiate() (on page 7-259)
Triggering (on page 3-32)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-256 2600BS-901-01 Rev. C / August 2016
smuX.trigger.endpulse.stimulus
This attribute defines which event will cause the end pulse event detector to enter the detected state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0
Usage
eventID = smuX.trigger.endpulse.stimulus
smuX.trigger.endpulse.stimulus = eventID
eventID
Set to the event that triggers the end pulse action of the source
X
Source-measure unit (SMU) channel (for example,
smua.trigger.endpulse.stimulus
applies to SMU channel A)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-257
Details
Set this attribute to the event ID of any trigger event generator to wait for that event. To bypass
waiting for an event, set this attribute's value to 0. Set eventID to one of the existing trigger event
IDs, which are shown in the following table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Example
smua.trigger.endpulse.action = smua.SOURCE_IDLE
smua.trigger.endpulse.stimulus =
trigger.timer[1].EVENT_ID
Configure the end pulse action to achieve a
pulse and select the event,
trigger.timer[1].EVENT_ID, that
causes the arm event detector to enter the
detected state.
Also see
Triggering (on page 3-32)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Refe
rence Manual
7-258 2600BS-901-01 Rev. C / August 2016
smuX.trigger.endsweep.action
This attribute sets the action of the source at the end of a sweep.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0 (smuX.SOURCE_IDLE)
Usage
action = smuX.trigger.endsweep.action
smuX.trigger.endsweep.action = action
action
The source action at the end of a sweep; set to one of the following values:
0 or smuX.SOURCE_IDLE: Sets the source level to the programmed (idle) level at
the end of the sweep
1 or smu
X
.SOURCE_HOLD: Sets the source level to stay at the level of the last step
X
Source-measure unit (SMU) channel (for example,
smua.trigger.endsweep.action applies to SMU channel A)
Details
Use this attribute to configure the source action at the end of the sweep. The SMU can be
programmed to return to the idle source level or hold the last value of the sweep.
Example
smua.trigger.endsweep.action = smua.SOURCE_IDLE
Sets SMU channel A to return the source
back to the idle source level at the end of a
sweep.
Also see
Triggering (on page 3-32)
smuX.trigger.IDLE_EVENT_ID
This constant contains the idle event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant Yes
Usage
eventID = smuX.trigger.IDLE_EVENT_ID
eventID
The idle event number
X
Source-measure unit (SMU) channel (for example,
smua.trigger.IDLE_EVENT_ID applies to SMU channel A)
Details
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
idle events from this SMU.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-259
Example
trigger.timer[1].stimulus = smua.trigger.IDLE_EVENT_ID
Trigger timer 1 when the SMU
returns to the idle layer.
Also see
Triggering (on page 3-32)
smuX.trigger.initiate()
This function initiates a sweep operation.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.trigger.initiate()
X
Source-measure unit (SMU) channel (for example, smua.trigger.initiate()
applies to SMU channel A)
Details
This function causes the SMU to clear the four trigger model event detectors and enter its trigger
model (moves the SMU from the idle state into the arm layer).
To perform source actions during the sweep, before calling this function, it is necessary to configure
and enable one of the following sweep source actions:
smuX.trigger.source.linearY()
smuX.trigger.source.listY()
smuX.trigger.source.logY()
To perform measurements during the sweep, you must also configure and enable the measure action
using smuX.trigger.measure.Y().
If you run this function more than once without reconfiguring the sweep measurements, the caches
on the configured measurement reading buffers will hold stale data; use the
bufferVar.clearcache() function to remove stale values from the reading buffer cache.
This function initiates an overlapped operation.
Example
smua.trigger.initiate()
Starts a preconfigured sweep and
clears the event detectors for SMU
channel A.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-260 2600BS-901-01 Rev. C / August 2016
Also see
bufferVar.clearcache() (on page 7-20)
Configuring and running sweeps (on page 3-29)
smuX.trigger.measure.action (on page 7-260)
smuX.trigger.measure.Y() (on page 7-264)
smuX.trigger.source.action (on page 7-266)
smuX.trigger.source.linearY() (on page 7-268)
smuX.trigger.source.listY() (on page 7-269)
smuX.trigger.source.logY() (on page 7-270)
Triggering (on page 3-32)
smuX.trigger.measure.action
This attribute controls measurement actions during a sweep.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0 (smuX.DISABLE)
Usage
action = smuX.trigger.measure.action
smuX.trigger.measure.action = action
action
The sweep measurement action; set to one of the following values:
0 or smuX.DISABLE: Do not make measurements during the sweep
1 or smuX.ENABLE: Make measurements during the sweep
2 or smuX.ASYNC: Make measurements during the sweep, but asynchronously
with the source area of the trigger model
X
Source-measure unit (SMU) channel (for example,
smua.trigger.measure.action
applies to SMU channel A)
Details
With this attribute enabled (setting action to smuX.ENABLE or smuX.ASYNC), configure the
measurement with one of the smuX.trigger.measure.Y() functions.
If this attribute is set to smuX.ASYNC:
Asynchronous sweep measurements can only be used with measure autoranging turned off. To turn
measure autoranging off for all measurements during the sweep, set the
smuX.measure.autorangeY attribute to smuX.AUTORANGE_OFF.
Autozero must also be turned off. To turn off autozero, set the smuX.measure.autozero attribute to
smuX.AUTOZERO_OFF or smuX.AUTOZERO_ONCE.
If either of the above items is incorrectly configured, the smuX.trigger.initiate() function
generates an error.
Also see
smuX.trigger.autoclear (on page 7-253)
smuX.trigger.measure.Y() (on page 7-264)
Triggering (on page 3-32)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command
reference
2600BS-901-01 Rev. C / August 2016 7-261
smuX.trigger.measure.set()
This function sets the measurement event detector to the detected state.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.trigger.measure.set()
X
Source-measure unit (SMU) channel (for example,
smua.trigger.measure.set()
applies to SMU channel A)
Details
This function is useful whenever you want the SMU to continue operation without waiting for a
programmed trigger event. When called, this function immediately satisfies the event detector,
allowing the SMU to continue through the trigger model.
For example, you might use this function to have the SMU immediately perform an action the first
time through the trigger model, even if a programmed trigger event does not occur.
If the event detectors are configured to clear automatically because the smuX.trigger.autoclear
attribute is set to smuX.ENABLE, make sure that smuX.trigger.measure.set() is issued after
the SMU has entered the trigger layer. This function can also be used to start actions on the SMU in
case of a missed trigger event.
The SMU automatically clears all event detectors when the smuX.trigger.initiate() function is
executed. This function should be called after the sweep is initiated.
Example
smua.trigger.measure.set()
Sets the measure event detector of
SMU channel A.
Also see
smuX.trigger.arm.set() (on page 7-250)
smuX.trigger.autoclear (on page 7-253)
smuX.trigger.endpulse.set() (on page 7-255)
smuX.trigger.source.set() (on page 7-271)
smuX.trigger.measure.stimulus
This attribute selects which event will cause the measure event detector to enter the detected state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-262 2600BS-901-01 Rev. C / August 2016
Usage
eventID = smuX.trigger.measure.stimulus
smuX.trigger.measure.stimulus = eventID
eventID
Event that triggers the measurement detector
X
Source-measure unit (SMU) channel (for example,
smua.trigger.measure.stimulus applies to SMU channel A)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-263
Details
Set this attribute to the event ID of any trigger event generator to wait for that event. When set, the
SMU waits for the event at the measurement event detector portion of the trigger model.
Set this attribute to zero to bypass waiting for an event (the SMU continues uninterrupted through the
remote trigger model). Set eventID to one of the existing trigger event IDs shown in the following
table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Example
smua.trigger.measure.stimulus = trigger.timer[1].EVENT_ID
Sets delay before
measurement begins on SMU
channel A.
Also see
Triggering (on page 3-32)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Referenc
e Manual
7-264 2600BS-901-01 Rev. C / August 2016
smuX.trigger.measure.Y()
This function configures the measurements that are to be made in a subsequent sweep.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.trigger.measure.Y(rbuffer)
smuX.trigger.measure.iv(ibuffer, vbuffer)
X
Source-measure unit (SMU) channel (for example, smua.trigger.measure.v()
applies to SMU channel A)
Y
SMU measurement type (v = voltage, i = current, r = resistance, p = power)
rbuffer
A reading buffer object where the readings will be stored
ibuffer
A reading buffer object where current readings will be stored
vbuffer
A reading buffer object where voltage readings will be stored
Details
As measurements are made, they are stored in a reading buffer. If the instrument is configured to
return multiple readings where one is requested, the readings will be available as they are made.
Measurements are in the following units of measure: v = volts, i = amperes, r = ohms, p = watts.
The smuX.trigger.measure.iv() function stores current readings in ibuffer and voltage
readings in vbuffer.
If a given reading buffer contains any data, it is cleared before making any measurements, unless the
reading buffer has been configured to append data.
The SMU only retains the last call to any one of these functions and only that measurement action is
performed.
After configuring the measurements to make with this function, remember to enable the measurement
action by setting smuX.trigger.measure.action = smuX.ENABLE.
Example
smua.trigger.measure.v(vbuffername)
smua.trigger.measure.action = smua.ENABLE
Stores voltage readings during the
sweep for SMU channel A in buffer
vbuffername.
Also see
Reading buffers (on page 3-6)
smuX.measure.Y() (on page 7-229)
smuX.nvbufferY (on page 7-231)
smuX.trigger.measure.action (on page 7-260)
Sweep Operation (on page 3-20)
Triggering (on page 3-32)
waitcomplete() (on page 7-413)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-265
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
This constant contains the measurement complete event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
eventID = smuX.trigger.MEASURE_COMPLETE_EVENT_ID
eventID
The measurement complete event number
X
Source-measure unit (SMU) channel (for example,
smua.trigger.MEASURE_COMPLETE_EVENT_ID
applies to SMU channel A)
Details
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
measure complete events from this SMU.
Also see
Triggering (on page 3-32)
smuX.trigger.PULSE_COMPLETE_EVENT_ID
This constant contains the pulse complete event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
eventID = smuX.trigger.PULSE_COMPLETE_EVENT_ID
eventID
The pulse complete event number
X
Source-measure unit (SMU) channel (for example,
smua.trigger.PULSE_COMPLETE_EVENT_ID
applies to SMU channel A)
Details
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
pulse complete events from this SMU.
Also see
Triggering (on page 3-32)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-266 2600BS-901-01 Rev. C / August 2016
smuX.trigger.source.action
This attribute enables or disables sweeping the source (on or off).
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0 (smuX.DISABLE)
Usage
action = smuX.trigger.source.action
smuX.trigger.source.action = action
action
Sweep source action. Set to one of the following values:
0 or smuX.DISABLE: Do not sweep the source
1
or
smu
X
.ENABLE
: Sweep the source
X
Source-measure unit (SMU) channel (for example,
smua.trigger.source.action
applies to SMU channel A)
Details
This attribute is used to enable or disable source level changes during a sweep. In addition to
enabling the action before initiating the sweep, make sure to configure it using
smuX.trigger.source.linearY(), smuX.trigger.source.listY(), or
smuX.trigger.source.logY().
Example
smua.trigger.source.listv({3, 1, 4, 5, 2})
smua.trigger.source.action = smua.ENABLE
Configure list sweep for SMU
channel A (sweep through
3 V, 1 V, 4 V, 5 V, and 2 V).
Enable the source action.
Also see
smuX.trigger.source.linearY() (on page 7-268)
smuX.trigger.source.listY() (on page 7-269)
smuX.trigger.source.logY() (on page 7-270)
Triggering (on page 3-32)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command ref
erence
2600BS-901-01 Rev. C / August 2016 7-267
smuX.trigger.source.limitY
This attribute sets the sweep source limit.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0 (smuX.LIMIT_AUTO)
Usage
sweepSourceLimit = smuX.trigger.source.limitY
smuX.trigger.source.limitY = sweepSourceLimit
sweepSourceLimit
The source limit that is used during triggered operation; this attribute can be set to a
user-defined value, smuX.LIMIT_AUTO, or smuX.LIMIT_OFF (for
smu
X
.trigger.source.limiti
)
X
Source-measure unit (SMU) channel (for example,
smua.trigger.source.limitv
applies to SMU channel A)
Y
SMU output function (v = voltage, i = current)
Details
Use this attribute to perform extended operating area (EOA) pulse mode sweeps.
If this attribute is set to smuX.LIMIT_AUTO (or 0), the SMU uses the normal limit setting during
sweeping. If this attribute is set to any other numeric value, the SMU will switch in this limit at the start
of the source action and will return to the normal limit setting at the end of the end pulse action.
Normally, the limit range is automatically adjusted in accordance with the limit value. During
sweeping, however, the limit range is fixed in order to avoid the delays associated with changing
range. This fixed limit range is determined by the maximum limit value needed during the sweep; that
is, the greater of either the normal limit value (as specified by smuX.source.limitY) or the sweep
limit value (as specified by smuX.trigger.source.limitY). Note that the minimum limit value
that can be enforced during the sweep is equal to 10 percent of the full scale value of the fixed limit
range. If the smaller limit value (normal or sweep) falls below this 10 percent threshold, the 10
percent value will be enforced instead. Likewise, if the limit value were to fall below the 10 percent
threshold as a result of power compliance, the 10 percent value will be enforced instead.
To disable the source current limit during triggered operation, set the
smuX.trigger.source.limiti attribute equal to smuX.LIMIT_OFF (or "off").
When using the EOA, the SMU will automatically start the end pulse action if the SMU is not triggered
before its maximum pulse width. It will also delay the source action if necessary to limit the pulse duty
cycle to stay within the capabilities of the SMU.
Example
smua.trigger.source.limitv = 10
Sets the voltage sweep limit
of SMU channel A to 10 V.
Also see
Configuring and running sweeps (on page 3-29)
smuX.source.limitY (on page 7-240)
Triggering (on page 3-32)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-268 2600BS-901-01 Rev. C / August 2016
smuX.trigger.source.linearY()
This function configures a linear source sweep.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
smuX.trigger.source.linearY(startValue, endValue, points)
X
Source-measure unit (SMU) channel (for example,
smua.trigger.source.linearv(0, 10, 11)
applies to SMU channel A)
Y
SMU source function (v = voltage, i = current)
startValue
Source value of the first point
endValue
Source value of the last point
points
The number of points used to calculate the step size
Details
This function configures the source action to be a linear source sweep in a subsequent sweep. During
the sweep, the source will generate a uniform series of ascending or descending voltage or current
changes called steps. The number of source steps is one less than the number of sourced points.
The points parameter does not set the number of steps in a sweep, but rather is used to calculate
source values within a subsequent sweep. If the subsequent sweep has more points than specified in
points, the source will restart at the beginning. This means that if the trigger count is greater than
the number of points in a sweep as configured, the SMU will satisfy the trigger count by restarting the
sweep values from the beginning.
If the subsequent sweep has fewer points than specified in points, endValue will not be reached
during the sweep. This means that if the trigger count is less than the number of source values
configured, the SMU will satisfy the trigger count and ignore the remaining source values.
In cases where the first sweep point is a nonzero value, it may be necessary to pre-charge the circuit
so that the sweep will return a stable value for the first measured point without penalizing remaining
points in the sweep.
With linear sweeps it is acceptable to maintain a fixed source resolution over the entire sweep. To
prevent source range changes during the sweep (especially when sweeping through 0.0), set the
source range to a fixed range appropriate for the larger of either startValue or endValue.
The SMU will only store the most recent configured source action. The last call to
smuX.trigger.source.linearY(), smuX.trigger.source.listY(), or
smuX.trigger.source.logY() is used for the source action.
Source functions cannot be changed within a sweep.
After configuring the sweep source values, enable the source action by setting
smuX.trigger.source.action.
Example
smua.trigger.source.linearv(0, 10, 11)
Sweeps SMU channel A from 0 V
to 10 V in 1 V steps.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-269
Also see
smuX.trigger.source.action (on page 7-266)
smuX.trigger.source.listY() (on page 7-269)
smuX.trigger.source.logY() (on page 7-270)
Sweep Operation (on page 3-20)
smuX.trigger.source.listY()
This function configures an array-based source sweep.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
smuX.trigger.source.listY(sweepList)
X
Source-measure unit (SMU) channel (for example,
smua.trigger.source.listv({5})
applies to SMU channel A)
Y
SMU source function (
v
= voltage,
i
= current)
sweepList
An array of source values
Details
This function configures the source action to be a list sweep in a subsequent sweep. During the
sweep, the source will output the sequence of source values given in the sweepList array.
If the subsequent sweep has more points than specified in sweepList, the source will restart at the
beginning. This means that if the trigger count is greater than the number of points in a sweep as
configured, the SMU will satisfy the trigger count by restarting the sweep values from the beginning.
If the subsequent sweep has fewer points than specified in sweepList, the extra values will be
ignored. This means that if the trigger count is less than the number of source values configured, the
SMU will satisfy the trigger count and ignore the remaining source values.
In cases where the first sweep point is a nonzero value, it may be necessary to pre-charge the circuit
so that the sweep will return a stable value for the first measured point without penalizing remaining
points in the sweep.
The SMU will only store the most recent configured source action. The last call to
smuX.trigger.source.linearY(), smuX.trigger.source.listY(), or
smuX.trigger.source.logY() is used for the source action.
Source functions cannot be changed within a sweep.
After configuring the sweep source values, enable the source action by setting
smuX.trigger.source.action.
Example
smua.trigger.source.listv({3, 1, 4, 5, 2})
Sweeps SMU channel A through
3 V, 1 V, 4 V, 5 V, and 2 V.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-270 2600BS-901-01 Rev. C / August 2016
Also see
smuX.trigger.source.action (on page 7-266)
smuX.trigger.source.linearY() (on page 7-268)
smuX.trigger.source.logY() (on page 7-270)
Sweep Operation (on page 3-20)
smuX.trigger.source.logY()
This function configures an exponential (geometric) source sweep.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
smuX.trigger.source.logY(startValue, endValue, points, asymptote)
X
Source-measure unit (SMU) channel (for example, smua.trigger.source.logv(1,
10, 11, 0)
applies to SMU channel A)
Y
SMU source function (v = voltage, i = current)
startValue
Source value of the first point
endValue
Source value of the last point
points
The number of points used to calculate the step size
asymptote
The asymptotic offset value
Details
This function configures the source action to be a geometric source sweep in a subsequent sweep.
During the sweep, the source generates a geometric series of ascending or descending voltage or
current changes called steps. Each step is larger or smaller than the previous step by a fixed
proportion. The constant of proportionality is determined by the starting value, the ending value, the
asymptote, and the number of steps in the sweep. The number of source steps is one less than the
number of sourced points.
The points parameter does not set the number of steps in a sweep, but rather is used to calculate
source values within a subsequent sweep. If the subsequent sweep has more points than specified in
points, the source restarts at the beginning. This means that if the trigger count is greater than the
number of points in a sweep as configured, the SMU satisfies the trigger count by restarting the
sweep values from the beginning.
If the subsequent sweep has fewer points than specified in points, endValue is not reached during
the sweep. This means that if the trigger count is less than the number of source values configured,
the SMU satisfies the trigger count and ignores the remaining source values.
In cases where the first sweep point is nonzero, it may be necessary to pre-charge the circuit so that
the sweep returns a stable value for the first measured point without penalizing remaining points in
the sweep.
With logarithmic sweeps, it is usually necessary to allow the source to autorange to maintain good
source accuracy when sweeping over more than one decade or across range boundaries.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-271
The asymptote parameter can be used to customize the inflection and offset of the source value
curve. This allows log sweeps to cross zero. Setting this parameter to zero provides a conventional
logarithmic sweep. The asymptote value is the value that the curve has at either positive or negative
infinity, depending on the direction of the sweep.
The asymptote value must not be equal to or between the starting and ending values. It must be
outside the range defined by the starting and ending values.
The SMU stores only the most recent configured source action. The last call to
smuX.trigger.source.linearY(), smuX.trigger.source.listY(), or
smuX.trigger.source.logY() is used for the source action.
Source functions cannot be changed within a sweep.
After configuring the sweep source values, enable the source action by setting
smuX.trigger.source.action.
Example
smua.trigger.source.logv(1, 10, 11, 0)
Sweeps SMU channel A from 1 V
to 10 V in 10 steps with an
asymptote of 0 V.
Also see
smuX.trigger.source.action (on page 7-266)
smuX.trigger.source.linearY() (on page 7-268)
smuX.trigger.source.listY() (on page 7-269)
Sweep operation (on page 3-20)
smuX.trigger.source.set()
This function sets the source event detector to the detected state.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
smuX.trigger.source.set()
X
Source-measure unit (SMU) channel (for example,
smua.trigger.source.set()
applies to SMU channel A)
Details
This function sets the source event detector to the detected state.
The SMU automatically clears all event detectors when the smuX.trigger.initiate() function is
executed. This function should be called after the sweep is initiated. If the event detectors are
configured to clear automatically because the smuX.trigger.autoclear attribute is set to
smuX.ENABLE, make sure that smuX.trigger.source.set() is issued after the SMU has
entered the trigger layer.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-272 2600BS-901-01 Rev. C / August 2016
Also see
smuX.trigger.arm.set() (on page 7-250)
smuX.trigger.autoclear (on page 7-253)
smuX.trigger.endpulse.set() (on page 7-255)
smuX.trigger.initiate() (on page 7-259)
smuX.trigger.measure.set() (on page 7-261)
Triggering (on page 3-32)
smuX.trigger.source.stimulus
This attribute defines which event causes the source event detector to enter the detected state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
SMU reset
Instrument reset
Recall setup
Not saved
0
Usage
eventID = smuX.trigger.source.stimulus
smuX.trigger.source.stimulus = eventID
eventID
Set to the event that triggers the end pulse source off action
X
Source-measure (SMU) channel (for example,
smua.trigger.source.stimulus
applies to SMU channel A)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP com
mand reference
2600BS-901-01 Rev. C / August 2016 7-273
Details
Set this attribute to the event ID of any trigger event generator to wait for that event. When set, the
SMU waits for the event at the source event detector portion of the trigger model. To bypass waiting
for an event, set this attribute's value to zero (0). Set eventID to one of the existing trigger event
IDs shown in the following table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Example
smua.trigger.source.stimulus = digio.trigger[2].EVENT_ID
Configure SMU channel A to
start its source action when a
trigger event occurs on digital
I/O line 2.
Also see
Triggering (on page 3-32)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-274 2600BS-901-01 Rev. C / August 2016
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
This constant contains the source complete event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
eventID = smuX.trigger.SOURCE_COMPLETE_EVENT_ID
eventID
The source action complete event number
X
Source-measure unit (SMU) channel (for example,
smua.trigger.SOURCE_COMPLETE_EVENT_ID
applies to SMU channel A)
Details
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
source complete events from this source-measure unit (SMU).
Also see
Triggering (on page 3-32)
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
This constant contains the sweep complete event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant Yes
Usage
eventID = smuX.trigger.SWEEP_COMPLETE_EVENT_ID
eventID
The sweep complete event number
X
Source-measure unit (SMU) channel (for example,
smua.trigger.SWEEP_COMPLETE_EVENT_ID
applies to SMU channel A)
Details
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
sweep complete events from this SMU.
Also see
Triggering (on page 3-32)
smuX.trigger.SWEEPING_EVENT_ID
This constant contains the sweeping event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-275
Usage
eventID = smuX.trigger.SWEEPING_EVENT_ID
eventID
The sweeping event number
X
Source-measure unit (SMU) channel (for example,
smua.trigger.SWEEPING_EVENT_ID
applies to SMU channel A)
Details
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
sweeping events from this SMU.
Also see
Triggering (on page 3-32)
status.condition
This attribute stores the status byte condition register.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Not applicable Not saved Not applicable
Usage
statusByte = status.condition
statusByte
The status byte; a zero (0) indicates no bits set; other values indicate various bit
settings
Details
This attribute is used to read the status byte, which is returned as a numeric value. The binary
equivalent of the value of this attribute indicates which register bits are set. In the binary equivalent,
the least significant bit is bit B0, and the most significant bit is bit B7. For example, if a value of
1.29000e+02 (which is 129) is read as the value of this register, the binary equivalent is 1000 0001.
This value indicates that bit B0 and bit B7 are set.
B7 B6 B5 B4 B3 B2 B1 B0
**
>
>
>
>
>
>
*
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
The returned value can indicate one or more status events occurred. When an enabled status event
occurs, a summary bit is set in this register to indicate the event occurrence.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Refe
rence Manual
7-276 2600BS-901-01 Rev. C / August 2016
The individual bits of this register have the following meanings:
Bit Value Description
B0
status.MEASUREMENT_SUMMARY_BIT
status.MSB
Set summary bit indicates that an enabled measurement
event has occurred.
Bit B0 decimal value: 1
B1
status.SYSTEM_SUMMARY_BIT
status.SSB
This bit is only available on Models
2601B/2602B/2611B/2612B/2635B/2636B. Set
summary bit indicates that an enabled system event has
occurred.
Bit B1 decimal value: 2
B2
status.ERROR_AVAILABLE
status.EAV
Set summary bit indicates that an error or status
message is present in the Error Queue.
Bit B2 decimal value: 4
B3
status.QUESTIONABLE_SUMMARY_BIT
status.QSB
Set summary bit indicates that an enabled questionable
event has occurred.
Bit B3 decimal value: 8
B4
status.MESSAGE_AVAILABLE
status.MAV
Set summary bit indicates that a response message is
present in the Output Queue.
Bit B4 decimal value: 16
B5
status.EVENT_SUMMARY_BIT
status.ESB
Set summary bit indicates that an enabled standard
event has occurred.
Bit B5 decimal value: 32
B6
status.MASTER_SUMMARY_STATUS
status.MSS
Request Service (RQS)/Master Summary Status (MSS).
Depending on how it is used, bit B6 of the status byte
register is either the Request for Service (RQS) bit or
the Master Summary Status (MSS) bit:
When using the GPIB, USB, or VXI-11 serial poll
sequence of the Series 2600B to obtain the
status byte (serial poll byte), B6 is the RQS bit.
The set bit indicates that the Request Service
(RQS) bit of the status byte (serial poll byte) is
set and a service request (SRQ) has occurred.
When using the status.condition register
command or the *STB? common command to
read the status byte, B6 is the MSS bit. Set bit
indicates that an enabled summary bit of the
status byte register is set.
Bit B6 decimal value: 64
B7
status.OPERATION_SUMMARY_BIT
status.OSB
Set summary bit indicates that an enabled operation
event has occurred.
Bit B7 decimal value: 128
In addition to the above constants, when more than one bit of the register is set, statusByte
equals the sum of their decimal weights. For example, if 129 is returned, bits B0 and B7 are set (1 +
128).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-277
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Example
statusByte = status.condition
print(statusByte)
Returns
statusByte
.
Sample output:
1.29000e+02
Converting this output (129) to its binary equivalent
yields 1000 0001
Therefore, this output indicates that the set bits of
the status byte condition register are presently B0
(MSS) and B7 (OSB).
Also see
Status byte and service request (SRQ) (on page E-15)
status.measurement.*
This attribute contains the measurement event register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R) Yes Not applicable Not saved Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
10,627 (All bits set)
Usage
measurementRegister = status.measurement.condition
measurementRegister = status.measurement.enable
measurementRegister = status.measurement.event
measurementRegister = status.measurement.ntr
measurementRegister = status.measurement.ptr
status.measurement.enable = measurementRegister
status.measurement.ntr = measurementRegister
status.measurement.ptr = measurementRegister
measurementRegister
The status of the measurement event register; a zero (0) indicates no bits
set (also send 0 to clear all bits); other values indicate various bit settings
Details
These attributes read or write the measurement event registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For example, assume value 257 is returned for the enable register. The binary equivalent is
0000 0001 0000 0001. This value indicates that bit B0 (VLMT) and bit B8 (BAV) are set.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-278 2600BS-901-01 Rev. C / August 2016
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.measurement.VOLTAGE_LIMIT
status.measurement.VLMT
Set bit is a summary of the
status.measurement.voltage_limit register.
Bit B0 decimal value: 1
B1
status.measurement.CURRENT_LIMIT
status.measurement.ILMT
Set bit is a summary of the
status.measurement.current_limit register.
Bit B1 decimal value: 2
B2-B6
Not used
Not applicable
B7
status.measurement.READING_OVERFLOW
status.measurement.ROF
Set bit is a summary of the
status.measurement.reading_overflow
register.
Bit B7 decimal value: 128
B8
status.measurement.BUFFER_AVAILABLE
status.measurement.BAV
Set bit is a summary of the
status.measurement.buffer_available
register.
Bit B8 decimal value: 256
B9-B10
Not used
Not applicable
B11
status.measurement.OUTPUT_ENABLE
status.measurement.OE
Model 2601B/2602B/2604B: output enable line. Set
bit indicates that output enable has been asserted.
Bit B11 decimal value: 2,048
status.measurement.INTERLOCK
status.measurement.INT
Model 2611B/2612B/2614B/2634B/2635B/2636B:
interlock line. Set bit indicates that interlock has been
asserted.
Bit B11 decimal value: 2,048
B12 Not used Not applicable
B13
status.measurement.INSTRUMENT_SUMMARY
status.measurement.INST
Set bit indicates that a bit in the measurement
instrument summary register is set.
Bit B13 decimal value: 8,192
B14-B15
Not used
Not applicable
As an example, to set bit B8 of the measurement event enable register, set
status.measurement.enable = status.measurement.BAV.
In addition to the above constants, measurementRegister can be set to the decimal equivalent of
the bit to set. To set more than one bit of the register, set measurementRegister to the sum of
their decimal weights. For example, to set bits B1 and B8, set measurementRegister to 258
(which is the sum of 2 + 256).
Bit
B7
B6
B5
B4
B3
B2
B1
B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal 128 64 32 16 8 4 2 1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command
reference
2600BS-901-01 Rev. C / August 2016 7-279
Bit B15 B14 B13 B12 B11 B10 B9 B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal 32,768 16,384 8,192 4,096 2,048 1,024 512 256
Weights
(2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
status.measurement.enable = status.measurement.BAV
Sets the BAV bit of the
measurement event enable register.
Also see
Measurement event registers (on page E-8)
status.measurement.buffer_available.*
This attribute contains the measurement event buffer available summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B:
6 (All bits set)
Usage
measurementRegister = status.measurement.buffer_available.condition
measurementRegister = status.measurement.buffer_available.enable
measurementRegister = status.measurement.buffer_available.event
measurementRegister = status.measurement.buffer_available.ntr
measurementRegister = status.measurement.buffer_available.ptr
status.measurement.buffer_available.enable = measurementRegister
status.measurement.buffer_available.ntr = measurementRegister
status.measurement.buffer_available.ptr = measurementRegister
measurementRegister
The status of the measurement event register; a zero (0) indicates no bits set
(also send 0 to clear all bits); other values indicate various bit settings
Details
These attributes are used to read or write to the measurement event buffer available summary
registers. Reading a status register returns a value. The binary equivalent of the returned value
indicates which register bits are set. The least significant bit of the binary number is bit B0, and the
most significant bit is bit B15. For example, assume value 6 is returned for the enable register. The
binary equivalent is 0000 0000 0000 0110. This value indicates that bit B1 (SMUA) and bit B2
(SMUB) are set.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-280 2600BS-901-01 Rev. C / August 2016
Bit Value Description
B0
Not used
Not applicable.
B1
status.measurement.buffer_available.SMUA
Set bit indicates that there is at least one
reading stored in either or both of the dedicated
reading buffers.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.measurement.buffer_available.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set
bit indicates that there is at least one reading
stored in either or both of the dedicated reading
buffers.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
As an example, to set bit B1 of the measurement event buffer available summary enable register, set
status.measurement.buffer_available.enable =
status.measurement.buffer_available.SMUA.
In addition to the above constants, measurementRegister can be set to the decimal equivalent of
the bit to set. To set more than one bit of the register, set measurementRegister to the sum of
their decimal weights. For example, to set bits B1 and B2, set measurementRegister to 6 (which is
the sum of 2 + 4).
Example
status.measurement.buffer_available.enable =
status.measurement.buffer_available.SMUA
Sets the SMUA bit of the
measurement event buffer available
summary enable register.
Also see
Measurement event registers (on page E-8)
status.measurement.current_limit.*
This attribute contains the measurement event current limit summary registers.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved Models 2601B/2611B/2635B: 2 (All bits
set)
Models
2602B/2604B/2612B/2614B/2634B/
2636B: 6 (All bits set)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-281
Usage
measurementRegister = status.measurement.current_limit.condition
measurementRegister = status.measurement.current_limit.enable
measurementRegister = status.measurement.current_limit.event
measurementRegister = status.measurement.current_limit.ntr
measurementRegister = status.measurement.current_limit.ptr
status.measurement.current_limit.enable = measurementRegister
status.measurement.current_limit.ntr = measurementRegister
status.measurement.current_limit.ptr = measurementRegister
measurementRegister
The status of the measurement event current limit summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various
bit settings
Details
These attributes are used to read or write to the measurement event current limit summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For example, assume value 6 is returned for the enable register. The binary equivalent is
0000 0000 0000 0110. This value indicates that bit B1 (SMUA) and bit B2 (SMUB) are set.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.measurement.current_limit.SMUA
Set bit indicates that the SMU A current limit
was exceeded.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.measurement.current_limit.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set
bit indicates that the SMU B current limit was
exceeded.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
As an example, to set bit B1 of the measurement event current limit summary enable register, set
status.measurement.current_limit.enable =
status.measurement.current_limit.SMUA.
In addition to the above constants, measurementRegister can be set to the decimal equivalent of
the bit to set. To set more than one bit of the register, set measurementRegister to the sum of
their decimal weights. For example, to set bits B1 and B2, set measurementRegister to 6 (which is
the sum of 2 + 4).
Example
status.measurement.current_limit.enable =
status.measurement.current_limit.SMUA
Sets the SMUA bit of the
Measurement Event Current Limit
Summary Enable Register.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Referenc
e Manual
7-282 2600BS-901-01 Rev. C / August 2016
Also see
Measurement event registers (on page E-8)
status.measurement.instrument.smuX.* (on page 7-283)
status.measurement.instrument.*
This attribute contains the registers of the measurement event instrument summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW) Yes Status reset Not saved 0
.ptr (RW)
Yes
Status reset
Not saved
Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B:
6 (All bits set)
Usage
measurementRegister = status.measurement.instrument.condition
measurementRegister = status.measurement.instrument.enable
measurementRegister = status.measurement.instrument.event
measurementRegister = status.measurement.instrument.ntr
measurementRegister = status.measurement.instrument.ptr
status.measurement.instrument.enable = measurementRegister
status.measurement.instrument.ntr = measurementRegister
status.measurement.instrument.ptr = measurementRegister
measurementRegister
The status of the measurement event instrument summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various
bit settings
Details
These attributes are used to read or write to the measurement event instrument summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, assume the value 6 is returned for the enable register. The binary equivalent
is 0000 0000 0000 0110. This value indicates that bit B1 (SMUA) and bit B2 (SMUB) are set.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-283
Bit Value Description
B0
Not used
Not applicable.
B1
status.measurement.instrument.SMUA
Set bit indicates one or more enabled bits of
the measurement event SMU A summary
register is set.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.measurement.instrument.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set
bit indicates one or more enabled bits of the
measurement event SMU B summary register
is set.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
As an example, to set bit B1 of the measurement event instrument summary enable register, set
status.measurement.instrument.enable = status.measurement.instrument.SMUA.
In addition to the above constants, measurementRegister can be set to the decimal equivalent of
the bit to set. To set more than one bit of the register, set measurementRegister to the sum of
their decimal weights. For example, to set bits B1 and B2, set measurementRegister to 6 (which is
the sum of 2 + 4).
Example
status.measurement.instrument.enable =
status.measurement.instrument.SMUA
Sets the SMU A bit of the
measurement event instrument
summary enable register using a
constant.
Also see
Measurement event registers (on page E-8)
status.measurement.instrument.smuX.*
This attribute contains the registers of the measurement event SMU X summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved 387 (All bits set)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-284 2600BS-901-01 Rev. C / August 2016
Usage
measurementRegister = status.measurement.instrument.smuX.condition
measurementRegister = status.measurement.instrument.smuX.enable
measurementRegister = status.measurement.instrument.smuX.event
measurementRegister = status.measurement.instrument.smuX.ntr
measurementRegister = status.measurement.instrument.smuX.ptr
status.measurement.instrument.smuX.enable = measurementRegister
status.measurement.instrument.smuX.ntr = measurementRegister
status.measurement.instrument.smuX.ptr = measurementRegister
measurementRegister
The status of the instrument measurement status SMU X summary register; a
zero (0) indicates no bits set (also send 0 to clear all bits); other values indicate
various bit settings
X
Source-measure unit (SMU) channel (for example
status.measurement.instrument.smua.enable applies to SMU
channel A)
Details
These attributes are used to read or write to the measurement event SMU X summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, assume the value 257 is returned for the enable register. The binary
equivalent is 0000 0001 0000 0001. This value indicates that bit B0 (VLMT) and bit B8 (BAV) are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command ref
erence
2600BS-901-01 Rev. C / August 2016 7-285
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0*
status.measurement.instrument.smuX.VOLTAGE_LIMIT
status.measurement.instrument.smuX.VLMT
Set bit indicates that the
voltage limit was
exceeded.
Bit B0 decimal value: 1
B1*
status.measurement.instrument.smuX.CURRENT_LIMIT
status.measurement.instrument.smuX.ILMT
Set bit indicates that the
current limit was exceeded.
Bit B1 decimal value: 2
B2-B6
Not used
Not applicable.
B7
status.measurement.instrument.smuX.READING_OVERFLOW
status.measurement.instrument.smuX.ROF
Set bit indicates that an
overflow reading has been
detected.
Bit B7 decimal value: 128
B8
status.measurement.instrument.smuX.BUFFER_AVAILABLE
status.measurement.instrument.smuX.BAV
Set bit indicates that there
is at least one reading
stored in either or both of
the dedicated reading
buffers.
Bit B8 decimal value: 256
B9-B15
Not used
Not applicable.
* This bit will be updated only when a measurement is taken or smu
X
.source.compliance is invoked.
As an example, to set bit B0 of the measurement event SMU X summary enable register, set
status.measurement.instrument.smua.enable =
status.measurement.instrument.smua.VLMT.
In addition to the above constants, measurementRegister can be set to the decimal equivalent of
the bit to set. To set more than one bit of the register, set measurementRegister to the sum of
their decimal weights. For example, to set bits B1 and B8, set measurementRegister to 258
(which is the sum of 2 + 256).
Bit
B7
B6
B5
B4
B3
B2
B1
B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal 128 64 32 16 8 4 2 1
Weights
(27)
(26)
(25)
(24)
(23)
(22)
(21)
(20)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
status.measurement.instrument.smua.enable =
status.measurement.instrument.smua.VLMT
Sets the VLMT bit of the
measurement event SMU A
summary enable register
using a constant.
Also see
Measurement event registers (on page E-8)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-286 2600BS-901-01 Rev. C / August 2016
status.measurement.reading_overflow.*
This attribute contains the measurement event reading overflow summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B: 6
(All bits set)
Usage
measurementRegister = status.measurement.reading_overflow.condition
measurementRegister = status.measurement.reading_overflow.enable
measurementRegister = status.measurement.reading_overflow.event
measurementRegister = status.measurement.reading_overflow.ntr
measurementRegister = status.measurement.reading_overflow.ptr
status.measurement.reading_overflow.enable = measurementRegister
status.measurement.reading_overflow.ntr = measurementRegister
status.measurement.reading_overflow.ptr = measurementRegister
measurementRegister
The status of the measurement reading overflow summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various
bit settings
Details
These attributes are used to read or write to the measurement event reading overflow summary
registers. Reading a status register returns a value. The binary equivalent of the returned value
indicates which register bits are set. The least significant bit of the binary number is bit B0, and the
most significant bit is bit B15. For example, assume the value 2 is returned for the enable register.
The binary equivalent is 0000 0000 0000 0010. This value indicates that bit B1 (SMUA) is set.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.measurement.reading_overflow.SMUA
Set bit indicates that an overflow reading has
been detected for SMU A.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.measurement.reading_overflow.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set
bit indicates that an overflow reading has been
detected for SMU B.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-287
As an example, to set bit B1 of the measurement event reading overflow summary enable register,
set status.measurement.reading_overflow.enable =
status.measurement.reading_overflow.SMUA.
In addition to the above constants, measurementRegister can be set to the numeric equivalent of
the bit to set. To set more than one bit of the register, set measurementRegister to the sum of
their decimal weights. For example, to set bits B1 and B2, set measurementRegister to 6 (which is
the sum of 2 + 4).
Example
status.measurement.reading_overflow.enable =
status.measurement.reading_overflow.SMUA
Sets the SMU A bit of the
measurement reading overflow
summary enable register using a
constant.
Also see
Measurement event registers (on page E-8)
status.measurement.voltage_limit.*
This attribute contains the measurement event voltage limit summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B: 6
(All bits set)
Usage
measurementRegister = status.measurement.voltage_limit.condition
measurementRegister = status.measurement.voltage_limit.enable
measurementRegister = status.measurement.voltage_limit.event
measurementRegister = status.measurement.voltage_limit.ntr
measurementRegister = status.measurement.voltage_limit.ptr
status.measurement.voltage_limit.enable = measurementRegister
status.measurement.voltage_limit.ntr = measurementRegister
status.measurement.voltage_limit.ptr = measurementRegister
measurementRegister
The status of the measurement voltage limit summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other decimal values
indicate various bit settings
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument Reference Ma
nual
7-288 2600BS-901-01 Rev. C / August 2016
Details
These attributes read or write to the measurement event voltage limit summary registers. Reading a
status register returns a value. The binary equivalent of the returned value indicates which register
bits are set. The least significant bit of the binary number is bit B0, and the most significant bit is bit
B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.measurement.voltage_limit.SMUA
Set bit indicates the enabled VLMT bit for the
SMU A measurement register is set.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.measurement.voltage_limit.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set
bit indicates the enabled VLMT bit for the SMU
B measurement register is set.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15 Not used Not applicable.
As an example, to set bit B1 of the measurement event voltage limit summary enable register, set
status.measurement.voltage_limit.enable =
status.measurement.voltage_limit.SMUA.
In addition to the above constants, measurementRegister can be set to the decimal equivalent of
the bit to set. To set more than one bit of the register, set measurementRegister to the sum of
their decimal weights. For example, to set bits B1 and B2, set measurementRegister to 6 (which is
the sum of 2 + 4).
Example
status.measurement.voltage_limit.enable =
status.measurement.voltage_limit.SMUA
Sets the SMUA bit of the
measurement event voltage limit
summary enable register using a
constant.
Also see
Measurement event registers (on page E-8)
status.node_enable
This attribute stores the system node enable register. This attribute is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Status reset Not saved 0
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-289
Usage
nodeEnableRegister = status.node_enable
status.node_enable = nodeEnableRegister
nodeEnableRegister
The status of the system node enable register; a zero (0) indicates no bits set (also
send 0 to clear all bits); other values indicate various bit settings
Details
This attribute is used to read or write to the system node enable register. Reading the system node
enable register returns a value. The binary equivalent of the value indicates which register bits are
set. In the binary equivalent, the least significant bit is bit B0, and the most significant bit is bit B7. For
example, assume the value of 1.29000e+02 (which is 129) is returned for the system node enable
register, the binary equivalent is 1000 0001. This value indicates that bit B0 and bit B7 are set.
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
*
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
Assigning a value to this attribute enables one or more status events. When an enabled status event
occurs, a summary bit is set in the appropriate system summary register. The register and bit that is
set depends on the TSP-Link node number assigned to this instrument.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.MEASUREMENT_SUMMARY_BIT
status.MSB Set summary bit indicates that an enabled measurement
event has occurred.
Bit B0 decimal value: 1
B1 Not used Not applicable.
B2
status.ERROR_AVAILABLE
status.EAV
Set summary bit indicates that an error or status
message is present in the Error Queue.
Bit B2 decimal value: 4
B3
status.QUESTIONABLE_SUMMARY_BIT
status.QSB
Set summary bit indicates that an enabled questionable
event has occurred.
Bit B3 decimal value: 8
B4
status.MESSAGE_AVAILABLE
status.MAV Set summary bit indicates that a response message is
present in the Output Queue.
Bit B4 decimal value: 16
B5
status.EVENT_SUMMARY_BIT
status.ESB Set summary bit indicates that an enabled standard
event has occurred.
Bit B5 decimal value: 32
B6
status.MASTER_SUMMARY_STATUS
status.MSS Set bit indicates that an enabled Master Summary
Status (MSS) bit of the Status Byte Register is set.
Bit B6 decimal value: 64
B7
status.OPERATION_SUMMARY_BIT
status.OSB
Set summary bit indicates that an enabled operation
event has occurred.
Bit B7 decimal value: 128
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-290 2600BS-901-01 Rev. C / August 2016
As an example, to set the B0 bit of the system node enable register, set status.node_enable =
status.MSB.
In addition to the above values, nodeEnableRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set nodeEnableRegister to the sum of their
decimal weights. For example, to set bits B0 and B7, set nodeEnableRegister to 129 (1 + 128).
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights (2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Example 1
nodeEnableRegister = status.MSB + status.OSB
status.node_enable = nodeEnableRegister
Sets the MSB and OSB bits of the
system node enable register using
constants.
Example 2
-- decimal 129 = binary 10000001
nodeEnableRegister = 129
status.node_enable = nodeEnableRegister
Sets the MSB and OSB bits of the
system node enable register using a
decimal value.
Also see
status.condition (on page 7-275)
status.system.* (on page 7-347)
Status byte and service request (SRQ) (on page E-15)
status.node_event
This attribute stores the status node event register.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not saved
0
Usage
nodeEventRegister = status.node_event
nodeEventRegister
The status of the node event register; a zero (0) indicates no bits set; other values
indicate various bit settings
Details
This attribute is used to read the status node event register, which is returned as a numeric value
(reading this register returns a value). The binary equivalent of the value of this attribute indicates
which register bits are set. In the binary equivalent, the least significant bit is bit B0, and the most
significant bit is bit B7. For example, if a value of 1.29000e+02 (which is 129) is read as the value of
this register, the binary equivalent is 1000 0001. This value indicates that bit B0 and bit B7 are set.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7: TSP command referen
ce
2600BS-901-01 Rev. C / August 2016 7-291
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
*
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
The returned value can indicate one or more status events occurred.
Bit Value Description
B0
status.MEASUREMENT_SUMMARY_BIT
status.MSB
Set summary bit indicates that an enabled measurement
event has occurred.
Bit B0 decimal value: 1
B1
Not used
Not applicable
B2
status.ERROR_AVAILABLE
status.EAV
Set summary bit indicates that an error or status message
is present in the Error Queue.
Bit B2 decimal value: 4
B3
status.QUESTIONABLE_SUMMARY_BIT
status.QSB
Set summary bit indicates that an enabled questionable
event has occurred.
Bit B3 decimal value: 8
B4
status.MESSAGE_AVAILABLE
status.MAV
Set summary bit indicates that a response message is
present in the Output Queue.
Bit B4 decimal value: 16
B5
status.EVENT_SUMMARY_BIT
status.ESB
Set summary bit indicates that an enabled standard event
has occurred.
Bit B5 decimal value: 32
B6
status.MASTER_SUMMARY_STATUS
status.MSS Set bit indicates that an enabled Master Summary Status
(MSS) bit of the Status Byte register is set.
Bit B6 decimal value: 64
B7
status.OPERATION_SUMMARY_BIT
status.OSB Set summary bit indicates that an enabled operation event
has occurred.
Bit B7 decimal value: 128
In addition to the above constants, nodeEventRegister can be set to the decimal equivalent of the
bits set. When more than one bit of the register is set, nodeEventRegister contains the sum of
their decimal weights. For example, if 129 is returned, bits B0 and B7 are set (1 + 128).
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Example
nodeEventRegister = status.node_event
print(nodeEventRegister)
Reads the status node event register.
Sample output:
1.29000e+02
Converting this output (129) to its binary
equivalent yields 1000 0001
Therefore, this output indicates that the set bits
of the status byte condition register are presently
B0 (MSB) and B7 (OSB).
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-292 2600BS-901-01 Rev. C / August 2016
Also see
Status byte and service request (SRQ) (on page E-15)
status.condition (on page 7-275)
status.system.* (on page 7-347)
status.operation.*
These attributes manage the operation status register set of the status model.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
31,769 (All bits set)
Usage
operationRegister = status.operation.condition
operationRegister = status.operation.enable
operationRegister = status.operation.event
operationRegister = status.operation.ntr
operationRegister = status.operation.ptr
status.operation.enable = operationRegister
status.operation.ntr = operationRegister
status.operation.ptr = operationRegister
operationRegister
The status of the operation status register; a zero (0) indicates no bits set (also send
0 to clear all bits); other values indicate various bit settings
Details
These attributes read or write the operation status registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, if a value of 2.04800e+04 (which is 20,480) is read as the value of the
condition register, the binary equivalent is 0101 0000 0000 0000. This value indicates that bit B14
(PROGRAM_RUNNING) and bit B12 (USER) are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-293
Bit Value Description
B0
status.operation.CALIBRATING
status.operation.CAL
Set bit indicates that the summary bit of the
status.operation.calibrating register has been
set.
Bit B0 decimal value: 1
B1-B2
Not used
Not applicable
B3
status.operation.SWEEPING
status.operation.SWE
Set bit indicates that the summary bit from the
status.operation.sweeping register is set.
Bit B3 decimal value: 8
B4
status.operation.MEASURING
status.operation.MEAS
Set bit indicates that the summary bit of the
status.operation.measuring register is set.
Bit B4 decimal value: 16
B5-B9 Not used Not applicable
B10
status.operation.TRIGGER_OVERRUN
status.operation.TRGOVR
Set bit indicates that the summary bit from the
status.operation.trigger_overrun register is set.
Bit B10 decimal value: 1,024
B11
status.operation.REMOTE_SUMMARY
status.operation.REM
Set bit indicates that the summary bit of the
status.operation.remote register is set.
Bit B11 decimal value: 2,048
B12
status.operation.USER
Set bit indicates that the summary bit from the
status.operation.user register is set.
Bit B12 decimal value: 4,096
B13
status.operation.INSTRUMENT_SUMMARY
status.operation.INST
Set bit indicates that the summary bit from the
status.operation.instrument register is set.
Bit B13 decimal value: 8,192
B14
status.operation.PROGRAM_RUNNING
status.operation.PROG
Set bit indicates that a command or program is running.
Bit B14 decimal value: 16,384
B15
Not used
Not applicable
As an example, to set bit B12 of the operation status enable register, set
status.operation.enable = status.operation.USER.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B12 and B14, set operationRegister to 20,480 (which
is the sum of 4,096 + 16,384).
Bit
B7
B6
B5
B4
B3
B2
B1
B0
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(27)
(26)
(25)
(24)
(23)
(22)
(21)
(20)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal 32,768 16,384 8,192 4,096 2,048 1,024 512 256
Weights
(2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example 1
operationRegister = status.operation.USER +
status.operation.PROG
status.operation.enable = operationRegister
Sets the USER and PROG bits of the
operation status enable register using
constants.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-294 2600BS-901-01 Rev. C / August 2016
Example 2
-- decimal 20480 = binary 0101 0000 0000 0000
operationRegister = 20480
status.operation.enable = operationRegister
Sets the USER and PROG bits of the
operation status enable register using a
decimal value.
Also see
Operation Status Registers (on page E-9)
status.operation.calibrating.*
This attribute contains the operation status calibration summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B: 6
(All bits set)
Usage
operationRegister = status.operation.calibrating.condition
operationRegister = status.operation.calibrating.enable
operationRegister = status.operation.calibrating.event
operationRegister = status.operation.calibrating.ntr
operationRegister = status.operation.calibrating.ptr
status.operation.calibrating.enable = operationRegister
status.operation.calibrating.ntr = operationRegister
status.operation.calibrating.ptr = operationRegister
operationRegister
The status of the operation calibrating event register; a zero (0) indicates no bits set
(also send 0 to clear all bits); other values indicate various bit settings
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-295
Details
These attributes are used to read or write to the operation status calibration summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.operation.calibrating.SMUA
Set bit indicates that SMU A is unlocked for
calibration.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.operation.calibrating.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set bit
indicates that SMU B is unlocked for calibration.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
Example
status.operation.calibrating.enable =
status.operation.calibrating.SMUA
Sets the SMUA bit of the operation
status calibration summary enable
register using a constant.
Also see
Operation Status Registers (on page E-9)
status.operation.* (on page 7-292)
status.operation.instrument.*
This attribute contains the operation status instrument summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved Models 2601B/2611B/2635B:
31,746 (All bits set)
Models 2602B/2612B/2636B:
31,750 (All bits set)
Models 2604B/2614B/2634B:
19,462 (All bits set)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-296 2600BS-901-01 Rev. C / August 2016
Usage
operationRegister = status.operation.instrument.condition
operationRegister = status.operation.instrument.enable
operationRegister = status.operation.instrument.event
operationRegister = status.operation.instrument.ntr
operationRegister = status.operation.instrument.ptr
status.operation.instrument.enable = operationRegister
status.operation.instrument.ntr = operationRegister
status.operation.instrument.ptr = operationRegister
operationRegister
The status of the operation event register; a zero (0) indicates no bits set (also send
0 to clear all bits); other values indicate various bit settings
Details
These attributes are used to read or write to the operation status instrument summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, if a value of 1.02600e+03 (which is 1,026) is read as the value of the
condition register, the binary equivalent is 0000 0100 0000 0010. This value indicates that bit B1 and
bit B10 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
* Least significant bit
** Most significant bit
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-297
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.operation.instrument.SMUA
Set bit indicates one or more
enabled bits for the operation
status SMU A summary register is
set.
Bit B1 decimal value: 2
B2
status.operation.instrument.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B
/2636B. Set bit indicates one or
more enabled bits for the operation
status SMU B summary register is
set.
Bit B2 decimal value: 4
B3-B9
Not used
Not applicable.
B10
status.operation.instrument.TRIGGER_BLENDER
status.operation.instrument.TRGBLND
Set bit indicates one or more
enabled bits for the operation
status trigger blender summary
register is set.
Bit B10 decimal value: 1,024.
B11
status.operation.instrument.TRIGGER_TIMER
status.operation.instrument.TRGTMR
Set bit indicates one or more
enabled bits for the operation
status trigger timer summary
register is set.
Bit B11 decimal value: 2,048
B12
status.operation.instrument.DIGITAL_IO
status.operation.instrument.DIGIO
This bit is only available on Models
2601B/2602B/2611B/
2612B/2635B/2636B. Set bit
indicates one or more enabled bits
for the operation status digital I/O
summary register is set.
Bit B12 decimal value: 4,096
B13
status.operation.instrument.TSPLINK
This bit is only available on Models
2601B/2602B/2611B/
2612B/2635B/2636B. Set bit
indicates one or more enabled bits
for the operation status TSP-Link
summary register is set.
Bit B13 decimal value: 8,192
B14
status.operation.instrument.LAN
Set bit indicates one or more
enabled bits for the operation
status LAN summary register is set.
Bit B14 decimal value: 16,384
B15
Not used
Not applicable.
As an example, to set bit B1 of the operation status instrument summary enable register, set
status.operation.instrument.enable = status.operation.instrument.SMUA.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B10, set operationRegister to 1,026 (which is
the sum of 2 + 1,024).
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-298 2600BS-901-01 Rev. C / August 2016
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights (2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example 1
operationRegister = status.operation.instrument.SMUA +
status.operation.instrument.TRGBLND
status.operation.instrument.enable = operationRegister
Sets bit B1 and bit B10 of the
operation status instrument
summary enable register using
constants.
Example 2
-- 1026 = binary 0000 0100 0000 0010
operationRegister = 1026
status.operation.instrument.enable = operationRegister
Sets bit B1 and bit B10 of the
operation status instrument
summary enable register using
a decimal value.
Also see
Operation Status Registers (on page E-9)
status.operation.* (on page 7-292)
Condition register sets of:
status.operation.instrument.digio.* (on page 7-298)
status.operation.instrument.lan.* (on page 7-302)
status.operation.instrument.trigger_blender.* (on page 7-310)
status.operation.instrument.trigger_timer.* (on page 7-314)
status.operation.instrument.tsplink.* (on page 7-318)
status.operation.instrument.digio.*
This attribute contains the operation status digital I/O summary register set. This attribute is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R) Yes Not applicable Not saved Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
1024 (All bits set)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-299
Usage
operationRegister = status.operation.instrument.digio.condition
operationRegister = status.operation.instrument.digio.enable
operationRegister = status.operation.instrument.digio.event
operationRegister = status.operation.instrument.digio.ntr
operationRegister = status.operation.instrument.digio.ptr
status.operation.instrument.digio.enable = operationRegister
status.operation.instrument.digio.ntr = operationRegister
status.operation.instrument.digio.ptr = operationRegister
operationRegister
The status of the operation status digital I/O summary register; a zero (0) indicates
no bits set (also send 0 to clear all bits); the only valid value other than 0 is 1024
Details
These attributes are used to read or write to the operation status digital I/O summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0-B9
Not used
Not applicable
B10
status.operation.instrument.digio.TRIGGER_OVERRUN
status.operation.instrument.digio.TRGOVR
Set bit indicates an
enabled bit in the
Operation Status Digital
I/O Overrun Register is set.
Bit B10 decimal value:
1,024
Binary value:
0100 0000 0010
B11-B15 Not used Not applicable
In addition to the above constant, operationRegister can be set to the decimal equivalent of the
bit to set.
Example
status.operation.instrument.digio.enable =
status.operation.instrument.digio.TRGOVR
Sets the TRGOVR bit of the
operation status digital I/O summary
enable register using a constant.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.digio.trigger_overrun.* (on page 7-300)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-300 2600BS-901-01 Rev. C / August 2016
status.operation.instrument.digio.trigger_overrun.*
This attribute contains the operation status digital I/O overrun register set. This attribute is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved 32,766 (All bits set)
Usage
operationRegister = status.operation.instrument.digio.trigger_overrun.condition
operationRegister = status.operation.instrument.digio.trigger_overrun.enable
operationRegister = status.operation.instrument.digio.trigger_overrun.event
operationRegister = status.operation.instrument.digio.trigger_overrun.ntr
operationRegister = status.operation.instrument.digio.trigger_overrun.ptr
status.operation.instrument.digio.trigger_overrun.enable = operationRegister
status.operation.instrument.digio.trigger_overrun.ntr = operationRegister
status.operation.instrument.digio.trigger_overrun.ptr = operationRegister
operationRegister
The status of the operation status digio I/O overrun register; a zero (0) indicates no
bits set (also send 0 to clear all bits); other values indicate various bit settings
Details
These attributes are used to read or write to the operation status digital I/O overrun registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, if a value of 1.02600e+03 (which is 1026) is read as the value of the
condition register, the binary equivalent is 0000 0100 0000 0010. This value indicates that bit B1 and
bit B10 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
* Least significant bit
** Most significant bit
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-301
A set bit indicates that the specified digital I/O line generated an action overrun when it was triggered
to generate an output trigger.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable
B1
status.operation.instrument.digio.trigger_overrun.LINE1
Bit B1 decimal value: 2
B2
status.operation.instrument.digio.trigger_overrun.LINE2
Bit B2 decimal value: 4
B3
status.operation.instrument.digio.trigger_overrun.LINE3
Bit B3 decimal value: 8
B4
status.operation.instrument.digio.trigger_overrun.LINE4
Bit B4 decimal value: 16
B5
status.operation.instrument.digio.trigger_overrun.LINE5
Bit B5 decimal value: 32
B6
status.operation.instrument.digio.trigger_overrun.LINE6
Bit B6 decimal value: 64
B7
status.operation.instrument.digio.trigger_overrun.LINE7
Bit B7 decimal value: 128
B8
status.operation.instrument.digio.trigger_overrun.LINE8
Bit B8 decimal value: 256
B9
status.operation.instrument.digio.trigger_overrun.LINE9
Bit B9 decimal value: 512
B10
status.operation.instrument.digio.trigger_overrun.LINE10
Bit B10 decimal value: 1,024
B11
status.operation.instrument.digio.trigger_overrun.LINE11
Bit B11 decimal value: 2,048
B12
status.operation.instrument.digio.trigger_overrun.LINE12
Bit B12 decimal value: 4,096
B13
status.operation.instrument.digio.trigger_overrun.LINE13
Bit B13 decimal value: 8,192
B14
status.operation.instrument.digio.trigger_overrun.LINE14
Bit B14 decimal value: 16,384
B15
Not used
Not applicable
As an example, to set bit B1 of the operation status digital I/O overrun enable register, set
status.operation.instrument.digio.trigger_overrun.enable =
status.operation.instrument.digio.trigger_overrun.LINE1.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B10, set operationRegister to 1,026 (which is
the sum of 2 + 1,024).
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights (2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights (2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example 1
operationRegister =
status.operation.instrument.digio.trigger_overrun.LINE1 +
status.operation.instrument.digio.trigger_overrun.LINE10
status.operation.instrument.digio.trigger_overrun.enable =
operationRegister
Uses constants to set bit
B1 and bit B10 of the
operation status digital
I/O overrun enable
register.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-302 2600BS-901-01 Rev. C / August 2016
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.digio.* (on page 7-298)
status.operation.instrument.lan.*
This attribute contains the operation status LAN summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
1027 (All bits set)
Usage
operationRegister = status.operation.instrument.lan.condition
operationRegister = status.operation.instrument.lan.enable
operationRegister = status.operation.instrument.lan.event
operationRegister = status.operation.instrument.lan.ntr
operationRegister = status.operation.instrument.lan.ptr
status.operation.instrument.lan.enable = operationRegister
status.operation.instrument.lan.ntr = operationRegister
status.operation.instrument.lan.ptr = operationRegister
operationRegister
The status of the operation status LAN summary register; a zero (0) indicates no
bits set (also send 0 to clear all bits); other values indicate various bit settings
Details
These attributes are used to read or write to the operation status LAN summary registers. The binary
equivalent of the value indicates which register bits are set. In the binary equivalent, the least
significant bit is bit B0, and the most significant bit is bit B15. For example, if a value of
1.02600e+03 (which is 1026) is read as the value of the condition register, the binary equivalent is
0000 0100 0000 0010. This value indicates that bit B1 and bit B10 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
* Least significant bit
** Most significant bit
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-303
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.operation.instrument.lan.CONNECTION
status.operation.instrument.lan.CON
Set bit indicates that the LAN cable
is connected and a link has been
detected.
Bit B0 decimal value: 1
B1
status.operation.instrument.lan.CONFIGURING
status.operation.instrument.lan.CONF
Set bit indicates the LAN is
performing its configuration
sequence.
Bit B1 decimal value: 2
B2-B9
Not used
Not available
B10
status.operation.instrument.lan.TRIGGER_OVERRUN
status.operation.instrument.lan.TRGOVR
Set bit indicates one or more
enabled bits for the operation status
LAN trigger overrun register is set.
Bit B10 decimal value: 1,024
B11-B15
Not used
Not applicable
As an example, to set bit B0 of the operation status LAN summary enable register, set
status.operation.instrument.lan.enable =
status.operation.instrument.lan.CON.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B10, set operationRegister to 1,026 (which is
the sum of 2 + 1024).
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights (2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
operationRegister =
status.operation.instrument.lan.CONF +
status.operation.instrument.lan.TRGOVR
status.operation.instrument.lan.enable = operationRegister
Use constants to
set bit B1 and bit
B10 of the
operation status
LAN summary
enable register.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.lan.trigger_overrun.* (on page 7-304)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-304 2600BS-901-01 Rev. C / August 2016
status.operation.instrument.lan.trigger_overrun.*
This attribute contains the operation status LAN trigger overrun register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
510 (All bits set)
Usage
operationRegister = status.operation.instrument.lan.trigger_overrun.condition
operationRegister = status.operation.instrument.lan.trigger_overrun.enable
operationRegister = status.operation.instrument.lan.trigger_overrun.event
operationRegister = status.operation.instrument.lan.trigger_overrun.ntr
operationRegister = status.operation.instrument.lan.trigger_overrun.ptr
status.operation.instrument.lan.trigger_overrun.enable = operationRegister
status.operation.instrument.lan.trigger_overrun.ntr = operationRegister
status.operation.instrument.lan.trigger_overrun.ptr = operationRegister
operationRegister
The status of the operation status LAN trigger overrun register; a zero (0) indicates
no bits set (also send 0 to clear all bits); other values indicate various bit settings
Details
These attributes are used to read or write to the operation status LAN trigger overrun registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, if a value of 2.58000e+02 (which is 258) is read as the value of the
condition register, the binary equivalent is 0000 0001 0000 0010. This value indicates that bit B1 and
bit B8 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
* Least significant bit
** Most significant bit
Se
ries 2600B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-305
A set bit indicates that the specified LAN trigger generated an action overrun when triggered to
generate a trigger packet.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable
B1
status.operation.instrument.lan.trigger_overrun.LAN1
Bit B1 decimal value: 2
B2
status.operation.instrument.lan.trigger_overrun.LAN2
Bit B2 decimal value: 4
B3
status.operation.instrument.lan.trigger_overrun.LAN3
Bit B3 decimal value: 8
B4
status.operation.instrument.lan.trigger_overrun.LAN4
Bit B4 decimal value: 16
B5
status.operation.instrument.lan.trigger_overrun.LAN5
Bit B5 decimal value: 32
B6
status.operation.instrument.lan.trigger_overrun.LAN6
Bit B6 decimal value: 64
B7
status.operation.instrument.lan.trigger_overrun.LAN7
Bit B7 decimal value: 128
B8
status.operation.instrument.lan.trigger_overrun.LAN8
Bit B8 decimal value: 256
B9-B15
Not used
Not applicable
As an example, to set bit B1 of the operation status LAN trigger overrun enable register, set
status.operation.instrument.lan.trigger_overrun.enable =
status.operation.instrument.lan.trigger_overrun.LAN1.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B8, set operationRegister to 258 (which is the
sum of 2 + 256).
Bit
B7
B6
B5
B4
B3
B2
B1
B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights (2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
operationRegister =
status.operation.instrument.lan.trigger_overrun.LAN1 +
status.operation.instrument.lan.trigger_overrun.LAN8
status.operation.instrument.lan.trigger_overrun.enable =
operationRegister
Use constants to set bit
B1 and bit B8 of the
operation status LAN
trigger overrun enable
register.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.lan.* (on page 7-302)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-306 2600BS-901-01 Rev. C / August 2016
status.operation.instrument.smuX.*
This attribute contains the operation status SMU X summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
1049 (All bits set)
Usage
operationRegister = status.operation.instrument.smuX.condition
operationRegister = status.operation.instrument.smuX.enable
operationRegister = status.operation.instrument.smuX.event
operationRegister = status.operation.instrument.smuX.ntr
operationRegister = status.operation.instrument.smuX.ptr
status.operation.instrument.smuX.enable = operationRegister
status.operation.instrument.smuX.ntr = operationRegister
status.operation.instrument.smuX.ptr = operationRegister
operationRegister
The status of the operation status SMU X summary register; a zero (0) indicates no
bits set (also send 0 to clear all bits); other values indicate various bit settings
X
Source-measure unit (SMU) channel (for example
status.operation.instrument.smua.enable
applies to SMU channel A)
Details
These attributes are used to read or write to the operation status SMU X summary registers. Reading
a status register returns a value. The binary equivalent of the returned value indicates which register
bits are set. The least significant bit of the binary number is bit B0, and the most significant bit is bit
B15. The binary equivalent of the value indicates which register bits are set. In the binary equivalent,
the least significant bit is bit B0, and the most significant bit is bit B15. For example, if a value of
1.02500e+02 (which is 1,025) is read as the value of the condition register, the binary equivalent is
0000 0100 0000 0010. This value indicates that bit B0 and bit B10 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-307
Bit Value Description
B0
status.operation.instrument.smuX.CALIBRATING
status.operation.instrument.smuX.CAL
Set bit indicates that
smuX is unlocked for
calibration.
Bit B0 decimal value: 1
B1-B2
Not used
Not applicable.
B3
status.operation.instrument.smuX.SWEEPING
status.operation.instrument.smuX.SWE
Set bit indicates that
smuX is sweeping.
Bit B3 decimal value: 8
B4
status.operation.instrument.smuX.MEASURING
status.operation.instrument.smuX.MEAS
Bit will be set when taking
an overlapped
measurement, but it will
not set when taking a
normal synchronous
measurement.
Bit B4 decimal value: 16
B5-B9
Not used
Not applicable.
B10
status.operation.instrument.smuX.TRIGGER_OVERRUN
status.operation.instrument.smuX.TRGOVR
Set bit indicates an
enabled bit has been set
in the operation status
smu X trigger overrun
event register.
Bit B10 decimal value:
1,024
B11-B15
Not used
Not applicable.
As an example, to set bit B0 of the operation status SMU A summary enable register, set
status.operation.instrument.smua.enable = status.operation.instrument.smua.C
AL.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B0 and B10, set operationRegister to 1,025 (which is
the sum of 1 + 1,024).
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(215)
(214)
(213)
(212)
(211)
(210)
(29)
(28)
Example
status.operation.instrument.smua.enable =
status.operation.instrument.smua.MEAS
Use a constant to set the MEAS bit
of the operation status SMU A
summary enable register.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-308 2600BS-901-01 Rev. C / August 2016
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.smuX.trigger_overrrun.* (on page 7-308)
status.operation.instrument.smuX.trigger_overrrun.*
This attribute contains the operation status SMU X trigger overrun register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
30 (All bits set)
Usage
operationRegister = status.operation.instrument.smuX.trigger_overrun.condition
operationRegister = status.operation.instrument.smuX.trigger_overrun.enable
operationRegister = status.operation.instrument.smuX.trigger_overrun.event
operationRegister = status.operation.instrument.smuX.trigger_overrun.ntr
operationRegister = status.operation.instrument.smuX.trigger_overrun.ptr
status.operation.instrument.smuX.trigger_overrun.enable = operationRegister
status.operation.instrument.smuX.trigger_overrun.ntr = operationRegister
status.operation.instrument.smuX.trigger_overrun.ptr = operationRegister
operationRegister
The status of the operation status SMU X trigger overrun register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various bit
settings
Details
These attributes are used to read or write to the operation status SMU X trigger overrun registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, if a value of 18 is read as the value of the condition register, the binary
equivalent is 0000 0000 0001 0010. This value indicates that bit B1 and bit B4 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-309
Bit Value Description
B0
Not used
Not applicable.
B1
status.operation.instrument.smuX.trigger_overrun.ARM
Set bit indicates that the
arm event detector of the
SMU was already in the
detected state when a
trigger was received.
Bit B1 decimal value: 2
B2
status.operation.instrument.smuX.trigger_overrun.SRC
Set bit indicates that the
source event detector of
the SMU was already in
the detected state when a
trigger was received.
Bit B2 decimal value: 4
B3
status.operation.instrument.smuX.trigger_overrun.MEAS
Set bit indicates that the
measurement event
detector of the SMU was
already in the detected
state when a trigger was
received.
Bit B3 decimal value: 8
B4
status.operation.instrument.smuX.trigger_overrun.ENDP
Set bit indicates that the
end pulse event detector of
the SMU was already in
the detected state when a
trigger was received.
Bit B4 decimal value: 16
B5-B15
Not used
Not applicable.
As an example, to set bit B1 of the operation status SMU A trigger overrun enable register, set
status.operation.instrument.smua.trigger_overrun.enable =
status.operation.instrument.smua.trigger_overrun.ARM.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B4, set operationRegister to 18 (which is the
sum of 2 + 16).
Bit
B7
B6
B5
B4
B3
B2
B1
B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal 128 64 32 16 8 4 2 1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
status.operation.instrument.smua.trigger_overrun.enable =
status.operation.instrument.smua.trigger_overrun.ARM
Uses a constant to sets
the ARM bit of the
operation status SMU A
trigger overrun enable
register.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-310 2600BS-901-01 Rev. C / August 2016
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.smuX.* (on page 7-306)
status.operation.instrument.trigger_blender.*
This attribute contains the operation status trigger blender summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
1024 (All bits set)
Usage
operationRegister = status.operation.instrument.trigger_blender.condition
operationRegister = status.operation.instrument.trigger_blender.enable
operationRegister = status.operation.instrument.trigger_blender.event
operationRegister = status.operation.instrument.trigger_blender.ntr
operationRegister = status.operation.instrument.trigger_blender.ptr
status.operation.instrument.trigger_blender.enable = operationRegister
status.operation.instrument.trigger_blender.ntr = operationRegister
status.operation.instrument.trigger_blender.ptr = operationRegister
operationRegister
The status of the operation status trigger blender summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); the only valid value other than 0 is
1024
Details
These attributes are used to read or write to the operation status trigger blender summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Series
2600B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-311
Bit Value Description
B0-B9
Not used
Not applicable.
B10
status.operation.instrument.trigger_blender.TRIGGER_OVERRUN
status.operation.instrument.trigger_blender.TRGOVR
Set bit indicates one
or more enabled bits
for operation status
trigger blender
overrun register is
set.
Bit B10 decimal
value: 1,024
Binary value:
0100 0000 0000
B11-B15 Not used Not applicable.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. For example, to set bit B10, set operationRegister to 1024.
Example
status.operation.instrument.trigger_blender.enable = 1024
Uses a decimal value to set
the TRGOVR bit of the
operation status trigger
blender summary enable.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.trigger_blender.trigger_overrun.* (on page 7-311)
status.operation.instrument.trigger_blender.trigger_overrun.*
This attribute contains the operation status trigger blender overrun register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R) Yes Not applicable Not saved Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW) Yes Status reset Not saved 0
.ptr (RW)
Yes
Status reset
Not saved
126 (All bits set)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-312 2600BS-901-01 Rev. C / August 2016
Usage
operationRegister =
status.operation.instrument.trigger_blender.trigger_overrun.condition
operationRegister =
status.operation.instrument.trigger_blender.trigger_overrun.enable
operationRegister =
status.operation.instrument.trigger_blender.trigger_overrun.event
operationRegister =
status.operation.instrument.trigger_blender.trigger_overrun.ntr
operationRegister =
status.operation.instrument.trigger_blender.trigger_overrun.ptr
status.operation.instrument.trigger_blender.trigger_overrun.enable =
operationRegister
status.operation.instrument.trigger_blender.trigger_overrun.ntr =
operationRegister
status.operation.instrument.trigger_blender.trigger_overrun.ptr =
operationRegister
operationRegister
The status of the operation status trigger blender overrun register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various bit
settings
Details
These attributes are used to read or write to the operation status trigger blender overrun registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, if a value of 18 is read as the value of the condition register, the binary
equivalent is 0000 0000 0001 0010. This value indicates that bit B1 and bit B4 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
* Least significant bit
** Most significant bit
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-313
A set bit value indicates that the specified trigger blender generated an action overrun.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable
B1
status.operation.instrument.trigger_blender.trigger_overrun.BLND1
Bit B1 decimal
value: 2
B2
status.operation.instrument.trigger_blender.trigger_overrun.BLND2
Bit B2 decimal
value: 4
B3
status.operation.instrument.trigger_blender.trigger_overrun.BLND3
Bit B3 decimal
value: 8
B4
status.operation.instrument.trigger_blender.trigger_overrun.BLND4
Bit B4 decimal
value: 16
B5
status.operation.instrument.trigger_blender.trigger_overrun.BLND5
Bit B5 decimal
value: 32
B6
status.operation.instrument.trigger_blender.trigger_overrun.BLND6
Bit B6 decimal
value: 64
B7-B15 Not used Not applicable
As an example, to set bit B1 of the operation status trigger blender overrun enable register, set
status.operation.instrument.trigger_blender.trigger_overrun.enable =
status.operation.instrument.trigger_blender.trigger_overrun.BLND1.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B4, set operationRegister to 18 (which is the
sum of 2 + 16).
Bit
B7
B6
B5
B4
B3
B2
B1
B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
status.operation.instrument.trigger_blender.trigger_overrun.enable
= status.operation.instrument.trigger_blender.trigger_overrun.BLND1
Uses a constant to set the bit for blender 1 of the operation status trigger blender overrun enable
register.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.trigger_blender.* (on page 7-310)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-314 2600BS-901-01 Rev. C / August 2016
status.operation.instrument.trigger_timer.*
This attribute contains the operation status trigger timer summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
1024 (All bits set)
Usage
operationRegister = status.operation.instrument.trigger_timer.condition
operationRegister = status.operation.instrument.trigger_timer.enable
operationRegister = status.operation.instrument.trigger_timer.event
operationRegister = status.operation.instrument.trigger_timer.ntr
operationRegister = status.operation.instrument.trigger_timer.ptr
status.operation.instrument.trigger_timer.enable = operationRegister
status.operation.instrument.trigger_timer.ntr = operationRegister
status.operation.instrument.trigger_timer.ptr = operationRegister
operationRegister
The status of the operation status trigger timer summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); the only valid value other than 0 is
1024
Details
These attributes are used to read or write to the operation status trigger timer summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0-B9
Not used
Not applicable
B10
status.operation.instrument.trigger_timer.TRIGGER_OVERRUN
status.operation.instrument.trigger_timer.TRGOVR
Set bit indicates one
or more enabled bits
for the operation
status trigger timer
overrun register is set.
Bit B10 decimal value:
1,024
Binary value:
0100 0000 0000
B11-B15
Not used
Not applicable
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-315
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. For example, to set bit B10, set operationRegister to 1024.
Example
status.operation.instrument.trigger_timer.enable = 1024
Uses a decimal value to set
the TRGOVR bit of the
operation status trigger timer
summary enable register.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.trigger_timer.trigger_overrun.* (on page 7-316)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-316 2600BS-901-01 Rev. C / August 2016
status.operation.instrument.trigger_timer.trigger_overrun.*
This attribute contains the operation status trigger timer overrun register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW) Yes Status reset Not saved 0
.ptr (RW)
Yes
Status reset
Not saved
510 (All bits set)
Usage
operationRegister =
status.operation.instrument.trigger_timer.trigger_overrun.condition
operationRegister =
status.operation.instrument.trigger_timer.trigger_overrun.enable
operationRegister =
status.operation.instrument.trigger_timer.trigger_overrun.event
operationRegister =
status.operation.instrument.trigger_timer.trigger_overrun.ntr
operationRegister =
status.operation.instrument.trigger_timer.trigger_overrun.ptr
status.operation.instrument.trigger_timer.trigger_overrun.enable =
operationRegister
status.operation.instrument.trigger_timer.trigger_overrun.ntr =
operationRegister
status.operation.instrument.trigger_timer.trigger_overrun.ptr =
operationRegister
operationRegister
The status of the operation status trigger timer trigger overrun register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various bit
settings
Details
These attributes are used to read or write to the operation status trigger timer overrun registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, if a value of 18 is read as the value of the condition register, the binary
equivalent is 0000 0000 0001 0010. This value indicates that bit B1 and bit B4 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
* Least significant bit
** Most significant bit
Series 260
0B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-317
A set bit indicates the specified timer generated an action overrun because it was still processing a
delay from a previous trigger when a new trigger was received.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable
B1
status.operation.instrument.trigger_timer.trigger_overrun.TMR1
Bit B1 decimal
value: 2
B2
status.operation.instrument.trigger_timer.trigger_overrun.TMR2
Bit B2 decimal
value: 4
B3
status.operation.instrument.trigger_timer.trigger_overrun.TMR3
Bit B3 decimal
value: 8
B4
status.operation.instrument.trigger_timer.trigger_overrun.TMR4
Bit B4 decimal
value: 16
B5
status.operation.instrument.trigger_timer.trigger_overrun.TMR5
Bit B5 decimal
value: 32
B6
status.operation.instrument.trigger_timer.trigger_overrun.TMR6
Bit B6 decimal
value: 64
B7
status.operation.instrument.trigger_timer.trigger_overrun.TMR7
Bit B7 decimal
value: 128
B8
status.operation.instrument.trigger_timer.trigger_overrun.TMR8
Bit B8 decimal
value: 256
B9-B15 Not used Not applicable
As an example, to set bit B1 of the operation status trigger timer trigger overrun enable register, set
status.operation.instrument.trigger_timer.trigger_overrun.enable =
status.operation.instrument.trigger_timer.trigger_overrun.TMR1.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B4, set operationRegister to 18 (which is the
sum of 2 + 16).
Bit
B7
B6
B5
B4
B3
B2
B1
B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-318 2600BS-901-01 Rev. C / August 2016
Bit B15 B14 B13 B12 B11 B10 B9 B8
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal 32,768 16,384 8,192 4,096 2,048 1,024 512 256
Weights
(2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
status.operation.instrument.trigger_timer.trigger_overrun.enable =
status.operation.instrument.trigger_timer.trigger_overrun.TMR3
Uses a
constant to
set the timer
3 bit of the
operation
status trigger
timer overrun
enable
register.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.trigger_timer.* (on page 7-314)
status.operation.instrument.tsplink.*
This attribute contains the operation status TSP-Link summary register set. This attribute is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
1024 (All bits set)
Usage
operationRegister = status.operation.instrument.tsplink.condition
operationRegister = status.operation.instrument.tsplink.enable
operationRegister = status.operation.instrument.tsplink.event
operationRegister = status.operation.instrument.tsplink.ntr
operationRegister = status.operation.instrument.tsplink.ptr
status.operation.instrument.tsplink.enable = operationRegister
status.operation.instrument.tsplink.ntr = operationRegister
status.operation.instrument.tsplink.ptr = operationRegister
operationRegister
The status of the operation status TSP-Link summary register; a zero (0) indicates
no bits set (also send 0 to clear all bits); the only valid value other than 0 is 1024
Details
These attributes are used to read or write to the operation status TSP-Link summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-319
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0-B9
Not used
Not applicable
B10
status.operation.instrument.tsplink.TRIGGER_OVERRUN
status.operation.instrument.tsplink.TRGOVR Set bit indicates one or
more enabled bits for
the operation status
TSP-Link overrun
register is set.
Bit B10 decimal value:
1,024
Binary value:
0100 0000 0000
B11-B15
Not used
Not applicable
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. For example, to set bit B10, set operationRegister to 1024.
Example
status.operation.instrument.tsplink.enable = 1024
Uses a decimal value to set
the trigger overrun bit of the
operation status TSP-Link
summary enable register.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.tsplink.trigger_overrun.* (on page 7-319)
status.operation.instrument.tsplink.trigger_overrun.*
This attribute contains the operation status TSP-Link overrun register set. This attribute is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved 14 (All bits set)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-320 2600BS-901-01 Rev. C / August 2016
Usage
operationRegister =
status.operation.instrument.tsplink.trigger_overrun.condition
operationRegister = status.operation.instrument.tsplink.trigger_overrun.enable
operationRegister = status.operation.instrument.tsplink.trigger_overrun.event
operationRegister = status.operation.instrument.tsplink.trigger_overrun.ntr
operationRegister = status.operation.instrument.tsplink.trigger_overrun.ptr
status.operation.instrument.tsplink.trigger_overrun.enable = operationRegister
status.operation.instrument.tsplink.trigger_overrun.ntr = operationRegister
status.operation.instrument.tsplink.trigger_overrun.ptr = operationRegister
operationRegister
The status of the operation status TSP-link overrun register; a zero (0) indicates no
bits set (also send 0 to clear all bits); other values indicate various bit settings
Details
These attributes are used to read or write to the operation status TSP-link overrun registers. Reading
a status register returns a value. The binary equivalent of the returned value indicates which register
bits are set. The least significant bit of the binary number is bit B0, and the most significant bit is bit
B15. For example, if a value of 10 is read as the value of the condition register, the binary equivalent
is 0000 0000 0000 1010. This value indicates that bit B1 and bit B3 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
* Least significant bit
** Most significant bit
A set bit indicates that the specified line generated an action overrun when triggered to generate an
output trigger.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable
B1
status.operation.instrument.tsplink.trigger_overrun.LINE1
Bit B1 decimal
value: 2
B2
status.operation.instrument.tsplink.trigger_overrun.LINE2
Bit B2 decimal
value: 4
B3
status.operation.instrument.tsplink.trigger_overrun.LINE3
Bit B3 decimal
value: 8
B4-B15
Not used
Not applicable
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-321
As an example, to set bit B1 of the operation status TSP-Link overrun enable register, set
status.operation.instrument.tsplink.trigger_overrun.enable =
status.operation.instrument.tsplink.trigger_overrun.LINE1.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B3, set operationRegister to 10 (which is the
sum of 2 + 8).
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights (2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights (2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example 1
status.operation.instrument.tsplink.trigger_overrun.enable =
status.operation.instrument.tsplink.trigger_overrun.LINE1
Uses a constant
to set the line 1
bit of the
operation status
TSP-Link
overrun enable
register.
Also see
Operation Status Registers (on page E-9)
status.operation.instrument.trigger_timer.* (on page 7-314)
status.operation.measuring.*
This attribute contains the operation status measuring summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
Models 2601B/2611B/2635B:
2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B:
6 (All bits set)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-322 2600BS-901-01 Rev. C / August 2016
Usage
operationRegister = status.operation.measuring.condition
operationRegister = status.operation.measuring.enable
operationRegister = status.operation.measuring.event
operationRegister = status.operation.measuring.ntr
operationRegister = status.operation.measuring.ptr
status.operation.measuring.enable = operationRegister
status.operation.measuring.ntr = operationRegister
status.operation.measuring.ptr = operationRegister
operationRegister
The status of the operation status measuring summary register; a zero (0) indicates
no bits set (also send 0 to clear all bits); other values indicate various bit settings
Details
These attributes are used to read or write to the operation status measuring summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.operation.measuring.SMUA
Bit will be set when SMU A is taking an
overlapped measurement, but it will not be set
when taking a normal synchronous measurement.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.operation.measuring.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Bit will
be set when SMU B is taking an overlapped
measurement, but it will not be set when taking a
normal synchronous measurement.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
As an example, to set bit B1 of the operation status measuring summary enable register, set
status.operation.measuring.enable = status.operation.measuring.SMUA.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B2, set operationRegister to 6 (which is the
sum of 2 + 4).
Example
status.operation.measuring.enable =
status.operation.measuring.SMUA
Uses a constant to set the SMUA bit
of the operation status measuring
summary enable register.
Ser
ies 2600B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-323
Also see
Operation Status Registers (on page E-9)
status.operation.* (on page 7-292)
status.operation.remote.*
This attribute contains the operation status remote summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW) Yes Status reset Not saved 0
.ptr (RW)
Yes
Status reset
Not saved
2050 (All bits set)
Usage
operationRegister = status.operation.remote.condition
operationRegister = status.operation.remote.enable
operationRegister = status.operation.remote.event
operationRegister = status.operation.remote.ntr
operationRegister = status.operation.remote.ptr
status.operation.remote.enable = operationRegister
status.operation.remote.ntr = operationRegister
status.operation.remote.ptr = operationRegister
operationRegister
The status of the operation status remote summary register; a zero (0) indicates no
bits set (also send 0 to clear all bits); other values indicate various bit settings
Details
These attributes are used to read or write to the operation status remote summary registers. Reading
a status register returns a value. The binary equivalent of the returned value indicates which register
bits are set. The least significant bit of the binary number is bit B0, and the most significant bit is bit
B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.operation.remote.COMMAND_AVAILABLE
status.operation.remote.CAV
Set bit indicates there is a command
available in the execution queue.
Bit B1 decimal value: 2
Binary value: 0000 0000 0000 0010
B2-B10
Not used
Not applicable.
B11
status.operation.remote.PROMPTS_ENABLED
status.operation.remote.PRMPT
Set bit indicates command prompts are
enabled.
Bit B11 decimal value: 2,048
Binary value: 0000 0100 0000 0000
B12-B15
Not used
Not applicable.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-324 2600BS-901-01 Rev. C / August 2016
As an example, to set bit B1 of the operation status remote summary enable register, set
status.operation.remote.enable = status.operation.remote.CAV.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B11, set operationRegister to 2,050 (which is
the sum of 2 + 2,048).
Example
status.operation.remote.enable =
status.operation.remote.CAV
Uses a constant to set the CAV bit of the
operation status remote summary enable
register.
Also see
Operation Status Registers (on page E-9)
status.operation.* (on page 7-292)
status.operation.sweeping.*
This attribute contains the operation status sweeping summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R) Yes Not applicable Not saved Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved Models 2601B/2611B/2635B:
2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B:
6 (All bits set)
Usage
operationRegister = status.operation.sweeping.condition
operationRegister = status.operation.sweeping.enable
operationRegister = status.operation.sweeping.event
operationRegister = status.operation.sweeping.ntr
operationRegister = status.operation.sweeping.ptr
status.operation.sweeping.enable = operationRegister
status.operation.sweeping.ntr = operationRegister
status.operation.sweeping.ptr = operationRegister
operationRegister
The status of the operation status sweeping summary register; a zero (0) indicates
no bits set (also send 0 to clear all bits); other values indicate various bit settings
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-325
Details
These attributes are used to read or write to the operation status sweeping summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.operation.sweeping.SMUA
Set bit indicates that SMU A is sweeping.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.operation.sweeping.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set bit
indicates SMU B is sweeping.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
As an example, to set bit B1 of the operation status sweeping summary enable register, set
status.operation.sweeping.enable = status.operation.sweeping.SMUA.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B2, set operationRegister to 6 (which is the
sum of 2 + 4).
Example
status.operation.sweeping.enable =
status.operation.sweeping.SMUA
Uses a constant to set the SMUA bit
of the operation status sweeping
summary enable register.
Also see
Operation Status Registers (on page E-9)
status.operation.* (on page 7-292)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-326 2600BS-901-01 Rev. C / August 2016
status.operation.trigger_overrun.*
This attribute contains the operation status trigger overrun summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved Models 2601B/2611B/2635B:
31,746 (All bits set)
Models 2602B/2612B/2636B:
31,750 (All bits set)
Models 2604B/2614B/2634B:
19,462 (All bits set)
Usage
operationRegister = status.operation.trigger_overrun.condition
operationRegister = status.operation.trigger_overrun.enable
operationRegister = status.operation.trigger_overrun.event
operationRegister = status.operation.trigger_overrun.ntr
operationRegister = status.operation.trigger_overrun.ptr
status.operation.trigger_overrun.enable = operationRegister
status.operation.trigger_overrun.ntr = operationRegister
status.operation.trigger_overrun.ptr = operationRegister
operationRegister
The status of the operation status trigger overrun summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various bit
settings
Details
These attributes are used to read or write to the operation status trigger overrun summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15. For example, if a value of 1.02600e+03 (which is 1,026) is read as the value of the
condition register, the binary equivalent is 0000 0100 0000 0010. This value indicates that bit B1 and
bit B10 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
* Least significant bit
** Most significant bit
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-327
The bits in this register summarize events in other registers. A set bit in this summary register
indicates that an enabled event in one of the summarized registers is set.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.operation.trigger_overrun.SMUA
Set bit indicates one of the enabled bits
in the operation status SMU A trigger
overrun event register is set.
Bit B1 decimal value: 2
B2
status.operation.trigger_overrun.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/
2636B. Set bit indicates one of the
enabled bits in the operation status
SMU B trigger overrun event register is
set.
Bit B2 decimal value: 4
B3-B9
Not used
Not applicable.
B10
status.operation.trigger_overrun.TRIGGER_BLENDER
status.operation.trigger_overrun.TRGBLND
Set bit indicates one of the enabled bits
in the operation status trigger blender
overrun event register is set.
Bit B10 decimal value: 1,024
B11
status.operation.trigger_overrun.TRIGGER_TIMER
status.operation.trigger_overrun.TRGTMR
Set bit indicates one of the enabled bits
in the operation status trigger timer
overrun event register is set.
Bit B11 decimal value: 2,048
B12
status.operation.trigger_overrun.DIGITAL_IO
status.operation.trigger_overrun.DIGIO
This bit is only available on Models
2601B/2602B/2611B/
2612B/2635B/2636B. Set bit indicates
one of the enabled bits in the operation
status digital I/O overrun event register
is set.
Bit B12 decimal value: 4,096
B13
status.operation.trigger_overrun.TSPLINK
This bit is only available on Models
2601B/2602B/2611B/
2612B/2635B/2636B. Set bit indicates
one of the enabled bits in the operation
status TSP-Link overrun event register
is set.
Bit B13 decimal value: 8,192
B14
status.operation.trigger_overrun.LAN
Set bit indicates one of the enabled bits
in the operation status LAN trigger
overrun event register is set.
Bit B14 decimal value: 16,384
B15
Not used
Not applicable.
As an example, to set bit B1 of the operation status trigger overrun summary enable register, set
status.operation.trigger_overrun.enable =
status.operation.trigger_overrun.SMUA.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B10, set operationRegister to 1,026 (which is
the sum of 2 + 1,024).
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-328 2600BS-901-01 Rev. C / August 2016
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights (2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
operationRegister =
status.operation.trigger_overrun.SMUA +
status.operation.trigger_overrun.TRGBLND
status.operation.trigger_overrun.enable = operationRegister
Uses constants to set bit
B1 and bit B10 of the
operation status trigger
overrun summary enable
register.
Also see
Operation Status Registers (on page E-9)
status.operation.* (on page 7-292)
status.operation.user.*
These attributes manage the operation status user register set of the status model.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (RW)
Yes
Status reset
Not saved
0
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
32,767 (All bits set)
Usage
operationRegister = status.operation.user.condition
operationRegister = status.operation.user.enable
operationRegister = status.operation.user.event
operationRegister = status.operation.user.ntr
operationRegister = status.operation.user.ptr
status.operation.user.condition = operationRegister
status.operation.user.enable = operationRegister
status.operation.user.ntr = operationRegister
status.operation.user.ptr = operationRegister
operationRegister
The status of the operation status user register; a zero (0) indicates no bits set
(also send 0 to clear all bits); other values indicate various bit settings
Series
2600B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-329
Details
These attributes are used to read or write to the operation status user registers. Reading a status
register returns a value. The binary equivalent of the value indicates which register bits are set. In the
binary equivalent, the least significant bit is bit B0, and the most significant bit is bit B15. For example,
if a value of 1.29000e+02 (which is 129) is read as the value of the condition register, the binary
equivalent is 0000 0000 1000 0001. This value indicates that bits B0 and B7 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.operation.user.BIT0
Bit B0 decimal value: 1
B1
status.operation.user.BIT1
Bit B1 decimal value: 2
B2
status.operation.user.BIT2
Bit B2 decimal value: 4
B3
status.operation.user.BIT3
Bit B3 decimal value: 8
B4
status.operation.user.BIT4
Bit B4 decimal value: 16
B5
status.operation.user.BIT5
Bit B5 decimal value: 32
B6
status.operation.user.BIT6
Bit B6 decimal value: 64
B7
status.operation.user.BIT7
Bit B7 decimal value: 128
B8
status.operation.user.BIT8
Bit B8 decimal value: 256
B9
status.operation.user.BIT9
Bit B9 decimal value: 512
B10
status.operation.user.BIT10
Bit B10 decimal value: 1,024
B11
status.operation.user.BIT11
Bit B11 decimal value: 2,048
B12
status.operation.user.BIT12
Bit B12 decimal value: 4,096
B13
status.operation.user.BIT13
Bit B13 decimal value: 8,192
B14
status.operation.user.BIT14
Bit B14 decimal value: 16,384
B15
Not used
Not applicable
As an example, to set bit B0 of the operation status user enable register, set
status.operation.user.enable = status.operation.user.BIT0.
In addition to the above constants, operationRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B11 and B14, set operationRegister to 18,432 (which
is the sum of 2,048 + 16,384).
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-330 2600BS-901-01 Rev. C / August 2016
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(215)
(214)
(213)
(212)
(211)
(210)
(29)
(28)
Example 1
operationRegister = status.operation.user.BIT11 +
status.operation.user.BIT14
status.operation.user.enable = operationRegister
Uses constants to set bits B11 and B14
of the operation status user enable
register.
Example 2
-- 18432 = binary 0100 1000 0000 0000
operationRegister = 18432
status.operation.enable = operationRegister
Uses a decimal value to set bits B11 and
B14 of the operation status user enable
register.
Also see
Operation Status Register (on page E-9)
status.operation.* (on page 7-292)
status.questionable.*
These attributes manage the status model's questionable status register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
13,056 (All bits set)
Usage
questionableRegister = status.questionable.condition
questionableRegister = status.questionable.enable
questionableRegister = status.questionable.event
questionableRegister = status.questionable.ntr
questionableRegister = status.questionable.ptr
status.questionable.enable = questionableRegister
status.questionable.ntr = questionableRegister
status.questionable.ptr = questionableRegister
questionableRegister
The status of the questionable status register; a zero (0) indicates no bits set
(also send 0 to clear all bits); other values indicate various bit settings
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-331
Details
These attributes are used to read or write to the questionable status registers. Reading a status
register returns a value. In the binary equivalent, the least significant bit is bit B0, and the most
significant bit is bit B15. For example, if a value of 1.22880e+04 (which is 12,288) is read as the value
of the condition register, the binary equivalent is 0011 0000 0000 0000. This value indicates that bits
B12 and B13 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0-B7
Not used
Not available
B8
status.questionable.CALIBRATION
status.questionable.CAL
An enabled bit in the questionable status
calibration summary event register is set.
Bit B6 decimal value: 256
B9
status.questionable.UNSTABLE_OUTPUT
status.questionable.UO
An enabled bit in the questionable status unstable
output summary event register is set.
Bit B9 decimal value: 512
B10-B11
Not used
Not available
B12
status.questionable.OVER_TEMPERATURE
status.questionable.OTEMP
An enabled bit in the questionable status over
temperature summary event register is set.
Bit B12 decimal value: 4,096
B13
status.questionable.INSTRUMENT_SUMMARY
status.questionable.INST
An enabled bit in the questionable status
instrument summary event register is set.
Bit B13 decimal value: 8,192
B14-B15
Not used
Not available
As an example, to set bit B9 of the questionable status enable register, set
status.questionable.enable = status.questionable.UO.
In addition to the above constants, questionableRegister can be set to the numeric equivalent of
the bit to set. To set more than one bit of the register, set questionableRegister to the sum of
their decimal weights. For example, to set bits B12 and B13, set questionableRegister to 12,288
(which is the sum of 4,096 + 8,192).
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-332 2600BS-901-01 Rev. C / August 2016
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(215)
(214)
(213)
(212)
(211)
(210)
(29)
(28)
Example
status.questionable.enable =
status.questionable.OTEMP
Uses a constant to set the OTEMP bit of
the questionable status enable register.
Also see
Questionable Status Registers (on page E-13)
status.questionable.calibration.*
This attribute contains the questionable status calibration summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW) Yes Status reset Not saved 0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B: 6
(All bits set)
Usage
questionableRegister = status.questionable.calibration.condition
questionableRegister = status.questionable.calibration.enable
questionableRegister = status.questionable.calibration.event
questionableRegister = status.questionable.calibration.ntr
questionableRegister = status.questionable.calibration.ptr
status.questionable.calibration.enable = questionableRegister
status.questionable.calibration.ntr = questionableRegister
status.questionable.calibration.ptr = questionableRegister
questionableRegister
The status of the questionable status calibration summary register; a zero
(0) indicates no bits set (also send 0 to clear all bits); other values indicate
various bit settings
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-333
Details
These attributes are used to read or write to the questionable status calibration summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.questionable.calibration.SMUA
Set bit indicates that the SMU A calibration
constants stored in nonvolatile memory were
corrupted and could not be loaded when the
instrument powered up.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.questionable.calibration.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set bit
indicates that the SMU B calibration constants
stored in nonvolatile memory were corrupted and
could not be loaded when the instrument powered
up.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
As an example, to set bit B1 of the questionable status calibration summary enable register, set
status.questionable.calibration.enable = status.questionable.calibration.SMU
A.
In addition to the above constants, questionableRegister can be set to the numeric equivalent of
the bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B2, set questionableRegister to 6 (which is
the sum of 2 + 4).
Example
status.questionable.calibration.enable =
status.questionable.calibration.SMUA
Uses a constant to set the SMUA bit
of the questionable status calibration
summary enable register.
Also see
Questionable Status Registers (on page E-13)
status.questionable.* (on page 7-330)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-334 2600BS-901-01 Rev. C / August 2016
status.questionable.instrument.*
This attribute contains the questionable status instrument summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B: 6
(All bits set)
Usage
questionableRegister = status.questionable.instrument.condition
questionableRegister = status.questionable.instrument.enable
questionableRegister = status.questionable.instrument.event
questionableRegister = status.questionable.instrument.ntr
questionableRegister = status.questionable.instrument.ptr
status.questionable.instrument.enable = questionableRegister
status.questionable.instrument.ntr = questionableRegister
status.questionable.instrument.ptr = questionableRegister
questionableRegister
The status of the questionable status instrument summary register; a
zero (0) indicates no bits set (also send 0 to clear all bits); other values
indicate various bit settings
Details
These attributes are used to read or write to the questionable status instrument summary registers.
Reading a status register returns a value. The binary equivalent of the returned value indicates which
register bits are set. The least significant bit of the binary number is bit B0, and the most significant bit
is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.questionable.instrument.SMUA
Set bit indicates one or more enabled bits for the
SMU A questionable register are set.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.questionable.instrument.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set bit
indicates one or more enabled bits for the SMU B
questionable register are set.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
Series 2600
B System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-335
As an example, to set bit B1 of the questionable status instrument summary enable register, set
status.questionable.instrument.enable =
status.questionable.instrument.SMUA.
In addition to the above constants, questionableRegister can be set to the numeric equivalent of
the bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B2, set questionableRegister to 6 (which is
the sum of 2 + 4).
Example
status.questionable.instrument.enable =
status.questionable.instrument.SMUA
Uses a constant to set the SMUA bit
of the questionable status
instrument summary enable register.
Also see
Questionable Status Registers (on page E-13)
status.questionable.* (on page 7-330)
status.questionable.instrument.smuX.*
This attribute contains the questionable status SMU X summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R) Yes Not applicable Not saved Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW) Yes Status reset Not saved 0
.ptr (RW)
Yes
Status reset
Not saved
4864 (All bits set)
Usage
questionableRegister = status.questionable.instrument.smuX.condition
questionableRegister = status.questionable.instrument.smuX.enable
questionableRegister = status.questionable.instrument.smuX.event
questionableRegister = status.questionable.instrument.smuX.ntr
questionableRegister = status.questionable.instrument.smuX.ptr
status.questionable.instrument.smuX.enable = questionableRegister
status.questionable.instrument.smuX.ntr = questionableRegister
status.questionable.instrument.smuX.ptr = questionableRegister
questionableRegister
The status of the questionable status SMU X summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various
bit settings
X
Source-measure unit (SMU) channel (for example
status.questionable.instrument.smua.enable applies to SMU
channel A)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-336 2600BS-901-01 Rev. C / August 2016
Details
These attributes are used to read or write to the questionable status instrument SMU X summary
registers. Reading a status register returns a value. The binary equivalent of the returned value
indicates which register bits are set. The least significant bit of the binary number is bit B0, and the
most significant bit is bit B15. For example, if a value of 7.68000e+02 (which is 768) is read as the
value of the condition register, the binary equivalent is 0000 0011 0000 0000. This value indicates
that bit B8 and bit B9 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0-B7
Not used
Not applicable.
B8
status.questionable.instrument.smuX.CALIBRATION
status.questionable.instrument.smuX.CAL
Set bit indicates that the
calibration constants
stored in nonvolatile
memory were corrupted
and could not be loaded
when the instrument
powered up.
Bit B8 decimal value: 256
B9
status.questionable.instrument.smuX.UNSTABLE_OUTPUT
status.questionable.instrument.smuX.UO
Set bit indicates that an
unstable output condition
was detected.
Bit B9 decimal value: 512
B10-B11
Not used
Not applicable
B12
status.questionable.instrument.smuX.OVER_TEMPERATURE
status.questionable.instrument.smuX.OTEMP
Set bit indicates that an
over temperature condition
was detected.
Bit B12 decimal value:
4,096
B13-B15
Not used
Not applicable.
As an example, to set bit B8 of the questionable status SMU A summary enable register, set
status.questionable.instrument.smua.enable =
status.questionable.instrument.smua.CAL.
In addition to the above constants, questionableRegister can be set to the numeric equivalent of
the bit to set. To set more than one bit of the register, set questionableRegister to the sum of
their decimal weights. For example, to set bits B8 and B9, set questionableRegister to 768
(which is the sum of 256 + 512).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-337
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights (2
15
) (2
14
) (2
13
) (2
12
) (2
11
) (2
10
) (2
9
) (2
8
)
Example
questionableRegister =
status.questionable.instrument.smua.CAL +
status.questionable.instrument.smua.UO
status.questionable.instrument.smua.enable =
questionableRegister
Uses constants to set bit B8
and bit B9 of the
questionable status SMU A
summary enable register.
Also see
Questionable Status Registers (on page E-13)
status.operation.* (on page 7-292)
status.questionable.over_temperature.*
This attribute contains the questionable status over temperature summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R) Yes Not applicable Not saved Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B: 6
(All bits set)
Usage
questionableRegister = status.questionable.over_temperature.condition
questionableRegister = status.questionable.over_temperature.enable
questionableRegister = status.questionable.over_temperature.event
questionableRegister = status.questionable.over_temperature.ntr
questionableRegister = status.questionable.over_temperature.ptr
status.questionable.over_temperature.enable = questionableRegister
status.questionable.over_temperature.ntr = questionableRegister
status.questionable.over_temperature.ptr = questionableRegister
operationRegister
The status of the questionable status over temperature summary register; a
zero (0) indicates no bits set (also send 0 to clear all bits); other values indicate
various bit settings
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-338 2600BS-901-01 Rev. C / August 2016
Details
These attributes are used to read or write to the questionable status over temperature summary
registers. Reading a status register returns a value. The binary equivalent of the returned value
indicates which register bits are set. The least significant bit of the binary number is bit B0, and the
most significant bit is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.questionable.over_temperature.SMUA
Set bit indicates that an over temperature
condition was detected on SMU A.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.questionable.over_temperature.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B. Set
bit indicates that an over temperature condition
was detected on SMU B.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
As an example, to set bit B1 of the questionable status over temperature summary enable register,
set
status.questionable.instrument.enable = status.questionable.instrument.SMUA
.
In addition to the above constants, questionableRegister can be set to the numeric equivalent of
the bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B2, set questionableRegister to 6 (which is
the sum of 2 + 4).
Example
status.questionable.over_temperature.enable =
status.questionable.over_temperature.SMUA
Uses a constant to set the SMU A
bit in the questionable status over
temperature summary enable
register.
Also see
Questionable Status Registers (on page E-13)
status.questionable.* (on page 7-330)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-339
status.questionable.unstable_output.*
This attribute contains the questionable status unstable output summary register set.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
Models 2601B/2611B/2635B: 2 (All bits set)
Models
2602B/2604B/2612B/2614B/2634B/2636B:
6 (All bits set)
Usage
questionableRegister = status.questionable.unstable_output.condition
questionableRegister = status.questionable.unstable_output.enable
questionableRegister = status.questionable.unstable_output.event
questionableRegister = status.questionable.unstable_output.ntr
questionableRegister = status.questionable.unstable_output.ptr
status.questionable.unstable_output.enable = questionableRegister
status.questionable.unstable_output.ntr = questionableRegister
status.questionable.unstable_output.ptr = questionableRegister
operationRegister
The status of the questionable status unstable output summary register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate various bit
settings
Details
These attributes are used to read or write to the questionable status unstable output summary
registers. Reading a status register returns a value. The binary equivalent of the returned value
indicates which register bits are set. The least significant bit of the binary number is bit B0, and the
most significant bit is bit B15.
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable.
B1
status.questionable.unstable_output.SMUA
Set bit indicates that an unstable output
condition was detected on SMU A.
Bit B1 decimal value: 2
Binary value: 0000 0010
B2
status.questionable.unstable_output.SMUB
This bit is only available on Models
2602B/2604B/2612B/2614B/2634B/2636B.
Set bit indicates that an unstable output
condition was detected on SMU B.
Bit B2 decimal value: 4
Binary value: 0000 0100
B3-B15
Not used
Not applicable.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-340 2600BS-901-01 Rev. C / August 2016
As an example, to set bit B1 of the questionable status unstable output summary enable register, set
status.questionable.instrument.enable = status.questionable.instrument.SMUA
.
In addition to the above constants, questionableRegister can be set to the numeric equivalent of
the bit to set. To set more than one bit of the register, set operationRegister to the sum of their
decimal weights. For example, to set bits B1 and B2, set questionableRegister to 6 (which is
the sum of 2 + 4).
Example
status.questionable.unstable_output.enable =
status.questionable.unstable_output.SMUA
Uses a constant to set the SMU A
bit in the questionable status
unstable output summary enable
register bit.
Also see
Questionable Status Registers (on page E-13)
status.questionable.* (on page 7-330)
status.request_enable
This attribute stores the service request (SRQ) enable register.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Status reset
Not saved
0
Usage
requestSRQEnableRegister = status.request_enable
status.request_enable = requestSRQEnableRegister
requestSRQEnableRegister
The status of the service request (SRQ) enable register; a zero (0)
indicates no bits set (also send 0 to clear all bits); other values indicate
various bit settings
Details
This attribute is used to read or write to the service request enable register. Reading the service
request enable register returns a value. The binary equivalent of the value of this attribute indicates
which register bits are set. In the binary equivalent, the least significant bit is bit B0, and the most
significant bit is bit B7. For example, if a value of 1.29000e+02 (which is 129) is read as the value of
this register, the binary equivalent is 1000 0001. This value indicates that bit B0 and bit B7 are set.
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
*
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-341
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.MEASUREMENT_SUMMARY_BIT
status.MSB
Set summary bit indicates that an enabled event in the
Measurement Event Register has occurred.
Bit B0 decimal value: 1
B1
status.SYSTEM_SUMMARY_BIT
status.SSB
This bit is only available on Models
2601B/2602B/2611B/2612B/2635B/2636B. Set summary
bit indicates that an enabled event in the System Summary
Register has occurred.
Bit B1 decimal value: 2
B2
status.ERROR_AVAILABLE
status.EAV
Set summary bit indicates that an error or status message
is present in the Error Queue.
Bit B2 decimal value: 4
B3
status.QUESTIONABLE_SUMMARY_BIT
status.QSB
Set summary bit indicates that an enabled event in the
Questionable Status Register has occurred.
Bit B3 decimal value: 8
B4
status.MESSAGE_AVAILABLE
status.MAV
Set summary bit indicates that a response message is
present in the Output Queue.
Bit B4 decimal value: 16
B5
status.EVENT_SUMMARY_BIT
status.ESB
Set summary bit indicates that an enabled event in the
Standard Event Status Register has occurred.
Bit B5 decimal value: 32
B6 Not used Not applicable
B7
status.OPERATION_SUMMARY_BIT
status.OSB
Set summary bit indicates that an enabled event in the
Operation Status Register has occurred.
Bit B7 decimal value: 128
As an example, to set bit B0 of the service request enable register, set status.request_enable
= status.MSB.
In addition to the above values, requestSRQEnableRegister can be set to the numeric equivalent
of the bit to set. To set more than one bit of the register, set requestSRQEnableRegister to the
sum of their decimal weights. For example, to set bits B0 and B7, set
requestSRQEnableRegister to 129 (1 + 128).
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights (2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Example 1
requestSRQEnableRegister = status.MSB +
status.OSB
status.request_enable = requestSRQEnableRegister
Uses constants to set the MSB and OSB
bits of the service request (SRQ) enable
register.
Example 2
-- decimal 129 = binary 10000001
requestSRQEnableRegister = 129
status.request_enable = requestSRQEnableRegister
Uses a decimal value to set the MSB and
OSB bits of the service request (SRQ)
enable register.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-342 2600BS-901-01 Rev. C / August 2016
Also see
Status byte and service request (SRQ) (on page E-15)
status.condition (on page 7-275)
status.system.* (on page 7-347)
status.request_event
This attribute stores the service request (SRQ) event register.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not saved
0
Usage
requestSRQEventRegister = status.request_event
requestSRQEventRegister
The status of the request event register; a zero (0) indicates no bits set;
other values indicate various bit settings
Details
This attribute is used to read the service request event register, which is returned as a numeric value.
Reading this register returns a value. The binary equivalent of the value of this attribute indicates
which register bits are set. In the binary equivalent, the least significant bit is bit B0, and the most
significant bit is bit B7. For example, if a value of 1.29000e+02 (which is 129) is read as the value of
this register, the binary equivalent is 1000 0001. This value indicates that bit B0 and bit B7 are set.
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
*
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
The returned value can indicate one or more status events occurred.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-343
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.MEASUREMENT_SUMMARY_BIT
status.MSB
Set summary bit indicates that an enabled event in the
Measurement Event Register has occurred.
Bit B0 decimal value: 1
B1
status.SYSTEM_SUMMARY_BIT
status.SSB
This bit is only available on Models
2601B/2602B/2611B/2612B/2635B/2636B. Set summary
bit indicates that an enabled event in the System Summary
Register has occurred.
Bit B1 decimal value: 2
B2
status.ERROR_AVAILABLE
status.EAV
Set summary bit indicates that an error or status message
is present in the Error Queue.
Bit B2 decimal value: 4
B3
status.QUESTIONABLE_SUMMARY_BIT
status.QSB
Set summary bit indicates that an enabled event in the
Questionable Status Register has occurred.
Bit B3 decimal value: 8
B4
status.MESSAGE_AVAILABLE
status.MAV
Set summary bit indicates that a response message is
present in the Output Queue.
Bit B4 decimal value: 16
B5
status.EVENT_SUMMARY_BIT
status.ESB
Set summary bit indicates that an enabled event in the
Standard Event Status Register has occurred.
Bit B5 decimal value: 32
B6 Not used Not applicable
B7
status.OPERATION_SUMMARY_BIT
status.OSB
Set summary bit indicates that an enabled event in the
Operation Status Register has occurred.
Bit B7 decimal value: 128
In addition to the above constants, requestEventRegister can be set to the decimal equivalent of
the bits set. When more than one bit of the register is set, requestEventRegister contains the
sum of their decimal weights. For example, if 129 is returned, bits B0 and B7 are set (1 + 128).
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Example
requestEventRegister = status.request_event
print(requestEventRegister)
Reads the status request event register.
Sample output:
1.29000e+02
Converting this output (129) to its binary
equivalent yields 1000 0001.
Therefore, this output indicates that the set bits
of the status request event register are presently
B0 (MSB) and B7 (OSB).
Also see
status.condition (on page 7-275)
status.system.* (on page 7-347)
Status byte and service request (SRQ) (on page E-15)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-344 2600BS-901-01 Rev. C / August 2016
status.reset()
This function resets all bits in the status model.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
status.reset()
Details
This function clears all status data structure registers (enable, event, NTR, and PTR) to their default
values. For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status
register set contents (on page E-1) and Enable and transition registers (on page E-19).
Example
status.reset()
Resets the instrument status model.
Also see
Status model (on page 5-15, on page E-1)
status.standard.*
These attributes manage the standard event status register set of the status model.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
253 (All bits set)
Usage
standardRegister = status.standard.condition
standardRegister = status.standard.enable
standardRegister = status.standard.event
standardRegister = status.standard.ntr
standardRegister = status.standard.ptr
status.standard.enable = standardRegister
status.standard.ntr = standardRegister
status.standard.ptr = standardRegister
standardRegister
The status of the standard event status register; a zero (0) indicates no bits set (also
send 0 to clear all bits); other values indicate various bit settings
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-345
Details
These attributes are used to read or write to the standard event status registers. Reading a status
register returns a value. The binary equivalent of the returned value indicates which register bits are
set. The least significant bit of the binary number is bit B0, and the most significant bit is bit B15. For
example, if a value of 1.29000e+02 (which is 129) is read as the value of the condition register, the
binary equivalent is 0000 0000 1000 0001. This value indicates that bit B0 and bit B7 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-346 2600BS-901-01 Rev. C / August 2016
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.standard.OPERATION_COMPLETE
status.standard.OPC
Set bit indicates that all pending selected
instrument operations are completed and the
instrument is ready to accept new commands.
The bit is set in response to an *OPC
command. The opc() function can be used in
place of the *OPC command.
Bit B0 decimal value: 1
B1
Not used
Not applicable
B2
status.standard.QUERY_ERROR
status.standard.QYE Set bit indicates that you attempted to read
data from an empty Output Queue.
Bit B2 decimal value: 4
B3
status.standard.DEVICE_DEPENDENT_ERROR
status.standard.DDE Set bit indicates that an instrument operation
did not execute properly due to some internal
condition.
Bit B3 decimal value: 8
B4
status.standard.EXECUTION_ERROR
status.standard.EXE Set bit indicates that the instrument detected
an error while trying to execute a command.
Bit B4 decimal value: 16
B5
status.standard.COMMAND_ERROR
status.standard.CME Set bit indicates that a command error has
occurred. Command errors include:
IEEE Std 488.2 syntax error: Instrument
received a message that does not follow the
defined syntax of the IEEE Std 488.2
standard.
Semantic error: Instrument received a
command that was misspelled or received an
optional IEEE Std 488.2 command that is not
implemented.
GET error: The instrument received a Group
Execute Trigger (GET) inside a program
message.
Bit B5 decimal value: 32
B6
status.standard.USER_REQUEST
status.standard.URQ
Set bit indicates that the LOCAL key on the
instrument front panel was pressed.
Bit B6 decimal value: 64
B7
status.standard.POWER_ON
status.standard.PON
Set bit indicates that the instrument has been
turned off and turned back on since the last
time this register has been read.
Bit B7 decimal value: 128
B8-B15
Not used
Not applicable
As an example, to set bit B0 of the standard event status enable register, set
status.standard.enable = status.standard.OPC.
In addition to the above constants, standardRegister can be set to the numeric equivalent of the
bit to set. To set more than one bit of the register, set standardRegister to the sum of their
decimal weights. For example, to set bits B0 and B4, set standardRegister to 17 (which is the
sum of 1 + 16).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-347
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Example 1
standardRegister = status.standard.OPC
+ status.standard.EXE
status.standard.enable = standardRegister
Uses constants to set the OPC and EXE
bits of the standard event status enable
register.
Example 2
-- decimal 17 = binary 0001 0001
standardRegister = 17
status.standard.enable = standardRegister
Uses a decimal value to set the OPC and
EXE bits of the standard event status
enable register.
Also see
Standard Event Register (on page E-20)
status.system.*
These attributes manage the TSP-Link® system summary register of the status model for nodes 1 through 14.
These attributes are not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute - - - - - - - -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
32,767 (All bits set)
Usage
enableRegister = status.system.condition
enableRegister = status.system.enable
enableRegister = status.system.event
enableRegister = status.system.ntr
enableRegister = status.system.ptr
status.system.enable = enableRegister
status.system.ntr = enableRegister
status.system.ptr = enableRegister
enableRegister
The status of the system summary register; a zero (0) indicates no bits set; other
values indicate various bit settings
Details
In an expanded system (TSP-Link), these attributes are used to read or write to the system summary
registers. They are set using a constant or a numeric value, but are returned as a numeric value. The
binary equivalent of the value indicates which register bits are set. In the binary equivalent, the least
significant bit is bit B0, and the most significant bit is bit B15. For example, if a value of
1.29000e+02 (which is 129) is read as the value of the condition register, the binary equivalent is
0000 0000 1000 0001. This value indicates that bit B0 and bit B7 are set.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-348 2600BS-901-01 Rev. C / August 2016
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.system.EXTENSION_BIT
status.system.EXT
Bit B0 decimal value: 1
B1
status.system.NODE1
Bit B1 decimal value: 2
B2
status.system.NODE2
Bit B2 decimal value: 4
B3
status.system.NODE3
Bit B3 decimal value: 8
B4
status.system.NODE4
Bit B4 decimal value: 16
B5
status.system.NODE5
Bit B5 decimal value: 32
B6
status.system.NODE6
Bit B6 decimal value: 64
B7
status.system.NODE7
Bit B7 decimal value: 128
B8
status.system.NODE8
Bit B8 decimal value: 256
B9
status.system.NODE9
Bit B9 decimal value: 512
B10
status.system.NODE10
Bit B10 decimal value: 1,024
B11
status.system.NODE11
Bit B11 decimal value: 2,048
B12
status.system.NODE12
Bit B12 decimal value: 4,096
B13
status.system.NODE13
Bit B13 decimal value: 8,192
B14
status.system.NODE14
Bit B14 decimal value: 16,384
B15 Not used Not applicable
As an example, to set bit B0 of the system summary status enable register, set
status.system.enable = status.system.enable.EXT.
In addition to the above constants, enableRegister can be set to the numeric equivalent of the bit
to set. To set more than one bit of the register, set enableRegister to the sum of their decimal
weights. For example, to set bits B11 and B14, set enableRegister to 18,432 (which is the sum of
2,048 + 16,384).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-349
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(215)
(214)
(213)
(212)
(211)
(210)
(29)
(28)
Example 1
enableRegister = status.system.NODE11 +
status.system.NODE14
status.system.enable = enableRegister
Uses constants to set bits B11 and B14
of the system summary enable register.
Example 2
-- decimal 18432 = binary 0100 1000 0000 0000
enableRegister = 18432
status.system.enable = enableRegister
Uses a decimal value to set bits B11 and
B14 of the system summary enable
register.
Also see
status.system2.* (on page 7-349)
System summary and standard event registers (on page E-7)
status.system2.*
These attributes manage the TSP-Link® system summary register of the status model for nodes 15 through 28.
These attributes are not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R) Yes Status reset Not saved 0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
32,767 (All bits set)
Usage
enableRegister = status.system2.condition
enableRegister = status.system2.enable
enableRegister = status.system2.event
enableRegister = status.system2.ntr
enableRegister = status.system2.ptr
status.system2.enable = enableRegister
status.system2.ntr = enableRegister
status.system2.ptr = enableRegister
enableRegister
The status of the system summary 2 register; a zero (0) indicates no bits set; other
values indicate various bit settings
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-350 2600BS-901-01 Rev. C / August 2016
Details
In an expanded system (TSP-Link), these attributes are used to read or write to the system summary
registers. They are set using a constant or a numeric value, but are returned as a numeric value. The
binary equivalent of the value indicates which register bits are set. In the binary equivalent, the least
significant bit is bit B0, and the most significant bit is bit B15. For example, if a value of
1.29000e+02 (which is 129) is read as the value of the condition register, the binary equivalent is
0000 0000 1000 0001. This value indicates that bit B0 and bit B7 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.system2.EXTENSION_BIT
status.system2.EXT
Bit B0 decimal value: 1
B1
status.system2.NODE15
Bit B1 decimal value: 2
B2
status.system2.NODE16
Bit B2 decimal value: 4
B3
status.system2.NODE17
Bit B3 decimal value: 8
B4
status.system2.NODE18
Bit B4 decimal value: 16
B5
status.system2.NODE19
Bit B5 decimal value: 32
B6
status.system2.NODE20
Bit B6 decimal value: 64
B7
status.system2.NODE21
Bit B7 decimal value: 128
B8
status.system2.NODE22
Bit B8 decimal value: 256
B9
status.system2.NODE23
Bit B9 decimal value: 512
B10
status.system2.NODE24
Bit B10 decimal value: 1,024
B11
status.system2.NODE25
Bit B11 decimal value: 2,048
B12
status.system2.NODE26
Bit B12 decimal value: 4,096
B13
status.system2.NODE27
Bit B13 decimal value: 8,192
B14
status.system2.NODE28
Bit B14 decimal value: 16,384
B15
Not used
Not applicable
As an example, to set bit B0 of the system summary 2 enable register, set
status.system2.enable = status.system2.EXT.
In addition to the above constants, enableRegister can be set to the numeric equivalent of the bit
to set. To set more than one bit of the register, set enableRegister to the sum of their decimal
weights. For example, to set bits B11 and B14, set enableRegister to 18,432 (which is the sum of
2,048 + 16,384).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-351
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(215)
(214)
(213)
(212)
(211)
(210)
(29)
(28)
Example 1
enableRegister = status.system2.NODE25 +
status.system2.NODE28
status.system2.enable = enableRegister
Uses constants to set bits B11 and B14
of the system summary 2 enable
register.
Example 2
-- decimal 18432 = binary 0100 1000 0000 0000
enableRegister = 18432
status.system2.enable = enableRegister
Uses a decimal value to set bits B11 and
B14 of the system summary 2 enable
register.
Also see
status.system.* (on page 7-347)
status.system3.* (on page 7-351)
System summary and standard event registers (on page E-7)
status.system3.*
These attributes manage the TSP-Link® system summary register of the status model for nodes 29 through 42.
These attributes are not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
32,767 (All bits set)
Usage
enableRegister = status.system3.condition
enableRegister = status.system3.enable
enableRegister = status.system3.event
enableRegister = status.system3.ntr
enableRegister = status.system3.ptr
status.system3.enable = enableRegister
status.system3.ntr = enableRegister
status.system3.ptr = enableRegister
enableRegister
The status of the system summary 3 register; a zero (0) indicates no bits set; other
values indicate various bit settings
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-352 2600BS-901-01 Rev. C / August 2016
Details
In an expanded system (TSP-Link), these attributes are used to read or write to the system summary
registers. They are set using a constant or a numeric value, but are returned as a numeric value. The
binary equivalent of the value indicates which register bits are set. In the binary equivalent, the least
significant bit is bit B0, and the most significant bit is bit B15. For example, if a value of
1.29000e+02 (which is 129) is read as the value of the condition register, the binary equivalent is
0000 0000 1000 0001. This value indicates that bit B0 and bit B7 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.system3.EXTENSION_BIT
status.system3.EXT
Bit B0 decimal value: 1
B1
status.system3.NODE29
Bit B1 decimal value: 2
B2
status.system3.NODE30
Bit B2 decimal value: 4
B3
status.system3.NODE31
Bit B3 decimal value: 8
B4
status.system3.NODE32
Bit B4 decimal value: 16
B5
status.system3.NODE33
Bit B5 decimal value: 32
B6
status.system3.NODE34
Bit B6 decimal value: 64
B7
status.system3.NODE35
Bit B7 decimal value: 128
B8
status.system3.NODE36
Bit B8 decimal value: 256
B9
status.system3.NODE37
Bit B9 decimal value: 512
B10
status.system3.NODE38
Bit B10 decimal value: 1,024
B11
status.system3.NODE39
Bit B11 decimal value: 2,048
B12
status.system3.NODE40
Bit B12 decimal value: 4,096
B13
status.system3.NODE41
Bit B13 decimal value: 8,192
B14
status.system3.NODE42
Bit B14 decimal value: 16,384
B15
Not used
Not applicable
As an example, to set bit B0 of the system summary 3 enable register, set
status.system3.enable = status.system3.EXT.
In addition to the above constants, enableRegister can be set to the numeric equivalent of the bit
to set. To set more than one bit of the register, set enableRegister to the sum of their decimal
weights. For example, to set bits B11 and B14, set enableRegister to 18,432 (which is the sum of
2,048 + 16,384).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-353
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(215)
(214)
(213)
(212)
(211)
(210)
(29)
(28)
Example 1
enableRegister = status.system3.NODE39 +
status.system3.NODE42
status.system3.enable = enableRegister
Uses constants to set bits B11 and B14
of the system summary 3 enable
register.
Example 2
-- decimal 18432 = binary 0100 1000 0000 0000
enableRegister = 18432
status.system3.enable = enableRegister
Uses a decimal value to set bits B11 and
B14 of the system summary 3 enable
register.
Also see
status.system2.* (on page 7-349)
status.system4.* (on page 7-353)
System summary and standard event registers (on page E-7)
status.system4.*
These attributes manage the TSP-Link® system summary register of the status model for nodes 43 through 56.
These attributes are not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW)
Yes
Status reset
Not saved
32,767 (All bits set)
Usage
enableRegister = status.system4.condition
enableRegister = status.system4.enable
enableRegister = status.system4.event
enableRegister = status.system4.ntr
enableRegister = status.system4.ptr
status.system4.enable = enableRegister
status.system4.ntr = enableRegister
status.system4.ptr = enableRegister
enableRegister
The status of the system summary 4 register; a zero (0) indicates no bits set; other
values indicate various bit settings
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-354 2600BS-901-01 Rev. C / August 2016
Details
In an expanded system (TSP-Link), these attributes are used to read or write to the system summary
registers. They are set using a constant or a numeric value, but are returned as a numeric value. The
binary equivalent of the value indicates which register bits are set. In the binary equivalent, the least
significant bit is bit B0, and the most significant bit is bit B15. For example, if a value of
1.29000e+02 (which is 129) is read as the value of the condition register, the binary equivalent is
0000 0000 1000 0001. This value indicates that bit B0 and bit B7 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
status.system4.EXTENSION_BIT
status.system4.EXT
Bit B0 decimal value: 1
B1
status.system4.NODE43
Bit B1 decimal value: 2
B2
status.system4.NODE44
Bit B2 decimal value: 4
B3
status.system4.NODE45
Bit B3 decimal value: 8
B4
status.system4.NODE46
Bit B4 decimal value: 16
B5
status.system4.NODE47
Bit B5 decimal value: 32
B6
status.system4.NODE48
Bit B6 decimal value: 64
B7
status.system4.NODE49
Bit B7 decimal value: 128
B8
status.system4.NODE50
Bit B8 decimal value: 256
B9
status.system4.NODE51
Bit B9 decimal value: 512
B10
status.system4.NODE52
Bit B10 decimal value: 1,024
B11
status.system4.NODE53
Bit B11 decimal value: 2,048
B12
status.system4.NODE54
Bit B12 decimal value: 4,096
B13
status.system4.NODE55
Bit B13 decimal value: 8,192
B14
status.system4.NODE56
Bit B14 decimal value: 16,384
B15
Not used
Not applicable
As an example, to set bit B0 of the system summary 4 enable register, set
status.system4.enable = status.system4.enable.EXT.
In addition to the above constants, enableRegister can be set to the numeric equivalent of the bit
to set. To set more than one bit of the register, set enableRegister to the sum of their decimal
weights. For example, to set bits B11 and B14, set enableRegister to 18,432 (which is the sum of
2,048 + 16,384).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-355
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(215)
(214)
(213)
(212)
(211)
(210)
(29)
(28)
Example 1
enableRegister = status.system4.NODE53 +
status.system4.NODE56
status.system2.enable = enableRegister
Uses constants to set bit B11 and bit B14
of the system summary 4 enable
register.
Example 2
-- decimal 18432 = binary 0100 1000 0000 0000
enableRegister = 18432
status.system4.enable = enableRegister
Uses a decimal value to set bit B11 and
bit B14 of the system summary 4 enable
register.
Also see
status.system3.* (on page 7-351)
status.system5.* (on page 7-355)
System summary and standard event registers (on page E-7)
status.system5.*
These attributes manage the TSP-Link® system summary register of the status model for nodes 57 through 64.
These attributes are not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute
- -
- -
- -
- -
.condition (R)
Yes
Not applicable
Not saved
Not applicable
.enable (RW)
Yes
Status reset
Not saved
0
.event (R)
Yes
Status reset
Not saved
0
.ntr (RW)
Yes
Status reset
Not saved
0
.ptr (RW) Yes Status reset Not saved 510 (All bits set)
Usage
enableRegister = status.system5.condition
enableRegister = status.system5.enable
enableRegister = status.system5.event
enableRegister = status.system5.ntr
enableRegister = status.system5.ptr
status.system5.enable = enableRegister
status.system5.ntr = enableRegister
status.system5.ptr = enableRegister
enableRegister
The status of the system summary 5 register; a zero (0) indicates no bits set; other
values indicate various bit settings
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-356 2600BS-901-01 Rev. C / August 2016
Details
In an expanded system (TSP-Link), these attributes are used to read or write to the system summary
registers. They are set using a constant or a numeric value, but are returned as a numeric value. The
binary equivalent of the value indicates which register bits are set. In the binary equivalent, the least
significant bit is bit B0, and the most significant bit is bit B15. For example, if a value of
1.30000e+02 (which is 130) is read as the value of the condition register, the binary equivalent is
0000 0000 1000 0010. This value indicates that bit B1 and bit B7 are set.
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
**
>
>
>
>
>
>
>
>
>
>
>
>
>
>
*
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
* Least significant bit
** Most significant bit
For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set
contents (on page E-1) and Enable and transition registers (on page E-19). The individual bits of this
register are defined in the following table.
Bit Value Description
B0
Not used
Not applicable
B1
status.system5.NODE57
Bit B1 decimal value: 2
B2
status.system5.NODE58
Bit B2 decimal value: 4
B3
status.system5.NODE59
Bit B3 decimal value: 8
B4
status.system5.NODE60
Bit B4 decimal value: 16
B5
status.system5.NODE61
Bit B5 decimal value: 32
B6
status.system5.NODE62
Bit B6 decimal value: 64
B7
status.system5.NODE63
Bit B7 decimal value: 128
B8
status.system5.NODE64
Bit B8 decimal value: 256
B9-B15
Not used
Not applicable
As an example, to set bit B1 of the system summary 5 enable register, set
status.system5.enable = status.system5.NODE57.
In addition to the above constants, enableRegister can be set to the numeric equivalent of the bit
to set. To set more than one bit of the register, set enableRegister to the sum of their decimal
weights. For example, to set bits B1 and B4, set enableRegister to 18 (which is the sum of 2 +
16).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-357
Bit B7 B6 B5 B4 B3 B2 B1 B0
Binary value
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Decimal
128
64
32
16
8
4
2
1
Weights
(2
7
) (2
6
) (2
5
) (2
4
) (2
3
) (2
2
) (2
1
) (2
0
)
Bit
B15
B14
B13
B12
B11
B10
B9
B8
Binary value 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Decimal
32,768
16,384
8,192
4,096
2,048
1,024
512
256
Weights
(215)
(214)
(213)
(212)
(211)
(210)
(29)
(28)
Example 1
enableRegister = status.system5.NODE57 +
status.system5.NODE60
status.system2.enable = enableRegister
Uses constants to set bits B1 and B4 of
the system summary 5 enable register.
Example 2
-- decimal 18 = binary 0000 0000 0001 0010
enableRegister = 18
status.system5.enable = enableRegister
Uses a decimal value to set bits B1 and
B4 of the system summary 5 enable
register.
Also see
status.system4.* (on page 7-353)
System summary and standard event registers (on page E-7)
SweepILinMeasureV()
This KISweep factory script function performs a linear current sweep with voltage measured at every step (point).
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
SweepILinMeasureV(smu, starti, stopi, stime, points)
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
starti
Sweep start current in amperes
stopi
Sweep stop current in amperes
stime
Settling time in seconds; occurs after stepping the source and before performing a
measurement
points
Number of sweep points (must be
2)
Details
Data for voltage measurements, current source values, and timestamps are stored in
smuX.nvbuffer1.
If all parameters are omitted when this function is called, this function is executed with the parameters
set to the default values.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-358 2600BS-901-01 Rev. C / August 2016
Performs a linear current sweep with voltage measured at every step (point):
1. Sets the smu to output starti amperes, allows the source to settle for stime seconds, and then
performs a voltage measurement.
2. Sets the smu to output the next amperes step, allows the source to settle for stime seconds, and then
performs a voltage measurement.
3. Repeats the above sequence until the voltage is measured on the stopi amperes step.
The linear step size is automatically calculated as follows:
step = (stopi starti) / (points 1)
Figure 134: SweepILinMeasureV()
Example
SweepILinMeasureV(smua, -1E-3, 1E-3, 0, 100)
This function performs a 100-point linear current
sweep starting at 1 mA and stopping at +
1 mA.
Voltage is measured at every step (point) in the
sweep. Because stime is set for 0 s, voltage is
measured as quickly as possible after each
current step.
Also see
KISweep factory script (on page 5-21)
SweepIListMeasureV()
This KISweep factory script function performs a current list sweep with voltage measured at every step (point).
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
SweepIListMeasureV(smu, ilist, stime, points)
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
ilist
Arbitrary list of current source values; ilist = {value1, value2,
...valueN}
stime
Settling time in seconds; occurs after stepping the source and before performing a
measurement
points
Number of sweep points (must be
2)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-359
Details
Data for voltage measurements, current source values, and timestamps are stored in
smuX.nvbuffer1.
If all parameters are omitted when this function is called, this function is executed with the parameters
set to the default values.
Performs a current list sweep with voltage measured at every step (point):
1. Sets the smu to output ilist amperes value, allows the source to settle for stime seconds, and then
performs a voltage measurement.
2. Sets the smu to output the next ilist step, allows the source to settle for stime seconds, and then
performs a voltage measurement.
3. Repeats the above sequence until the voltage is measured for the last amperes value. The last point in
the list to be measured is points.
Example
testilist = {-100E-9, 100E-9, -1E-6, 1E-6,
-1E-3, 1E-3}
SweepIListMeasureV(smua, testilist,
500E-3, 6)
This function performs a six-point current list
sweep starting at the first point in testilist.
Voltage is measured at every step (point) in the
sweep. The source will be allowed to settle on
each step for 500 ms before a measurement is
performed.
Also see
KISweep factory script (on page 5-21)
SweepILogMeasureV()
This KISweep factory script function performs a logarithmic current sweep with voltage measured at every step
(point).
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
SweepILogMeasureV(smu, starti, stopi, stime, points)
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
starti
Sweep start current in amperes
stopi
Sweep stop current in amperes
stime
Settling time in seconds; occurs after stepping the source and before performing a
measurement
points
Number of sweep points (must be
2)
Details
Data for voltage measurements, current source values, and timestamps are stored in
smuX.nvbuffer1.
If all parameters are omitted when this function is called, this function is executed with the parameters
set to the default values.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-360 2600BS-901-01 Rev. C / August 2016
Performs a logarithmic current sweep with voltage measured at every step (point):
1. Sets the smu to output starti amperes value, allows the source to settle for stime seconds, and then
performs a voltage measurement.
2. Sets the smu to output the next amperes step, allows the source to settle for stime seconds, and then
performs a voltage measurement.
3. Repeats the above sequence until the voltage is measured on the stopi amperes step.
The source level at each step (SourceStepLevel) is automatically calculated as follows:
MeasurePoint = The step point number for a measurement
For example, for a five-point sweep (points = 5), a measurement is performed at MeasurePoint 1,
2, 3, 4, and 5.
LogStepSize = (log10(stopi) log10(starti)) / (points 1)
LogStep = (MeasurePoint 1) * (LogStepSize)
SourceStepLevel = antilog(LogStep) * starti
Figure 135: SweepILogMeasureV()
Example
SweepILogMeasureV(smua, 0.01, 0.1,
0.001, 5)
This function performs a five-point linear current sweep
starting at 10 mA and stopping at 100 mA. Voltage is
measured at every step (point) in the sweep. The source is
allowed to settle on each step for 1 ms before a
measurement is performed.
The following table contains log values and corresponding
source levels for the five-point logarithmic sweep:
MeasurePoint LogStepSize LogStep SourceStepLevel
1
0.25
0.0
0.01 A
2
0.25
0.25
0.017783 A
3
0.25
0.5
0.031623 A
4
0.25
0.75
0.056234 A
5 0.25 1.0 0.1 A
Also see
KISweep factory script (on page 5-21)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-361
SweepVLinMeasureI()
This KISweep factory script function performs a linear voltage sweep with current measured at every step (point).
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
SweepVLinMeasureI(smu, startv, stopv, stime, points)
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
startv
Sweep start voltage in volts
stopv
Sweep stop voltage in volts
stime
Settling time in seconds; occurs after stepping the source and before performing a
measurement
points
Number of sweep points (must be
2)
Details
Data for current measurements, voltage source values, and timestamps are stored in
smuX.nvbuffer1.
If all parameters are omitted when this function is called, this function is executed with the parameters
set to the default values.
Performs a linear voltage sweep with current measured at every step (point):
1. Sets the smu to output startv amperes, allows the source to settle for stime seconds, and then
performs a current measurement.
2. Sets the smu to output the next amperes step, allows the source to settle for stime seconds, and then
performs a voltage measurement.
3. Repeats the above sequence until the voltage is measured on the stopv amperes step.
The linear step size is automatically calculated as follows:
step = (stopv startv) / (points 1)
Figure 136: SweepVLinMeasureI()
Example
SweepVLinMeasureI(smua, -1, 1, 1E-3, 1000)
This function performs a 1000-point linear
voltage sweep starting at -1 V and stopping at
+1 V. Current is measured at every step (point)
in the sweep after a 1 ms source settling period.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-362 2600BS-901-01 Rev. C / August 2016
Also see
KISweep factory script (on page 5-21)
SweepVListMeasureI()
This KISweep factory script function performs a voltage list sweep with current measured at every step (point).
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
SweepVListMeasureI(smu, vlist, stime, points)
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU channel
A)
vlist
Arbitrary list of voltage source values; vlist = {value1, value2, ... valueN}
stime
Settling time in seconds; occurs after stepping the source and before performing a
measurement
points
Number of sweep points (must be 2)
Details
Data for current measurements, voltage source values, and timestamps are stored in
smuX.nvbuffer1.
If all parameters are omitted when this function is called, this function is executed with the parameters
set to the default values.
Performs a voltage list sweep with current measured at every step (point):
1. Sets the smu to output vlist volts value, allows the source to settle for stime seconds, and then
performs a current measurement.
2. Sets the smu to output the next vlist volts value, allows the source to settle for stime seconds, and
then performs a current measurement.
3. Repeats the above sequence until the current is measured for the last volts value. The last point in the
list to be measured is points.
Example
myvlist = {-0.1, 0.1, -1, 1, -6, 6, -40,
40, 0, 0}
SweepVListMeasureI(smua, myvlist,
500E-3, 10)
This function performs a 10-point voltage list sweep
starting at the first point in myvlist. Current is
measured at every step (point) in the sweep. The
source will be allowed to settle on each step for
500 ms before a measurement is performed.
Also see
KISweep factory script (on page 5-21)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-363
SweepVLogMeasureI()
This KISweep factory script function performs a logarithmic voltage sweep with current measured at every step
(point).
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
SweepVLogMeasureI(smu, startv, stopv, stime, points)
smu
System SourceMeter
®
instrument channel (for example, smua refers to SMU
channel A)
startv
Sweep start voltage in volts
stopv
Sweep stop voltage in volts
stime
Settling time in seconds; occurs after stepping the source and before performing a
measurement
points
Number of sweep points (must be
2)
Details
Data for current measurements, voltage source values, and timestamps are stored in
smuX.nvbuffer1.
If all parameters are omitted when this function is called, this function is executed with the parameters
set to the default values.
Performs a logarithmic voltage sweep with current measured at every step (point):
1. Sets the smu to output startv amperes, allows the source to settle for stime seconds, and then
performs a current measurement.
2. Sets the smu to output the next volts step, allows the source to settle for stime seconds, and then
performs a current measurement.
3. Repeats the above sequence until the voltage is measured on the stopv volts step.
The source level at each step (SourceStepLevel) is automatically calculated as follows:
MeasurePoint = The step point number for a measurement
For example, for a five-point sweep (points = 5), a measurement is performed at MeasurePoint
1, 2, 3, 4, and 5.
LogStepSize = (log10(stopi) log10(starti)) / (points 1)
LogStep = (MeasurePoint 1) * (LogStepSize)
SourceStepLevel = antilog(LogStep) * startv
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-364 2600BS-901-01 Rev. C / August 2016
Figure 137: SweepVLogMeasureI()
Example
SweepVLogMeasureI(smua, 1, 10,
0.001, 5)
This function performs a five-point logarithmic voltage
sweep starting at 1 V and stopping at 10 V. Current is
measured at every step (point) in the sweep after a 1 ms
source settling period.
The following table contains log values and corresponding
source levels for the five-point logarithmic sweep:
MeasurePoint LogStepSize LogStep SourceStepLevel
1
0.25
0.0
1.0000 V
2
0.25
0.25
1.7783 V
3
0.25
0.5
3.1623 V
4
0.25
0.75
5.6234 V
5
0.25
1.0
10.000 V
Also see
KISweep factory script (on page 5-21)
timer.measure.t()
This function measures the elapsed time since the timer was last reset.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
time = timer.measure.t()
time
The elapsed time in seconds (1 µs resolution)
Example 1
timer.reset()
-- (intervening code)
time = timer.measure.t()
print(time)
Resets the timer and measures the time since the
reset.
Output:
1.469077e+01
The output will vary. The above output indicates that
timer.measure.t() was executed 14.69077
seconds after
timer.reset()
.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-365
Example 2
beeper.beep(0.5, 2400)
print("reset timer")
timer.reset()
delay(0.5)
dt = timer.measure.t()
print("timer after delay:", dt)
beeper.beep(0.5, 2400)
Sets the beeper, resets the timer, sets a delay, then
verifies the time of the delay before the next beeper.
Output:
reset timer
timer after delay: 5.00e-01
Also see
timer.reset() (on page 7-365)
timer.reset()
This function resets the timer to zero (0) seconds.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
timer.reset()
Example
timer.reset()
-- (intervening code)
time = timer.measure.t()
print(time)
Resets the timer and then measures the time since
the reset.
Output:
1.469077e+01
The above output indicates that
timer.measure.t() was executed 14.69077
seconds after
timer.reset()
.
Also see
timer.measure.t() (on page 7-364)
trigger.blender[N].clear()
This function clears the blender event detector and resets the overrun indicator of blender N.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
trigger.blender[N].clear()
N
The blender number (1 to 6)
Details
This command sets the blender event detector to the undetected state and resets the overrun
indicator of the event detector.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-366 2600BS-901-01 Rev. C / August 2016
Example
trigger.blender[2].clear()
Clears the event detector for
blender 2.
Also see
None
trigger.blender[N].EVENT_ID
This constant contains the trigger blender event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant Yes
Usage
eventID = trigger.blender[N].EVENT_ID
eventID
Trigger event number
N
The blender number (1 to 6)
Details
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
trigger events from this trigger blender.
Example
digio.trigger[1].stimulus = trigger.blender[2].EVENT_ID
Set the trigger stimulus of
digital I/O trigger 1 to be
controlled by the trigger
blender 2 event.
Also see
None
trigger.blender[N].orenable
This attribute selects whether the blender performs OR operations or AND operations.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
Trigger blender N reset
Recall setup
Not saved false (AND mode)
Usage
orenable = trigger.blender[N].orenable
trigger.blender[N].orenable = orenable
orenable
The type of operation:
true: OR operation
false: AND operation
N
The blender number (1 to 6)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-367
Details
This command selects whether the blender waits for any one event (OR) or waits for all selected
events (AND) before signaling an output event.
Example
trigger.blender[1].orenable = true
trigger.blender[1].stimulus[1] = digio.trigger[3].EVENT_ID
trigger.blender[1].stimulus[2] = digio.trigger[5].EVENT_ID
Generate a trigger blender 1
event when a digital I/O
trigger happens on line 3 or
5.
Also see
trigger.blender[N].reset() (on page 7-368)
trigger.blender[N].overrun
This attribute indicates whether or not an event was ignored because of the event detector state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Instrument reset
Trigger blender N clear
Trigger blender N reset
Not applicable
Not applicable
Usage
overrun = trigger.blender[N].overrun
overrun
Trigger blender overrun state (true or false)
N
The blender number (1 to 6)
Details
Indicates if an event was ignored because the event detector was already in the detected state when
the event occurred. This is an indication of the state of the event detector that is built into the event
blender itself.
This command does not indicate if an overrun occurred in any other part of the trigger model or in any
other trigger object that is monitoring the event. It also is not an indication of an action overrun.
Example
print(trigger.blender[1].overrun)
If an event was ignored, the output
is true.
If an event was not ignored, the
output is
false
.
Also see
trigger.blender[N].reset() (on page 7-368)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-368 2600BS-901-01 Rev. C / August 2016
trigger.blender[N].reset()
This function resets some of the trigger blender settings to their factory defaults.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
trigger.blender[N].reset()
N
The trigger event blender (1 to 6)
Details
The trigger.blender[N].reset() function resets the following attributes to their factory
defaults:
trigger.blender[N].orenable
trigger.blender[N].stimulus[M]
It also clears trigger.blender[N].overrun.
Example
trigger.blender[1].reset()
Resets the trigger blender 1
settings to factory defaults.
Also see
trigger.blender[N].orenable (on page 7-366)
trigger.blender[N].overrun (on page 7-367)
trigger.blender[N].stimulus[M] (on page 7-369)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-369
trigger.blender[N].stimulus[M]
This attribute specifies the events that trigger the blender.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Restore configuration
Instrument reset
Power cycle
Trigger blender N reset
Configuration script trigger.EVENT_NONE
Usage
eventID = trigger.blender[N].stimulus[M]
trigger.blender[N].stimulus[M] = eventID
eventID
The event that triggers the blender action; see Details
N
An integer representing the trigger event blender (1 to 6)
M
An integer representing the stimulus index (1 to 4)
Details
There are four stimulus inputs that can each select a different event. The eventID parameter can be
the event ID of any trigger event.
Use zero to disable the blender input.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-370 2600BS-901-01 Rev. C / August 2016
The eventID parameter may be one of the existing trigger event IDs shown in the following table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Example
digio.trigger[3].mode = digio.TRIG_FALLING
digio.trigger[5].mode = digio.TRIG_FALLING
trigger.blender[1].orenable = true
trigger.blender[1].stimulus[1] = digio.trigger[3].EVENT_ID
trigger.blender[1].stimulus[2] = digio.trigger[5].EVENT_ID
Generate a trigger blender 1
event when a digital I/O
trigger happens on line 3 or
5.
Also see
trigger.blender[N].reset() (on page 7-368)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-371
trigger.blender[N].wait()
This function waits for a blender trigger event to occur.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
triggered = trigger.blender[N].wait(timeout)
triggered
Trigger detection indication for blender
N
The trigger blender (1 to 6) on which to wait
timeout
Maximum amount of time in seconds to wait for the trigger blender event
Details
This function waits for an event blender trigger event. If one or more trigger events were detected
since the last time trigger.blender[N].wait() or trigger.blender[N].clear() was
called, this function returns immediately.
After detecting a trigger with this function, the event detector automatically resets and rearms. This is
true regardless of the number of events detected.
Example
digio.trigger[3].mode = digio.TRIG_FALLING
digio.trigger[5].mode = digio.TRIG_FALLING
trigger.blender[1].orenable = true
trigger.blender[1].stimulus[1] = digio.trigger[3].EVENT_ID
trigger.blender[1].stimulus[2] = digio.trigger[5].EVENT_ID
print(trigger.blender[1].wait(3))
Generate a trigger blender 1
event when a digital I/O
trigger happens either on
line 3 or 5.
Wait three seconds while
checking if trigger blender 1
event has occurred.
If the blender trigger event
has happened, then true is
output. If the trigger event
has not happened, then
false is output after the
timeout expires.
Also see
trigger.blender[N].clear() (on page 7-365)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-372 2600BS-901-01 Rev. C / August 2016
trigger.clear()
This function clears the command interface trigger event detector.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
trigger.clear()
Details
The trigger event detector indicates if a trigger event has been detected since the last
trigger.wait() call. trigger.clear() clears the trigger event detector and discards the history
of command interface trigger events.
Also see
trigger.wait() (on page 7-381)
trigger.EVENT_ID
This constant contains the command interface trigger event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
eventID = trigger.EVENT_ID
eventID
The event ID for the command interface triggers
Details
You can set the stimulus of any trigger object to the value of this constant to have the trigger object
respond to command interface trigger events.
Example
trigger.timer[1].stimulus = trigger.EVENT_ID
Sets the trigger stimulus of trigger
timer 1 to the command interface
trigger event.
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-373
trigger.generator[N].assert()
This function generates a trigger event.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
trigger.generator[N].assert()
N
The generator number (1 or 2)
Details
Use this function to directly trigger events from the command interface or a script (for example, you
can trigger a sweep while the instrument is under script control).
Example
trigger.generator[2].assert()
Generates a trigger event on generator 2.
Also see
trigger.generator[N].EVENT_ID (on page 7-373)
trigger.generator[N].EVENT_ID
This constant identifies the trigger event generated by the trigger event generator.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
eventID = trigger.generator[N].EVENT_ID
eventID
The trigger event number
N
The generator number (1 or 2)
Details
This constant is an identification number that identifies events generated by this generator.
To have another trigger object respond to trigger events generated by this generator, set the other
object's stimulus attribute to the value of this constant.
Example
digio.trigger[5].stimulus =
trigger.generator[2].EVENT_ID
Uses a trigger event on generator 2
to be the stimulus for digital I/O
trigger line 5.
Also see
trigger.generator[N].assert() (on page 7-373)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-374 2600BS-901-01 Rev. C / August 2016
trigger.timer[N].clear()
This function clears the timer event detector and overrun indicator for the specified trigger timer number.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
trigger.timer[N].clear()
N
Trigger timer number (1 to 8)
Details
This command sets the timer event detector to the undetected state and resets the overrun indicator.
Example
trigger.timer[1].clear()
Clears trigger timer 1.
Also see
trigger.timer[N].count (on page 7-374)
trigger.timer[N].count
This attribute sets the number of events to generate each time the timer generates a trigger event.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
Trigger timer N reset
Not saved
1
Usage
count = trigger.timer[N].count
trigger.timer[N].count = count
count
Number of times to repeat the trigger (0 to 1,048,575)
N
Trigger timer number (1 to 8)
Details
If count is set to a number greater than 1, the timer automatically starts the next delay at the
expiration of the previous delay.
Set count to zero (0) to cause the timer to generate trigger events indefinitely.
Example
print(trigger.timer[1].count)
Read trigger count for timer number 1.
Also see
trigger.timer[N].clear() (on page 7-374)
trigger.timer[N].reset() (on page 7-378)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-375
trigger.timer[N].delay
This attribute sets and reads the timer delay.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
Trigger timer N reset
Not saved
10e-6 (10 µs)
Usage
interval = trigger.timer[N].delay
trigger.timer[N].delay = interval
interval
Delay interval in seconds (5.00e-07 to 100,000)
N
Trigger timer number (1 to 8)
Details
Once the timer is enabled, each time the timer is triggered, it uses this delay period.
Assigning a value to this attribute is equivalent to:
trigger.timer[N].delaylist = {interval}
This creates a delay list of one value.
Reading this attribute returns the delay interval that will be used the next time the timer is triggered.
Example
trigger.timer[1].delay = 50e-6
Set the trigger timer 1 to delay for
50 µs.
Also see
trigger.timer[N].reset() (on page 7-378)
trigger.timer[N].delaylist
This attribute sets an array of timer intervals.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
Trigger timer N reset
Not saved
{10e-6}
Usage
intervals = trigger.timer[N].delaylist
trigger.timer[N].delaylist = intervals
intervals
Table of delay intervals in seconds
N
Trigger timer number (1 to 8)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-376 2600BS-901-01 Rev. C / August 2016
Details
Each time the timer is triggered after it is enabled, it uses the next delay period from the array. The
default value is an array with one value of 10 µs.
After all elements in the array have been used, the delays restart at the beginning of the list.
If the array contains more than one element, the average of the delay intervals in the list must be
50 µs.
Example
trigger.timer[3].delaylist = {50e-6, 100e-6, 150e-6}
DelayList = trigger.timer[3].delaylist
for x = 1, table.getn(DelayList) do
print(DelayList[x])
end
Set a delay list on trigger timer 3
with three delays (50 µs, 100 µs,
and 150 µs).
Read the delay list on trigger
timer 3.
Output (assuming the delay list was
set to 50 µs, 100 µs, and 150 µs):
5.000000000e-05
1.000000000e-04
1.500000000e-04
Also see
trigger.timer[N].reset() (on page 7-378)
trigger.timer[N].EVENT_ID
This constant specifies the trigger timer event number.
Type TSP-Link accessible Affected by Where saved Default value
Constant
Yes
Usage
eventID = trigger.timer[N].EVENT_ID
eventID
The trigger event number
N
Trigger timer number (1 to 8)
Details
This constant is an identification number that identifies events generated by this timer.
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
events from this timer.
Example
trigger.timer[1].stimulus = tsplink.trigger[2].EVENT_ID
Sets the trigger stimulus of
trigger timer 1 to the TSP-
Link trigger 2 event.
Also see
None
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-377
trigger.timer[N].overrun
This attribute indicates if an event was ignored because of the event detector state.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R) Yes Instrument reset
Recall setup
Trigger timer N clear
Trigger timer N reset
Not applicable false
Usage
overrun = trigger.timer[N].overrun
overrun
Trigger overrun state
N
Trigger timer number (1 to 8)
Details
This attribute indicates if an event was ignored because the event detector was already in the
detected state when the event occurred.
This is an indication of the state of the event detector built into the timer itself. It does not indicate if
an overrun occurred in any other part of the trigger model or in any other construct that is monitoring
the delay completion event. It also is not an indication of a delay overrun.
Delay overrun indications are provided in the status model.
Example
print(trigger.timer[1].overrun)
If an event was ignored, the output
is true.
If the event was not ignored, the
output is
false
.
Also see
trigger.timer[N].reset() (on page 7-378)
trigger.timer[N].passthrough
This attribute enables or disables the timer trigger pass-through mode.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
Trigger timer N reset
Not saved
false (disabled)
Usage
passthrough = trigger.timer[N].passthrough
trigger.timer[N].passthrough = passthrough
passthrough
The state of pass-through mode; set to to one of the following values:
true: Enabled
false
: Disabled
N
Trigger timer number (1 to 8)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-378 2600BS-901-01 Rev. C / August 2016
Details
When pass-through mode is enabled, triggers are passed through immediately and initiate the delay.
When disabled, a trigger only initiates a delay.
Example
trigger.timer[1].passthrough = true
Enables pass-through mode on trigger timer 1.
Also see
trigger.timer[N].reset() (on page 7-378)
trigger.timer[N].reset()
This function resets some of the trigger timer settings to their factory defaults.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
trigger.timer[N].reset()
N
Trigger timer number (1 to 8)
Details
The trigger.timer[N].reset() function resets the following attributes to their factory defaults:
trigger.timer[N].count
trigger.timer[N].delay
trigger.timer[N].delaylist
trigger.timer[N].passthrough
trigger.timer[N].stimulus
It also clears trigger.timer[N].overrun.
Example
trigger.timer[1].reset()
Resets the attributes associated with timer 1 back
to factory default values.
Also see
trigger.timer[N].count (on page 7-374)
trigger.timer[N].delay (on page 7-375)
trigger.timer[N].delaylist (on page 7-375)
trigger.timer[N].overrun (on page 7-377)
trigger.timer[N].passthrough (on page 7-377)
trigger.timer[N].stimulus (on page 7-379)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-379
trigger.timer[N].stimulus
This attribute specifies which event starts the timer.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
Recall setup
Trigger timer N reset
Not saved 0
Usage
eventID = trigger.timer[N].stimulus
trigger.timer[N].stimulus = eventID
eventID
The event that triggers the timer delay
N
Trigger timer number (1 to 8)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-380 2600BS-901-01 Rev. C / August 2016
Details
The eventID parameter may be one of the trigger event IDs shown in the following table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Set this attribute to the eventID of any trigger event to cause the timer to start when that event
occurs.
Set this attribute to zero (0) to disable event processing.
Example
print(trigger.timer[1].stimulus)
Prints the event that will start a trigger 1
timer action.
Also see
trigger.timer[N].reset() (on page 7-378)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-381
trigger.timer[N].wait()
This function waits for a trigger.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
triggered = trigger.timer[N].wait(timeout)
triggered
Trigger detection indication
N
Trigger timer number (1 to 8)
timeout
Maximum amount of time in seconds to wait for the trigger
Details
If one or more trigger events were detected since the last time trigger.timer[N].wait() or
trigger.timer[N].clear() was called, this function returns immediately.
After waiting for a trigger with this function, the event detector is automatically reset and rearmed.
This is true regardless of the number of events detected.
Example
triggered = trigger.timer[3].wait(10)
print(triggered)
Waits up to 10 s for a trigger on timer 3.
If false is returned, no trigger was
detected during the 10-s timeout.
If
true
is returned, a trigger was detected.
Also see
trigger.timer[N].clear() (on page 7-374)
trigger.wait()
This function waits for a command interface trigger event.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
triggered = trigger.wait(timeout)
triggered
true: A trigger was detected during the timeout period
false
: No triggers were detected during the timeout period
timeout
Maximum amount of time in seconds to wait for the trigger
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-382 2600BS-901-01 Rev. C / August 2016
Details
This function waits up to timeout seconds for a trigger on the active command interface. A
command interface trigger occurs when:
A GPIB GET command is detected (GPIB only)
A USBTMC TRIGGER message is received (USB only)
A VXI-11 device_trigger method is invoked (VXI-11 only)
A *TRG message is received
If one or more of these trigger events were previously detected, this function returns immediately.
After waiting for a trigger with this function, the event detector is automatically reset and rearmed.
This is true regardless of the number of events detected.
Example
triggered = trigger.wait(10)
print(triggered)
Waits up to 10 seconds for a trigger.
If false is returned, no trigger was detected
during the 10-second timeout.
If
true
is returned, a trigger was detected.
Also see
trigger.clear() (on page 7-372)
tsplink.group
This attribute contains the group number of a TSP-Link node. This attribute is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile memory
0
Usage
groupNumber = tsplink.group
tsplink.group = groupNumber
groupNumber
The group number of the TSP-Link node (0 to 64)
Details
To remove the node from all groups, set the attribute value to 0.
When the node is turned off, the group number for that node changes to 0.
The master node can be assigned to any group. You can also include other nodes in the group that
includes the master. Note that any nodes that are set to 0 are automatically included in the group
that contains the master node, regardless of the group that is assigned to the master node.
Example
tsplink.group = 3
Assign the instrument to TSP-Link group number 3.
Also see
Using groups to manage nodes on a TSP-Link system (see "Using groups to manage nodes on TSP-
Link network" on page 6-55)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-383
tsplink.master
This attribute reads the node number assigned to the master node. This attribute is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
masterNodeNumber = tsplink.master
masterNodeNumber
The node number of the master node
Details
After doing a TSP-Link reset (tsplink.reset()), use this attribute to access the node number of
the master in a set of instruments connected over TSP-Link.
Example
LinkMaster = tsplink.master
Store the TSP-Link master
node number in a variable
called LinkMaster.
Also see
tsplink.reset() (on page 7-385)
tsplink.node
This attribute defines the node number. This attribute is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Not applicable
Nonvolatile
memory
1
Usage
nodeNumber = tsplink.node
tsplink.node = nodeNumber
nodeNumber
The node number of the instrument or enclosure (1 to 64)
Details
This attribute sets the TSP-Link node number and saves the value in nonvolatile memory.
Changes to the node number do not take effect until tsplink.reset() from an earlier TSP-Link
instrument is executed on any node in the system.
Each node connected to the TSP-Link system must be assigned a different node number.
Example
tsplink.node = 3
Sets the TSP-Link node for this instrument to
number 3.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-384 2600BS-901-01 Rev. C / August 2016
Also see
tsplink.reset() (on page 7-385) tsplink.reset() (on page 7-385)
tsplink.state (on page 7-386)
tsplink.readbit()
This function reads the state of a TSP-Link synchronization line. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function Yes
Usage
data = tsplink.readbit(N)
data
The state of the synchronization line
N
The trigger line (1 to 3)
Details
Returns a value of zero (0) if the line is low and 1 if the line is high.
Example
data = tsplink.readbit(3)
print(data)
Assume line 3 is set high, and it is then read.
Output:
1.000000e+00
Also see
tsplink.readport() (on page 7-384)
tsplink.writebit() (on page 7-396)
tsplink.readport()
This function reads the TSP-Link synchronization lines as a digital I/O port. This function is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
data = tsplink.readport()
data
Numeric value that indicates which lines are set
Details
The binary equivalent of the returned value indicates the input pattern on the I/O port. The least
significant bit of the binary number corresponds to line 1 and the value of bit 3 corresponds to line 3.
For example, a returned value of 2 has a binary equivalent of 010. This indicates that line 2 is high
(1), and that the other two lines are low (0).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-385
Example
data = tsplink.readport()
print(data)
Reads state of all three TSP-Link lines.
Assuming line 2 is set high, the output is:
2.000000e+00
(binary 010)
The format of the output may vary depending on the
ASCII precision setting.
Also see
TSP-Link synchronization lines (on page 3-89)
tsplink.readbit() (on page 7-384)
tsplink.writebit() (on page 7-396) TSP-Link synchronization lines (on page 3-89)
tsplink.readbit() (on page 7-384)
tsplink.writebit() (on page 7-396)
tsplink.writeport() (on page 7-397)
tsplink.reset()
This function initializes (resets) all nodes (instruments) in the TSP-Link system. This function is not available on
the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
nodesFound = tsplink.reset()
nodesFound = tsplink.reset(expectedNodes)
nodesFound
The number of nodes actually found on the system
expectedNodes
The number of nodes expected on the system (1 to 64)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-386 2600BS-901-01 Rev. C / August 2016
Details
This function erases all information regarding other nodes connected on the TSP-Link system and
regenerates the system configuration. This function must be called at least once before any remote
nodes can be accessed. If the node number for any instrument is changed, the TSP-Link must be
reset again.
If expectedNodes is not given, this function generates an error if no other nodes are found on the
TSP-Link network.
If nodesFound is less than expectedNodes, an error is generated. Note that the node on which the
command is running is counted as a node. For example, giving an expected node count of 1 will not
generate any errors, even if there are no other nodes on the TSP-Link network.
Also returns the number of nodes found.
Example
nodesFound = tsplink.reset(2)
print("Nodes found = " .. nodesFound)
Perform a TSP-Link reset and indicate how
many nodes are found.
Sample output if two nodes are found:
Nodes found = 2
Sample output if fewer nodes are found and
if localnode.showerrors = 1:
1219, TSP-Link found fewer nodes
than expected
Nodes found = 1
Also see
localnode.showerrors (on page 7-158)
tsplink.node (on page 7-383)
tsplink.state (on page 7-386)
tsplink.state
This attribute describes the TSP-Link online state. This attribute is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Not applicable
Not applicable
Not applicable
Usage
state = tsplink.state
state
TSP-Link state (
online
or
offline
)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-387
Details
When the instrument power is first turned on, the state is offline. After tsplink.reset() is
successful, the state is online.
Example
state = tsplink.state
print(state)
Read the state of the TSP-Link system. If it is online,
the output is:
online
Also see
tsplink.node (on page 7-383)
tsplink.reset() (on page 7-385) tsplink.reset() (on page 7-385)
tsplink.trigger[N].assert()
This function simulates the occurrence of the trigger and generates the corresponding event ID. This function is
not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
tsplink.trigger[N].assert()
N
The trigger line (1 to 3)
Details
The set pulse width determines how long the trigger is asserted.
Example
tsplink.trigger[2].assert()
Asserts trigger on trigger line 2.
Also see
tsplink.trigger[N].clear() (on page 7-388)
tsplink.trigger[N].mode (on page 7-389)
tsplink.trigger[N].overrun (on page 7-391)
tsplink.trigger[N].pulsewidth (on page 7-392)
tsplink.trigger[N].release() (on page 7-392)
tsplink.trigger[N].stimulus (on page 7-394)
tsplink.trigger[N].wait() (on page 7-396)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-388 2600BS-901-01 Rev. C / August 2016
tsplink.trigger[N].clear()
This function clears the event detector for a trigger. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
tsplink.trigger[N].clear()
N
The trigger line (1 to 3)
Details
The trigger event detector enters the detected state when an event is detected.
tsplink.trigger[N].clear() clears a trigger event detector, discards the history of the trigger
line, and clears the tsplink.trigger[N].overrun attribute.
Example
tsplink.trigger[2].clear()
Clears trigger event on synchronization line 2.
Also see
tsplink.trigger[N].mode (on page 7-389)
tsplink.trigger[N].overrun (on page 7-391)
tsplink.trigger[N].release() (on page 7-392)
tsplink.trigger[N].stimulus (on page 7-394)
tsplink.trigger[N].wait() (on page 7-396)
tsplink.trigger[N].EVENT_ID
This constant identifies the number that is used for the trigger events. This constant is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Constant Yes
Usage
eventID = tsplink.trigger[N].EVENT_ID
eventID
The trigger event number
N
The trigger line (1 to 3)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-389
Details
This number is used by the TSP-Link trigger line when it detects an input trigger.
Set the stimulus of any trigger object to the value of this constant to have the trigger object respond to
trigger events from this line.
Example
trigger.timer[1].stimulus = tsplink.trigger[2].EVENT_ID
Sets the trigger stimulus
of trigger timer 1 to the
TSP-Link trigger 2 event.
Also see
None
tsplink.trigger[N].mode
This attribute defines the trigger operation and detection mode. This attribute is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
TSP-Link trigger N reset
Not saved
0 (tsplink.TRIG_BYPASS)
Usage
mode = tsplink.trigger[N].mode
tsplink.trigger[N].mode = mode
mode
The trigger mode
N
The trigger line (1 to 3)
Details
This attribute controls the mode in which the trigger event detector and the output trigger generator
operate on the given trigger line.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-390 2600BS-901-01 Rev. C / August 2016
The setting for mode can be one of the following values:
Mode Number
value
Description
tsplink.TRIG_BYPASS
0
Allows direct control of the line as a digital I/O line.
tsplink.TRIG_FALLING
1
Detects falling-edge triggers as input. Asserts a TTL-low pulse
for output.
tsplink.TRIG_RISING
2
If the programmed state of the line is high, the
tsplink.TRIG_RISING mode behaves similarly to
tsplink.TRIG_RISINGA.
If the programmed state of the line is low, the
tsplink.TRIG_RISING mode behaves similarly to
tsplink.TRIG_RISINGM.
Use tsplink.TRIG_RISINGA if the line is in the high output
state.
Use tsplink.TRIG_RISINGM if the line is in the low output
state.
tsplink.TRIG_EITHER
3
Detects rising- or falling-edge triggers as input. Asserts a
TTL-low pulse for output.
tsplink.TRIG_SYNCHRONOUSA
4
Detects the falling-edge input triggers and automatically
latches and drives the trigger line low.
tsplink.TRIG_SYNCHRONOUS
5
Detects the falling-edge input triggers and automatically
latches and drives the trigger line low. Asserts a TTL-low pulse
as an output trigger.
tsplink.TRIG_SYNCHRONOUSM
6
Detects rising-edge triggers as an input. Asserts a TTL-low
pulse for output.
tsplink.TRIG_RISINGA
7
Detects rising-edge triggers as input. Asserts a TTL-low pulse
for output.
tsplink.TRIG_RISINGM
8
Edge detection as an input is not available. Generates a
TTL-high pulse as an output trigger.
When programmed to any mode except tsplink.TRIG_BYPASS, the output state of the I/O line is
controlled by the trigger logic, and the user-specified output state of the line is ignored.
When the trigger mode is set to tsplink.TRIG_RISING, the user-specified output state of the line
is examined. If the output state selected when the mode is changed is high, the actual mode used will
be tsplink.TRIG_RISINGA. If the output state selected when the mode is changed is low, the
actual mode used will be tsplink.TRIG_RISINGM.
mode stores the trigger mode as a numeric value when the attribute is read.
To control the line state, use the tsplink.TRIG_BYPASS mode with the tsplink.writebit()
and the tsplink.writeport() commands.
Example
tsplink.trigger[3].mode = tsplink.TRIG_RISINGM
Sets the trigger mode for
synchronization line 3 to
tsplink.TRIG_RISINGM.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-391
Also see
digio.writebit() (on page 7-64)
digio.writeport() (on page 7-64)
tsplink.trigger[N].assert() (on page 7-387)
tsplink.trigger[N].clear() (on page 7-388)
tsplink.trigger[N].overrun (on page 7-391)
tsplink.trigger[N].release() (on page 7-392)
tsplink.trigger[N].reset() (on page 7-393)
tsplink.trigger[N].stimulus (on page 7-394)
tsplink.trigger[N].wait() (on page 7-396)
tsplink.trigger[N].overrun
This attribute indicates if the event detector ignored an event while in the detected state. This attribute is not
available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (R)
Yes
Instrument reset
Recall setup
TSP-Link trigger N clear
TSP-Link trigger N reset
Not applicable
Not applicable
Usage
overrun = tsplink.trigger[N].overrun
overrun
Trigger overrun state
N
The trigger line (1 to 3)
Details
Indicates that an event was ignored because the event detector was in the detected state when the
event was detected.
Indicates the overrun state of the event detector built into the line itself.
It does not indicate whether an overrun occurred in any other part of the trigger model or in any other
detector that is monitoring the event.
It does not indicate output trigger overrun. Output trigger overrun indications are provided in the
status model.
Example
print(tsplink.trigger[1].overrun)
If an event was ignored, displays
true; if an event was not ignored,
displays
false
.
Also see
tsplink.trigger[N].assert() (on page 7-387)
tsplink.trigger[N].clear() (on page 7-388)
tsplink.trigger[N].mode (on page 7-389)
tsplink.trigger[N].release() (on page 7-392)
tsplink.trigger[N].reset() (on page 7-393)
tsplink.trigger[N].stimulus (on page 7-394)
tsplink.trigger[N].wait() (on page 7-396)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-392 2600BS-901-01 Rev. C / August 2016
tsplink.trigger[N].pulsewidth
This attribute sets the length of time that the trigger line is asserted for output triggers. This attribute is not
available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
TSP-Link trigger N reset
Recall setup
Not saved
10e-6 (10 µs)
Usage
width = tsplink.trigger[N].pulsewidth
tsplink.trigger[N].pulsewidth = width
width
The pulse width (in seconds)
N
The trigger line (1 to 3)
Details
Setting the pulse width to 0 (seconds) asserts the trigger indefinitely.
Example
tsplink.trigger[3].pulsewidth = 20e-6
Sets pulse width for trigger line 3 to 20 μs.
Also see
tsplink.trigger[N].release() (on page 7-392)
tsplink.trigger[N].release()
This function releases a latched trigger on the given TSP-Link trigger line. This function is not available on the
Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
tsplink.trigger[N].release()
N
The trigger line (1 to 3)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-393
Details
Releases a trigger that was asserted with an indefinite pulse width. It also releases a trigger that was
latched in response to receiving a synchronous mode trigger.
Example
tsplink.trigger[3].release()
Releases trigger line 3.
Also see
tsplink.trigger[N].assert() (on page 7-387)
tsplink.trigger[N].clear() (on page 7-388)
tsplink.trigger[N].mode (on page 7-389)
tsplink.trigger[N].overrun (on page 7-391)
tsplink.trigger[N].pulsewidth (on page 7-392)
tsplink.trigger[N].stimulus (on page 7-394)
tsplink.trigger[N].wait() (on page 7-396)
tsplink.trigger[N].reset()
This function resets some of the TSP-Link trigger attributes to their factory defaults. This function is not available
on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
tsplink.trigger[N].reset()
N
The trigger line (1 to 3)
Details
The tsplink.trigger[N].reset() function resets the following attributes to their factory
defaults:
tsplink.trigger[N].mode
tsplink.trigger[N].stimulus
tsplink.trigger[N].pulsewidth
This also clears tsplink.trigger[N].overrun.
Example
tsplink.trigger[3].reset()
Resets TSP-Link trigger line 3
attributes back to factory default
values.
Also see
tsplink.trigger[N].mode (on page 7-389)
tsplink.trigger[N].overrun (on page 7-391)
tsplink.trigger[N].pulsewidth (on page 7-392)
tsplink.trigger[N].stimulus (on page 7-394)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-394 2600BS-901-01 Rev. C / August 2016
tsplink.trigger[N].stimulus
This attribute specifies the event that causes the synchronization line to assert a trigger. This attribute is not
available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
Yes
Instrument reset
Recall setup
TSP-Link trigger N reset
Not saved
0
Usage
eventID = tsplink.trigger[N].stimulus
tsplink.trigger[N].stimulus = eventID
eventID
The event identifier for the triggering event
N
The trigger line (1 to 3)
Details
To disable automatic trigger assertion on the synchronization line, set this attribute to zero (0).
Do not use this attribute when triggering under script control. Use
tsplink.trigger[N].assert() instead.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-395
The eventID parameter may be one of the existing trigger event IDs shown in the following table.
Trigger event IDs*
Event ID** Event description
smuX.trigger.SWEEPING_EVENT_ID
Occurs when the source-measure unit (SMU)
transitions from the idle state to the arm layer of the
trigger model
smuX.trigger.ARMED_EVENT_ID
Occurs when the SMU moves from the arm layer to
the trigger layer of the trigger model
smuX.trigger.SOURCE_COMPLETE_EVENT_ID
Occurs when the SMU completes a source action
smuX.trigger.MEASURE_COMPLETE_EVENT_ID
Occurs when the SMU completes a measurement
action
smuX.trigger.PULSE_COMPLETE_EVENT_ID
Occurs when the SMU completes a pulse
smuX.trigger.SWEEP_COMPLETE_EVENT_ID
Occurs when the SMU completes a sweep
smuX.trigger.IDLE_EVENT_ID
Occurs when the SMU returns to the idle state
digio.trigger[N].EVENT_ID
Occurs when an edge is detected on a digital I/O line
tsplink.trigger[N].EVENT_ID
Occurs when an edge is detected on a TSP-Link line
lan.trigger[N].EVENT_ID
Occurs when the appropriate LXI trigger packet is
received on LAN trigger object N
display.trigger.EVENT_ID
Occurs when the TRIG key on the front panel is
pressed
trigger.EVENT_ID
Occurs when a *TRG command is received on the
remote interface
GPIB only: Occurs when a GET bus command is
received
USB only: Occurs when a USBTMC TRIGGER
message is received
VXI-11 only: Occurs with the VXI-11 command
device_trigger; reference the VXI-11 standard
for additional details on the device trigger operation
trigger.blender[N].EVENT_ID
Occurs after a collection of events is detected
trigger.timer[N].EVENT_ID
Occurs when a delay expires
trigger.generator[N].EVENT_ID
Occurs when the
trigger.generator[N].assert() function is
executed
* Use the name of the trigger event ID to set the stimulus value rather than the numeric value. Using the name
makes the code compatible for future upgrades (for example, if the numeric values must change when
enhancements are added to the instrument).
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B,
2612B, 2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Example
print(tsplink.trigger[3].stimulus)
Prints the event that will start TSP-Link trigger
line 3 action.
Also see
tsplink.trigger[N].assert() (on page 7-387)
tsplink.trigger[N].reset() (on page 7-393)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-396 2600BS-901-01 Rev. C / August 2016
tsplink.trigger[N].wait()
This function waits for a trigger. This function is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
triggered = tsplink.trigger[N].wait(timeout)
triggered
Trigger detection indication; set to one of the following values:
true: A trigger is detected during the timeout period
false
: A trigger is not detected during the timeout period
N
The trigger line (1 to 3)
timeout
The timeout value in seconds
Details
This function waits up to the timeout value for an input trigger. If one or more trigger events were
detected since the last time tsplink.trigger[N].wait() or tsplink.trigger[N].clear()
was called, this function returns immediately.
After waiting for a trigger with this function, the event detector is automatically reset and rearmed.
This is true regardless of the number of events detected.
Example
triggered = tsplink.trigger[3].wait(10)
print(triggered)
Waits up to 10 seconds for a trigger
on TSP-Link® line 3.
If false is returned, no trigger was
detected during the 10-second
timeout.
If true is returned, a trigger was
detected.
Also see
tsplink.trigger[N].clear() (on page 7-388)
tsplink.writebit()
This function sets a TSP-Link synchronization line high or low. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
tsplink.writebit(N, data)
N
The trigger line (1 to 3)
data
The value to write to the bit:
Low: 0
High: 1
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-397
Details
Use tsplink.writebit() and tsplink.writeport() to control the output state of the trigger
line when trigger operation is set to tsplink.TRIG_BYPASS.
If the output line is write-protected by the tsplink.writeprotect attribute, this command is
ignored.
The reset function does not affect the present states of the TSP-Link trigger lines.
Example
tsplink.writebit(3, 0)
Sets trigger line 3 low (0).
Also see
tsplink.readbit() (on page 7-384)
tsplink.readport() (on page 7-384)
tsplink.writeport() (on page 7-397)
tsplink.writeprotect (on page 7-398)
tsplink.writeport()
This function writes to all TSP-Link synchronization lines. This function is not available on the Models
2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
tsplink.writeport(data)
data
Value to write to the port (0 to 7)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-398 2600BS-901-01 Rev. C / August 2016
Details
The binary representation of data indicates the output pattern that is written to the I/O port. For
example, a data value of 2 has a binary equivalent of 010. Line 2 is set high (1), and the other two
lines are set low (0).
Write-protected lines are not changed.Write-protected lines are not changed.
The reset() function does not affect the present states of the trigger lines.
Use the tsplink.writebit() and tsplink.writeport() commands to control the output state
of the synchronization line when trigger operation is set to tsplink.TRIG_BYPASS.Use the
tsplink.writebit() and tsplink.writeport() commands to control the output state of the
synchronization line when trigger operation is set to tsplink.TRIG_BYPASS.
Example
tsplink.writeport(3)
Sets the synchronization lines 1 and 2 high (binary 011).
Also see
tsplink.readbit() (on page 7-384) tsplink.readbit() (on page 7-384)
tsplink.readport() (on page 7-384)
tsplink.writebit() (on page 7-396)
tsplink.writeprotect (on page 7-398) tsplink.writebit() (on page 7-396)
tsplink.writeprotect (on page 7-398)
tsplink.writeprotect
This attribute contains the write-protect mask that protects bits from changes by the tsplink.writebit() and
tsplink.writeport() functions. This attribute is not available on the Models 2604B/2614B/2634B.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW) Yes Instrument reset
Recall setup
Saved setup 0
Usage
mask = tsplink.writeprotect
tsplink.writeprotect = mask
mask
An integer that specifies the value of the bit pattern for write-protect; set bits to 1 to
write-protect the corresponding TSP-Link trigger line
Details
The binary equivalent of mask indicates the mask to be set for the TSP-Link trigger line. For example,
a mask value of 5 has a binary equivalent of 101. This mask write-protects TSP-Link trigger lines 1
and 3.
Example
tsplink.writeprotect = 5
Write-protects TSP-Link trigger lines 1 and 3.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-399
Also see
Controlling digital I/O lines (on page 3-84)
tsplink.readbit() (on page 7-384)
tsplink.readport() (on page 7-384)
tsplink.writebit() (on page 7-396)
tsplink.writeport() (on page 7-397)
tspnet.clear()
This function clears any pending output data from the instrument.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
tspnet.clear(connectionID)
connectionID
The connection ID returned from
tspnet.connect()
Details
This function clears any pending output data from the device. No data is returned to the caller and no
data is processed.
Example
tspnet.write(testdevice, "print([[hello]])")
print(tspnet.readavailable(testdevice))
tspnet.clear(testdevice)
print(tspnet.readavailable(testdevice))
Write data to a device, then print how much is
available.
Output:
6.00000e+00
Clear data and print how much data is
available again.
Output:
0.00000e+00
Also see
tspnet.connect() (on page 7-400)
tspnet.readavailable() (on page 7-404)
tspnet.write() (on page 7-410)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-400 2600BS-901-01 Rev. C / August 2016
tspnet.connect()
This function establishes a network connection with another LAN instrument or device through the LAN interface.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
connectionID = tspnet.connect(ipAddress)
connectionID = tspnet.connect(ipAddress, portNumber, initString)
connectionID
The connection ID to be used as a handle in all other tspnet function calls
ipAddress
IP address to which to connect in a string
portNumber
Port number (default 5025)
initString
Initialization string to send to
ipAddress
Details
This command connects a device to another device through the LAN interface. If the portNumber is
23, the interface uses the Telnet protocol and sets appropriate termination characters to
communicate with the device.
If a portNumber and initString are provided, it is assumed that the remote device is not
TSP-enabled. The Series 2600B does not perform any extra processing, prompt handling, error
handling, or sending of commands. In addition, the tspnet.tsp.* commands cannot be used on
devices that are not TSP-enabled.
If neither a portNumber nor an initString is provided, the remote device is assumed to be a
Keithley Instruments TSP-enabled device. Depending on the state of the
tspnet.tsp.abortonconnect attribute, the Series 2600B sends an abort command to the
remote device on connection.
The Series 2600B also enables TSP prompts on the remote device and error management. The
Series 2600B places remote errors from the TSP-enabled device in its own error queue and prefaces
these errors with Remote Error, followed by an error description.
Do not manually change either the prompt functionality (localnode.prompts) or show errors by
changing localnode.showerrors on the remote TSP-enabled device. If you do this, subsequent
tspnet.tsp.* commands using the connection may fail.
You can simultaneously connect to a maximum of 32 remote devices.
Example 1
instrumentID = tspnet.connect("192.0.2.1")
if instrumentID then
-- Use instrumentID as needed here
tspnet.disconnect(instrumentID)
end
Connect to a TSP-enabled
device.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-401
Example 2
instrumentID = tspnet.connect("192.0.2.1", 1394, "*rst\r\n")
if instrumentID then
-- Use instrumentID as needed here
tspnet.disconnect(instrumentID)
end
Connect to a device that is
not TSP-enabled.
Also see
localnode.prompts (on page 7-154)
localnode.showerrors (on page 7-158)
tspnet.tsp.abortonconnect (on page 7-407)
tspnet.disconnect() (on page 7-401)
tspnet.disconnect()
This function disconnects a specified TSP-Net session.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
tspnet.disconnect(connectionID)
connectionID
The connection ID returned from
tspnet.connect()
Details
This function disconnects the two devices by closing the connection. The connectionID is the
session handle returned by tspnet.connect().
For TSP-enabled devices, this aborts any remotely running commands or scripts.
Example
testID = tspnet.connect("192.0.2.0")
-- Use the connection
tspnet.disconnect(testID)
Create a TSP-Net session.
Close the session.
Also see
tspnet.connect() (on page 7-400)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-402 2600BS-901-01 Rev. C / August 2016
tspnet.execute()
This function sends a command string to the remote device.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
tspnet.execute(connectionID, commandString)
value1 = tspnet.execute(connectionID, commandString, formatString)
value1, value2 = tspnet.execute(connectionID, commandString, formatString)
value1, ..., valueN = tspnet.execute(connectionID, commandString, formatString)
connectionID
The connection ID returned from tspnet.connect()
commandString
The command to send to the remote device
value1
The first value decoded from the response message
value2
The second value decoded from the response message
valueN
The Nth value decoded from the response message; there is one return value for
each format specifier in the format string
...
One or more values separated with commas
formatString
Format string for the output
Details
This command sends a command string to the remote instrument. A termination is added to the
command string when it is sent to the remote instrument (tspnet.termination()). You can also
specify a format string, which causes the command to wait for a response from the remote
instrument. The Series 2600B decodes the response message according to the format specified in
the format string and returns the message as return values from the function (see tspnet.read()
for format specifiers).
When this command is sent to a TSP-enabled instrument, the Series 2600B suspends operation until
a timeout error is generated or until the instrument responds, even if no format string is specified. The
TSP prompt from the remote instrument is read and thrown away. The Series 2600B places any
remotely generated errors into its error queue. When the optional format string is not specified, this
command is equivalent to tspnet.write(), except that a termination is automatically added to the
end of the command.
Example 1
tspnet.execute(instrumentID, "runScript()")
Command the remote
device to run a script
named
runScript
.
Example 2
tspnet.termination(instrumentID, tspnet.TERM_CRLF)
tspnet.execute(instrumentID, "*idn?")
print("tspnet.execute returns:", tspnet.read(instrumentID))
Print the *idn? string from
the remote device.
Also see
tspnet.connect() (on page 7-400)
tspnet.read() (on page 7-403)
tspnet.termination() (on page 7-405)
tspnet.write() (on page 7-410)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-403
tspnet.idn()
This function retrieves the response of the remote device to *IDN?.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
idnString = tspnet.idn(connectionID)
idnString
The returned
*IDN?
string
connectionID
The connection ID returned from tspnet.connect()
Details
This function retrieves the response of the remote device to *IDN?.
Example
deviceID = tspnet.connect("192.0.2.1")
print(tspnet.idn(deviceID))
tspnet.disconnect(deviceID)
Assume the instrument is at IP address 192.0.2.1.
The output that is produced when you connect to the
instrument and read the IDN string may appear as:
Keithley Instruments Inc.,Model 2601B,
1398687, 3.0.0
Also see
tspnet.connect() (on page 7-400)
tspnet.read()
This function reads data from a remote device.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
value1 = tspnet.read(connectionID)
value1 = tspnet.read(connectionID, formatString)
value1, value2 = tspnet.read(connectionID, formatString)
value1, ..., valueN = tspnet.read(connectionID, formatString)
value1
The first value decoded from the response message
value2
The second value decoded from the response message
valueN
The nth value decoded from the response message; there is one return value for
each format specifier in the format string
...
One or more values separated with commas
connectionID
The connection ID returned from tspnet.connect()
formatString
Format string for the output, maximum of 10 specifiers
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-404 2600BS-901-01 Rev. C / August 2016
Details
This command reads available data from the remote instrument and returns responses for the
specified number of arguments.
The format string can contain the following specifiers:
%[width]s
Read data until the specified length
%[max width]t
Read data until the specified length or until punctuation is found, whichever comes first
%[max width]n
Read data until a newline or carriage return
%d
Read a number (delimited by punctuation)
A maximum of 10 format specifiers can be used for a maximum of 10 return values.
If formatString is not provided, the command returns a string that contains the data until a new
line is reached. If no data is available, the Series 2600B pauses operation until the requested data is
available or until a timeout error is generated. Use tspnet.timeout to specify the timeout period.
When the Series 2600B reads from a TSP-enabled remote instrument, the Series 2600B removes
Test Script Processor (TSP®) prompts and places any errors it receives from the remote instrument
into its own error queue. The Series 2600B prefaces errors from the remote device with "Remote
Error," followed by the error number and error description.
Example
tspnet.write(deviceID, "*idn?\r\n")
print("write/read returns:", tspnet.read(deviceID))
Send the "*idn?\r\n" message to
the instrument connected as
deviceID.
Display the response that is read from
deviceID (based on the *idn?
message).
Also see
tspnet.connect() (on page 7-400)
tspnet.readavailable() (on page 7-404)
tspnet.timeout (on page 7-406)
tspnet.write() (on page 7-410)
tspnet.readavailable()
This function checks to see if data is available from the remote device.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
bytesAvailable = tspnet.readavailable(connectionID)
bytesAvailable
The number of bytes available to be read from the connection
connectionID
The connection ID returned from tspnet.connect()
Details
This command checks to see if any output data is available from the device. No data is read from the
instrument. This allows TSP scripts to continue to run without waiting on a remote command to finish.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-405
Example
ID = tspnet.connect("192.0.2.1")
tspnet.write(ID, "*idn?\r\n")
repeat bytes = tspnet.readavailable(ID) until bytes > 0
print(tspnet.read(ID))
tspnet.disconnect(ID)
Send commands that will create
data.
Wait for data to be available.
Also see
tspnet.connect() (on page 7-400)
tspnet.read() (on page 7-403)
tspnet.reset()
This function disconnects all TSP-Net sessions.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
tspnet.reset()
Details
This command disconnects all remote instruments connected through TSP-Net. For TSP-enabled
devices, this causes any commands or scripts running remotely to be terminated.
Also see
None
tspnet.termination()
This function sets the device line termination sequence.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
type = tspnet.termination(connectionID)
type = tspnet.termination(connectionID, termSequence)
type
An enumerated value indicating the termination type:
1 or tspnet.TERM_LF
4 or tspnet.TERM_CR
2 or tspnet.TERM_CRLF
3 or tspnet.TERM_LFCR
connectionID
The connection ID returned from tspnet.connect()
termSequence
The termination sequence
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-406 2600BS-901-01 Rev. C / August 2016
Details
This function sets and gets the termination character sequence that is used to indicate the end of a
line for a TSP-Net connection.
Using the termSequence parameter sets the termination sequence. The present termination
sequence is always returned.
For the termSequence parameter, use the same values listed in the table above for type. There are
four possible combinations, all of which are made up of line feeds (LF or 0x10) and carriage returns
(CR or 0x13). For TSP-enabled devices, the default is tspnet.TERM_LF. For devices that are not
TSP-enabled, the default is tspnet.TERM_CRLF.
Example
deviceID = tspnet.connect("192.0.2.1")
if deviceID then
tspnet.termination(deviceID, tspnet.TERM_LF)
end
Sets termination type for IP address
192.0.2.1 to TERM_LF.
Also see
tspnet.connect() (on page 7-400)
tspnet.disconnect() (on page 7-401)
tspnet.timeout
This attribute sets the timeout value for the tspnet.connect(), tspnet.execute(), and tspnet.read()
commands.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
No
Instrument reset
Recall setup
Not saved
20.0 (20 s)
Usage
value = tspnet.timeout
tspnet.timeout = value
value
The timeout duration in seconds (0.001 to 30.0 s)
Details
This attribute sets the amount of time the tspnet.connect(), tspnet.execute(), and
tspnet.read() commands will wait for a response.
The time is specified in seconds. The timeout may be specified to millisecond resolution, but is only
accurate to the nearest 10 ms.
Example
tspnet.timeout = 2.0
Sets the timeout duration to 2 s.
Also see
tspnet.connect() (on page 7-400)
tspnet.execute() (on page 7-402)
tspnet.read() (on page 7-403)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-407
tspnet.tsp.abort()
This function causes the TSP-enabled instrument to stop executing any of the commands that were sent to it.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
tspnet.tsp.abort(connectionID)
connectionID
Integer value used as a handle for other
tspnet
commands
Details
This function is appropriate only for TSP-enabled instruments.
Sends an abort command to the remote instrument.
Example
tspnet.tsp.abort(testConnection)
Stops remote instrument execution on testConnection.
Also see
None
tspnet.tsp.abortonconnect
This attribute contains the setting for abort on connect to a TSP-enabled instrument.
Type TSP-Link accessible Affected by Where saved Default value
Attribute (RW)
No
Instrument reset
Recall setup
Not saved
1 (enable)
Usage
tspnet.tsp.abortonconnect = value
value = tspnet.tsp.abortonconnect
value
1 (enable)
0 (disable)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-408 2600BS-901-01 Rev. C / August 2016
Details
This setting determines if the instrument sends an abort message when it attempts to connect to a
TSP-enabled instrument using the tspnet.connect() function.
When you send the abort command on an interface, it causes any other active interface on that
instrument to close. If you do not send an abort command (or if tspnet.tsp.abortonconnect is
set to 0) and another interface is active, connecting to a TSP-enabled remote instrument results in a
connection. However, the instrument will not respond to subsequent reads or executes because
control of the instrument is not obtained until an abort command has been sent.
Example
tspnet.tsp.abortonconnect = 0
Configure the instrument so that it does not
send an abort command when connecting to
a TSP-enabled instrument.
Also see
tspnet.connect() (on page 7-400)
tspnet.tsp.rbtablecopy()
This function copies a reading buffer synchronous table from a remote instrument to a TSP-enabled instrument.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
table = tspnet.tsp.rbtablecopy(connectionID, name)
table = tspnet.tsp.rbtablecopy(connectionID, name, startIndex, endIndex)
table
A copy of the synchronous table or a string
connectionID
Integer value used as a handle for other tspnet commands
name
The full name of the reading buffer name and synchronous table to copy
startIndex
Integer start value
endIndex
Integer end value
Details
This function is only appropriate for TSP-enabled instruments.
This function reads the data from a reading buffer on a remote instrument and returns an array of
numbers or a string representing the data. The startIndex and endIndex parameters specify the
portion of the reading buffer to read. If no index is specified, the entire buffer is copied.
The function returns a table if the table is an array of numbers; otherwise a comma-delimited string is
returned.
This command is limited to transferring 50,000 readings at a time.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-409
Example
t = tspnet.tsp.rbtablecopy(testConnection,
"testRemotebuffername.readings", 1, 3)
print(t[1], t[2], t[3])
Copy the specified readings table for buffer
items 1 through 3, then display the first three
readings. Example output:
4.56534e-01
4.52675e-01
4.57535e-01
Also see
None
tspnet.tsp.runscript()
This function loads and runs a script on a remote TSP-enabled instrument.
Type TSP-Link accessible Affected by Where saved Default value
Function
Yes
Usage
tspnet.tsp.runscript(connectionID, script)
tspnet.tsp.runscript(connectionID, name, script)
connectionID
Integer value used as an identifier for other tspnet commands
name
The name that is assigned to the script
script
The body of the script as a string
Details
This function is appropriate only for TSP-enabled instruments.
This function downloads a script to a remote instrument and runs it. It automatically adds the
appropriate loadscript and endscript commands around the script, captures any errors, and
reads back any prompts. No additional substitutions are done on the text.
The script is automatically loaded, compiled, and run.
Any output from previous commands is discarded.
This command does not wait for the script to complete.
If you do not want the script to do anything immediately, make sure the script only defines functions
for later use. Use the tspnet.execute() function to execute those functions at a later time.
If no name is specified, the script is loaded as the anonymous script.
Example
tspnet.tsp.runscript(myconnection, "mytest",
"print([[start]]) for d = 1, 10 do print([[work]]) end print([[end]])")
Load and run a script entitled mytest on the TSP-enabled instrument connected with myconnection.
Also see
tspnet.execute() (on page 7-402)
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-410 2600BS-901-01 Rev. C / August 2016
tspnet.write()
This function writes a string to the remote instrument.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
tspnet.write(connectionID, inputString)
connectionID
The connection ID returned from
tspnet.connect()
inputString
The string to be written
Details
The tspnet.write() function sends inputString to the remote instrument. It does not wait for
command completion on the remote instrument.
The Series 2600B sends inputString to the remote instrument exactly as indicated. The
inputString must contain any necessary new lines, termination, or other syntax elements needed
to complete properly.
Because tspnet.write() does not process output from the remote instrument, do not send
commands that generate too much output without processing the output. This command can stop
executing if there is too much unprocessed output from previous commands.
Example
tspnet.write(myID, "runscript()\r\n")
Commands the remote instrument to execute
a command or script named runscript() on
a remote device identified in the system as
myID
.
Also see
tspnet.connect() (on page 7-400)
tspnet.read() (on page 7-403)
userstring.add()
This function adds a user-defined string to nonvolatile memory.
Type TSP-Link accessible Affected by Where saved Default value
Function No
Usage
userstring.add(name, value)
name
The name of the string; the key of the key-value pair
value
The string to associate with
name
; the value of the key-value pair
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-411
Details
This function associates the string value with the string name and stores this key-value pair in
nonvolatile memory.
Use the userstring.get() function to retrieve the value associated with the specified name.
You can use the userstring functions to store custom, instrument-specific information in the
instrument, such as department number, asset number, or manufacturing plant location.
Example
userstring.add("assetnumber", "236")
userstring.add("product", "Widgets")
userstring.add("contact", "John Doe")
for name in userstring.catalog() do
print(name .. " = " ..
userstring.get(name))
end
Stores user-defined strings in nonvolatile
memory and recalls them from the
instrument using a for loop.
Also see
userstring.catalog() (on page 7-411)
userstring.delete() (on page 7-412)
userstring.get() (on page 7-413)
userstring.catalog()
This function creates an iterator for the user-defined string catalog.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
for name in userstring.catalog() do body end
name
The name of the string; the key of the key-value pair
body
Code to execute in the body of the for loop
Details
The catalog provides access for user-defined string pairs, allowing you to manipulate all the key-value
pairs in nonvolatile memory. The entries are enumerated in no particular order.
Example 1
for name in userstring.catalog() do
userstring.delete(name)
end
Deletes all user-defined strings in nonvolatile
memory.
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-412 2600BS-901-01 Rev. C / August 2016
Example 2
for name in userstring.catalog() do
print(name .. " = " ..
userstring.get(name))
end
Prints all userstring key-value pairs.
Output:
product = Widgets
assetnumber = 236
contact = John Doe
The above output lists the user-defined strings
added in the example for the userstring.add()
function. Notice the key-value pairs are not listed in
the order they were added.
Also see
userstring.add() (on page 7-410)
userstring.delete() (on page 7-412)
userstring.get() (on page 7-413)
userstring.delete()
This function deletes a user-defined string from nonvolatile memory.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
userstring.delete(name)
name
The name (key) of the key-value pair of the user-defined string to delete
Details
This function deletes the string that is associated with name from nonvolatile memory.
Example
userstring.delete("assetnumber")
userstring.delete("product")
userstring.delete("contact")
Deletes the user-defined strings associated with the
assetnumber, product, and contact names.
Also see
userstring.add() (on page 7-410)
userstring.catalog() (on page 7-411)
userstring.get() (on page 7-413)
Series 2600B
System SourceMeter® Instrument Reference Manual Section 7:
TSP command reference
2600BS-901-01 Rev. C / August 2016 7-413
userstring.get()
This function retrieves a user-defined string from nonvolatile memory.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
value = userstring.get(name)
value
The value of the user-defined string key-value pair
name
The name (key) of the user-defined string
Details
This function retrieves the string that is associated with name from nonvolatile memory.
Example
value = userstring.get("assetnumber")
print(value)
Read the value associated with a user-defined
string named "assetnumber".
Store it in a variable called value, then print the
variable value.
Output:
236
Also see
userstring.add() (on page 7-410)
userstring.catalog() (on page 7-411)
userstring.delete() (on page 7-412)
waitcomplete()
This function waits for all overlapped commands in a specified group to complete.
Type TSP-Link accessible Affected by Where saved Default value
Function
No
Usage
waitcomplete()
waitcomplete(group)
group
Specifies which TSP-Link group on which to wait
Section
7: TSP command reference Series 2600B System SourceMeter® Instrument
Reference Manual
7-414 2600BS-901-01 Rev. C / August 2016
Details
This function will wait for all previously started overlapped commands to complete.
A group number may only be specified when this node is the master node.
If no group is specified, the local group is used.
If zero (0) is specified for the group, this function waits for all nodes in the system.
Any nodes that are not assigned to a group (group number is 0) are part of the master node's group.
Example 1
waitcomplete()
Waits for all nodes in the local group.
Example 2
waitcomplete(G)
Waits for all nodes in group G.
Example 3
waitcomplete(0)
Waits for all nodes on the TSP-Link network.
Also see
None
In this section:
Introduction .............................................................................. 8-1
Error levels ............................................................................... 8-1
Effects of errors on scripts ....................................................... 8-2
Retrieving errors ....................................................................... 8-2
Error summary list .................................................................... 8-3
LAN troubleshooting suggestions ............................................. 8-7
Introduction
Troubleshooting information includes information on the Keithley Instruments Series 2600B System
SourceMeter® instrument errors (including a complete listing of error messages) and LAN
troubleshooting suggestions.
Error levels
Error messages are listed in Error summary list (on page 8-3). Errors have one of the following error
levels:
Number Error level Description
0
NO_SEVERITY
The message is information only. This level is used when the error
queue is empty; the message does not represent an error.
10
INFORMATIONAL
The message is information only. This level is used to indicate status
changes; the message does not represent an error.
20
RECOVERABLE
The error was caused by improper use of the instrument or by
conditions that can be corrected. This message indicates that an
error occurred. The instrument is still operating normally.
30
SERIOUS
There is a condition that prevents the instrument from functioning
properly. The message indicates that the instrument is presently
operating in an error condition. If the condition is corrected, the
instrument will return to normal operation.
40
FATAL
There is a condition that cannot be corrected that prevents the
instrument from functioning properly. Disconnect the DUT and turn
the power off and then on again. If the error is a hardware fault that
persists after cycling the power, the instrument must be repaired.
Section 8
Troubleshooting guide
Section
8: Troubleshooting guide Series 2600B System SourceMeter® Instrument
Reference Manual
8-2 2600BS-901-01 Rev. C / August 2016
Effects of errors on scripts
Most errors will not abort a running script. The only time a script is aborted is when a Lua run-time
error (errorerrorerror code -286, "TSP runtime error") is detected. Run-time errors are caused by
actions such as trying to index into a variable that is not a table.
Syntax errors (errorerrorerror code -285, "Program syntax") in a script or command will prevent
execution of the script or command.
Retrieving errors
When errors occur, the error messages are placed in the error queue. Use error queue commands to
request error message information. For example, the following commands request the next complete
error information from the error queue and return the code, message, severity, and node for that
error:
errorCode, message, severity, errorNode = errorqueue.next()
print(errorCode, message, severity, errorNode)
The following table lists the commands associated with the error queue.
Remote commands associated with the error queue
Command Description
errorqueue.clear() (on page 7-90)
Clear error queue of all errors
errorqueue.count (on page 7-91)
Number of messages in the error queue
errorqueue.next() (on page 7-91)
Request next error message from
queue
Series 2600B
System SourceMeter® Instrument Reference Manual Section 8:
Troubleshooting guide
2600BS-901-01 Rev. C / August 2016 8-3
Error summary list
Error summary
Error number Error level Error Message
-430
RECOVERABLE
Query DEADLOCKED
-420
RECOVERABLE
Query UNTERMINATED
-410 RECOVERABLE Query INTERRUPTED
-363
RECOVERABLE
Input buffer overrun
-360
RECOVERABLE
Communications error
-350 RECOVERABLE Queue overflow
-315
RECOVERABLE
Configuration memory lost
-314
RECOVERABLE
Save/recall memory lost
-292 RECOVERABLE Referenced name does not exist
-286
RECOVERABLE
TSP Runtime error
-285
RECOVERABLE
Program syntax
-282
RECOVERABLE
Illegal program name
-281
RECOVERABLE
Cannot create program
-225
RECOVERABLE
Out of memory or TSP Memory allocation error
-224
RECOVERABLE
Illegal parameter value
-222 RECOVERABLE Parameter data out of range
-221
RECOVERABLE
Settings conflict
-220
RECOVERABLE
Parameter error
-211 RECOVERABLE Trigger ignored
-203
RECOVERABLE
Command protected
-154
RECOVERABLE
String too long
-151 RECOVERABLE Invalid string data
-110
RECOVERABLE
Command header error
-109
RECOVERABLE
Missing parameter
-108
RECOVERABLE
Parameter not allowed
-105
RECOVERABLE
Trigger not allowed
-104
RECOVERABLE
Data type error
0
NO_SEVERITY
Queue Is Empty
503
RECOVERABLE
Calibration overflow
601
RECOVERABLE
Reading buffer data lost
603
RECOVERABLE
Power on state lost
702
FATAL
Unresponsive digital FPGA
802 RECOVERABLE OUTPUT blocked by interlock
819
RECOVERABLE
Error parsing exponent
820
RECOVERABLE
Error parsing value
900 FATAL Internal system error
1100
RECOVERABLE
Command unavailable
1101
RECOVERABLE
Parameter too big
1102
RECOVERABLE
Parameter too small
1103
RECOVERABLE
Min greater than max
1104
RECOVERABLE
Too many digits for param type
1105 RECOVERABLE Too many parameters
1107
RECOVERABLE
Cannot modify factory menu
1108
RECOVERABLE
Menu name does not exist
1109
RECOVERABLE
Menu name already exists
1110
FATAL
Analog supply failure: over temperature
Section
8: Troubleshooting guide Series 2600B System SourceMeter® Instrument
Reference Manual
8-4 2600BS-901-01 Rev. C / August 2016
Error summary
Error number Error level Error Message
1113
RECOVERABLE
Data too complex
1200
RECOVERABLE
TSP-Link initialization failed
1202
RECOVERABLE
TSP-Link initialization failed
1203
RECOVERABLE
TSP-Link initialization failed (possible loop in node chain)
1204
RECOVERABLE
TSP-Link initialization failed
1205
RECOVERABLE
TSP-Link initialization failed (no remote nodes found)
1206 RECOVERABLE TSP-Link initialization failed
1207
RECOVERABLE
TSP-Link initialization failed
1208
RECOVERABLE
TSP-Link initialization failed
1209 RECOVERABLE TSP-Link initialization failed
1210
RECOVERABLE
TSP-Link initialization failed (node ID conflict)
1211 RECOVERABLE Node NN is inaccessible
1212
RECOVERABLE
Invalid node ID
1213
RECOVERABLE
TSP-Link session expired
1215
RECOVERABLE
Code execution requested within the local group
1216 RECOVERABLE Remote execution requested on node in group with pending
overlapped operations
1217
RECOVERABLE
Remote execution requested on node outside the local group
1218
RECOVERABLE
Operation allowed only when TSP-Link master
1219
RECOVERABLE
TSP-Link found fewer nodes than expected
1400
RECOVERABLE
Expected at least NN parameters
1401
RECOVERABLE
Parameter NN is invalid
1402
RECOVERABLE
User scripts lost
1403 RECOVERABLE Factory scripts lost
1404
RECOVERABLE
Invalid byte order
1405
RECOVERABLE
Invalid ASCII precision
1406 RECOVERABLE Invalid data format
1500
RECOVERABLE
Invalid baud rate setting
1501
RECOVERABLE
Invalid parity setting
1502
RECOVERABLE
Invalid terminator setting
1503 RECOVERABLE Invalid bits setting
1504
RECOVERABLE
Invalid flow control setting
1600
RECOVERABLE
Maximum GPIB message length exceeded
1700
RECOVERABLE
Display area boundary exceeded
1800
RECOVERABLE
Invalid digital trigger mode
1801 RECOVERABLE Invalid digital I/O line
2000
SERIOUS
Flash download error
2001
RECOVERABLE
Cannot flash with error in queue
2101
FATAL
Could not close socket
2102
RECOVERABLE
Connection not established
2103
RECOVERABLE
Lan configuration already in progress
2104
RECOVERABLE
Lan disabled
2105
RECOVERABLE
Socket error
2106
RECOVERABLE
Unreachable gateway
2110
RECOVERABLE
Lan cable disconnected
2111
RECOVERABLE
Could not resolve hostname
2112 RECOVERABLE DNS name (FQDN) too long
2200
RECOVERABLE
File write error
2201
RECOVERABLE
File read error
2202 RECOVERABLE Cannot close file
2203
RECOVERABLE
Cannot open file
Series 2600B
System SourceMeter® Instrument Reference Manual Section 8:
Troubleshooting guide
2600BS-901-01 Rev. C / August 2016 8-5
Error summary
Error number Error level Error Message
2204
RECOVERABLE
Directory not found
2205
RECOVERABLE
File not found
2206
RECOVERABLE
Cannot read current working directory
2207
RECOVERABLE
Cannot change directory
2211 RECOVERABLE File system error
2212
RECOVERABLE
File system command not supported
2213
RECOVERABLE
Too many open files
2214 RECOVERABLE File access denied
2215
RECOVERABLE
Invalid file handle
2216
RECOVERABLE
Invalid drive
2217
RECOVERABLE
File system busy
2218
RECOVERABLE
Disk full
2219
RECOVERABLE
File corrupt
2220
RECOVERABLE
File already exists
2221 RECOVERABLE File seek error
2222
RECOVERABLE
End-of-file error
2223 RECOVERABLE Directory not empty
2400
RECOVERABLE
Invalid specified connection
2401
RECOVERABLE
Invalid timeout seconds (.001 to 30)
2402 RECOVERABLE TSPnet remote error: XXX
2403
RECOVERABLE
TSPnet failure
2404
RECOVERABLE
TSPnet read failure
2405
RECOVERABLE
TSPnet read failure, aborted
2406
RECOVERABLE
TSPnet read failure, timeout
2407
RECOVERABLE
TSPnet write failure
2408
RECOVERABLE
TSPnet write failure, aborted
2409 RECOVERABLE TSPnet write failure, timeout
2410
RECOVERABLE
TSPnet max connections reached
2411
RECOVERABLE
TSPnet connection failed
2412 RECOVERABLE TSPnet invalid termination
2413
RECOVERABLE
TSPnet invalid reading buffer table
2414
RECOVERABLE
TSPnet invalid reading buffer index range
2415
RECOVERABLE
TSPnet feature only supported on TSP connections
2416
RECOVERABLE
TSPnet must specify both port and init
2417
RECOVERABLE
TSPnet disconnected by other side
2418
RECOVERABLE
TSPnet read input buffer overflow
2419
RECOVERABLE
Invalid format specifier
2420
RECOVERABLE
Termination locked while using TSP connection
2500
RECOVERABLE
Average delay must be at least NNN seconds
4900 RECOVERABLE Reading buffer index NN is invalid
4903
RECOVERABLE
Reading buffer expired
4904
SERIOUS
ICX parameter count mismatch, (XXX Line #NNNN)
4905 SERIOUS ICX parameter invalid value, (XXX Line #NNNN)
4906
SERIOUS
ICX invalid function id, (XXX Line #NNNN)
5001
FATAL
SMU is unresponsive. Disconnect DUT and cycle power
5003
SERIOUS
Saved calibration constants corrupted
5004
RECOVERABLE
Operation conflicts with CALA sense mode
5005
RECOVERABLE
Value too big for range
5007
RECOVERABLE
Operation would exceed safe operating area of the instrument
5008
RECOVERABLE
Operation not permitted while OUTPUT is on
5009
SERIOUS
Unknown sourcing function
Section
8: Troubleshooting guide Series 2600B System SourceMeter® Instrument
Reference Manual
8-6 2600BS-901-01 Rev. C / August 2016
Error summary
Error number Error level Error Message
5010
SERIOUS
No such SMU function
5011
RECOVERABLE
Operation not permitted while cal is locked
5012
RECOVERABLE
Cal data not saved - save or restore before lock
5013
RECOVERABLE
Cannot save cal data - unlock before save
5014 RECOVERABLE Cannot restore cal data - unlock before restore
5015
RECOVERABLE
Save to cal set disallowed
5016
RECOVERABLE
Cannot change cal date - unlock before operation
5017 RECOVERABLE Cannot change cal constants - unlock before operation
5018
SERIOUS
Cal version inconsistency
5019
RECOVERABLE
Cannot unlock - invalid password
5021
SERIOUS
Cannot restore default calset. Using previous calset
5022
SERIOUS
Cannot restore previous calset. Using factory calset
5023
SERIOUS
Cannot restore factory calset. Using nominal calset
5024
SERIOUS
Cannot restore nominal calset. Using firmware defaults
5025 RECOVERABLE Cannot set filter.count > 1 when measure.count > 1
5027
RECOVERABLE
Unlock cal data with factory password
5028
RECOVERABLE
Cannot perform requested operation while source autorange is
enabled
5029
RECOVERABLE
Cannot save without changing cal adjustment date
5032 RECOVERABLE Cannot change this setting unless buffer is cleared
5033
RECOVERABLE
Reading buffer not found within device
5038
RECOVERABLE
Index exceeds maximum reading
5040 RECOVERABLE Cannot use same reading buffer for multiple overlapped
measurements
5041 SERIOUS Output Enable not asserted
5042
RECOVERABLE
Cannot perform requested action while an overlapped operation is in
progress
5043
RECOVERABLE
Cannot perform requested operation while voltage measure
autorange is enabled
5044
RECOVERABLE
Cannot perform requested operation while current measure
autorange is enabled
5045
RECOVERABLE
Cannot perform requested operation while filter is enabled
5046 SERIOUS SMU too hot
5047
RECOVERABLE
Minimum timestamp resolution is 1us
5048
RECOVERABLE
Contact check not valid with HIGH-Z OUTPUT off
5049
RECOVERABLE
Contact check not valid while an active current source
5050
RECOVERABLE
I limit too low for contact check
5051
FATAL
Model number/SMU hardware mismatch. Disconnect DUT and cycle
power
5052
RECOVERABLE
Interlock engaged; system stabilizing
5053
RECOVERABLE
Unstable output detected - Measurements may not be valid
5055 RECOVERABLE Cannot change adjustment date - change cal constants before
operation
5059 RECOVERABLE trigger.source.action enabled without configuration
5060
RECOVERABLE
trigger.measure.action enabled without configuration
5061
RECOVERABLE
Operation not permitted while OUTPUT is off
5063 RECOVERABLE Cannot perform requested operation while measure autozero is on
5064
RECOVERABLE
Cannot use reading buffer that collects source values
5065
RECOVERABLE
I range too low for contact check
5066
RECOVERABLE
source.offlimiti too low for contact check
5069
SERIOUS
Autorange locked for HighC mode
Series 2600B
System SourceMeter® Instrument Reference Manual Section 8:
Troubleshooting guide
2600BS-901-01 Rev. C / August 2016 8-7
LAN troubleshooting suggestions
If you are unable to connect to the instrument's web interface, check the following items:
Verify that the network cable is in the LAN port on the rear panel of the instrument, not one of the
TSP-Link® ports (see the description in Rear panel (on page 2-6)).
Verify that the network cable is in the correct port on the computer. The LAN port of a laptop may
be disabled when the laptop is in a docking station.
Verify that the correct ethernet card's configuration information was used during the setup
procedure.
Verify that the computer's network card is enabled.
Verify that the instrument's IP address is compatible with the IP address on the computer.
Verify that the instrument's subnet mask address is the same as the computer's subnet mask
address.
Turn the instrument's power off, and then on. Wait at least 60 seconds for the network
configuration to be completed. Verify that an IP address has been assigned to the instrument:
1. Press the MENU key to display the MAIN MENU.
2. Use the navigation wheel to select LAN. The LAN CONFIG menu is displayed.
3. Select STATUS.
4. Select IP-ADDRESS.
Restart your computer.
For more detail on LAN settings, see Connecting to the LAN (on page C-10).
If the above actions do not correct the problem, contact your system administrator.
In this section:
How do I display the instrument's serial number? .................... 9-1
How do I optimize performance? .............................................. 9-2
How do I upgrade the firmware? .............................................. 9-3
How do I use the digital I/O port? ............................................. 9-3
How do I trigger other instruments? ......................................... 9-3
How do I generate a GPIB service request? ............................ 9-4
How do I store measurements in nonvolatile memory? ............ 9-5
When should I change the output-off state? ............................. 9-6
How do I make contact check measurements? ........................ 9-6
How do I make low-current measurements? ............................ 9-6
How can I change the line frequency? .................................... 9-9
Where can I get the LabVIEW driver? ...................................... 9-9
What should I do if I get an 802 interlock error? ....................... 9-9
Why is the reading value 9.91e37? ........................................ 9-10
How do I use the included USB drive? ................................... 9-10
What do I do if I lose or format the included USB drive? ........ 9-10
How do I display the instrument's serial number?
The instrument serial number is on a label on the rear panel of the instrument. You can also access
the serial number from the front panel using the front-panel keys and menus.
To display the serial number on the front panel:
1. If the Series 2600B is in remote operation, press the EXIT (LOCAL) key once to place the
instrument in local operation.
2. Press the MENU key.
3. Use the navigation wheel to scroll to the SYSTEM-INFO menu item.
4. Press the ENTER key. The SYSTEM INFORMATION menu is displayed.
5. Scroll to the SERIAL# menu item.
6. Press the ENTER key. The Series 2600B serial number is displayed.
Section 9
Frequently asked questions (FAQs)
Section
9: Frequently asked questions (FAQs) Series 2600B System SourceMeter® Instrument
Reference Manual
9-2 2600BS-901-01 Rev. C / August 2016
How do I optimize performance?
There are three primary factors that affect measurement accuracy and speed:
Warm-up: For rated measurement accuracy, allow the Series 2600B to warm up for at least two
hours before use.
Speed setting: The speed setting affects both speed and accuracy (for more information, see
Setting speed (on page 2-87)).
Autozero: Autozero can be disabled to increase speed at the expense of accuracy (for more
information, see Disabling autozero to increase speed (on page 9-2)).
Disabling autozero to increase speed
Disabling autozero (setting it to OFF) can increase measurement speed. If autozero is disabled,
accuracy will drift with time and temperature.
Turning autozero OFF will disable the autozero function and possibly increase measurement speed.
To minimize drift, setting autozero to ONCE will perform an autozero operation one time (at the time
when it is selected), and then disable the autozero function.
For a more detailed discussion of autozero, see the Autozero (on page 2-32) topic.
To configure autozero from the front panel:
1. Press the CONFIG key, and then select MEAS from the menu.
2. Select AUTO-ZERO, and then press the ENTER key or the navigation wheel .
3. Select the desired mode (OFF, ONCE, or AUTO), and then press the ENTER key or the
navigation wheel .
4. Press the EXIT (LOCAL) key as necessary to return to the normal display.
Refer to the Remote command autozero (on page 2-33) topic for details about configuring autozero
from a remote interface.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 9:
Frequently asked questions (FAQs)
2600BS-901-01 Rev. C / August 2016 9-3
How do I upgrade the firmware?
Do not turn off power or remove the USB flash drive until the upgrade process is complete.
From the front panel:
1. Copy the firmware upgrade file to a USB flash drive.
2. Verify that the upgrade file is in the root subdirectory of the flash drive and that it is the only
firmware file in that location.
3. Disconnect any input and output terminals that are attached to the instrument.
4. Turn on instrument power.
5. Insert the flash drive into the USB port on the front panel of the instrument.
6. From the instrument front panel, press the MENU key.
7. Under System, select Manage.
8. To upgrade to a newer version of firmware, select Upgrade to New.
9. To return to a previous version of firmware, select Downgrade to Older.
10. If the instrument is controlled remotely, a message is displayed. Select Yes to continue.
11. When the upgrade is complete, reboot the instrument.
A message is displayed while the upgrade is in progress.
For additional information about upgrading the firmware, see Upgrading the firmware (on page A-4).
How do I use the digital I/O port?
You can use the Series 2600B digital input/output with the trigger model or to control an external
digital circuit, such as a device handler used to perform binning operations. To control or configure
any of the six digital input/output lines, send commands to the Series 2600B over a remote interface.
To use the Series 2600B digital I/O in a trigger link system (TLINK), connect it using a Series
2600B-TLINK Trigger Link Cable and configure the Series 2600B digital input and output lines.
For more information about the Series 2600B digital I/O port, see Digital I/O (on page 3-82).
How do I trigger other instruments?
You can use the Series 2600B digital input/output to control an external digital circuit, such as a
device handler used to perform binning operations. For more information about the Series 2600B
digital I/O port, see Digital I/O (on page 3-82).
You can also use the digital I/O in a trigger link system (TLINK) using a Series 2600B-TLINK Trigger
Link Cable.
Another option is Keithley Instruments TSP-Link®, a high-speed trigger synchronization and
communication bus that you can use to connect multiple instruments in a master and subordinate
configuration. See TSP-Link System Expansion Interface for additional information.
Section
9: Frequently asked questions (FAQs) Series 2600B System SourceMeter® Instrument Reference M
anual
9-4 2600BS-901-01 Rev. C / August 2016
Triggering a scanner
A typical test scenario might call for using the Series 2600B with a scanner to test a number of
devices under test (DUTs) in sequence. A basic example of this uses the Series 2600B digital I/O port
to trigger a scanner (shown in the figure below). In this example, line 1 of the digital I/O port is used
as a trigger output and connected to the scanner mainframe trigger input, and line 2 of the digital I/O
port is used as a trigger input.
Figure 138: Triggering a scanner
Interactive trigger programming
The programming example below illustrates how to set up interactive triggering. The example sets the
output trigger pulse width on line 1, then programs both lines 1 and 2 for falling edge triggers. Digital
I/O line 1 trigger asserts, and then line 2 waits for the input trigger up to the timeout period specified.
-- Set line 1 pulse width to 10 us.
digio.trigger[1].pulsewidth = 10e-6
-- Set line 1 mode to falling edge.
digio.trigger[1].mode = digio.TRIG_FALLING
-- Set line 2 mode to falling edge.
digio.trigger[2].mode = digio.TRIG_FALLING
-- Assert trigger on line 1.
digio.trigger[1].assert()
-- When complete, wait for trigger on line 2.
digio.trigger[2].wait(timeout)
More information about triggering
To obtain precise timing and synchronization between instruments, use the remote trigger model. For
more information about the remote trigger model and interactive triggering using other trigger objects,
see Triggering (on page 3-32).
How do I generate a GPIB service request?
For detailed information about this topic, see the Status model (on page 5-15, on page E-1) section
of this manual.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 9:
Frequently asked questions (FAQs)
2600BS-901-01 Rev. C / August 2016 9-5
Setting up a service request
The exact programming steps necessary to generate a GPIB service request (SRQ) vary, depending
on the events intended to generate the SRQ. In general, these steps are:
1. Clear all status registers to prevent anomalous events from generating an SRQ.
2. Set the appropriate bits in the appropriate status model enable registers.
3. Set the proper bits in the service request enable register. At least one bit in this register must
always be set, but the exact bits to be set will depend on the desired SRQ events.
Service request programming example
The example below shows how to program the Series 2600B to generate a service request (SRQ)
when the current limit on channel A is exceeded.
-- Clear all registers.
status.reset()
-- Enable the current limit bit in the current limit register.
status.measurement.current_limit.enable = status.measurement.current_limit.SMUA
-- Enable the status measure current limit bit.
status.measurement.enable = status.measurement.ILMT
-- Enable the status SRQ MSB.
status.request_enable = status.MSB
Polling for SRQs
To determine if the Series 2600B is the GPIB device that generated the service request (SRQ), serial
poll the instrument for the status byte, and test to see if the corresponding summary bits are set.
How do I store measurements in 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
SMUB_BUFFER1*
SMUB_BUFFER2*
* Model 2602B/2604B/2612B/2614B/2634B/2636B only.
1. The front panel displays Saving... This may take awhile.
2. Press the EXIT (LOCAL) key to return to the main menu.
For additional information, see Saving reading buffers (on page 3-9).
Section
9: Frequently asked questions (FAQs) Series 2600B System SourceMeter® Instrument
Reference Manual
9-6 2600BS-901-01 Rev. C / August 2016
When should I change the output-off state?
Carefully consider and configure the appropriate output-off state, source, and compliance limits
before connecting the Series 2600B to a device that can deliver energy (for example, other voltage
sources, batteries, capacitors, solar cells, or other Series 2600B 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).
The Series 2600B instrument provides multiple output-off states. The multiple states are required
because different types of connected devices (or loads) require different behaviors from the Series
2600B when its output is turned off.
For example, a passive device such as a diode is not affected by a 0 V source connected across its
terminals when the output is turned off. However, connecting a 0 V source to the terminals of a
battery causes the battery to discharge. Therefore, careful selection of the proper output-off state is
important to prevent damage to devices and instruments. This is especially true when the device can
deliver energy to the Series 2600B, such as a battery or capacitor or when another SourceMeter
instrument is connected across the output terminals. In these situations, you should use an output-off
state that isolates the instrument from the device by either setting smuX.source.offfunc =
smuX.OUTPUT_DCAMPS or smuX.source.offfunc = smuX.OUTPUT_DCVOLTS, as applicable.
There are other guidelines to follow when connecting the outputs of multiple Series 2600B
instruments to obtain a larger current or voltage. For more information, refer to the Keithley
application notes on the Keithley Instruments webite (http://www.tek.com/keithley).
How do I make contact check measurements?
The Models 2604B, 2614B, and 2634B do not perform contact check measurements.
For information about making contact check measurements, see Contact check measurements (on
page 2-45) and Contact check (on page 4-23).
How do I make low-current measurements?
Low-current connections
Low-current measurements (<1 mA) are subject to errors caused by leakage currents and leakage
resistances in the signal path. Model 2634B, 2635B, and 2636B instruments are equipped with triaxial
connectors to minimize these problems. To assure accurate low-level measurements, the integrity of
the signal path must be maintained to the device under test (DUT), including using both low-noise
triaxial cables and a suitable test fixture.
Series 2600B
System SourceMeter® Instrument Reference Manual Section 9:
Frequently asked questions (FAQs)
2600BS-901-01 Rev. C / August 2016 9-7
The figure below shows typical connections for low-current measurements. The DUT in this example
could be a low-current semiconductor device, a high-megohm resistor, or any other passive or active
electronic device requiring low-current measurements. Note that the DUT is enclosed in both a guard
shield and a safety shield.
The inner shield (guard) of the HI triaxial cable is connected to the test fixture guard shield. The guard
shield prevents leakage currents from affecting the measurements. The outer cable shield (chassis
ground or protective earth (safety ground)) is connected to the safety shield.
A safety shield must be used whenever hazardous voltages (>30 V RMS, 42 V peak) will be
present in the test circuit. To prevent electrical shock that could cause injury or death,
never use the Series 2600B in a test circuit that may contain hazardous voltages without a
properly installed and configured safety shield.
Connect the enclosure of all metal test fixtures to protective earth (safety ground).
Nonconductive test fixtures must be rated to double the maximum capability of the test
equipment in the system. Failure to attach the ground wires to a known protective earth may
result in electric shock.
Section
9: Frequently asked questions (FAQs) Series 2600B System SourceMeter® Instrument
Reference Manual
9-8 2600BS-901-01 Rev. C / August 2016
Figure 139: Typical low-current connections
(1)
Series 2600B interlock digital I/O. Pin 24 (INT) and pin 22 (5 V DC) are connected to the
test fixture lid switch. The interlock switch is shown in the disengaged, or lid open, position.
(2) Normally-open (NO) interlock metal safety enclosure.
(3)
HI and LO connections using triaxial female panel mount connectors. LO is connected to
the metal noise shield
(4) To protective earth (safety ground) from the test fixture or protection module. Additional
connections for redundant protective earth may be required.
(5)
Triaxial cable assembly (Model 7078-TRX).
Series 2600B
System SourceMeter® Instrument Reference Manual Section 9:
Frequently asked questions (FAQs)
2600BS-901-01 Rev. C / August 2016 9-9
Low-current measurement programming example
Example code for a typical low-current measurement is shown below. This code assumes that a
100 GΩ resistor is being tested.
-- Restore defaults.
smua.reset()
-- Set source to DC V.
smua.source.func = smua.OUTPUT_DCVOLTS
-- Select 200 V source range.
smua.source.rangev = 200
-- Output 100 V DC.
smua.source.levelv = 100
-- Select 1 nA range.
smua.measure.rangei = 1e-9
-- Set current limit to 2 nA.
smua.source.limiti = 2e-9
-- Turn on output.
smua.source.output = smua.OUTPUT_ON
-- Delay 1 second to allow for source and measure settling.
smua.source.delay = 1
-- Returns current reading.
print(smua.measure.i())
-- Returns resistance reading.
print(smua.measure.r())
-- Turn off output.
smua.source.output = smua.OUTPUT_OFF
How can I change the line frequency?
The Series 2600B requires a line voltage of 100 V AC to 240 V AC (±10%), and a line frequency of
50 Hz or 60 Hz. The factory configures the Series 2600B to automatically detect and operate at the
appropriate power line frequency each time the instrument power is turned on.
You can manually configure the instrument to a different line frequency. For more information, see
Line frequency configuration (on page 2-15).
Where can I get the LabVIEW driver?
The latest NITM LabVIEWTM driver is available from the Keithley Instruments webite
(http://www.tek.com/keithley).
What should I do if I get an 802 interlock error?
You will receive error code 802, "OUTPUT blocked by interlock," if you:
Disengage the interlock when the Series 2600B output is already on
Attempt to turn on the Series 2600B output when the interlock is disengaged
To recover from this error, properly engage the interlock using a safe test fixture, and then turn on the
Series 2600B output.
Section
9: Frequently asked questions (FAQs) Series 2600B System SourceMeter® Instrument
Reference Manual
9-10 2600BS-901-01 Rev. C / August 2016
Why is the reading value 9.91e37?
This value indicates that there is a measurement overflow error. This error occurs when:
A measurement performed on a fixed range has a measured value greater than the specified
range
The measured value is larger than the maximum current or voltage range of the instrument
(exceeds the instrument rating)
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.
How do I use the included USB drive?
The USB drive included with the Series 2600B System SourceMeter® instrument can be used to load
test scripts onto the instrument from the front panel. The included USB drive contains a copy of the
Model 2400 personality script which allows the Series 2600B instrument to accept Model 2400 SCPI
commands. For more information about loading and running the Model 2400 personality script see
Model 2400 emulation (on page G-1).
What do I do if I lose or format the included USB drive?
If you lose or format the USB drive or delete the Model 2400 personality script you can download the
latest version of it from the Keithley Instruments webite (http://www.tek.com/keithley).
In this section:
Additional Series 2600B information ...................................... 10-1
Additional Series 2600B information
For additional information about the Series 2600B, refer to:
The Keithley Instruments webite (http://www.tek.com/keithley): Contains the most up-to-date
information. From the website, you can access:
The Knowledge Center, which contains the following handbooks:
The Low Level Measurements Handbook: Precision DC Current, Voltage, and Resistance
Measurements
Semiconductor Device Test Applications Guide
Application notes
Updated drivers
Information about related products, including:
The Model 4200-SCS Semiconductor Characterization System
The Model 2651A High Power System SourceMeter® Instrument
The Model 2657A High Power System SourceMeter® Instrument
Your local Field Applications Engineer can help you with product selection, configuration, and
usage. Check the website for contact information.
Section 10
Next steps
In this appendix:
Introduction ............................................................................... A-1
Line fuse replacement .............................................................. A-1
Front panel tests ....................................................................... A-2
Upgrading the firmware ............................................................ A-4
Introduction
The information in this section describes routine maintenance of the instrument that can be performed
by the operator.
Line fuse replacement
A fuse located on the Series 2600B rear panel protects the power line input of the instrument.
Disconnect the line cord at the rear panel and remove all test leads connected to the
instrument before replacing the line fuse. Failure to do so could expose the operator to
hazardous voltages that could result in personal injury or death.
Figure 140: Fuse replacement
Appendix A
Maintenance
Appendix
A: Maintenance Series 2600B System SourceMeter® Instrument Ref
erence Manual
A-2 2600BS-901-01 Rev. C / August 2016
To prevent injury, death, or instrument damage, use only the correct fuse type (see table).
Perform the following steps to replace the line fuse:
1. Power off the instrument and remove the line cord.
2. The fuse drawer (item 1 in the figure) is located below the AC receptacle. A small tab is located
on the top of the fuse drawer (item 2). Using a thin-bladed knife or a screwdriver, pry this tab
away from the AC receptacle.
3. Slide the fuse drawer out to gain access to the fuse (the fuse drawer does not pull completely out
of the power module).
4. Snap the fuse out of the drawer and replace it with the same type (the fuse is specified in the
table below).
5. Push the fuse drawer back into the module.
If the power line fuse continues to blow, a circuit malfunction exists and must be corrected. Return the
instrument to Keithley Instruments for repair.
Line fuse
Line voltage Rating Keithley part number
100 - 240 V 250 V, 3.15 A, Slow Blow 5 x 20 mm FU-106-3.15
Front panel tests
There are two front panel tests: one to test the functionality of the front panel keys and one to test the
display.
In the following procedures, once highlighted, menu items are selected by pressing the ENTER key.
Alternatively, menu items can be selected by pressing the navigation wheel .
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix A:
Maintenance
2600BS-901-01 Rev. C / August 2016 A-3
Keys test
This test lets you check the functionality of each front panel key.
Perform the following steps to run the KEYS test:
1. If the Series 2600B instrument is in remote mode, press the EXIT (LOCAL) key once to place the
instrument in local mode.
2. Press the MENU key.
3. Navigate through the menus by turning the navigation wheel . Press the ENTER key to select
the menu items as follows: DISPLAY > TEST > DISPLAY-TESTS.
4. Turn the navigation wheel until the KEYS menu item is highlighted.
5. To start the test, press the ENTER key. While the test is active, when you press a key, the label
name for that key is displayed to indicate that it is functioning properly. When you release the key,
the message “No keys pressed” is displayed.
6. To test the EXIT (LOCAL) key, press the EXIT (LOCAL) key once.
7. To exit the test, press the EXIT (LOCAL) key twice consecutively. You will exit the test and the
instrument returns to the FRONT PANEL TESTS menu.
8. Press the EXIT (LOCAL) key multiple times to exit out of the menu structure.
Display patterns test
This test lets you verify that each pixel and indicator in the vacuum fluorescent display is working
properly.
Perform the following steps to run the display test:
1. If the Series 2600B instrument is in remote mode, press the EXIT (LOCAL) key once to place the
instrument in local mode.
2. Press the MENU key.
3. Navigate through the menus by turning the navigation wheel , and then pressing the ENTER key
to select the items as follows: DISPLAY > TEST > DISPLAY-TESTS.
4. Turn the navigation wheel until the DISPLAY-PATTERNS menu item is highlighted.
5. To start the display test, press the ENTER key. There are three parts to the display test. Each
time the ENTER key or the navigation wheel is pressed, the next part of the test sequence is
selected. The three parts of the test sequence are as follows:
Checkerboard pattern and the indicators that are on during normal operation
Checkerboard pattern (alternate pixels on) and all the numeric indicators (which are not used) are
illuminated
Each digit (and adjacent indicators) is sequenced; all of the pixels of the selected digit are on
1. When finished, abort the display test by pressing the EXIT (LOCAL) key. The instrument returns
to the FRONT PANEL TESTS menu. Continue pressing the EXIT (LOCAL) key to exit out of the
menu structure.
Appendix
A: Maintenance Series 2600B System SourceMeter® Instrument
Reference Manual
A-4 2600BS-901-01 Rev. C / August 2016
Upgrading the firmware
Upgrade files are available on the Keithley Instruments webite (http://www.tek.com/keithley).
To locate the upgrade files on the Keithley website:
1. Select the Support tab.
2. In the model number box, type 2600B.
3. Select Firmware.
4. Click the search button. A list of available firmware updates and any available documentation for
the instrument is displayed.
5. Click the file you want to download.
Disconnect the input and output terminals before you upgrade.
Do not remove power from the Series 2600B or remove the USB flash drive while an upgrade is in
progress. Wait until the instrument completes the upgrade procedure and shows the opening display.
If you are upgrading a Model 2450-NFP instrument, the LAN and 1588 LEDs on the front panel blink
during the upgrade and stop when the upgrade is complete.
To upgrade the firmware using the front panel:
1. Copy the firmware upgrade file to a USB flash drive.
2. Disconnect the input and output terminals to and from the instrument.
3. Power on the Series 2600B.
4. If the Series 2600B instrument is in remote mode, press the EXIT (LOCAL) key once to place the
instrument in local mode.
5. Insert the flash drive into the USB port on the front panel of the Series 2600B.
6. From the Series 2600B front panel, press the MENU key
7. Scroll to the UPGRADE menu item (by turning the navigation wheel ), and then press the
ENTER key.
8. Scroll to and select the file (located on the USB flash drive) that contains the appropriate version
of firmware.
9. Press the ENTER key to upgrade the firmware.
To upgrade the firmware from the web interface:
1. Access the instrument's web page (for additional information, see Step 5: Access the instrument's
web page (on page C-10)).
2. From the left navigation area, select Flash Upgrade.
3. Log in if necessary.
4. Click Upgrade Firmware.
5. A file selection dialog box is shown.
6. Select the file that contains the appropriate version of firmware.
7. Click Open. A progress dialog box is displayed. When the upgrade begins, the front panel display
will also display the progress.
8. After the instrument automatically restarts, it will be ready for use.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix A:
Maintenance
2600BS-901-01 Rev. C / August 2016 A-5
Using TSB for upgrading the firmware
After downloading the new flash file from the Keithley Instruments website, you can use Test Script
Builder (TSB) to upgrade the firmware of your Series 2600B.
1. If not already running, start Test Script Builder (on the PC desktop, double-click the icon for the
Test Script Builder).
2. On the Instrument Console toolbar, click the Open Instrument icon and then select your
communication interface from the Select Instrument Resource dialog box. See the section on
TSP Programming Fundamentals for details on opening communications.
Figure 141: Open Instrument icon
3. On the Instrument Console toolbar, click the Flash memory icon to display a drop-down menu.
Figure 142: Flash memory icon
4. From the drop-down menu, select Instrument and then click Flash.
5. From the Select A Firmware Data File dialog box, use the browser to select the file name of the
new firmware and click Open to upgrade the firmware.
In this appendix:
Verification ................................................................................ B-1
Adjustment ............................................................................. B-18
Verification
The information in this topic is intended only for qualified service personnel. Some of the
procedures may expose you to hazardous voltages that could result in personal injury or
death. Do not attempt to perform these procedures unless you are qualified to do so.
Use the procedures in this section to verify that the Keithley Instruments Series 2600B System
SourceMeter® instrument accuracy is within the limits stated in the instrument’s one-year accuracy
specifications. Perform the verification procedures:
When you first receive the instrument to make sure that it was not damaged during shipment.
To verify that the instrument meets factory specifications.
To determine if calibration is required.
After performing a calibration adjustment to make sure the instrument was adjusted properly.
If the instrument is still under warranty and its performance is outside specified limits, contact your
Keithley Instruments representative or the factory to determine the correct course of action.
Appendix B
Calibration
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-2 2600BS-901-01 Rev. C / August 2016
Verification test requirements
Be sure that you perform the verification tests:
Under the proper environmental conditions.
After the specified warm-up period.
Using the correct line voltage.
Using the proper test equipment.
Using the specified output signal and reading limits.
Product specifications are subject to change. Listed uncertainties and test limits are provided only as
examples. Always verify values against actual product specifications.
Environmental conditions
Conduct your performance verification procedures in a test environment with:
An ambient temperature of 18 °C to 28 °C (65 °F to 82 °F).
A relative humidity of less than 70 percent unless otherwise noted.
Product specifications that are listed as 18 ºC to 28 ºC assume adjustment has been done at 23 ºC.
If the Series 2600B System SourceMeter® instrument is adjusted at a different temperature, the
specifications apply to ±5 ºC of that adjustment temperature.
Line power
The Series 2600B requires a line voltage of 100 V to 240 V and a line frequency of 50 Hz or 60 Hz.
Verification tests should be performed within this range.
Warmup period
Allow the Series 2600B System SourceMeter® instrument to warm up for at least two hours before
conducting the verification procedures.
If the instrument has been subjected to temperature extremes (those outside the ranges stated
above), allow additional time for the instrument’s internal temperature to stabilize. Typically, allow one
extra hour to stabilize an instrument that is 10 °C (18 °F) outside the specified temperature range.
Also, allow the test equipment to warm up for the minimum time specified by the manufacturer.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-3
Recommended verification equipment
The following table summarizes recommended maximum allowable test equipment uncertainty for
verification points. Total test equipment measurement uncertainty should meet or be less than the
listed values at each test point. Generally, test equipment uncertainty should be at least four times
better than corresponding Series 2600B specifications.
Recommended verification equipment
Description Manufacturer/model Accuracy
Digital multimeter Keithley Instruments
Model 2002
or
Agilent 3458A
DC voltage
1
(2601B/2602B/2604B)
DC voltage2
(2611B/2612B/2614B/2634B/
2635B/2636B)
DC current3
90 mV:
0.9 V:
5.4 V:
36 V:
190 mV:
1.8 V:
18 V:
180 V:
90 nA:
0.9 mA:
9 µA:
90 µA:
0.9 mA:
9 mA:
90 mA:
0.9 A:
±8 ppm
±5 ppm
±4 ppm
±6 ppm
±5 ppm
±4 ppm
±6 ppm
±6 ppm
±430 ppm
±45 ppm
±25 ppm
±23 ppm
±20 ppm
±20 ppm
±35 ppm
±110 ppm
0.5 , 250 W, 0.1%
precision resistor
Isotek
RUG-Z-R500-0.1-TK3
Resistance
4
0.5 Ω:
±125 ppm
1 G, 200 V, 1%
standard
Keithley Instruments
Model 2600-STD-RES Resistance
5
1 G:
±250 ppm
1. Ninety-day specifications show full-range accuracy of recommended model used for specified measurement
point.
2. Id.
3. Id.
4. Resistor used to test Model 2601B/2602B/2604B 3 A range and Model
2611B/2612B/2614B/2634B/2635B/2636B 1.5 A range only should be characterized to uncertainty shown using
resistance function of digital multimeter before use.
5. Standard is a guarded and characterized 1 G resistor that is used to test Model 2634B/2635B/2636B 100 pA to
100 nA current ranges.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-4 2600BS-901-01 Rev. C / August 2016
Verification limits
The verification limits stated in this section have been calculated using only the Series 2600B one-
year accuracy specifications, and they do not include test equipment uncertainty. If a particular
measurement falls outside the allowable range, recalculate new limits based both on the Series
2600B specifications and corresponding test equipment specifications.
Source limit calculations
As an example of how verification limits are calculated, assume you are testing the Model
2601B/2602B/2604B 6 V DC output range using a 5.4 V output value. Using the Model
2601A/2602A/2604B one-year accuracy specification for 5.4 V DC output of ± (0.02% of output + 1.8
mV offset), the calculated output limits are:
Output limits = 5.4 V ± [(5.4 V × 0.02%) + 1.8 mV]
Output limits = 5.4 V ± (0.00108 V + 0.0018 V)
Output limits = 5.4 V ± 0.00288 V
Output limits = 5.39712 V to 5.40288 V
Similarly, assume you are testing the Model 2611B/2612B/2614B/2634B/2635B/2636B 20V DC
output range using an 18 V output value. Using the Model 2611B/2612B/2614B/2634B/2635B/2636B
one-year accuracy specification for 18 V DC output of ± (0.02% of output + 5 mV offset), the
calculated output limits are:
Output limits = 18 V ± [(18 V × 0.02%) + 5 mV]
Output limits = 18 V ± (0.0036 V + 0.005 V)
Output limits = 18 V ± 0.0086 V
Output limits = 17.9914 V to 18.0086 V
Measurement limit calculations
Measurement limits are calculated in the same way as the source limits, except that the limits are
calculated with respect to the measurement of the external reference instrument.
Restoring factory defaults
Before performing the verification procedures, restore the instrument to its factory front panel (bench)
defaults as follows:
1. Press the MENU key.
2. Scroll to the SETUP menu item (by turning the navigation wheel ), and then press the ENTER
key.
3. Scroll to the RECALL menu item, and then press the ENTER key.
4. Scroll to the INTERNAL menu item, and then press the ENTER key.
5. Scroll to the FACTORY menu item.
6. Press the ENTER key to restore defaults.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-5
Performing the verification test procedures
Test summary
Perform the following verification tests to make sure the instrument is operating within specifications:
Current source accuracy (on page B-7)
Current measurement accuracy (on page B-12)
Voltage source accuracy (on page B-15)
Voltage measurement accuracy (on page B-17)
If the Series 2600B System SourceMeter® instrument is not within specifications and not under
warranty, see the procedures in Adjustment (on page B-18) for information on adjusting the
instrument.
Test considerations
When performing the verification procedures:
Be sure to restore factory front panel defaults as outlined above.
Make sure that the test equipment is properly warmed up and connected to the Series 2600B
output terminals (use 4-wire sensing for voltage).
Make sure the Series 2600B SMU is set to the correct source range.
Be sure the Series 2600B SMU output is turned on before making measurements.
Be sure the test equipment is set up for the proper function and range.
Allow the Series 2600B SMU output signal to settle before making a measurement.
Do not connect test equipment to the Series 2600B SMU through a scanner, multiplexer, or other
switching equipment.
The maximum common-mode voltage (voltage between LO and chassis ground) is 250 V DC.
Exceeding this value may cause a breakdown in insulation, creating a shock hazard that
could result in personal injury or death.
The input/output terminals of the Series 2600B System SourceMeter
® instrument SMUs are
rated for connection to circuits rated Measurement Category I only, with transients rated
less than 1500 V peak above the maximum rated input. Do not connect the Series 2600B
terminals to CAT II, CAT III, or CAT IV circuits. Connection of the Series 2600B terminals to
circuits higher than CAT I can cause damage to the equipment or expose the operator to
hazardous voltage.
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 Series
2600B 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 Series 2600B before handling cables.
Putting the equipment into standby does not guarantee that the outputs are powered off if a
hardware or software fault occurs.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-6 2600BS-901-01 Rev. C / August 2016
Setting the source range and output value
Before testing each verification point, you must properly set the source range and output value.
To set the source range and output value:
1. Press the SRC key to select the appropriate source function.
2. Press the navigation wheel to enable the edit mode (EDIT indicator on).
3. When the cursor in the source display field is flashing, set the source range to the range being
verified. Use the up or down RANGE keys to select the range.
4. Use the navigation wheel and CURSOR keys to set the source value to the required value, and
then press the navigation wheel to complete editing.
Setting the measurement range
When simultaneously sourcing and measuring either voltage or current, the measure range is
coupled to the source range, and you cannot independently control the measure range. Thus, it is not
necessary for you to set the range when testing voltage or current measurement accuracy.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-7
Current source accuracy
Follow the steps below to verify that the Series 2600B output current accuracy is within specified
limits.
An alternate procedure for 100 nA current accuracy is shown in the 1 nA to 100 nA Output current
accuracy procedure for the Model 2634B/2635B/2636B.
1. With the power off, connect the digital multimeter to the Series 2600B terminals as shown in the
figure titled "Connections for 100 nA to 1 A current ranges" located at the end of this procedure.
2. Select the multimeter DC current measuring function.
3. Select the Model 2602B/2604B/2612B/2614B/2634B/2636B single-channel display mode.
4. Press the SRC key to source current, and make sure the source output is turned on.
5. Verify output current accuracy for each of the currents for the 100 nA to 1 A ranges (for Model
2634B/2635B/2636B, verify currents for the 1 µA to 1 A ranges) using the values listed in the
following table for your model number. For each test point:
Select the correct source range.
Set the Series 2600B output current to the correct value.
Verify that the multimeter reading is within the limits given in the table below.
Model 2601B/2602B/2604B output current accuracy limits
Source range Output current setting Output current limits
(1 year, 18 °C to 28 °C)
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
90.000 nA
0.90000 µA
9.0000 µA
90.000 µA
0.90000 mA
9.0000 mA
90.000 mA
0.90000 A
89.846 nA to 90.154 nA
0.89893 µA to 0.90107 µA
8.9923 µA to 9.0077 µA
89.913 µA to 90.087 µA
0.89943 mA to 0.90057 mA
8.9913 mA to 9.0087 mA
89.943 mA to 90.057 mA
0.89775 A to 0.90225 A
3 A 2.40000 A 2.39456 A to 2.40544 A
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-8 2600BS-901-01 Rev. C / August 2016
Model 2611B/2612B/2614B output current accuracy limits
Source range Output current setting Output current limits
(1 year, 18 °C to 28 °C)
100 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
90.000 nA
0.90000 µA
9.0000 µA
90.000 µA
0.90000 mA
9.0000 mA
90.000 mA
0.90000 A
89.846 nA to 90.154 nA
0.89893 µA to 0.90107µA
8.9923 µA to 9.0077µA
89.913 µA to 90.087 µA
0.89943 mA to 0.90057mA
8.9913 mA to 9.0087 mA
89.943 mA to 90.057mA
0.89775 A to 0.90225 A
1.5 A
1.35000 A
1.34519 A to 1.35481 A
Model 2634B/2635B/2636B output current accuracy limits
Source range Output current setting
Output current limits
(1 year 18 °C to 28 °C)
1 nA
10 nA
100 nA
0.90000 nA
9.0000 nA
90.000 nA
0.89665 nA to 0.90335 nA
8.9815 nA to 9.0185 nA
89.896 nA to 90.014 nA
1 µA
10 µA
100 µA
1 mA
10 mA
100 mA
1 A
0.90000 µA
9.0000 µA
90.000 µA
0.90000 mA
9.0000 mA
90.000 mA
0.90000 A
0.89903 µA to 0.90097 µA
8.9923 µA to 9.0077 µA
89.913 µA to 90.087 µA
0.89943 mA to 0.90057 mA
8.9913 mA to 9.0087 mA
89.943 mA to 90.057 mA
0.89775 A to 0.90225 A
1.5 A
1.35000 A
1.34519 A to 1.35481 A
1. Repeat the procedure for negative output currents with the same magnitudes as those listed.
2. Turn the output off, and change connections as shown in the figure titled "Connections for 1.5 A
and 3 A current ranges" in Current source accuracy (on page B-7).
3. Select the DMM DC volts function.
4. Repeat steps 4 through 6 for the 3 A range (Model 2601B/2602B/2604B) or the 1.5 A range
(Model 2611B/2612B/2614B/2634B/2635B/2636B). Calculate the current from the DMM voltage
reading and the characterized 0.5 resistance value: I=V/R.
5. For the Model 2602B/2604B/2612B/2614B/2634B/2636B, repeat the above procedure for the
other channel.
Model 2634B/2635B/2636B current source accuracy 1 nA to 100 nA ranges
A suitably guarded and characterized 1 G resistance standard, such as the Keithley Instruments
Model 2600-STD-RES is necessary for the following measurements. Step-by-step procedures and
connection diagrams for verifying the output current accuracy for the low current ranges are included
with the Model 2600-STD-RES. The general process entails (for each current range) measuring the
voltage across the characterized 1 G resistor for a given output current and comparing the derived
current to the current accuracy listed in the table titled "Model 2634B/2635B/2636B output current
accuracy limits."
Connect the guarded resistance standard to the Model 2634B/2635B/2636B and the DMM.
1. Source the appropriate current for +/- full-scale reading.
2. Wait 30 seconds for stable measurement.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-9
3. Capture the reported voltage measurement.
4. Calculate the current from measured voltage and characterized resistance.
5. Verify output current accuracy for each of the currents for the 1 nA to 100 nA ranges listed in the
table titled "Model 2634B/2635B/2636B output current accuracy limits."
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-10 2600BS-901-01 Rev. C / August 2016
Figure 143: Connections for 100 nA to 1 A current ranges
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-11
Figure 144: Connections for 1.5 A and 3 A current ranges
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-12 2600BS-901-01 Rev. C / August 2016
Current measurement accuracy
Follow the steps below to verify that Series 2600B current measurement accuracy is within specified
limits. The procedure involves applying accurate currents from the Series 2600B current source and
then verifying that Series 2600B current measurements are within required limits.
1. With the power off, connect the digital multimeter to the Series 2600B terminals as shown in the
figure titled "Connections for 100 nA to 1 A current ranges" in Current source accuracy (on page
B-7).
2. Select the multimeter DC current function.
3. Select the Model 2602B/2604B/2612B/2614B/2634B/2636B single-channel display mode.
4. Set the Series 2600B SMU to both source and measure current by pressing the SRC and then
the MEAS keys. Make sure the source output is turned on.
5. Verify measure current accuracy for each of the currents listed using the values listed in the
following table for your model number. For each measurement:
Select the correct source range.
Set the Series 2600B output current such that the digital multimeter reading is the value indicated in the
source current column of the table below. It may not be possible to set the current source to get exactly
the required reading on the digital multimeter. Use the closest possible setting and modify the reading
limits accordingly.
If necessary, press the TRIG key to display readings.
Verify that the Series 2600B current reading is within the limits given in the table below.
1. Repeat the procedure for negative calibrator currents with the same magnitudes as those listed.
Model 2601B/2602B/2604B current measurement accuracy limits
Source and measure range1 Source current2 Current reading limits (1 year,
18 °C to 28 °C)
100 nA
90.000 nA
89.855 nA to 90.145 nA
1 µA 0.9000 µA 0.89928 µA to 0.90073 µA
10
µ
A
9.0000
µ
A
8.9963
µ
A to 9.0038
µ
A
100
µ
A
90.000
µ
A
89.957
µ
A to 90.043
µ
A
1 mA
0.9000 mA
0.89962 mA to 0.90038 mA
10 mA 9.0000 mA 8.9957 mA to 9.0043 mA
100 mA
90.000 mA
89.962 mA to 90.038 mA
1 A
0.90000 A
0.89823 A to 0.90177 A
3 A
2.4000 A
2.3953 A to 2.4047 A
1. Measure range coupled to source range when simultaneously sourcing and measuring current.
2. As measured by precision digital multimeter. Use closest possible value, and modify reading limits
accordingly if necessary. See Measurement limit calculations (on page B-4).
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-13
Model 2611B/2612B/2614B current measurement accuracy limits
Source and measure range1 Source current2 Current reading limits (1 year,
18 °C to 28 °C)
100 nA
90.000 nA
89.846 nA to 90.154 nA
1 µA 0.9000 µA 0.89928 µA to 0.90073 µA
10
µ
A
9.0000
µ
A
8.9963
µ
A to 9.0038
µ
A
100
µ
A
90.000
µ
A
89.957
µ
A to 90.043
µ
A
1 mA
0.9000 mA
0.89962 mA to 0.90038 mA
10 mA 9.0000 mA 8.9957 mA to 9.0043 mA
100 mA
90.000 mA
89.962 mA to 90.038 mA
1 A
0.90000 A
0.89823 A to 0.90177 A
1.5 A
1.3500 A
1.34583 A to 1.35418 A
1. Measure range coupled to source range when simultaneously sourcing and measuring current.
2. As measured by precision digital multimeter. Use closest possible value, and modify reading limits
accordingly if necessary. See Measurement limit calculations (on page B-4).
Model 2634B/2635B/2636B current measurement accuracy limits
Source and measure range1 Source current2 Current reading limits (1 year,
18 °C to 28 °C)
100 pA to 100 nA ranges See Model 2634B/2635B/2636B current measurement accuracy
100 pA to 100 nA ranges (on page B-14)
1
µ
A
0.9000
µ
A
0.89938
µ
A to 0.90063
µ
A
10
µ
A
9.0000
µ
A
8.9963
µ
A to 9.0038
µ
A
100 µA 90.000 µA 89.957 µA to 90.043 µA
1 mA
0.9000 mA
0.89962 mA to 0.90038 mA
10 mA
9.0000 mA
8.9957 mA to 9.0043 mA
100 mA
90.000 mA
89.962 mA to 90.038 mA
1 A
0.90000 A
0.89823 A to 0.90177 A
1.5 A
1.3500 A
1.34583 A to 1.35418 A
1. Measure range coupled to source range when simultaneously sourcing and measuring current.
2. As measured by precision digital multimeter. Use closest possible value, and modify reading limits
accordingly if necessary. See Measurement limit calculations (on page B-4).
2. Turn the output off and change connections as shown adding the 0.5 250 W resistor (see the
figure titled "Connections for 1.5 A and 3 A current ranges" in Current source accuracy (on page
B-7)).
3. Select the DMM volts function.
Repeat steps 4 through 6 for the 3 A range (Model 2601B/2602B/2604B) or 1.5 A range (Model
2611B/2612B/2614B/2634B/2635B/2636B). Calculate the current from the DMM voltage reading
and characterized 0.5 resistance value.
4. For the Model 2602B/2604B/2612B/2614B/2634B/2636B, repeat the above procedure for the
other channel.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-14 2600BS-901-01 Rev. C / August 2016
Model 2634B/2635B/2636B current measurement accuracy 100 pA to 100 nA
ranges
A suitably guarded and characterized 1 G resistance standard, such as the Keithley
Instruments Model 2600-STD-RES, is necessary for the following measurements. Step-by-step
procedures and connection diagrams for verifying the current measurement accuracy for the low
current ranges are included with the Model 2600-STD-RES. The general process entails forcing a
characterized voltage across the 1 G resistor and comparing the Model 2634B/2635B/2636B
measured results against the standard resistance and voltage derived current.
1. Characterize the appropriate ±V source values with the DMM according to the following table.
Model 2634B/2635B/2636B Characterization of Voltage Source settings
Low Current Range Voltage Source Compliance
±90.000 mV
1.5 A
±0.90000 V
1.5 A
±9.0000 V
1.5 A
±90.000 V
100 mA
* Not available on the Model 2634B.
2. Characterize the desired Model 2634B/2635B/2636B current ranges.
a. Connect guarded resistance standard.
b. Source the appropriate voltage for +/- full-scale reading.
c. Wait 30 seconds for stable measurement.
d. Capture the Model 2634B/2635B/2636B reported current measurement.
e. Verify output current accuracy for each of the currents for the 100 pA to 100 nA ranges listed in
the following table.
Model 2634B/2635B/2636B current measurement accuracy limits (100 pA to 100 nA)
Measure range Source current
2
Current reading limits (1 year,
18 °C to 28 °C)
100 pA
1
90.000 pA
89.785 pA to 90.215 pA
1 nA
0.90000 nA
0.89841 nA to 0.90159 nA
10 nA
9.0000 nA
8.9835 nA to 9.0165 nA
100 nA
90.000 nA
89.906 nA to 90.094 nA
1. Not available on the Model 2634B.
2. As measured by precision digital multimeter. Use closest possible value, and modify reading limits
accordingly if necessary. See Measurement limit calculations (on page B-4).
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-15
Voltage source accuracy
Follow the steps below to verify that the Series 2600B output voltage accuracy is within specified
limits. To perform this test, you will set the output voltage to each full-range value and measure the
voltages with a precision digital multimeter.
1. With the power off, connect the digital multimeter (DMM) to the Series 2600B output terminals
using 4-wire connections, as shown below.
Figure 145: Connections for voltage verification
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-16 2600BS-901-01 Rev. C / August 2016
2. Set the multimeter measuring function to DC volts.
3. Select the Model 2602B/2604B/2612B/2614B/2634B/2636B single-channel display mode.
4. Press the SRC key to source voltage and make sure the source output is turned on.
5. Enable the Series 2600B 4-wire (remote sense) mode:
a. Press the CONFIG key and then the SRC key.
b. Select V-SOURCE > SENSE-MODE > 4-WIRE.
6. Verify output voltage accuracy for each of the voltages listed in the following table for your model
number. For each test point:
Select the correct source range.
Set the Series 2600B output voltage to the indicated value.
Verify that the multimeter reading is within the limits given in the table.
Model 2601B/2602B/2604B output voltage accuracy limits
Source range Output voltage setting Output voltage limits
(1 year, 18 °C to 28 °C)
100 mV
1 V
6 V
40 V
90.000 mV
0.90000 V
5.4000 V
36.000 V
89.732 mV to 90.268 mV
0.89942 V to 0.90058 V
5.39712 V to 5.40288 V
35.9808 V to 36.0192 V
Model 2611B/2612B/2614B/2634B/2635B/2636B output voltage
accuracy limits
Source range Output voltage setting Output voltage limits
(1 year, 18 °C to 28 °C)
200 mV
2 V
20 V
200 V
180.000 mV
1.80000 V
18.000 V
180.000 V
179.589 mV to 180.411 mV
1.79904 V to 1.80096 V
17.9914 V to 18.0086 V
179.914 V to 180.086 V
1. Repeat the procedure for negative output voltages with the same magnitudes as those listed in
the previous table, as applicable.
2. For the Model 2602B/2604B/2612B/2614B/2634B/2636B, repeat the procedure for the other
channel.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-17
Voltage measurement accuracy
Follow the steps below to verify that the Series 2600B voltage measurement accuracy is within
specified limits. To perform this test, you will set the source voltage, as measured by a precision
digital multimeter, and then verify that the Series 2600B voltage readings are within required limits.
1. With the power off, connect the digital multimeter to the Series 2600B output terminals using
4-wire connections (use the same connections as in the figure titled "Connections for voltage
verification" in Voltage source accuracy (on page B-15))
2. Select the multimeter DC volts function.
3. Select the Model 2602B/2604B/2612B/2614B/2634B/2636B single-channel display mode.
4. Enable the Series 2600B 4-wire (remote sense) mode:
a. Press the CONFIG key and then the MEAS key.
b. Select V-MEAS > SENSE-MODE > 4-WIRE.
5. Set the Series 2600B SMU to both source and measure voltage by pressing the SRC and then
the MEAS keys.
6. Make sure the source output is turned on (if off, press the OUTPUT ON/OFF control).
7. Verify voltage measurement accuracy for each of the voltages listed in the table (see below). For
each test point:
Select the correct source range.
Set the Series 2600B output voltage such that the digital multimeter reading is the value indicated in the
source voltage column of the table below. It may not be possible to set the voltage source to get exactly
the required reading on the digital multimeter. Use the closest possible setting and modify the reading
limits accordingly.
Verify that the Series 2600B voltage reading is within the limits given in the table.
Repeat the procedure for negative source voltages with the same magnitudes as those listed in
the table (see below).
For the Model 2602B/2604B/2612B/2614B/2634B/2636B, repeat the above procedure for the other
channel.
Model 2601B/2602B/2604B voltage measurement accuracy limits
Source and measure range
1
Source voltage
2
Voltage reading limits
(1 year, 18 °C to 28 °C)
100 mV 90.000 mV 89.8365 to 90.1635 mV
1 V
0.90000 V
0.899665 to 0.900335 V
6 V
5.4000 V
5.39819 to 5.40181 V
40 V
36.000 V
35.9866 to 36.0134 V
1. Measure range coupled to source range when simultaneously sourcing and measuring voltage.
2. As measured by precision digital multimeter. Use closest possible value, and modify reading limits accordingly if
necessary.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-18 2600BS-901-01 Rev. C / August 2016
Model 2611B/2612B/2614B/2634B/2635B/2636B voltage measurement accuracy limits
Source and measure range1 Source voltage2 Voltage reading limits (1 year, 18 °C to 28 °C)
200 mV
180.000 mV
179.748 mV to 180.252 mV
2 V
1.80000 V
1.79929 V to 1.80071 V
20 V
18.0000 V
17.9923 V to 18.0077 V
200 V
180.000 V
179.923 V to 180.077 V
1. Measure range coupled to source range when simultaneously sourcing and measuring voltage.
2. As measured by precision digital multimeter. Use closest possible value, and modify reading limits accordingly if
necessary.
Adjustment
The information in this topic is intended only for qualified service personnel. Some of the
procedures may expose you to hazardous voltages that could result in personal injury or
death. Do not attempt to perform these procedures unless you are qualified to do so.
Introduction
Use the procedures in this section to calibrate the Series 2600B System SourceMeter ® instrument
(Models 2601B/2602B/2604B/2611B/2612B/2614B/2634B/2635B/2636B).
These procedures require accurate test equipment to measure precise DC voltages and currents.
Product specifications are subject to change. Listed uncertainties and test limits are provided only as
an example. Always verify values against actual product specifications.
Environmental conditions
Temperature and relative humidity
Conduct the calibration procedures at an ambient temperature of 18 °C to 28 °C (65 °F to 82 °F), with
relative humidity of less than 70 percent (unless otherwise noted).
Product specifications that are listed as 18 ºC to 28 ºC assume adjustment has been done at 23 ºC.
If the Series 2600B is adjusted at a different temperature, the specifications apply to ±5 ºC of that
adjustment temperature.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-19
Line power
The Series 2600B requires a line voltage of 100 V to 240 V at a line frequency of 50 Hz or 60 Hz. The
instrument must be calibrated within this range.
Warmup period
Allow the Series 2600B System SourceMeter® instrument to warm up for at least two hours before
performing calibration.
If the instrument has been subjected to temperature extremes (those outside the ranges stated
above), allow additional time for the instrument's internal temperature to stabilize. Typically, allow one
extra hour to stabilize an instrument that is 10 °C (18 °F) outside the specified temperature range.
Also, allow the test equipment to warm up for the minimum time specified by the manufacturer.
Adjustment considerations
When performing the adjustment procedures:
Make sure that the test equipment is properly warmed up and connected to the correct Series
2600B terminals.
Always allow the source signal to settle before calibrating each point.
Do not connect test equipment to the Series 2600B SMU through a scanner or other switching
equipment.
If an error occurs during calibration, the Series 2600B will generate an appropriate error
message. See Error summary list (on page 8-3) for more information.
The maximum common-mode voltage (voltage between LO and chassis ground) is 250 V DC.
Exceeding this value may cause a breakdown in insulation, creating a shock hazard that
could result in personal injury or death.
The input/output terminals of the Series 2600B System SourceMeter
® instrument SMUs are
rated for connection to circuits rated Measurement Category I only, with transients rated
less than 1500 V peak above the maximum rated input. Do not connect the Series 2600B
terminals to CAT II, CAT III, or CAT IV circuits. Connection of the Series 2600B terminals to
circuits higher than CAT I can cause damage to the equipment or expose the operator to
hazardous voltage.
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 Series
2600B 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 Series 2600B before handling cables.
Putting the equipment into standby does not guarantee that the outputs are powered off if a
hardware or software fault occurs.
Calibration adjustment cycle
Perform a calibration adjustment at least once a year to ensure the instrument meets or exceeds its
specifications.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-20 2600BS-901-01 Rev. C / August 2016
Recommended calibration adjustment equipment
The table below contains the recommended equipment for the calibration adjustment procedures.
You can use alternate equipment as long as that equipment has specifications equal to or greater
than those listed in the table. When possible, test equipment specifications should be at least four
times better than corresponding Series 2600B specifications.
Recommended calibration equipment
Description Manufacturer/Model Accuracy
Digital Multimeter
Keithley Instruments
Model 2002
or
Agilent 3458A
DC Voltage
1
(2601B/2602B/2604B)
DC Voltage2
(2611B/2612B/2614B/2634B
/2635B/2636B)
DC current3
90 mV:
0.9 V:
5.4 V:
36 V:
190 mV:
1.8 V:
18 V:
180 V:
90 nA:
0.9 A:
9 A:
90 A:
0.9 mA:
9 mA:
90 mA:
0.9 A:
±8 ppm
±5 ppm
±4 ppm
±6 ppm
±5 ppm
±4 ppm
±6 ppm
±6 ppm
±430 ppm
±45 ppm
±25 ppm
±23 ppm
±20 ppm
±20 ppm
±35 ppm
±110 ppm
0.5 Ω , 250 W, 0.1%
Precision Resistor
Isotek
RUG-Z-R500-0.1-TK3
Resistance
4
0.5 Ω:
±125 ppm
50 Ω Resistors (2)
Any suitable5
1 GΩ , 200V, 1%
standard
Keithley Instruments
Model 2600-STD-RES
Resistance
6
1 GΩ:
±250 ppm
1. 90-day specifications show full-range accuracy of recommended model used for specified calibration point.
2. Id.
3. Id.
4. Resistor used to calibrate Model 2601B/2602B/2604B 3 A and 10 A ranges and Model
2611B/2612B/2614B/2634B/2635B/2636B 1.5 A and 10 A ranges should be characterized to uncertainty
shown using resistance function of a digital multimeter before use.
5. Used for contact check calibration. Characterize resistors using ohms function of digital multimeter before
use.
6. Standard is a guarded and characterized 1 GΩ resistor used to test Model 2634B/2635B/2636B 100 pA to
100 nA current ranges.
Calibration adjustment overview
The following topics contain an overview of the entire calibration adjustment procedure.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-21
Parameter values
The full-scale parameters are actually 90% of full-scale as indicated (see the table contained in Step
sequence (on page B-22)). Note that you cannot send a value of exactly 0 for the two zero
parameters. Instead, you must send a very small value, such as 1e-30 or -1e-30.
Sense modes
The preceding table for your specific model lists the sense modes for the calibration steps. Note that
each source and measure range is calibrated using the LOCAL sense mode. In addition, for the
Model 2601B/2602B/2604B, the 100 mV source and measure range is also calibrated using the
REMOTE sense mode, and the 1 V and 1 mA source ranges are also calibrated using the CALA
sense mode; for the Model 2611B/2612B/2614B/2634B/2635B/2636B, the 200 mV source and
measure range is also calibrated using the REMOTE sense mode, and the 2 V and 1 mA source
ranges are also calibrated using the CALA sense mode.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-22 2600BS-901-01 Rev. C / August 2016
Step sequence
Adjustment steps must be performed in a specific sequence. See the following table that is specific
table to your model. Note that all steps are performed using 2-wire (local sensing) except as noted.
Adjustment of each range is performed as a four-point calibration:
+ ZERO
+ FULL SCALE
ZERO
FULL SCALE
Before performing the adjustment steps, refer to Parameter values (on page B-21) and Sense modes
(on page B-21).
Model 2601B/2602B/2604B calibration steps
Function1 Calibration steps2 Calibration points4 Sense mode5
Voltage Source
and Measure
100 mV
100 mV
1 V
1 V
6 V
40 V
±1e-30, ±90 mV
±1e-30, ±90 mV
±1e-30, ±0.9 V
±1e-30, ±0.9 V
±1e-30, ±5.4 V
±1e-30, ±36 V
smuX.SENSE_LOCAL
smuX.SENSE_REMOTE
smuX.SENSE_LOCAL
smuX.SENSE_CALA
smuX.SENSE_LOCAL
smu
X
.SENSE_LOCAL
Current Source and Measure 100 nA
1 μA
10 μA
100 μA
1 mA
1 mA
10 mA
100 mA
1 A
3 A
10 A3
±1e-30, ±90 nA
±1e-30, ±0.9 μA
±1e-30, ±9 μA
±1e-30, ±90 μA
±1e-30, ±0.9 mA
±1e-30, ±0.9 mA
±1e-30, ±9 mA
±1e-30, ±90 mA
±1e-30, ±0.9 A
±1e-30, ±2.4 A
±1e-30, ±2.4 A
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_CALA
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
1. Calibrate only the source for the CALA sense steps.
2. Steps must be performed in the order shown.
3. 10 A range for changing calibration of range only and is not available for normal use.
4. Do not use actual 0 values for zero calibration points. Send very small values such as ±1e-30. Calibration polarities must also be
set as shown in the procedures.
5. Output must be off before changing to the CALA sense mode.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-23
Model 2611B/2612B/2614B calibration steps
Function1 Calibration steps2 Calibration points3 Sense mode4
Voltage Source
and Measure
200 mV
200 mV
2 V
2 V
20 V
200 V
±1e-30, ±180 mV
±1e-30, ±180 mV
±1e-30, ±1.8 V
±1e-30, ±1.8 V
±1e-30, ±18 V
±1e-30, ±180 V
smuX.SENSE_LOCAL
smuX.SENSE_REMOTE
smuX.SENSE_LOCAL
smuX.SENSE_CALA
smuX.SENSE_LOCAL
smu
X
.SENSE_LOCAL
Current Source and Measure 100 nA
1 μA
10 μA
100 μA
1 mA
1 mA
10 mA
100 mA
1 A
1.5 A
10 A
±1e-30, ±90 nA
±1e-30, ±0.9 μA
±1e-30, ±9 μA
±1e-30, ±90 μA
±1e-30, ±0.9 mA
±1e-30, ±0.9 mA
±1e-30, ±9 mA
±1e-30, ±90 mA
±1e-30, ±0.9 A
±1e-30, ±1.35 A
±1e-30, ±2.4 A
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_CALA
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smu
X
.SENSE_LOCAL
1. Calibrate only the source for the CALA sense steps.
2. Steps must be performed in the order shown.
3. Do not use actual 0 values for zero calibration points. Send very small values such as ±1e-30. Calibration polarities must also be
set as shown in the procedures.
4. Output must be off before changing to the CALA sense mode.
Model 2634B/2635B/2636B calibration steps
Function1 Calibration steps2 Calibration points3 Sense mode4
Voltage Source
and Measure
200 mV
200 mV
2 V
2 V
20 V
200 V
±1e-30, ±180 mV
±1e-30, ±180 mV
±1e-30, ±1.8 V
±1e-30, ±1.8 V
±1e-30, ±18 V
±1e-30, ±180 V
smuX.SENSE_LOCAL
smuX.SENSE_REMOTE
smuX.SENSE_LOCAL
smuX.SENSE_CALA
smuX.SENSE_LOCAL
smu
X
.SENSE_LOCAL
Current Source and Measure
100 pA
5, 6
1 nA
10 nA
100 nA
1 μA
10 μA
100 μA
1 mA
1 mA
10 mA
100 mA
1 A
1.5 A
±1e-30, ±90 pA
±1e-30, ±0.9 nA
±1e-30, ±9 nA
±1e-30, ±90 nA
±1e-30, ±0.9 μA
±1e-30, ±9 μA
±1e-30, ±90 μA
±1e-30, ±0.9 mA
±1e-30, ±0.9 mA
±1e-30, ±9 mA
±1e-30, ±90 mA
±1e-30, ±0.9 A
±1e-30, ±1.35 A
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_CALA
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
smuX.SENSE_LOCAL
1. Calibrate only the source for the CALA sense steps.
2. Steps must be performed in the order shown.
3. Do not use actual 0 values for zero calibration points. Send very small values such as ±1e-30. Calibration polarities must also be
set as shown in the procedures.
4. Output must be off before changing to the CALA sense mode.
5. For Current Measure only.
6. This range is only available on the Models 2635B and 2636B.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument Referen
ce Manual
B-24 2600BS-901-01 Rev. C / August 2016
Calibration commands quick reference
The following table summarizes remote calibration commands. For a more complete description of
these commands, refer to the TSP command reference (on page 7-1).
Calibration commands
Command** Description
smuX.cal.adjustdate = adjustDate
Set date when the adjustment was done.
smuX.cal.date = calDate
Set calibration date (calDate of 0 indicates date not set).
smuX.cal.due = calDue
Set date when calibration should be performed (calDue of 0
indicates date not set).
smuX.cal.password = "newPassword"
Change password to "newPassword".
smuX.cal.polarity = calPolarity
Set polarity:
smuX.CAL_AUTO (automatic polarity).
smuX.CAL_NEGATIVE (negative polarity).
smu
X
.CAL_POSITIVE
(positive polarity).
smuX.cal.restore(calset)
Load set of calibration constants:
smuX.CALSET_NOMINAL (nominal constants).
smuX.CALSET_FACTORY (factory constants).
smuX.CALSET_DEFAULT (normal constants).
smu
X
.CALSET_PREVIOUS
(previous constants).
smuX.cal.save()
Store constants in nonvolatile memory as DEFAULT
calibration set.
calstate = smuX.cal.state
Request calibration state:
smuX.CALSTATE_CALIBRATING
smuX.CALSTATE_LOCKED
smu
X
.CALSTATE_UNLOCKED
smuX.cal.unlock("password")
Unlock calibration (default password: KI0026XX)
smuX.measure.calibratei(range,
cp1Measured, cp1Reference,
cp2Measured, cp2Reference)
Adjust current measurement range calibration*:
±range (measurement range to adjust).
cp1Measured (Series 2600B measured value for cal. point 1).
cp1Reference (reference measurement for cal. point 1).
cp2Measured (Series 2600B measured value for cal. point 2).
cp2Reference
(reference measurement for cal. point 2).
smuX.measure.calibratev(range,
cp1Measured, cp1Reference,
cp2Measured, cp2Reference)
Adjust voltage measurement range calibration*:
±range (measurement range to adjust).
cp1Measured (Series 2600B measured value for cal. point 1).
cp1Reference (reference measurement for cal. point 1).
cp2Measured (Series 2600B measured value for cal. point 2).
cp2Reference (reference measurement for cal. point 2).
smuX.source.calibratei(range,
cp1Expected, cp1Reference,
cp2Expected, cp2Reference)
Adjust current source range calibration*:
±range (source range to adjust).
cp1Expected (source value programmed for cal. point 1).
cp1Reference (reference measurement for cal. point 1).
cp2Expected (source value programmed for cal. point 2).
cp2Reference
(reference measurement for cal. point 2).
smuX.source.calibratev(range,
cp1Expected, cp1Reference,
cp2Expected, cp2Reference)
Adjust voltage source range calibration*:
±range (source range to adjust).
cp1Expected (source value programmed for cal. point 1).
cp1Reference (reference measurement for cal. point 1).
cp2Expected (source value programmed for cal. point 2).
cp2Reference (reference measurement for cal. point 2)
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-25
Calibration commands
Command** Description
smuX.contact.calibratelo(
cp1Measured, cp1Reference,
cp2Measured, cp2Reference)
Adjust the low/sense low contact check measurement calibration.
cp1Measured (value measured by SMU for cal. point 1).
cp1Reference (reference measurement for cal. point 1).
cp2Measured (value measured by SMU for cal. point 2).
cp2Reference
(reference measurement for cal. point 2).
smuX.contact.calibratehi(
cp1Measured, cp1Reference,
cp2Measured, cp2Reference)
Adjust the high/sense high contact check measurement
calibration.
cp1Measured (value measured by SMU for cal. point 1).
cp1Reference (reference measurement for cal. point 1).
cp2Measured (value measured by SMU for cal. point 2).
cp2Reference (reference measurement for cal. point 2)
* Calibration point 1 should be performed at approximately 0% of range; calibration point 2 should be performed at
approximately 90% of range. See Step sequence (on page B-22) for calibration points.
** smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B,
2614B, 2634B, and 2636B, this value can be
smua
(for SMU Channel A) or
smub
(for SMU Channel B).
Calibration adjustment procedure
Use the following procedure to perform remote calibration adjustment by sending commands over the
IEEE-488 bus, RS-232 port, USB interface, or LAN. The remote commands and appropriate
parameters are separately summarized for each step.
Step 1. Prepare the Series 2600B for calibration adjustment
A. Connect the Series 2600B to the controller IEEE-488 interface, RS-232 port, USB interface, or
LAN using an appropriate interface cable.
B. Turn on the Series 2600B and the test equipment, and allow them to warm up for at least two
hours before performing calibration adjustment.
C. Make sure the IEEE-488, RS-232, or LAN interface parameters are set up properly (to configure
the interface, press the MENU key, and then select RS232, LAN, or GPIB, as applicable;
configuration of the USB interface is not necessary so it is not available).
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-26 2600BS-901-01 Rev. C / August 2016
Step 2. Voltage calibration adjustment
A. Connect the Series 2600B SMU to the digital multimeter using the 4-wire connections shown in
the figure below, and select the multimeter DC volts function.
Figure 146: Connections for voltage calibration
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-27
B. Send the following commands in order to initialize voltage calibration:
smua.cal.unlock("KI0026XX")
smua.reset()
smua.source.func = smua.OUTPUT_DCVOLTS
It is not necessary to set the measure range when following this procedure for calibration because
the measure range is locked to the source range when measuring the source function.
C. Perform each calibration adjustment for the voltage source and measure function step listed in
Step sequence (on page B-22) as follows:
1. Select the range being calibrated with this command:
smua.source.rangev = range
2. Select the correct sense mode based on the calibration step for the voltage source and measure
function from the Step sequence (on page B-22), for example:
smua.sense = smua.SENSE_LOCAL
3. Select positive polarity, and then set the source output to the positive zero value. For example:
smua.cal.polarity = smua.CAL_POSITIVE
smua.source.levelv = 1e-30
4. Turn on the output:
smua.source.output = smua.OUTPUT_ON
5. Allow the readings to settle, then get both the multimeter and Series 2600B voltage readings at the
positive zero value (the Series 2600B measurement is not necessary if this calibration step is being
done on the CALA sense mode). The two measurements should be made as close as possible in time.
Use this command for the Series 2600B:
Z_rdg = smua.measure.v()
6. Turn off the output:
smua.source.output = smua.OUTPUT_OFF
7. Set the source output to the positive full-scale value for the present range, for example:
smua.source.levelv = 0.9 (Model 2601B/2602B/2604B)
smua.source.levelv = 1.8 (Model 2611B/2612B/2614B/2634B/2635B/2636B)
8. Turn on the output:
smua.source.output = smua.OUTPUT_ON
9. Allow the readings to settle, then get both the multimeter and Series 2600B voltage readings at the
positive full-scale output value (the Series 2600B measurement is not necessary if this calibration step
is being done on the CALA sense mode). The two measurements should be made as close as possible
in time. Use this command for the Series 2600B:
FS_rdg = smua.measure.v()
10. Turn off the output:
smua.source.output = smua.OUTPUT_OFF
11. Send the source calibration command using the range, +zero and +FS multimeter readings, and +zero
and +FS source values for the parameters:
smua.source.calibratev(range, src_Z, DMM_Z_rdg, src_FS, DMM_FS_rdg)
Where:
range
= The present calibration range
src_Z
= The +zero Series 2600B programmed source output value
DMM_Z_rdg
= The +zero DMM measurement
src_FS
= The +FS Series 2600B programmed source output value
DMM_FS_rdg
= The +FS DMM measurement
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-28 2600BS-901-01 Rev. C / August 2016
Typical values for the Model 2601B/2602B/2604B 1 V range:
smua.source.calibratev(1, 1e-30, 1e-5, 0.9, 0.903)
Typical values for the Models 2611B/2612B/2614B/2634B/2635B/2636B 2 V range:
smua.source.calibratev(2, 1e-30, 1e-5, 1.8, 1.802)
12. If this step is not on the CALA sense mode, send the measure calibration command using the
multimeter and Series 2600B readings, and the range setting for the parameters. For example:
smua.measure.calibratev(range, Z_rdg, DMM_Z_rdg, FS_rdg, DMM_FS_rdg)
Where:
range
= The present calibration range
Z_rdg
= The +zero Series 2600B measurement
DMM_Z_rdg
= The +zero DMM measurement
FS_rdg
= The +FS Series 2600B measurement
DMM_FS_rdg
= The +FS DMM measurement
Typical Model 2601B/2602B/2604B 1 V range values:
smua.measure.calibratev(1, 1e-4, 1e-5, 0.92, 0.903)
Typical Model 2611B/2612B/2614B/2634B/2635B/2636B 2 V range values:
smua.measure.calibratev(2, 1e-4, 1e-5, 1.82, 1.802)
13. Select negative polarity, then set the source output to the negative zero value, for example:
smua.cal.polarity = smua.CAL_NEGATIVE
smua.source.levelv = -1e-30
14. Turn on the output:
smua.source.output = smua.OUTPUT_ON
15. Allow the readings to settle, then get both the multimeter and Series 2600B voltage readings at the
negative zero value (the Series 2600B measurement is not necessary if this calibration step is being
done on the CALA sense mode). The two measurements should be made as close as possible in time.
Use this command for the Series 2600B:
Z_rdg = smua.measure.v()
16. Turn off the output:
smua.source.output = smua.OUTPUT_OFF
17. Set the source output to the negative full-scale value, for example:
smua.source.levelv = -0.9 (Models 2601B/2602B/2604B)
smua.source.levelv = -1.8 (Models 2611B/2612B/2614B/2634B/2635B/2636B)
18. Turn on the output:
smua.source.output = smua.OUTPUT_ON
19. Allow the readings to settle, then get both the multimeter and Series 2600B voltage readings at the
negative full-scale output value (the Series 2600B measurement is not necessary if this calibration step
is being done on the CALA sense mode). The two measurements should be made as close as possible
in time. Use this command for the Series 2600B:
FS_rdg = smua.measure.v()
20. Turn off the output:
smua.source.output = smua.OUTPUT_OFF
21. Send the source calibration command using the range, -zero and -FS multimeter readings, and -zero
and -FS source values for the parameters:
smua.source.calibratev(-range, src_Z, DMM_Z_rdg, src_FS, DMM_FS_rdg)
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-29
Where:
-range
= The negative of the present calibration range
src_Z
= The -zero Series 2600B programmed source output value
DMM_Z_rdg
= The -zero DMM measurement
src_FS
= The -FS Series 2600B programmed source output value
DMM_FS_rdg
= The -FS DMM measurement
Typical values for the Model 2601B/2602B/2604B 1 V range:
smua.source.calibratev(-1, -1e-30, -1e-4, -0.9, -0.896)
Typical values for the Model 2611B/2612B/2614B/2634B/2635B/2636B 2 V range:
smua.source.calibratev(-2, -1e-30, -1e-4, -1.8, -1.805)
22. If this step is not on the CALA sense mode, send the measure calibration command using the
multimeter and Series 2600B readings and range setting for the parameters:
smua.measure.calibratev(-range, Z_rdg, DMM_Z_rdg, FS_rdg, DMM_FS_rdg)
Where:
-range
= The negative of the present calibration range
Z_rdg
= The -zero Series 2600B measurement
DMM_Z_rdg
= The -zero DMM measurement
FS_rdg
= The -FS Series 2600B measurement
DMM_FS_rdg
= The -FS DMM measurement
Typical Model 2601B/2602B/2604B 1 V range values:
smua.measure.calibratev(-1, -1e-4, -1e-6, -0.89, -0.896)
Typical Model 2611B/2612B/2614B/2634B/2635B/2636B 2 V range values:
smua.measure.calibratev(-2, -1e-4, -1e-6, -1.81, -1.805)
D. Be sure to complete each of the 22 steps of C for all six voltage steps in Step sequence (on page
B-22) before performing current calibration.
E. Select automatic polarity mode:
smua.cal.polarity = smua.CAL_AUTO
Step 3. Current calibration adjustment
A. Connect the Series 2600B SMU to the digital multimeter (see the following figure), and then
select the multimeter DC current function.
B. Send this command to initialize current calibration:
smua.source.func = smua.OUTPUT_DCAMPS
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-30 2600BS-901-01 Rev. C / August 2016
Figure 147: Connections for 100 nA to 1 A current ranges
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-31
It is not necessary to set the measure range when following this procedure for calibration because
the measure range is locked to the source range when measuring the source function.
C. Perform each calibration step listed in Model 2601B/2602B/2604B step sequence, Model
2611B/2612B/2614B step sequence, or Model 2634B/2635B/2636B step sequence for the 100
nA through 1 A ranges as follows:
1. Select the range being calibrated:
smua.source.rangei = range
2. Select the correct sense mode based on the calibration step Model 2601B/2602B/2604B step
sequence, Model 2611B/2612B/2614B step sequence, or Model 2634B/2635B/2636B step sequence,
for example:
smua.sense = smua.SENSE_LOCAL
3. Select positive polarity, then set the source output to the positive zero value:
smua.cal.polarity = smua.CAL_POSITIVE
smua.source.leveli = 1e-30
4. Turn on the output:
smua.source.output = smua.OUTPUT_ON
5. Allow the readings to settle, then get both the multimeter and Series 2600B current readings at the
positive zero value (the Series 2600B measurement is not necessary if this calibration step is being
done on the CALA sense mode). The two measurements should be made as close as possible in time.
Use this command for the Series 2600B:
Z_rdg = smua.measure.i()
6. Turn off the output:
smua.source.output = smua.OUTPUT_OFF
7. Set the source output to the positive full-scale value for the present range, for example:
smua.source.leveli = 90e-3
8. Turn on the output:
smua.source.output = smua.OUTPUT_ON
9. Allow the readings to settle, then get both the multimeter and Series 2600B current readings at the
positive full-scale output value (the Series 2600B measurement is not necessary if calibration is being
done on the CALA sense mode). The two measurements should be made as close as possible in time.
Use this command for the Series 2600B:
FS_rdg = smua.measure.i()
10. Turn off the output:
smua.source.output = smua.OUTPUT_OFF
11. Send the source calibration command using the range, zero and +FS multimeter readings, and zero and
+FS source values for the parameters:
smua.source.calibratei(range, src_Z, DMM_Z_rdg, src_FS, DMM_FS_rdg)
Where:
range
= The present calibration range
src_Z
= The +zero Series 2600B source output value
DMM_Z_rdg
= The +zero DMM measurement
src_FS
= The +FS Series 2600B source output value
DMM_FS_rdg
= The +FS DMM measurement
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-32 2600BS-901-01 Rev. C / August 2016
Typical values for the 100 mA range:
smua.source.calibratei(100e-3, 1e-30, 1e-5, 90e-3, 88e-3)
12. If this step is not on the CALA sense mode, send the measure calibration command using the
multimeter and Series 2600B readings, and range setting for the parameters:
smua.measure.calibratei(range, Z_rdg, DMM_Z_rdg, FS_rdg, DMM_FS_rdg)
Where:
range
= The present calibration range
Z_rdg
= +zero Series 2600B measurement
DMM_Z_rdg
= The +zero DMM measurement
FS_rdg
= +FS Series 2600B measurement
DMM_FS_rdg
= The +FS DMM measurement
Typical 100 mA range values:
smua.measure.calibratei(100e-3, 1e-6, 1e-5, 0.089, 0.088)
13. Select negative polarity, then set the source output to the negative zero value, for example:
smua.cal.polarity = smua.CAL_NEGATIVE
smua.source.leveli = -1e-30
14. Turn on the output:
smua.source.output = smua.OUTPUT_ON
15. Allow the readings to settle, then get both the multimeter and Series 2600B current readings at the
negative zero value (the Series 2600B measurement is not necessary if this calibration step is being
done on the CALA sense). The two measurements should be made as close as possible in time. Use
this command for the Series 2600B:
Z_rdg = smua.measure.i()
16. Turn off the output:
smua.source.output = smua.OUTPUT_OFF
17. Set the source output to the negative full-scale value, for example:
smua.source.leveli = -90e-3
18. Turn on the output:
smua.source.output = smua.OUTPUT_ON
19. Allow the readings to settle, then get both the multimeter and Series 2600B current readings at the
negative full-scale output value (the Series 2600B measurement is not necessary if this calibration step
is being done on the CALA sense mode). The two measurements should be made as close as possible
in time. Use this command for the Series 2600B:
FS_rdg = smua.measure.i()
20. Turn off the output:
smua.source.output = smua.OUTPUT_OFF
21. Send the source calibration command using the -range, -zero and -FS multimeter readings, and -zero
and -FS source values for the parameters:
smua.source.calibratei(-range, src_Z, DMM_Z_rdg, src_FS, DMM_FS_rdg)
Where:
-range
= The negative of the present calibration range
src_Z
= The zero Series 2600B source output value
DMM_Z_rdg
= The zero DMM measurement
src_FS
= The FS Series 2600B source output value
DMM_FS_rdg
= The FS DMM measurement
Se
ries 2600B System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-33
Typical values for the 100 mA range:
smua.source.calibratei(-100e-3, -1e-30, -1e-6, -90e-3, -89.2e-3)
22. If this step is not on the CALA sense mode, send the measure calibration command using the
multimeter and Series 2600B readings, and range setting for the parameters:
smua.measure.calibratei(-range, Z_rdg, DMM_Z_rdg, FS_rdg, DMM_FS_rdg)
Where:
-range
= The negative of the present calibration range
Z_rdg
= The zero Series 2600B measurement
DMM_Z_rdg
= The zero DMM measurement
FS_rdg
= The FS Series 2600B measurement
DMM_FS_rdg
= The FS DMM measurement
Typical 100 mA range values:
smua.measure.calibratei(-100e-3, -1e-5, -1e-6, -91e-3, -89.2e-3)
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-34 2600BS-901-01 Rev. C / August 2016
D. Before continuing, be sure to complete steps 1 through 22 for the 100 nA to 1 A ranges before
continuing with 3 A and 10 A range calibration (Model 2601B/2602B/2604B) or 1.5 A and 10 A
range calibration (Model 2611B/2612B/2614B/2634B/2635B/2636B).
E. Change connections as shown in the following figure.
Figure 148: Connections for 1.5 A and 3 A current ranges
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-35
F. Select the DMM DC volts function.
G. Repeat the 22 steps of C for the 3 A and 10 A ranges (Model 2601B/2602B/2604B) or 1.5 A and
10 A ranges (Model 2611B/2612B/2614B/2634B/2635B/2636B). Compute the current reading
from the DMM voltage reading and characterized 0.5 Ω resistance value: I = V/R.
H. Select automatic polarity mode:
smua.cal.polarity = smua.CAL_AUTO
Models 2634B, 2635B, and 2636B:
1. Connect the Series 2600B to the digital multimeter. Use the figure titled "Connections for current
calibration (1.5 A through 10 A ranges)" as a guideline, but replace the 0.5 resistor with the 1
G resistor.
2. Select the multimeter DC current function.
3. Calibrate the low current ranges (100 pA, 1 nA, 10 nA, 100 nA, see Note) using a suitably
guarded and characterized 1 GΩ resistance standard, such as the Keithley Instruments Model
2600-STD-RES (see Recommended calibration adjustment equipment (on page B-20)).
Step-by-step procedures, connection diagrams, and a factory script for calibrating the low current
ranges are included with the Model 2600-STD-RES. The general process entails forcing a
characterized voltage across the 1 resistor and comparing the Model 2634B/2635B/2636B
measured results against the standard resistance and voltage derived current.
The 2601B/2602B/2604B/2611B/2612B/2614B could be calibrated with this method for the 100 nA
setting if desired.
4. Characterize the appropriate +/- V source values with the Digital Multimeter according to the
Model 2634B/2635B/2636B calibration Step sequence (on page B-22) .
5. Characterize the desired Model 2634B/2635B/2636B current ranges.
a. Connect the guarded resistance standard.
b. Source the appropriate voltage for +/- full-scale reading.
c. Wait 30 seconds for stable measurement.
d. Capture the Model 2634B/2635B/2636B reported current measurement.
e. Initiate HI-Z mode to open the resistor standard (source zero current) and the characterize offset.
f. Repeat the above steps for each low current range.
Settings of Model 2634B/2635B/2636B characterization of voltage source
Low current range Voltage source Compliance
100 pA*
±90.000 mV
1.5 A
1 nA
±0.90000 V
1.5 A
10 nA
±9.0000 V
1.5 A
100 nA
±90.000 V
100 mA
* Models 2635B and 2636B only.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-36 2600BS-901-01 Rev. C / August 2016
Step 4. Contact check calibration adjustment
Skip this step for the Models 2604B, 2614B, and 2634B. The Models 2604B, 2614B, and 2634B do
not perform contact check measurements.
A. As illustrated in the following figure:
Short the Series 2600B SENSE LO and LO terminals together.
Short the SENSE HI and HI terminals together.
Figure 149: Connections for contact check 0 ohm calibration
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-37
B. Allow the readings to settle, then get the Series 2600B readings:
r0_hi, r0_lo = smua.contact.r()
C. Characterize both 50 resistors using the resistance function of the digital multimeter.
D. As illustrated in the following figure:
Characterize both 50 Ω resistors using the resistance function of the digital multimeter.
Connect a 50 Ω resistor between the SENSE LO and LO terminals.
Connect the second 50 Ω resistor between the SENSE HI and HI terminals.
Figure 150: Connections for contact check 50 ohm calibration
E. Allow the readings to settle, then get the Series 2600B readings:
r50_hi, r50_lo = smua.contact.r()
F. Send the contact check low calibration adjustment command:
smua.contact.calibratelo(r0_lo, Z_actual, r50_lo, 50_ohm_actual)
Where:
r0_lo
=
Series 2600B 0
low measurement
Z_actual
=
Actual zero value; the resistance of the short between the SENSE LO and LO
terminals
r50_lo
=
Series 2600B 50 low measurement
50_ohm_actual
=
Actual 50 resistor value; the actual value of the resistor between the SENSE
LO and LO terminals
Typical values:
smua.contact.calibratelo(r0_lo, 0, r50_lo, 50.15)
Where r0_lo is the same value as measured in step B, and r50_lo is the same value as
measured in step E.
Appendix
B: Calibration Series 2600B System SourceMeter® Instrument
Reference Manual
B-38 2600BS-901-01 Rev. C / August 2016
G. Send the contact check high calibration command:
smua.contact.calibratehi(r0_hi, Z_actual, r50_hi, 50_ohm_actual)
Where:
r0_hi
=
Series 2600B 0
high measurement
Z_actual
=
Actual zero value; the resistance of the short between the SENSE HI and HI
terminals
r50_hi
=
Series 2600B 50
high measurement
50_ohm_actual
=
Actual 50 resistor value; the value of the resistor between the SENSE HI and
HI terminals
Typical values:
smua.contact.calibratehi(r0_hi, 0, r50_hi, 50.15)
Where r0_hi is the same value as measured in step B, and r50_hi is the same value as
measured in step E.
Step 5. Program calibration dates
Use the following command to set the calibration adjustment date:
smua.cal.adjustdate = os.time{year=2010, month=12, day=1}
Optionally, it is possible to set the calibration date and calibration due date with the following
commands:
smua.cal.date = os.time{year=2010, month=12, day=1}
smua.cal.due = os.time{year=2011, month=12, day=1}
If you do not wish to set a calibration date or calibration due date and want to clear the previous
values, use the following commands:
smua.cal.date = 0
smua.cal.due = 0
The actual year, month, day, and (optional) hour and minute should be used (seconds can be given
but are essentially ignored due to the precision of the internal date storage format). The allowable
range for the year is from 1970 to 2037, the month is from 1 to 12, and the day is from 1 to 31.
Step 7. Save calibration constants
Calibration adjustment is now complete, so you can store the calibration constants in nonvolatile
memory by sending the following command:
smua.cal.save()
Unless you send the save command, the calibration adjustment you just performed will be
temporary.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix B:
Calibration
2600BS-901-01 Rev. C / August 2016 B-39
Step 8. Lock out calibration
To lock out further calibration, send the following command after completing the calibration
procedure:
smua.cal.lock()
Step 8. Repeat calibration procedure for Model
2602B/2604B/2612B/2614B/2634B/2636B Channel B
For the Models 2602B/2604B/2612B/2614B/2634B/2636B only, repeat the entire procedure above for
Channel B. Be sure to:
Make test connections to Channel B terminals.
Substitute "smub" for "smua" in all commands.
In this appendix:
Overview ................................................................................. C-1
Establishing a point-to-point connection .................................. C-1
Connecting to the LAN .......................................................... C-10
LAN speeds ........................................................................... C-12
Duplex mode ......................................................................... C-13
Viewing LAN status messages .............................................. C-13
Viewing the network settings ................................................. C-14
Selecting a LAN interface protocol ........................................ C-15
Logging LAN trigger events in the event log .......................... C-19
Overview
The Keithley Instruments Series 2600B System SourceMeter® instrument is LXI version 1.4 Core
2011 compliant. The Series 2600B is a scalable test system that can connect directly to a host
computer or interact with a DHCP or DNS server and other LXI-compliant instruments on a local area
network (LAN). The Series 2600B also supports Multicast DNS (mDNS) and DNS Service Discovery
(DNS-SD), which are useful on a LAN with no central administration.
The Series 2600B is compliant with the IEEE Std 802.3 and supports full connectivity on a 10 or
100 megabits-per-second network. The LAN interface is an alternative to GPIB that can be used to
build flexible test systems that include web access.
Please read this entire section before you connect the Series 2600B to the LAN.
Establishing a point-to-point connection
To enable access to the instrument web page and other web applications from a computer, use a
one-to-one LAN connection and set up a static IP address between the host computer and the
instrument.
The following instructions describe how to configure the instrument's IP address. The instrument's IP
address is based on the present IP address of the host computer. Each device on the LAN (corporate
or private) requires a unique IP address.
Appendix C
LAN concepts and settings
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-2 2600BS-901-01 Rev. C / August 2016
Contact your corporate information technology (IT) department for permission before you connect
the Series 2600B to a corporate network.
If you have problems, see LAN troubleshooting suggestions (on page 8-7).
Record all network configurations before modifying any existing network configuration information on
the network interface card. Once the network configuration settings are updated, the previous
information is lost. This may cause a problem reconnecting the host computer to a corporate
network, particularly if DHCP Enabled = NO (disabled).
Be sure to return all settings to their original configuration before reconnecting the host computer to a
corporate network. Failure to do this could result in loss of data. Contact your system administrator
for more information.
Step 1: Identify and record the existing IP configuration
To identify the existing IP configuration:
1. Open a command prompt window:
Microsoft® Windows® 2000 or Windows XP:
a. Click Start and select Run.
b. In the Open field, type cmd.
c. Click OK.
Microsoft Windows Vista® or Windows 7:
a. Click Start.
b. Select All Programs > Accessories > Command Prompt.
2. At the command prompt, type ipconfig/all and press the Enter key. A list of existing IP
configuration information for your computer is displayed.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-3
Figure 151: Computer IP configuration using the command prompt
If the information for the ethernet adapter displays "Media Disconnected," close the command
prompt and go to Step 2: Disable DHCP to use the computer's existing IP address (on page C-4).
3. When the information is displayed, record the following information for the network card:
DHCP mode: _______________________________
IP address: ________________________________
Subnet mask: ______________________________
Default gateway: ____________________________
DNS servers: _______________________________
The ipconfig/all command displays the configuration of every network card. Make sure that you
record the information for the proper network card.
1. If:
DHCP Enabled = Yes: Go to Step 2: Disable DHCP to use the computer's existing IP address (on page
C-4)
DHCP Enabled = No: Go to Step 3: Configure the instrument's LAN settings (on page C-8).
1. To exit the IP configuration screen, type exit at the command prompt and press Enter.
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-4 2600BS-901-01 Rev. C / August 2016
Step 2: Disable DHCP to use the computer's existing IP address
Do not change the IP address at any time without talking to your system administrator. Entering an
incorrect IP address can prevent your workstation from connecting to your corporate network.
See the appropriate instructions below for your operating system. These instructions show the
default options. Be aware that there may be differences in these steps if your Microsoft Windows
options are customized or if you do not have administrator status.
Windows 2000: To disable DHCP:
1. Click Start > Settings > Control Panel.
2. Open Network and Dial-up connections.
3. Right-click Local Area Connection and select Properties. The Local Area Connection
Properties dialog box is displayed.
4. Double-click Internet Protocol (TCP/IP) in the items list. The Internet Protocol (TCP/IP)
Properties dialog box is displayed, as shown here.
Figure 152: Internet Protocol (TCP/IP) Properties dialog box
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-5
5. Select Use the following IP address. The option for "Use the following DNS server addresses"
is automatically selected.
6. Set the IP address. If the IP address and subnet mask fields:
Contain values: Record the IP address, subnet mask, default gateway, and DNS servers to use in Step
3: Configure the instrument's LAN settings (on page C-8).
Are blank: In the IP address field, enter 192.168.1.100. In the subnet mask field, enter 255.255.255.0.
These will be used to configure the LAN settings of the instrument.
1. Click OK to close the Internet Protocol (TCP/IP) Properties dialog box.
2. Click OK to close the Local Area Connection Properties dialog box.
3. Close the Network Connections window.
Windows XP: To disable DHCP:
1. Click Start > Settings > Control Panel.
2. Open Network Connections.
3. Right-click Local Area Connection and select Properties. The Local Area Connection
Properties dialog box is displayed.
4. In the "This connection uses the following items" list, double-click Internet Protocol (TCP/IP).
The Internet Protocol (TCP/IP) Properties dialog box is displayed.
Figure 153: Internet Protocol (TCP/IP) Properties dialog box
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-6 2600BS-901-01 Rev. C / August 2016
5. Select Use the following IP address. The option for "Use the following DNS server addresses"
is automatically selected.
6. Set the IP address. If the IP address and subnet mask fields:
Contain values: Record the IP address, subnet mask, default gateway, and DNS servers to use in Step
3: Configure the instrument's LAN settings (on page C-8).
Are blank: In the IP address field, enter 192.168.1.100. In the subnet mask field, enter 255.255.255.0.
These will be used to configure the LAN settings of the instrument.
1. Click OK.
2. Click OK to close the Local Area Connection Properties dialog box.
3. Close the Network Connections window.
Windows Vista: To disable DHCP:
1. Click Start > Control Panel.
2. Click Network and Internet.
3. Open Network & Sharing Center.
4. In the list, click View Status for the applicable connection. The Local Area Connection Status
properties dialog box is displayed.
5. Click Properties. Windows displays a permissions message.
6. If you are logged in as administrator, click Continue. If you are not logged in as administrator,
enter the administrator's password to continue. The network connection properties dialog box is
displayed.
7. Double-click Internet Protocol Version 4 (TCP/IPv4) in the items list. The Internet Protocol
Version 4 (TCP/IPv4) Properties dialog box is displayed.
Figure 154: Internet Protocol (TCP/IP) Properties dialog box
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-7
8. Select Use the following IP address. The option for "Use the following DNS server addresses"
is automatically selected.
9. Set the IP address. If the IP address and subnet mask fields:
Contain values: Record the IP address, subnet mask, default gateway, and DNS servers to use in Step
3: Configure the instrument's LAN settings (on page C-8).
Are blank: In the IP address field, enter 192.168.1.100. In the subnet mask field, enter 255.255.255.0.
These will be used to configure the LAN settings of the instrument.
1. Click OK to close the Internet Protocol Version 4 (TCP/IPv4) Properties dialog box.
2. Click OK to close the Local Area Connection Properties dialog box.
3. Close the Network Connections window.
Windows 7: To disable DHCP:
1. Click Start > Control Panel.
2. Open Network and Sharing Center.
3. Click the Local Area Connection. The Local Area Connection Status dialog box is displayed.
4. In the items list, double-click Internet Protocol Version 4 (TCP/IPv4). The Internet Protocol
Version 4 (TCP/IPv4) Properties dialog box is displayed.
Figure 155: Internet Protocol (TCP/IP) Properties dialog box
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-8 2600BS-901-01 Rev. C / August 2016
5. Select Use the following IP address. The option for "Use the following DNS server addresses"
is automatically selected.
6. Set the IP address. If the IP address and subnet mask fields:
Contain values: Record the IP address, subnet mask, default gateway, and DNS servers to use in Step
3: Configure the instrument's LAN settings (on page C-8).
Are blank: In the IP address field, enter 192.168.1.100. In the subnet mask field, enter 255.255.255.0.
These will be used to configure the LAN settings of the instrument.
1. Click OK to close the Internet Protocol Version 4 (TCP/IPv4) Properties dialog box.
2. Click OK to close the Local Area Connection Properties dialog box.
3. Close the Network Connections window.
Step 3: Configure the instrument's LAN settings
These steps assume that you are making all the settings in the order shown here. If you only change
one or a few settings, be aware that you need to apply the settings before they will be in effect. To
apply the settings, from the LAN CONFIG menu, select APPLY_SETTINGS > YES, and then press
the ENTER key.
To configure the Series 2600B using the front panel:
1. Press the MENU key to display the MAIN MENU.
2. Use the navigation wheel to select LAN. The LAN CONFIG menu is displayed.
3. Change the IP address assignment method:
a. Select CONFIG > METHOD > MANUAL, and then press the ENTER key.
b. Press the EXIT (LOCAL) key once to return to the LAN CONFIG menu.
4. Enter the IP address using the LAN CONFIG menu:
a. Select CONFIG > IP-ADDRESS.
b. Refer to the recorded computer's IP address (Step 1: Identify and record the existing IP configuration
(on page C-2)). A portion of the computer's IP address is used as a base for the instrument's unique ID.
Only the last three numbers (after the last decimal point) of the IP address will differ between the
computer and the instrument. If the subnet mask is 255.255.255.0, the last three digits can be any value
from 1 to 255.
For example, the Internet Protocol (TCP/IP) Properties dialog box shows that the computer's IP address
is 192.168.1.100 (see the figure titled "Internet protocol (TCP/IP) Properties dialog box" in Step 2:
Disable DHCP to use the computer's existing IP address (on page C-4)). A unique IP address for the
instrument might be 192.168.001.101.
The instrument’s IP address can have leading zeros, but the computer’s IP address cannot.
c. Use the navigation wheel to select and enter an appropriate IP address for the instrument. Be sure to
record the instrument’s IP address to use in Step 5: Access the instrument's web page (on page C-10).
d. Press ENTER key or navigation wheel to confirm the changes.
e. Press the EXIT (LOCAL) key twice to return to the LAN CONFIG menu.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-9
5. Change the subnet mask from the LAN CONFIG menu:
a. Select CONFIG > SUBNETMASK, and then press the ENTER key. The SUBNETMASK menu item is to
the right of GATEWAY. Use the navigation wheel to scroll through the options.
b. Modify the SUBNETMASK value to match the computer settings recorded earlier (or
255.255.255.000 if DHCP Enabled = YES).
c. Press the ENTER key or the navigation wheel when you are finished changing all the characters.
d. Press the EXIT (LOCAL) key twice to return to the LAN CONFIG menu.
6. From the LAN CONFIG menu, select APPLY_SETTINGS > YES, and then press the ENTER
key.
Step 4: Install the crossover cable
Connect the supplied crossover cable between the computer's network interface card and the LAN
connector on the instrument’s rear panel. There are multiple connectors on the Series 2600B rear
panel. Be sure to connect to the LAN connection port (see the following figure).
Connect the crossover cable into the same computer LAN port used during instrument configuration
to ensure that the system is using the correct network card.
Figure 156: LAN connection
1 Series 2600B LAN connection port
2 Crossover cable
3 Ethernet port (located on the host computer)
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-10 2600BS-901-01 Rev. C / August 2016
Step 5: Access the instrument's web page
1. Open a web browser on the host computer.
2. Enter the IP address of the instrument in the web browser address box. For example, if the
instrument IP address is 192.168.1.101, enter 192.168.1.101 in the browser address box.
3. Press Enter on the computer keyboard to open the instrument web page.
If the web page does not open in the browser, see LAN troubleshooting suggestions (on page 8-7).
Connecting to the LAN
Each device on the LAN (corporate or private) requires a unique IP address. Contact your corporate
information technology (IT) department for details about obtaining an IP address before you deploy
the Series 2600B on a corporate or private network.
Contact your corporate IT department for permission before you connect the Series 2600B to a
corporate network.
Setting the LAN configuration method
There are two methods used to configure the LAN.
AUTO: Use the AUTO setting to allow the DHCP server to automatically set the LAN settings.
You do not need to set the LAN options manually. The DHCP server automatically configures the IP
address, subnet mask, and the default gateway. To use this option, a DHCP server must be available
on the LAN.
MANUAL: Use the MANUAL setting to manually configure the communication parameters.
The MANUAL setting requires you to configure the following:
• IP address
• Gateway
• Subnet mask
To select a LAN configuration method:
1. From the front panel, press the MENU key, and then select LAN > CONFIG > METHOD.
2. Select either AUTO or MANUAL.
3. Press the ENTER key.
4. Press the EXIT (LOCAL) key once to return to the LAN CONFIG menu.
5. Select APPLY_SETTINGS > YES, and then press the ENTER key.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-11
Setting the IP address
Contact your corporate information technology (IT) department to secure a valid IP address for the
instrument when placing the instrument on a corporate network.
To set the IP address (when LAN configuration method is set to MANUAL):
1. From the front panel, press the MENU key, and then select LAN > CONFIG > IP-ADDRESS.
2. Turn the navigation wheel to select and enter a valid IP address for the instrument.
3. Press the ENTER key to confirm the changes.
4. Press the EXIT (LOCAL) key twice to return to the LAN CONFIG menu.
5. Select APPLY_SETTINGS > YES, and then press the ENTER key.
Setting the gateway
Contact your corporate information technology (IT) department to secure a valid gateway for the
instrument when placing the instrument on a corporate network.
To set the gateway (when LAN configuration method is set to MANUAL):
1. From the front panel, press the MENU key, and then select LAN > CONFIG > GATEWAY.
2. Turn the navigation wheel to select and enter a valid gateway address for the instrument.
3. Press the ENTER key to confirm the changes.
4. Press the EXIT (LOCAL) key twice to return to the LAN CONFIG menu.
5. Select APPLY_SETTINGS > YES, and then press the ENTER key.
Setting the subnet mask
Contact your corporate information technology (IT) department to secure a valid subnet mask for the
instrument when placing the instrument on a corporate network.
To set the subnet mask (when LAN configuration method is set to MANUAL):
1. From the front panel, press the MENU key, and then select LAN > CONFIG > SUBNETMASK.
2. Turn the navigation wheel to select and enter a valid subnet mask for the instrument.
3. Press the ENTER key to confirm the changes.
4. Press the EXIT (LOCAL) key twice to return to the LAN CONFIG menu.
5. Select APPLY_SETTINGS > YES, and then press the ENTER key.
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-12 2600BS-901-01 Rev. C / August 2016
Configuring the domain name system (DNS)
The domain name system (DNS) lets you type a domain name in the address bar to connect to the
instrument. If you use DNS, you can use a name instead of an IP address.
Example:
Model2600B.XYZcompany.com
Contact your corporate information technology (IT) department to learn more about DNS. If a DNS
server is not part of the LAN infrastructure, this setting is not used.
To enable or disable DNS host name verification:
1. From the front panel, press the MENU key, and then select LAN > CONFIG > DNS > VERIFY.
2. Turn the navigation wheel to select either ENABLE or DISABLE. When enabled, the
instrument performs a DNS lookup to verify the DNS host name matches the value specified in
the lan.config.dns.hostname (on page 7-125) attribute.
3. Press the ENTER key.
4. Press the EXIT (LOCAL) key twice to return to the LAN CONFIG menu.
5. Select APPLY_SETTINGS > YES, and then press the ENTER key.
To enable or disable DNS registration:
1. From the front panel, press the MENU key and select LAN > CONFIG > DNS > DYNAMIC.
2. Turn the navigation wheel to select either ENABLE or DISABLE. DNS registration works with
the DHCP to register the host name specified in the lan.config.dns.hostname attribute with
the DNS server.
3. Press the ENTER key.
4. Press the EXIT (LOCAL) key twice to return to the LAN CONFIG menu.
5. Select APPLY_SETTINGS > YES, and then press the ENTER key.
To set the DNS server IP addresses:
1. From the front panel, press the MENU key and select LAN > CONFIG > DNS.
2. Turn the navigation wheel to select either DNS-ADDRESS1 or DNS-ADDRESS2.
3. Press the ENTER key.
4. Turn the navigation wheel to select and enter a valid IP address for the DNS server.
5. Press the ENTER key.
6. Press the EXIT (LOCAL) key twice to return to the LAN CONFIG menu.
7. Select APPLY_SETTINGS > YES, and then press the ENTER key.
LAN speeds
Another characteristic of the LAN is speed. The Series 2600B negotiates with the host computer and
other LXI-compliant devices on the LAN to transmit data at the highest speed possible. LAN speeds
must be configured to match the speed of the other instruments on the network.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-13
To set the LAN speed:
1. From the front panel, press the MENU key and select LAN > CONFIG > SPEED.
2. Turn the navigation wheel to select either 10 Mbps or 100 Mbps.
3. Press the ENTER key.
4. Press the EXIT (LOCAL) key once to return to the previous menu.
5. Select APPLY_SETTINGS > YES, and then press the ENTER key.
Duplex mode
The duplex mode is based on the LAN configuration. There are two settings:
Half-duplex: Allows communications in both directions, but only one direction is active at a time
(not simultaneously).
Full: Permits communications in both directions simultaneously.
To set the duplex mode:
1. From the front panel, press MENU key and select LAN > CONFIG > DUPLEX.
2. Turn the navigation wheel to select either HALF or FULL.
3. Press the ENTER key.
4. Press the EXIT (LOCAL) key once to return to the LAN CONFIG menu.
5. Select APPLY_SETTINGS > YES, and then press the ENTER key.
Viewing LAN status messages
To view the LAN status messages:
1. From the front panel, press the MENU key and select LAN > STATUS > CONFIG/FAULT.
2. Press the ENTER key.
Figure 157: LAN CONFIG/FAULT
There are two types of LAN status messages:
LAN fault messages: Communicate issues related to physical connectivity.
LAN configuration messages: Communicate issues or events related to configuration.
The following table displays possible fault and configuration messages.
LAN CONFIG/FAULT messages
LAN message type Possible messages
LAN fault
Could not acquire IP address
Duplicate IP address detected
DHCP lease lost
Lan Cable Disconnected
LAN configuration
Starting DHCP Configuration
DHCP Server Not Found
DHCP configuration started on xxx.xxx.xxx.xxx
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-14 2600BS-901-01 Rev. C / August 2016
Searching for DNS server(s)
Starting DLLA Configuration
DLLA Failed
DLLA configuration started on xxx.xxx.xxx.xxx
Starting Manual Configuration
Manual configuration started on xxx.xxx.xxx.xxx
Closed
Viewing the network settings
To view the active network settings:
1. From the front panel, press the MENU key, and then select LAN > STATUS.
2. Use the navigation wheel to select one of the following network settings:
IP-ADDRESS
GATEWAY
SUBNET-MASK
METHOD
DNS
MAC-ADDRESS
1. Press the ENTER key to view the active setting.
2. Press the EXIT (LOCAL) key once to return to the STATUS menu.
Confirming the active speed and duplex negotiation
The Series 2600B automatically detects the speed and duplex negotiation active on the LAN. Once
the speed and duplex negotiation is detected, the instrument automatically adjusts its own settings to
match the LAN settings.
To confirm the active LAN speed and duplex mode:
1. From the front panel, press the MENU key.
2. Select LAN > STATUS.
3. Use the navigation wheel to select one of the following:
SPEED
DUPLEX
1. Press the ENTER key to view the active setting.
2. Press the EXIT (LOCAL) key once to return to the STATUS menu
Series 2
600B System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-15
Confirming port numbers
To view the port number assigned to each remote interface protocol:
1. From the front panel, press the MENU key, and then select LAN > STATUS > PORT.
2. Use the navigation wheel to select one of the following:
RAW-SOCKET
TELNET
VXI-11
DST
1. Press the ENTER key to view the port number.
2. Press the EXIT (LOCAL) key once to return to the PORT menu.
The following table displays the remote interface protocols supported by the Series 2600B and their
assigned port numbers.
Port number
Command interface Port number
Raw socket
5025
Telnet
23
VXI-11
1024
DST (dead socket termination)
5030
Selecting a LAN interface protocol
This section provides details about how to select a remote interface protocol to connect to the Series
2600B. The Series 2600B provides three LAN interfaces with three associated LAN protocols (each
interface uses a different protocol). Select the interface based on the protocol needed. The dead
socket termination interface (DST) is provided to solve connection problems; it is not a protocol
choice.
VXI-11 connection
This remote interface is similar to GPIB and supports message boundaries, serial poll, and service
requests (SRQs). A VXI-11 driver or NI-VISATM software is required. Test Script Builder (TSB) uses
NI-VISA and can be used with the VXI-11 interface. You can expect a slower connection with this
protocol.
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-16 2600BS-901-01 Rev. C / August 2016
Raw socket connection
All Keithley instruments that have LAN connections support raw socket communication. This means
that you can connect to the TCP/IP port on the instrument and send and receive commands. A
programmer can easily communicate with the instrument using Winsock on Windows computers or
Berkley sockets on Linux or Apple computers.
Raw socket is a basic ethernet connection that communicates in a manner similar to RS-232 without
explicit message boundaries. The instrument always terminates messages with a line feed, but
because binary data may include bytes that resemble line-feed characters, it may be difficult to
distinguish between data and line-feed characters.
Use raw socket as an alternative to VXI-11. Raw socket offers a faster connection than VXI-11.
However, raw socket does not support explicit message boundaries, serial poll, and service requests.
Dead socket connection
The dead socket termination (DST) port is used to terminate all existing ethernet connections. A dead
socket is a socket that is held open by the instrument because it has not been properly closed. This
most often happens when the host computer is turned off or restarted without first closing the socket.
This port cannot be used for command and control functions.
Use the dead socket termination port to manually disconnect a dead session on any open socket. All
existing ethernet connections will be terminated and closed when the connection to the dead socket
termination port is closed.
Telnet connection
The Telnet protocol is similar to raw socket, and can be used when you need to interact directly with
the instrument. Telnet is often used for debugging and troubleshooting. You will need a separate
Telnet program to use this protocol.
The Series 2600B supports the Telnet protocol, which you can use over a TCP/IP connection to send
commands to the instrument. You can use a Telnet connection to interact with scripts or send
real-time commands.
Configuring a Telnet connection
This procedure uses HyperTerminalTM, which is available with the Microsoft® Windows® XP operating
system. Consult the help system for your version of Microsoft Windows to identify a compatible tool.
To connect with the Series 2600B using HyperTerminal on a Windows XP system:
1. On the host computer, click Start > Accessories > Communications > HyperTerminal. The
Connection Description dialog box opens.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-17
Figure 158: Connection description dialog box
2. Type a name to identify the connection (for example, My Instrument), and then click OK.
3. In the Connect To dialog box, click the Connect using list. Select TCP/IP (Winsock).
Figure 159: Connect To dialog box
4. In the Host address field, type the instrument's IP address (for example, 192.168.1.101) .
5. Type 23 in the Port number field, and then click OK. The HyperTerminal program window is
displayed.
6. From the HyperTerminal program window, click File > Properties.
7. In the Properties dialog box, click the Settings tab.
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-18 2600BS-901-01 Rev. C / August 2016
Figure 160: Properties dialog box
8. Click ASCII Setup. The ASCII Setup dialog box is displayed.
9. From the ASCII Setup dialog box, select the following options:
Send line ends with line feeds
Echo typed characters locally
Figure 161: ASCII Setup dialog box
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C: L
AN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-19
1. Click OK in the ASCII Setup dialog box. The Properties dialog box is displayed.
2. Click OK in the Properties dialog box.
Use the HyperTerminal window to interact directly with the instrument.
Logging LAN trigger events in the event log
You can use the event log to record all LXI triggers generated and received by the Series 2600B, and
you can view the event log using any command interface or the embedded web interface. The
following figure shows the view of the LXI event log from the embedded web interface.
Figure 162: Series 2600B event log
The timestamp, event identifier, IP address, and the domain name identify the incoming and outgoing
LXI trigger packets. The following table provides detailed descriptions for the columns in the
event log.
Appendix
C: LAN concepts and settings Series 2600B System SourceMeter® Instrument
Reference Manual
C-20 2600BS-901-01 Rev. C / August 2016
Event log descriptions
Column title Description Example
Received
Time
Displays the date and time that the LAN
trigger occurred in UTC, 24-hour time
06:56:28.000 8 May 2011
Event ID
Identifies the
lan.trigger[
N
]
that
generates an event
LAN0 = lan.trigger[1]
LAN1 = lan.trigger[2]
LAN2 = lan.trigger[3]
LAN3 = lan.trigger[4]
LAN4 = lan.trigger[5]
LAN5 = lan.trigger[6]
LAN6 = lan.trigger[7]
LAN7 = lan.trigger[8]
From
Displays the IP address for the device that
generates the LAN trigger
localhost
192.168.5.20
Timestamp The Series 2600B does not support the
IEEE Std 1588 standard; the values in this
field are always 0 (zero)
HWDetect
Identifies a valid LXI trigger packet
LXI
Sequence
Each instrument maintains independent
sequence counters:
One for each combination of UDP multicast
network interface and UDP multicast
destination port
One for each TCP connection
Domain
Displays the LXI domain number; the default
value is 0 (zero)
0
1523
Flags
Contain data about the LXI trigger packet;
values are:
1 - Error
2 - Retransmission
4 - Hardware
8 - Acknowledgments
16 - Stateless bit
Data
The values for this are always 0 (zero)
Accessing the event log from the command interface
You can access the event log from any remote command interface. The event log must be enabled
before LXI trigger events can be viewed. To enable the event log, send:
eventlog.enable = 1
To view the event log from a remote interface, send:
print(eventlog.all())
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix C:
LAN concepts and settings
2600BS-901-01 Rev. C / August 2016 C-21
This command outputs one or more strings similar to the following:
14:14:02.000 17 Jun 2008, LAN0, 10.80.64.191, LXI, 0, 1213712000, not
available, 0, 0x10,0x00
The string displays the same information as the web interface. Commas separate the fields. The
fields output in the following order:
Received time (UTC time)
Event ID
From (Sender)
HWDetect / version
Domain
Sequence number
Timestamp (PTP time)
Epoch (from 1588)
Flags
Data
See the table in Logging LAN trigger events in the event log (on page C-19) for detailed descriptions.
In this appendix:
Command summary ................................................................ D-1
Script command equivalents ................................................... D-3
Command reference ................................................................ D-3
Command summary
The IEEE Std 488.2 common commands that are supported by the Series 2600B are summarized in
the following table. Although commands are shown in uppercase, common commands are not case
sensitive, and either uppercase or lowercase can be used. Note that although these commands are
essentially the same as those defined by the IEEE Std 488.2 standard, the Series 2600B does not
strictly conform to that standard.
Appendix D
Common commands
Appe
ndix D: Common commands Series 2600B System SourceMeter® Instrument
Reference Manual
D-2 2600BS-901-01 Rev. C / August 2016
Unlike other commands, like those listed in TSP commands (on page 7-8), each common command
must be sent in a separate message.
The common commands cannot be used in scripts.
Mnemonic Name Description
*CLS Clear status Clears all event registers and Error Queue. For detailed
information including status commands, see the Status model (on
page 5-15, on page E-1).
*ESE <mask> Event enable command Program the Standard Event Status Enable Register. For detailed
information including status commands, see the Status model (on
page 5-15, on page E-1).
*ESE?
Event enable query
Read the Standard Event Status Enable Register. For detailed
information including status commands, see the Status model (on
page 5-15, on page E-1).
*ESR?
Event status register query
Read/clear the Standard Event Enable Register. For detailed
information including status commands, see the Status model (on
page 5-15, on page E-1).
*IDN?
Identification query
Returns the manufacturer, model number, serial number, and
firmware revision levels of the unit. For detailed information, see
Identification query: *IDN? (on page D-3).
*OPC
Operation complete command
Set the Operation Complete bit in the Standard Event Register
after all pending commands, including overlapped commands,
have completed. For detailed information, see Operation complete
and query: *OPC and *OPC? (on page D-4).
*OPC?
Operation complete query
Places an ASCII "1" into the output queue when all selected
device operations have completed. For detailed information, see
Operation complete and query: *OPC and *OPC? (on page D-4).
*RST
Reset command
Returns the Series 2600B to default conditions. For detailed
information, see Reset: *RST (on page D-4).
*SRE <mask>
Service request enable command
Programs the Service Request Enable Register. For detailed
information including status commands, see the Status model (on
page 5-15, on page E-1).
*SRE?
Service request enable query
Reads the Service Request Enable Register. For detailed
information including status commands, see the Status model (on
page 5-15, on page E-1).
*STB?
Status byte query
Reads the status byte register. For detailed information including
status commands, see the Status model (on page 5-15, on page
E-1).
*TRG
Trigger command
Generates the trigger.EVENT_ID trigger event for use with the
trigger model. For detailed information, see Trigger: *TRG (on
page D-4).
*TST?
Self-test query
Returns a 0. For detailed information, see Self-test query: *TST?
(on page D-4).
*WAI
Wait-to-continue command
Waits until all previous commands have completed. For detailed
information, see Wait-to-continue: *WAI (on page D-5).
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix D:
Common commands
2600BS-901-01 Rev. C / August 2016 D-3
Script command equivalents
The commands that can be included in scripts that are equivalent to the common commands are
defined in the table below.
Common
command
Script command equivalent
*CLS
status.reset()
*ESE?
print(tostring(status.standard.enable))
*ESE <mask>
status.standard.enable = <mask>
*ESR?
print(tostring(status.standard.event))
*IDN?
print([[Keithley Instruments Inc.,
Model]]..localnode.model..[[, ]]..localnode.serialno..
[[, ]]..localnode.revision)
*OPC?
waitcomplete() print([[1]])
*OPC
opc()
*RST
reset()
*SRE?
print(tostring(status.request_enable))
*SRE <mask>
status.request_enable = <mask>
*STB?
print(tostring(status.condition))
*TRG
N/A
*TST?
print([[0]])
*WAI
waitcomplete()
Command reference
Details of all common commands (except those associated with the status model) are described
below.
Status command usage is contained in the Status model (on page 5-15, on page E-1).
Identification query: *IDN?
Retrieves the identification string.
*IDN?
Command that reads ID information
The identification string includes the manufacturer, model number, serial number, and firmware
revision levels. This string is sent in the following format:
Keithley Instruments Inc., Model 2600B, xxxxxxx, yyyyy
Where:
xxxxxxx is the serial number
yyyyy is the firmware revision level
Appe
ndix D: Common commands Series 2600B System SourceMeter® Instrument
Reference Manual
D-4 2600BS-901-01 Rev. C / August 2016
Operation complete and query: *OPC and *OPC?
Wait for pending overlapped commands to complete.
*OPC
Operation complete command that sets the OPC bit
*OPC?
Operation complete query that places a "1" in the output queue
When *OPC is sent, the OPC bit in the Standard Event Register (see Status model (on page 5-15, on
page E-1)) is set when all overlapped commands complete. The *OPC? command places an ASCII
"1" in the output queue when all previous overlapped commands complete.
Reset: *RST
Returns the instrument to default conditions.
*RST
Command that returns the instrument to default conditions
When the *RST command is sent, the instrument returns to the default conditions. This performs the
same actions as reset() (on page 7-173).
Self-test query: *TST?
Requests self-test results.
*TST?
Places a zero (0) in the output queue
This command always places a zero (0) in the output queue. This command is included for common
command compatibility only; the Series 2600B does not actually perform a self-test.
Trigger: *TRG
Generates a command interface trigger event for the trigger model.
*TRG
This command generates the trigger.EVENT_ID trigger event for the trigger model
The trigger.EVENT_ID is a constant that contains the command interface trigger event number.
You can set the stimulus of any trigger object to the value of this constant to have the trigger object
respond to the trigger events generated by this command. See trigger.EVENT_ID (on page 7-372)
and Using the remote trigger model (on page 3-34).
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix D:
Common commands
2600BS-901-01 Rev. C / August 2016 D-5
Wait-to-continue: *WAI
Suspends the execution of subsequent commands until all previous overlapped commands are
finished.
*WAI
This pauses until overlapped commands are complete
Two types of device commands exist:
Overlapped commands. Commands that allow the execution of subsequent commands while
instrument operations of the overlapped command are still in progress.
Sequential commands. Commands whose operations finish before the next command is
executed.
The *WAI command suspends the execution of subsequent commands until the instrument
operations of all previous overlapped commands are finished. The *WAI command is not needed for
sequential commands.
In this appendix:
Overview .................................................................................. E-1
Clearing registers ................................................................... E-14
Programming and reading registers ....................................... E-14
Status byte and service request (SRQ) .................................. E-15
Status register sets ................................................................. E-19
TSP-Link system status .......................................................... E-26
Overview
Each Keithley Instruments Series 2600B provides a number of status registers and queues that are
collectively referred to as the status model. Through manipulation and monitoring of these registers
and queues, you can view and control various instrument events. You can include commands in your
test program that can determine if a service request (SRQ) event has occurred and the cause of the
event.
The heart of the status model is the Status Byte Register. All status model registers and queues flow
into the Status Byte Register.
The entire status model is illustrated in the Status model diagrams (on page E-5).
Status register set contents
Typically, a status register set contains the following registers:
Condition (.condition): A read-only register that is constantly updated to reflect the present
operating conditions of the instrument.
Enable Register (.enable): A read-write register that allows a summary bit to be set when an
enabled event occurs.
Event Register (.event): A read-only register that sets a bit to 1 when the applicable event
occurs. If the enable register bit for that event is also set, the summary bit of the register will set
to 1.
Negative Transition Register (NTR) (.ntr): When a bit is set in this read-write register, it
enables a 1 to 0 change in the corresponding bit of the condition register to cause the
corresponding bit in the event register to be set.
Positive Transition Register (PTR) (.ptr): When a bit is set in this read-write register, it
enables a 0 to 1 change in the corresponding bit of the condition register to cause the
corresponding bit in the event register to be set.
Appendix E
Status model
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-2 2600BS-901-01 Rev. C / August 2016
An event is represented by a condition register bit changing from a 1 to 0 or 0 to 1. When an event
occurs and the appropriate NTR or PTR bit is set, the corresponding event register bit is set to 1. The
event bit remains latched to 1 until the event register is read or the status model is reset. When an
event register bit is set and its corresponding enable bit is set, the summary bit of the register is set
to 1. This, in turn, sets a bit in a higher-level condition register, potentially cascading to the associated
summary bit of the Status Byte Register.
Queues
The Series 2600B uses queues to store messages. The message queues include:
Output queue: Holds response messages.
Error/event queue: Holds error and status messages.
When a queue contains data, it sets the condition bit for that queue in one of the registers. The
condition bits are:
Command queue: CAV in the Operation Status Remote Summary Register
Output queue: MAV in the Status Byte Register
Error/event queue: EAV in the Status Byte Register
The CAV, MAV, and EAV bits in the registers are cleared when the queue is empty. Queues empty
when:
Commands are executed
Errors are read from the error queue
Response messages are read from the instrument
All Series 2600B queues are first-in, first-out (FIFO).
The Status model diagrams (on page E-5) show how the command, error/event, and output queues
are structured with the other registers.
Command queue
The command queue holds commands that have been received from a remote interface that are
available for execution. This allows the Series 2600B to accept multiple commands and queue them
for execution.
When a command is received from a remote interface, the command available (CAV) bit in the
Operation Status Remote Summary Register is set. For additional detail, see
status.operation.remote.* (on page 7-323).
Output queue
Response messages, such as those generated from print commands, are placed in the output queue.
All remote command interfaces share the same output queue.
The output queue sets the message available (MAV) bit in the status model.
The data in the output queue is cleared by the *CLS command.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E: Sta
tus model
2600BS-901-01 Rev. C / August 2016 E-3
Error queue
The error queue holds error and status messages. As programming errors and status messages
occur, a message that defines the error or status is placed in the error queue.
An error or status message is cleared from the error queue when it is read. You can also clear the
error queue by sending the command errorqueue.clear(). An empty error queue clears the error
available (EAV) bit in the Status Byte Register.
Messages in the error queue include a code number, message text, severity, and TSP-Link® node
number. See Error summary list (on page 8-3) for a list of the messages.
When you read a single message from the error queue, the oldest message is read. If you attempt to
read the error queue when it is empty, the error number 0 and “No Error” is returned.
The commands that can be used to control the error queue are listed below.
Error queue commands
Error queue command Description
errorqueue.clear()
Clear error queue of all errors.
errorqueue.count
Number of messages in the error/event queue.
errorCode, message,
severity, errorNode =
errorqueue.next()
Request error code, text message, severity, and TSP-Link node
number.
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-4 2600BS-901-01 Rev. C / August 2016
Status function summary
The following functions and attributes control and read the various registers. Additional information for
the various register sets is included later in this section. Also, refer to the specific command as listed
in TSP commands (on page 7-8).
Status function summary
Type Function or attribute
Status summary
status.condition
status.node_enable
status.node_event
status.request_enable
status.request_event
status.reset
Measurement event
status.measurement.*
status.measurement.buffer_available.*
status.measurement.current_limit.*
status.measurement.instrument.*
status.measurement.instrument.smuX.*
status.measurement.reading_overflow.*
status.measurement.voltage_limit.*
Operation status
status.operation.*
status.operation.calibrating.*
status.operation.instrument.*
status.operation.instrument.digio.*
status.operation.instrument.digio.trigger_overrun.*
status.operation.instrument.lan.*
status.operation.instrument.lan.trigger_overrun.*
status.operation.instrument.smuX.*
status.operation.instrument.smuX.trigger_overrun.*
status.operation.instrument.trigger_blender.*
status.operation.instrument.trigger_blender.trigger_overrun.*
status.operation.instrument.trigger_timer.*
status.operation.instrument.trigger_timer.trigger_overrun.*
status.operation.instrument.tsplink.*
status.operation.instrument.tsplink.trigger_overrun.*
status.operation.measuring.*
status.operation.remote.*
status.operation.sweeping.*
status.operation.trigger_overrun.*
status.operation.user.*
Questionable status
status.questionable.*
status.questionable.calibration.*
status.questionable.instrument.*
status.questionable.instrument.smuX.*
status.questionable.over_temperature.*
status.questionable.unstable_output.*
Standard event
status.standard.*
System summary
status.system.*
status.system2.*
status.system3.*
status.system4.*
status.system5.*
* =
.condition
,
.event
,
.ntr
,
.ptr
and
.enable
smuX: For Models 2601B, 2611B, and 2635B, this value is smua (SMU Channel A); for Models 2602B, 2604B, 2612B,
2614B, 2634B, and 2636B, this value can be smua (for SMU Channel A) or smub (for SMU Channel B).
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-5
Status model diagrams
The following figures graphically describe the status model:
Status byte and service request enable register (on page E-6)
System summary and standard event registers (on page E-7)
Measurement event registers (on page E-8)
Operation status registers (on page E-9)
Operation status trigger overrun registers (on page E-10)
Operation status trigger timer, trigger blender, and remote registers (on page E-11)
Operation status digital I/O and TSP-Link registers (on page E-12)
Questionable status registers (on page E-13)
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-6 2600BS-901-01 Rev. C / August 2016
Figure 163: Status byte and service request enable register
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-7
Figure 164: System summary and standard event registers
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-8 2600BS-901-01 Rev. C / August 2016
Figure 165: Measurement event registers
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-9
Figure 166: Operation status registers
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-10 2600BS-901-01 Rev. C / August 2016
Figure 167: Operation status trigger overrun registers
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-11
Figure 168: Operation status trigger timer, trigger blender, and remote registers
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-12 2600BS-901-01 Rev. C / August 2016
Figure 169: Operation status digital I/O and TSP-Link registers
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-13
Figure 170: Questionable status registers
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-14 2600BS-901-01 Rev. C / August 2016
Clearing registers
Commands to reset the status registers are listed in the table below.
In addition to these commands, you can reset the enable registers and the NTR to 0. To do this, send
the individual command to program the register with a 0 as its parameter value. The PTR registers
can be reset to their defaults by programming them with all bits on. Note that the event registers are
not programmable but can be cleared by reading them.
Commands to reset registers
Command Description
To reset registers:
*CLS
Reset bits of the event and NTR registers to 0 and
set all PTR register bits on. Also clears the output
queue.
status.reset()
Reset bits of the event and NTR registers to 0 and
set all PTR register bits on.
Programming and reading registers
Programming enable and transition registers
The only registers that you can program are the enable and transition registers. All other registers in
the status structure are read-only registers. The following explains how to determine the parameter
values for the various commands used to program enable registers. The actual commands are
summarized in Common commands (on page D-1) and Status function summary (on page E-4).
A command to program an event enable or transition register is sent with a parameter value that
determines the desired state (0 or 1) of each bit in the appropriate register. The bit positions of the
register (see the following figure) indicate the binary parameter value and decimal equivalent. To
program one of the registers, send the decimal value for the bits to be set. The registers are
discussed further in Enable and transition registers (on page E-19).
Figure 171: 16-bit status register
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E: Status m
odel
2600BS-901-01 Rev. C / August 2016 E-15
When using a numeric parameter, registers are programmed by including the appropriate mask
value. For example:
*ese 1169
status.standard.enable = 1169
To convert from decimal to binary, use the information shown in the above figure. For example, to set
bits B0, B4, B7, and B10, a decimal value of 1169 would be used for the mask parameter (1169 = 1 +
16 + 128 + 1024).
Reading registers
Any register in the status structure can be read either by sending the common command query
(where applicable), or by including the script command for that register in either the print() or
print(tostring()) command. The print() command outputs a numeric value; the
print(tostring()) command outputs the string equivalent. For example, any of the following
commands requests the Service Request Enable Register value:
*SRE?
print(tostring(status.request_enable))
print(status.request_enable)
The response message will be a decimal value that indicates which bits in the register are set. That
value can be converted to its binary equivalent using the information in Programming enable and
transition registers (on page E-14). For example, for a decimal value of 37 (binary value of 100101),
bits B5, B2, and B0 are set.
Status byte and service request (SRQ)
Service requests (SRQs) allow an instrument to indicate that it needs attention or that some event
has occurred. When the controller receives an SRQ, it allows the controller to interrupt tasks to
perform other tasks in order to address the request for service.
For example, you might program your instrument to send an SRQ when:
All instrument operations are complete
An instrument error occurs
A specific operation has occurred
Two 8-bit registers control service requests, the Status Byte Register and the Service Request
Enable Register. The Status Byte Register (on page E-16) topic describes the structure of these
registers.
Service requests affect GPIB, USB, and VXI-11 connections. On a GPIB connection, the SRQ line is
asserted. On a VXI-11 or USB connection, an SRQ event is generated.
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-16 2600BS-901-01 Rev. C / August 2016
Status Byte Register
The summary messages from the status registers and queues are used to set or clear the appropriate
bits (B0, B1, B2, B3, B4, B5, and B7) of the Status Byte Register. These summary bits do not latch,
and their states (0 or 1) are dependent upon the summary messages (0 or 1). For example, if the
Standard Event Register is read, its register will clear. As a result, its summary message will reset to
0, which will then reset the ESB bit in the Status Byte Register.
The Status Byte Register also receives summary bits from itself, which sets the Master Summary
Status, or MSS, bit.
Figure 172: Status byte and service request (SRQ)
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-17
The bits of the Status Byte Register are described as follows:
Bit B0, Measurement Summary Bit (MSB): Set summary bit indicates that an enabled
measurement event has occurred.
Bit B1, System Summary Bit (SSB): Set summary bit indicates that an enabled system event
has occurred.
Bit B2, Error Available (EAV): Set bit indicates that an error or status message is present in the
error queue.
Bit B3, Questionable Summary Bit (QSB): Set summary bit indicates that an enabled
questionable event has occurred.
Bit B4, Message Available (MAV): Set bit indicates that a response message is present in the
output queue.
Bit B5, Event Summary Bit (ESB): Set summary bit indicates that an enabled standard event
has occurred.
Bit B6, Request Service (RQS)/Master Summary Status (MSS): Set bit indicates that an
enabled summary bit of the Status Byte Register is set. Depending on how it is used, bit B6 of the
Status Byte Register is either the Request for Service (RQS) bit or the Master Summary Status
(MSS) bit:
When using the GPIB, USB, or VXI-11 serial poll sequence of the Series 2600B to obtain the status
byte (serial poll byte), B6 is the RQS bit. See Serial polling and SRQ (on page E-18) for details on using
the serial poll sequence.
When using the *STB? common command or status.condition Status byte and service request
commands (on page E-18) to read the status byte, B6 is the MSS bit.
Bit B7, Operation Summary (OSB): Set summary bit indicates that an enabled operation event
has occurred.
Service Request Enable Register
The Service Request Enable Register controls the generation of a service request. This register is
programmed by the user and is used to enable or disable the setting of bit B6 (RQS/MSS) by the
Status Summary Message bits (B0, B1, B2, B3, B4, B5, and B7) of the Status Byte Register. As
shown in the Status Byte Register (on page E-16) topic, a logical AND operation is performed on the
summary bits (&) with the corresponding enable bits of the Service Request Enable Register. When a
logical AND operation is performed with a set summary bit (1) and with an enabled bit (1) of the
enable register, the logic “1” output is applied to the input of the logical OR gate and, therefore, sets
the MSS/RQS bit in the Status Byte Register.
The individual bits of the Service Request Enable Register can be set or cleared by using the *SRE
common command or status.request_enable. To read the Service Request Enable Register,
use the *SRE? query or print(status.request_enable). The Service Request Enable Register
clears when power is cycled or a parameter value of 0 is sent with a status request enable command
(for example, a *SRE 0 or status.request_enable = 0 is sent). The commands to program and
read the SRQ Enable Register are listed in Status byte and service request commands (on page E-
18).
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-18 2600BS-901-01 Rev. C / August 2016
Serial polling and SRQ
Any enabled event summary bit that goes from 0 to 1 sets bit B6 and generates a service request
(SRQ).
In your test program, you can periodically read the Status Byte to check if an SRQ has occurred and
what caused it. If an SRQ occurs, the program can, for example, branch to an appropriate subroutine
that will service the request.
SRQs can be managed by the serial poll sequence of the instrument. If an SRQ does not occur, bit
B6 (RQS) of the Status Byte Register remains cleared, and the program proceeds normally after the
serial poll is performed. If an SRQ does occur, bit B6 of the Status Byte Register is set, and the
program can branch to a service subroutine when the SRQ is detected by the serial poll.
The serial poll automatically resets RQS of the Status Byte Register. This allows subsequent serial
polls to monitor bit B6 for an SRQ occurrence that is generated by other event types.
For common commands and TSP commands, B6 is the MSS (Message Summary Status) bit. The
serial poll does not clear the MSS bit. The MSS bit stays set until all enabled Status Byte Register
summary bits are reset.
SPE, SPD (serial polling)
For the GPIB interface only, the SPE and SPD general bus commands are used to serial poll the
System SourceMeter® instrument. Serial polling obtains the serial poll byte (status byte). Typically,
serial polling is used by the controller to determine which of several instruments has requested
service with the SRQ line.
Status byte and service request commands
The commands to program and read the Status Byte Register and Service Request Enable Register
are listed in Status byte and service request commands (on page E-18). Note that the table includes
both common commands and their script command equivalents. For details on programming and
reading registers, see Programming enable and transition registers (on page E-14) and Reading
registers (on page E-15).
To reset the bits of the Service Request Enable Register to 0, use 0 as the parameter value for the
command (for example, *SRE 0 or status.request_enable = 0).
Status Byte and Service Request Enable Register commands
Command Description
*STB?
or
print(status.condition)
Read the Status Byte Register.
*SRE mask
or
status.request_enable = mask
Program the Service Request Enable Register where
mask = 0 to 255.
*SRE?
or
print(status.request_enable)
Read the Service Request Enable Register.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-19
Enable and transition registers
In general, there are three types of user-writable registers that are used to configure which bits feed
the register summary bit and when it occurs. The registers are identified in each applicable command
(as listed in TSP commands (on page 7-8)) as follows:
Enable register (identified as .enable in each attribute's command listing): Allows various
associated events to be included in the summary bit for the register.
Negative-transition register (identified as .ntr in each attributes command listing): A particular
bit in the event register will be set when the corresponding bit in the NTR is set, and the
corresponding bit in the condition register transitions from 1 to 0.
Positive-transition register (identified as .ptr in each attributes command listing): A particular
bit in the event register will be set when the corresponding bit in the PTR is set, and the
corresponding bit in the condition register transitions from 0 to 1.
Controlling node and SRQ enable registers
Attributes to control system node and service request (SRQ) enable bits and read associated
registers are summarized in the Status byte and service request enable registers (on page E-6). For
example, either of the following will set the system node QSB enable bit:
status.node_enable = status.QSB
status.node_enable = 8
Status register sets
There are five status register sets in the status structure of a System SourceMeter® instrument:
System Summary
Standard Event Status
Operation Status
Measurement Event
Questionable Status
System Summary Registers
As shown in Status model diagrams (on page E-5), there are five register sets associated with system
status events. These registers summarize system status for various nodes connected to the
TSP-Link® network (see TSP-Link system expansion interface (on page 6-46)). Note that all nodes on
the TSP-Link network share a copy of the system summary registers once the TSP-Link system has
been initialized. This feature allows all nodes to access the status models of other nodes, including
service request (SRQ).
In a TSP-Link system, the status model can be configured such that a status event in any node in the
system can set the RQS (request for service) bit of the Master Node Status Byte. See TSP-Link
system status (on page E-26) for details on using the status model in a TSP-Link system.
Commands for the system summary registers are summarized in the Status function summary (on
page E-4) table.
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-20 2600BS-901-01 Rev. C / August 2016
For example, either of the following commands will set the EXT enable bit:
status.system.enable = status.system.EXT
status.system.enable = 1
When reading a register, a numeric value is returned. The binary equivalent of this value indicates
which bits in the register are set. For details, see Reading registers (on page E-15). For example, the
following command will read the System Enable Register:
print(status.system.enable)
The used bits of the system event registers are described as follows:
Bit B0, Extension Bit (EXT): Set bit indicates that an extension bit from another system status
register is set.
Bits B1-B14* NODEn: Indicates a bit on TSP-Link node n has been set (n = 1 to 64).
*status.system5 does not use bits B9 through B15.
Standard Event Register
The bits used in the Standard Event Register are described as follows:
Bit B0, Operation Complete (OPC): Set bit indicates that all pending selected device operations
are completed and the Series 2600B instrument is ready to accept new commands. The bit is set
in response to an *OPC command. The opc() function can be used in place of the *OPC
command. See Common commands (on page D-1) for details on the *OPC command.
Bit B1: Not used.
Bit B2, Query Error (QYE): Set bit indicates that you attempted to read data from an empty
output queue.
Bit B3, Device-Dependent Error (DDE): Set bit indicates that an instrument operation did not
execute properly due to some internal condition.
Bit B4, Execution Error (EXE): Set bit indicates that the Series 2600B instrument detected an
error while trying to execute a command.
Bit B5, Command Error (CME): Set bit indicates that a command error has occurred. Command
errors include:
IEEE Std 488.2 syntax error: The Series 2600B instrument received a message that does not follow the
defined syntax of IEEE Std 488.2.
Semantic error: Series 2600B instrument received a command that was misspelled or received an
optional IEEE Std 488.2 command that is not implemented.
The instrument received a Group Execute Trigger (GET) inside a program message.
Bit B6, User Request (URQ): Set bit indicates that the LOCAL key on the Series 2600B
instrument front panel was pressed.
Bit B7, Power ON (PON): Set bit indicates that the Series 2600B instrument has been turned off
and turned back on since the last time this register was read.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-21
Commands to program and read the register are summarized below and also in the Status function
summary (on page E-4) table.
Standard event commands
Command Description
*ESR?
or
print(status.standard.event)
Read Standard Event Status Register.
*ESE mask
or
status.standard.enable = mask
Program the Event Status Enable Register:
mask = 0 to 255
See Status register set contents (on page E-1).
*ESE?
or
print(status.standard.enable)
Read Event Status Enable Register.
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-22 2600BS-901-01 Rev. C / August 2016
Operation Status Registers
As shown in the status model's Operation status registers (on page E-9) diagram, there are 22
register sets associated with operation status. Commands are summarized in the Status register set
contents (on page E-1) topic. Note that bits can also be set by using numeric parameter values. For
details, see Programming enable and transition registers (on page E-14).
For example, either of the following commands will set the CAL enable bit (B0):
status.operation.enable = status.operation.CAL
status.operation.enable = 1
When reading a register, a numeric value is returned. The binary equivalent of this value indicates
which bits in the register are set. For details, see Reading registers (on page E-15). For example, the
following command will read the Operation Status Enable Register:
print(status.operation.enable)
Commands to program and read the register are summarized in the Status function summary (on
page E-4) table.
Operation Status Registers
This register set feeds to bit B7 (OSB) of the Status Byte. The bits used in the Operation Status
Register set are described as follows:
Bit B0, Calibrating (CAL): Set bit indicates that one or more channels are calibrating.
Bit B3, Sweeping (SWE): Set bit indicates that one or more channels are sweeping.
Bit B4, Measuring (MEAS): Bit will be set when taking an overlapped measurement, but it will
not set when taking a normal synchronous measurement.
Bit B10, Trigger Overrun (TRGOVR): Set bit indicates that an enabled bit in the Operation
Status Trigger Overrun Summary Register is set.
Bit B11, Remote Summary (REM): Set bit indicates that an enabled bit in the Operation Status
Remote Summary Register is set.
Bit B12, User (USER): Set bit indicates that an enabled bit in the Operation Status User Register
is set.
Bit B13, Instrument Summary (INST): Set bit indicates that an enabled bit in the Operation
Status Instrument Summary Register is set.
Bit B14, Program Running (PROG): Set bit indicates that a program is running.
For more information on the Operation Status Registers, refer to Status register set contents (on page
E-1) and the figures in this appendix.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-23
Questionable Status Registers
This register set feeds to bit B3 (QSB) of the Status Byte. The bits used in the Questionable Status
Register set are described as follows:
Bit B8, Calibration (CAL): Set bit indicates that calibration is questionable.
Bit B9, Unstable Output (UO): Set bit indicates that an unstable output condition was detected.
Bit B12, Over Temperature (OTEMP): Set bit indicates that an over temperature condition was
detected.
Bit B13, Instrument Summary (INST): Set bit indicates that a bit in the Questionable Status
Instrument Summary Register is set.
For more information on the Questionable Status Register, refer to Status register set contents (on
page E-1) and the figures in this appendix.
Questionable Status Registers
As shown in the status model's Operation event, I/O, and TSP-Link registers (on page E-12), there
are seven register sets associated with Questionable Status. Commands are summarized in the
Status byte and service request (SRQ) (on page E-15) topic. Note that bits can also be set by using
numeric parameter values. For details, see Programming enable and transition registers (on page E-
14).
For example, either of the following commands will set the CAL enable bit (B8):
status.questionable.enable = status.questionable.CAL
status.questionable.enable = 256
When reading a register, a numeric value is returned. The binary equivalent of this value indicates
which bits in the register are set. For details, see Reading registers (on page E-15). For example, the
following command will read the Questionable Status Enable Register:
print(status.questionable.enable)
For more information about the Questionable Status Registers, refer to Status register set contents
(on page E-1) and the figures in this appendix.
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-24 2600BS-901-01 Rev. C / August 2016
Measurement Event Registers
As shown in the status model's Measurement event registers (on page E-8), there are eight register
sets associated with measurement event status. Commands are summarized in the Status register
set contents (on page E-1) topic. Note that bits can also be set by using numeric parameter values.
For details, see Programming enable and transition registers (on page E-14) .
For example, either of the following commands will set the VOLTAGE_LIMIT enable bit:
status.measurement.enable = status.measurement.VOLTAGE_LIMIT
status.measurement.enable = 1
When reading a register, a numeric value is returned. The binary equivalent of this value indicates
which bits in the register are set. For details, see Reading registers (on page E-15). For example, the
following command will read the Measurement Event Enable Register:
print(status.measurement.enable)
This register set feeds to bit B0 (MSB) of the Status Byte. The bits used in the Measurement Event
Registers are described as follows:
Bit B0, Voltage Limit (VLMT): Set bit indicates that the voltage limit was exceeded. This bit will
be updated only when either a measurement is taken or the smuX.source.compliance
attribute is read.
Bit B1, Current Limit (ILMT): Set bit indicates that the current limit was exceeded. This bit will
be updated only when either a measurement is taken or the smuX.source.compliance
attribute is read.
Bit B7, Reading Overflow (ROF): Set bit indicates that an overflow reading has been detected.
Bit B8, Buffer Available (BAV): Set bit indicates that there is at least one reading stored in
either or both of the nonvolatile reading buffers.
Bit B11, Output Enable (OE): (Models 2601B/2602B/2604B) Set bit indicates that output enable
was asserted.
Bit B11, Interlock (INT): (Models 2611B/2612B/2614B/2634B/2635B/2636B) Set bit indicates
that interlock was asserted.
Bit B13, Instrument Summary (INST): Set bit indicates that a bit in the Measurement Instrument
Summary Register is set.
Commands to program and read the register are summarized in the Status function summary (on
page E-4) table. For more information about the Measurement Event Registers, refer to Status
register set contents (on page E-1) and the figures in this appendix.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-25
Register programming example
The command sequence below programs the instrument to generate a service request (SRQ) and set
the system summary bit in all TSP-Link nodes when the current limit on channel A is exceeded.
-- Clear all registers.
status.reset()
-- Enable current limit bit in current limit register.
status.measurement.current_limit.enable = status.measurement.current_limit.SMUA
-- Enable status measure current limit bit.
status.measurement.enable = status.measurement.ILMT
-- Set system summary; enable MSB.
status.node_enable = status.MSB
-- Enable status SRQ MSB.
status.request_enable = status.MSB
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-26 2600BS-901-01 Rev. C / August 2016
TSP-Link system status
TSP-Link® is not available on the Models 2604B/2614B/2634B.
The TSP-Link® expansion interface allows instruments to communicate with each other. The test
system can be expanded to include up to 32 TSP-enabled instruments. In a TSP-Link system, one
node (instrument) is the master and the other nodes are the subordinates. The master can control the
other nodes (subordinates) in the system. See TSP-Link system expansion interface (on page 6-46)
for details about the TSP-Link system.
The system summary registers, shown in the Status byte and service request enable register (on
page E-6) and the System summary and standard event registers (on page E-7), are shared by all
nodes in the TSP-Link system. A status event that occurs at a subordinate node can generate an
SRQ (service request) in the master node. After detecting the service request, your program can then
branch to an appropriate subroutine that will service the request. See Status byte and service request
(SRQ) (on page E-15) for details.
Status model configuration example
In this example, a current limit (compliance) event in SMU A or B of node 15 will set the RQS bit of
the Status Byte of the master node. The commands to configure the status model for this example
are provided in Status configuration (enable) commands (on page E-27).
When a current limit (compliance) condition occurs in SMU A or B of Node 15, the following sequence
of events will occur:
Node 15: Bit B1 or B2 of the Measurement Event Current Limit Summary Register sets when the
current limit (compliance) event occurs.
Node 15: Bit B1 (ILMT) of the Measurement Event Register sets.
Node 15: Bit B0 (MSB) of the Status Byte sets.
System Summary Registers: Bit B1 (Node 15) of the System Summary Register 2 sets.
The System Summary Registers are shared by all nodes in the TSP-Link system. When a bit in a
system register of node 15 sets, the same bit in the master node system register also sets.
System Summary Registers: Bit B0 (Extension) of the System Summary Register sets.
Master Node: Bit B0 (MSB) of the Status Byte sets.
Master Node: With service request enabled, bit B6 (RQS) of the Status Byte sets. When your
program performs the next serial poll of the master node, it will detect the current limit event and
can branch to a routine to service the request.
The figure in Status configuration (enable) commands (on page E-27) demonstrates the flow of
information through the status model of node 15 and the master node.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix E:
Status model
2600BS-901-01 Rev. C / August 2016 E-27
Status configuration (enable) commands
The following commands (sent from the master node) enable the appropriate register bits for the
above example:
Node 15 status registers: The following commands enable the current limit events for SMU A and B of
node 15:
node[15].status.measurement.current_limit.enable = 6
node[15].status.measurement.enable = 2
node[15].status.node_enable = 1
The affected status registers for the above commands are indicated by labels A, B and C (see
following figure).
Master node system summary registers: The following commands enable the required system
summary bits for node 15:
status.system2.enable = 2
status.system.enable = 1
The affected system summary registers for the above commands are indicated by labels D and E
(see following figure).
Master node service request: The following command enables the service request for the
measurement event:
status.request_enable = 1
Appendix
E: Status model Series 2600B System SourceMeter® Instrument
Reference Manual
E-28 2600BS-901-01 Rev. C / August 2016
The affected status register for the above command is indicated by label E (see the following figure).
Figure 173: TSP-Link status model configuration example
In this appendix:
Series 2600B display character codes ..................................... F-1
Series 2600B display character codes
The following tables contain the display character codes (decimal values) and their corresponding
display.
Display character codes (decimal 0 to 39)
Decimal Display Decimal Display Decimal Display
000
reserved
012
reserved
026
001
reserved
013
reserved
027
002
reserved
014
reserved
028
003
reserved
015
reserved
029
004
reserved
016
µ
030
005 reserved 017 ± 031
006
reserved
018
032
(space)
007
reserved
019
°
033
!
008
reserved
020
034
"
009 reserved 021
035 #
010
reserved
022
036
$
011 reserved 023
037 %
012
reserved
024
038
&
013 reserved 025
039 ' (apostrophe)
Appendix F
Display character codes
Appendix
F: Display character codes Series 2600B System SourceMeter® Instrument
Reference Manual
F-2 2600BS-901-01 Rev. C / August 2016
Display character codes (decimal 40 to 102)
Decimal Display Decimal Display Decimal Display
040
(
061
=
082
R
041
)
062
>
083
S
042
*
063
?
084
T
043
+
064
@
085
U
044
, (comma)
065
A
086
V
045
-
066
B
087
W
046
.
067
C
088
X
047
/
068
D
089
Y
048
0
069
E
090
Z
049
1 070 F 091 [
050
2 071 G 092 \
051
3 072 H 093 ]
052
4
073
I
094
^
053
5
074
J
095
_
054
6 075 K 096 ' (open single
quote)
055
7 076 L 097 a
056
8
077
M
098
b
057
9
078
N
099
c
058
:
079
O
100
d
059
;
080
P
101
e
060
<
081
Q
102
f
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix F: Display character co
des
2600BS-901-01 Rev. C / August 2016 F-3
Display character codes (decimal 103 to 165 )
Decimal Display Decimal Display Decimal Display
103
g
124
|
145
104
h
125
}
146
105
i
126
~
147
106
j 127
148
107
k 128 (space) 149
108
l
129
150
109
m 130
151
110
n 131
152
111
o
132
153
112
p
133
154
113
q
134
155
114
r
135
156
115
s
136
157
116 t 137
158
117
u 138
159 ¼
118
v
139
160
0
119
w 140
161
1
120
x
141
162
2
121
y
142
163
3
122
z 143
164
4
123
{ 144
165
5
Appendix
F: Display character codes Series 2600B System SourceMeter® Instrument
Reference Manual
F-4 2600BS-901-01 Rev. C / August 2016
Display character codes (decimal 166 to 228)
Decimal Display Decimal Display Decimal Display
166
6
187
Φ
208
æ
167
7
188
209
Æ
168
8
189
210
â
169
9
190
÷
211
ä
170
α 191 212 á
171
ß
192
213
à
172
γ
193
214
å
173
δ
194
215
174
ε
195
216
Ä
175
η
196
217
Å
176
θ
197
>>
218
ê
177
λ
198
<<
219
ë
178
π
199
¿
220
é
179 ρ 200
i 221 è
180
σ 201 ¢ 222 É
181
τ 202 £ 223 î
182
φ
203
¥
224
ï
183
ω
204
P
225
í
184
Γ
205
ƒ
226
ì
185
Δ 206 Ç 227 ô
186
Σ 207 ç 228 ö
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix F:
Display character codes
2600BS-901-01 Rev. C / August 2016 F-5
Display character codes (decimal 229 to 255 )
Decimal Display Decimal Display Decimal Display
229
ó
238
ñ
247
230
ò
239
Ñ
248
231
240
ÿ
249
232
Ö
241
250
233
û
242
251
234
ü
243
252
235
ú
244
253
236
ù
245
254
237
Ü
246
255
In this appendix:
Model 2400 emulation ............................................................. G-1
Model 2400 compatibility ......................................................... G-3
Model 2400 emulation
The Series 2600B provides for emulation of the Model 2400 command set using a personality script
named Persona2400. When run, this script takes control of the remote command interfaces and
interprets any commands received.
Loading, running, and configuring Model 2400 emulation
Before running or configuring the script, it must be loaded into internal memory. Also, you cannot run
or load a script while a script is already running.
If the Persona2400 script has been deleted from the Series 2600B without using the script's
DeleteScript menu item (which is contained in the Configure2400 user test), you must execute the
userstring.delete("AutoRun2400") command before reloading the Persona2400 script.
To load the script into the internal memory:
1. Plug the USB drive (provided with the Series 2600B) into the front panel USB port.
2. Load the Persona2400 script (2600B-800A.tsp) and save the script to the Series 2600B
internal nonvolatile memory.
a. From the front panel, press the MENU key, and then select SCRIPT > LOAD > USB1.
c. Use the navigation wheel to select the Persona2400.tsp script. If prompted to overwrite an existing
script, select YES to overwrite (it may take a few seconds to complete loading the script).
d. Turn the navigation wheel to select SAVE-INTERNAL and then press the navigation wheel (or the
ENTER key).
e. Select YES and then press the navigation wheel (or the ENTER key) to save the script internally (it
may take a few seconds to complete the save).
f. Press the EXIT key as needed to leave the menu structure.
Appendix G
Model 2400 emulation
Appendix
G: Model 2400 emulation Series 2600B System SourceMeter® Instrument
Reference Manual
G-2 2600BS-901-01 Rev. C / August 2016
To start Model 2400 emulation:
1. Press the LOAD key and then select USER from the menu.
2. Select Run2400 and press the ENTER key (if this test is not loaded, you must load the script into
internal nonvolatile memory).
3. Press the RUN key. You will notice the REM indicator lights (the script places the instrument in
remote).
To configure options for the Model 2400 emulation:
1. If a script is running, press the EXIT key to abort.
2. Press the LOAD key, then select USER from the menu and then press the ENTER key.
3. Select Configure2400 and then press the ENTER key.
4. Press the RUN key.
5. Select a menu item to configure the emulation. The available menu items are:
RunAtPowerON: Select ENABLE to configure the Series 2600B so it automatically starts in Model
2400 emulation mode after the next power cycle. Select DISABLE to disable this option (disables the
autorun for the next power cycle). This option does not place the Series 2600B into Model 2400
emulation immediately.
DisplayErrors: Select YES to display error messages on the front panel as they occur; select NO to
disable this option. This setting is not retained through power cycles. This option (when enabled) will
delay the script execution by approximately 2 seconds when there is an error.
DeleteScript: To delete the Persona2400 script from Series 2600B, select YES and then turn the
instrument off and back on. This step must be performed before reloading the Persona2400 script.
Select NO to cancel.
Version: Select this menu item to display the Persona2400 script version.
Operating the Series 2600B as a Model 2400
When the script is loaded and running, the Series 2600B is ready to accept Model 2400 SCPI
commands.
To exit out of Model 2400 emulation mode and return to Series 2600B normal operation, send the
DIAG:EXIT command. You can also press the EXIT key to abort the script.
Execute SCPI commands when not in Model 2400 emulation mode
You can execute SCPI commands when not in Model 2400 emulation mode. To accomplish this,
send the Initialize2400() command once and then send the Execute2400() command with
the SCPI command as a parameter in quotes. For example to execute the SCPI command
:SOURCE:VOLTAGE 1, send Execute2400(":SOURCE:VOLTAGE 1"). If quotes are needed in
the SCPI command, use single quotes or use '\' as an escape character. For example, send one of
the following commands to execute the SCPI command :SENSE:FUNCTION "VOLT:DC":
Execute2400(":sens:func 'VOLT:DC'")
Execute2400(":sens:func \"VOLT:DC\"")
To return back to the Model 2400 emulation mode, send the Engine2400() command. After
returning to the Model 2400 emulation mode, you must execute a *RST before running any further
commands.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix G:
Model 2400 emulation
2600BS-901-01 Rev. C / August 2016 G-3
Model 2400 compatibility
This section provides information on programming the Series 2600B in Model 2400 emulation mode.
The information provided includes details of general compatibility and tables that contain listings of
the not supported, partially supported, and fully supported commands.
General compatibility
Observe the following details when operating the Series 2600B in Model 2400 emulation mode.
Busy signal
As in a non-emulated Model 2400, the BUSY signal is active from the point that a start-of-test (SOT)
signal is received until all measurements, limit testing, and digital I/O operations have completed. To
use a BUSY signal in a non-emulated Model 2400, the binning control must be set to END. If the
trigger count is set to a value less than the number of points in the source memory sweep, the BUSY
signal indefinitely stays in the busy state. When the Series 2600B is in Model 2400 emulation mode,
the BUSY signal works in either binning control modes (END or IMM) as long as one or more of the
Calculate2 limit tests are enabled and will not be in the busy state indefinitely.
Source autodelay
While in Model 2400 emulation mode, when the source auto delay feature is enabled, the Series
2600B source delay is used and is set to automatic delay (smua.source.delay =
smua.DELAY_AUTO).
Timestamps
When the automatic timestamp reset feature is enabled, the timestamp is automatically reset when
the first measurement is taken. This differs from the operation of an actual Model 2400 where the
timestamp will be automatically reset when exiting the idle layer of the trigger model. This difference
can be observed when the Arm or Trigger layer event detectors are enabled.
Status word
While in Model 2400 emulation mode, the following bits of the status word are always set to zero (0):
Bit 2 (Front/Rear)
Bit 4 (OVP)
Bit 10 (Auto-ohms)
Bit 16 (Range Compliance)
Bit 17 (Offset Compensation)
Bit 18 (Contact check failure)
Bit 23 (Pulse Mode)
Appendix
G: Model 2400 emulation Series 2600B System SourceMeter® Instrument
Reference Manual
G-4 2600BS-901-01 Rev. C / August 2016
Status model
While in Model 2400 emulation mode, the following bits in the status model are always set to 0 (not
supported):
Operation Condition Register:
Bit 0 (Cal), bit 5 (Trig), bit 6 (Arm)
Measurement Condition Register:
Bit 10 (CC), bit 13 (OVP)
Questionable Condition Register:
Bit 14 (Warn)
Standard Event Status Register:
Bit 2 (QYE)
Overrange
When running a sweep while in Model 2400 emulation mode, the instrument cannot source more than
the selected source range value.
Logarithmic sweep
While in Model 2400 emulation mode, when the start and stop points of a logarithmic sweep are not
of same polarity or one of them is a zero (0), the script generates a "900" error; a non-emulated
Model 2400 does not generate this error.
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix G:
Model 2400 emulation
2600BS-901-01 Rev. C / August 2016 G-5
Digital I/O mapping
The Models 2604B, 2614B, and 2634B do not have digital input/output lines.
When in Model 2400 emulation mode, digital I/O lines 1 through 9 are used to emulate different
Model 2400 lines through the digital I/O port (see Digital I/O port (on page 3-82)). The following table
shows the mapping.
Model 2400 line DB-25 connector pin
TLink1
1
TLink2
2
TLink3
3
TLink4
4
Digital output 1 5
Digital output 2 6
Digital output 3 7
Digital output 4 (or EOT, /EOT, BUSY, /BUSY) 8
SOT
9
Ground
15-21*
+5 V
22*
+5 V
23*
Output enable (OE) or Interlock (INT)**
24*
+5 V
25*
* Same as Series 2600B.
** See Port configuration for information on pin 24.
Appendix
G: Model 2400 emulation Series 2600B System SourceMeter® Instrument
Reference Manual
G-6 2600BS-901-01 Rev. C / August 2016
Model 2400 SCPI command support
The following table provides a listing of Model 2400 commands and emulation support for the Series
2600B. In the supported column: Yes indicates the command is fully supported; No indicates the
command is not supported; Partially indicates the command is supported, but with stipulations as
noted in Model 2400 SCPI command compatibility (on page G-15).
Subsystem
Command
Supported
:CALCulate
:CALCulate[1]:DATA:LATest?
Yes
:CALCulate
:CALCulate[1]:DATA?
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession]
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession]?
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession]:CATalog?
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession][:DEFine] <form>
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession][:DEFine]?
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession]:DELete:ALL
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession]:DELete[:SELected] <SPD>
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession]:NAME <SPD>
Yes
:CALCulate
:CALCulate[1]:MATH[:EXPRession]:NAME?
Yes
:CALCulate
:CALCulate[1]:MATH:UNITs <name>
Yes
:CALCulate
:CALCulate[1]:MATH:UNITs?
Yes
:CALCulate
:CALCulate[1]:STATe <Bool>
Yes
:CALCulate
:CALCulate[1]:STATe?
Yes
:CALCulate
:CALCulate2:CLIMits:BCONtrol IMMediate|END
Yes
:CALCulate
:CALCulate2:CLIMits:BCONtrol?
Yes
:CALCulate
:CALCulate2:CLIMits:CLEar:AUTO <Bool>
Yes
:CALCulate
:CALCulate2:CLIMits:CLEar:AUTO?
Yes
:CALCulate
:CALCulate2:CLIMits:CLEar[:IMMediate]
Yes
:CALCulate
:CALCulate2:CLIMits:FAIL:SMLocation <NRf>|NEXT
Yes
:CALCulate
:CALCulate2:CLIMits:FAIL:SMLocation?
Yes
:CALCulate
:CALCulate2:CLIMits:FAIL:SOURce2 <NRf>|<NDN>
Yes
:CALCulate
:CALCulate2:CLIMits:FAIL:SOURce2?
Yes
:CALCulate
:CALCulate2:CLIMits:MODE GRADing|SORTing
Yes
:CALCulate
:CALCulate2:CLIMits:MODE?
Yes
:CALCulate
:CALCulate2:CLIMits:PASS:SMLocation <NRf>|NEXT
Yes
:CALCulate
:CALCulate2:CLIMits:PASS:SMLocation?
Yes
:CALCulate
:CALCulate2:CLIMits:PASS:SOURce2 <NRf>|<NDN>
Yes
:CALCulate
:CALCulate2:CLIMits:PASS:SOURce2?
Yes
:CALCulate
:CALCulate2:DATA?
Yes
:CALCulate
:CALCulate2:DATA:LATest?
Yes
:CALCulate
:CALCulate2:FEED CALCulate[1]|VOLTage|CURRent|RESistance
Yes
:CALCulate
:CALCulate2:FEED?
Yes
:CALCulate
:CALCulate2:LIMit[1]:COMPliance:FAIL IN|OUT
Yes
:CALCulate
:CALCulate2:LIMit[1]:COMPliance:FAIL?
Yes
:CALCulate
:CALCulate2:LIMit[1]:COMPliance:SOURce2 <NRf>|<NDN>
Yes
:CALCulate
:CALCulate2:LIMit[1]:COMPliance:SOURce2?
Yes
:CALCulate
:CALCulate2:LIMit[1]:FAIL?
Yes
:CALCulate
:CALCulate2:LIMit[1]:STATe <Bool>
Yes
:CALCulate
:CALCulate2:LIMit[1]:STATe?
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:FAIL?
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:LOWer[:DATA] <NRf>
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:LOWer[:DATA]? [DEFault|MINimum|MAXimum]
Yes
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix G:
Model 2400 emulation
2600BS-901-01 Rev. C / August 2016 G-7
Subsystem
Command
Supported
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:LOWer:SOURce2 <NRf>|<NDN>
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:LOWer:SOURce2?
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:PASS:SOURce2 <NRf>|<NDN>
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:PASS:SOURce2?
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:STATe <Bool>
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:STATe?
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:UPPer[:DATA] <NRf>|DEFault|MINimum|MAXimum
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:UPPer[:DATA]? [DEFault|MINimum|MAXimum]
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:UPPer:SOURce2 <NRf>|<NDN>
Yes
:CALCulate
:CALCulate2:LIMit[2|3|5-12]:UPPer:SOURce2?
Yes
:CALCulate
:CALCulate2:LIMit4:FAIL?
No
:CALCulate
:CALCulate2:LIMit4:SOURce2 <NRf>
No
:CALCulate
:CALCulate2:LIMit4:SOURce2?
No
:CALCulate
:CALCulate2:LIMit4:STATe <Bool>
No
:CALCulate
:CALCulate2:LIMit4:STATe?
No
:CALCulate
:CALCulate2:NULL:ACQuire
Partially
:CALCulate
:CALCulate2:NULL:OFFSet <NRf>|DEFault|MINimum|MAXimum
Yes
:CALCulate
:CALCulate2:NULL:OFFSet? [DEFault|MINimum|MAXimum]
Yes
:CALCulate
:CALCulate2:NULL:STATe <Bool>
Yes
:CALCulate
:CALCulate2:NULL:STATe?
Yes
:CALCulate
:CALCulate3:DATA?
Yes
:CALCulate
:CALCulate3:FORMat MEAN|SDEViation|MAXimum|MINimum|PKPK
Yes
:CALCulate
:CALCulate3:FORMat?
Yes
:DISPlay
:DISPlay:CNDisplay
Yes
:DISPlay
:DISPlay:DIGits 4|5|6|7|DEFault|MINimum|MAXimum
Partially
:DISPlay
:DISPlay:DIGits? [DEFault|MINimum|MAXimum]
Partially
:DISPlay
:DISPlay:ENABle <Bool>
Partially
:DISPlay
:DISPlay:ENABle?
Yes
:DISPlay
:DISPlay[:WINDow[1]]:ATTRibutes?
Partially
:DISPlay
:DISPlay[:WINDow[1]]:DATA?
Yes
:DISPlay
:DISPlay[:WINDow[1]]:TEXT:DATA <SPD>
Yes
:DISPlay
:DISPlay[:WINDow[1]]:TEXT:DATA?
Yes
:DISPlay
:DISPlay[:WINDow[1]]:TEXT:STATe <Bool>
Partially
:DISPlay
:DISPlay[:WINDow[1]]:TEXT:STATe?
Yes
:DISPlay
:DISPlay:WINDow2:ATTRibutes?
Partially
:DISPlay
:DISPlay:WINDow2:DATA?
Yes
:DISPlay
:DISPlay:WINDow2:TEXT:DATA <SPD>
Yes
:DISPlay
:DISPlay:WINDow2:TEXT:DATA?
Yes
:DISPlay
:DISPlay:WINDow2:TEXT:STATe <Bool>
Partial
:DISPlay
:DISPlay:WINDow2:TEXT:STATe?
Yes
:FORMat
:FORMat:BORDer NORMal|SWAPped
Yes
:FORMat
:FORMat:BORDer?
Yes
:FORMat
:FORMat[:DATA] ASCii|REAL|SREal[,<NRf>]
Yes
:FORMat
:FORMat[:DATA]?
Yes
:FORMat
:FORMat:ELEMents:CALCulate CALC|TIME|STATus
Yes
:FORMat
:FORMat:ELEMents:CALCulate?
Yes
:FORMat
:FORMat:ELEMents[:SENSe[1]] VOLTage|CURRent|RESistance|TIME|STATus
Yes
:FORMat
:FORMat:ELEMents[:SENSe[1]]?
Yes
:FORMat
:FORMat:SOURce2 ASCii|HEXadecimal|OCTal|BINary
Yes
:FORMat
:FORMat:SOURce2?
Yes
:FORMat
:FORMat:SREGister ASCii|HEXadecimal|OCTal|BINary
Yes
Appendix
G: Model 2400 emulation Series 2600B System SourceMeter® Instrument
Reference Manual
G-8 2600BS-901-01 Rev. C / August 2016
Subsystem
Command
Supported
:FORMat
:FORMat:SREGister?
Yes
:MEASure
:CONFigure?
Yes
:MEASure
:CONFigure:CURRent[:DC]
Yes
:MEASure
:CONFigure:RESistance
Yes
:MEASure
:CONFigure:VOLTage[:DC]
Yes
:MEASure
:FETCh?
Yes
:MEASure
:MEASure?
Yes
:MEASure
:MEASure:CURRent[:DC]?
Yes
:MEASure
:MEASure:RESistance?
Yes
:MEASure
:MEASure:VOLTage[:DC]?
Yes
:OUTPut
:OUTPut[1]:ENABle:STATe <Bool>
Yes
:OUTPut
:OUTPut[1]:ENABle:STATe?
Yes
:OUTPut
:OUTPut[1]:ENABle:TRIPped?
Yes
:OUTPut
:OUTPut[1]:SMODe HIMPedance|NORMal|ZERO|GUARd
Yes
:OUTPut
:OUTPut[1]:SMODe?
Yes
:OUTPut
:OUTPut[1][:STATe] <Bool>
Yes
:OUTPut
:OUTPut[1][:STATe]?
Yes
:ROUte
:ROUTe:TERMinals FRONt|REAR
Partially
:ROUte
:ROUTe:TERMinals?
Partially
:SENSe[1]
[:SENSe[1]]:AVERage:COUNt <NRf>|DEFault|MINimum|MAXimum
Yes
:SENSe[1]
[:SENSe[1]]:AVERage:COUNt? [DEFault|MINimum|MAXimum]
Yes
:SENSe[1]
[:SENSe[1]]:AVERage[:STATe] <Bool>
Yes
:SENSe[1]
[:SENSe[1]]:AVERage[:STATe]?
Yes
:SENSe[1]
[:SENSe[1]]:AVERage:TCONtrol REPeat|MOVing
Yes
:SENSe[1]
[:SENSe[1]]:AVERage:TCONtrol?
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:NPLCycles <NRf>|DEFault|MINimum|MAXimum
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:NPLCycles? [DEFault|MINimum|MAXimum]
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:PROTection[:LEVel]
<NRf>|DEFault|MINimum|MAXimum
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:PROTection[:LEVel]?
DEFault|MINimum|MAXimum
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:PROTection:RSYNchronize <Bool>
Partially
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:PROTection:RSYNchronize?
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:PROTection:TRIPped?
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:RANGe:AUTO <Bool>
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:RANGe:AUTO?
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:RANGe:AUTO:LLIMit <NRf>
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:RANGe:AUTO:LLIMit?
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:RANGe:AUTO:ULIMit?
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:RANGe[:UPPer]
<NRf>|DEFault|MINimum|MAXimum|UP|DOWN
Yes
:SENSe[1]
[:SENSe[1]]:CURRent[:DC]:RANGe[:UPPer]?
[DEFault|MINimum|MAXimum]
Yes
:SENSe[1]
[:SENSe[1]]:DATA[:LATest]?
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion:CONCurrent <Bool>
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion:CONCurrent?
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion:OFF "CURRent[:DC]"|"VOLTage[:DC]"|"RESistance",...
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion:OFF?
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion:OFF:ALL
Partially
:SENSe[1]
[:SENSe[1]]:FUNCtion:OFF:COUNt?
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion[:ON] "CURRent[:DC]"|"VOLTage[:DC]"|"RESistance",...
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion[:ON]?
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion[:ON]:ALL
Yes
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix G:
Model 2400 emulation
2600BS-901-01 Rev. C / August 2016 G-9
Subsystem
Command
Supported
:SENSe[1]
[:SENSe[1]]:FUNCtion[:ON]:COUNt?
Yes
:SENSe[1]
[:SENSe[1]]:FUNCtion:STATe? "CURRent[:DC]"|"VOLTage[:DC]"|"RESistance"
Yes
:SENSe[1]
[:SENSe[1]]:RESistance:MODE MANual|AUTO
Partially
:SENSe[1]
[:SENSe[1]]:RESistance:MODE?
Yes
:SENSe[1]
[:SENSe[1]]:RESistance:NPLCycles <NRf>|DEFault|MINimum|MAXimum
Yes
:SENSe[1]
[:SENSe[1]]:RESistance:NPLCycles? [DEFault|MINimum|MAXimum]
Yes
:SENSe[1]
[:SENSe[1]]:RESistance:OCOMpensated <Bool>
No
:SENSe[1]
[:SENSe[1]]:RESistance:OCOMpensated?
No
:SENSe[1]
[:SENSe[1]]:RESistance:RANGe:AUTO <Bool>
Partially
:SENSe[1]
[:SENSe[1]]:RESistance:RANGe:AUTO?
No
:SENSe[1]
[:SENSe[1]]:RESistance:RANGe:AUTO:LLIMit <NRf>
No
:SENSe[1]
[:SENSe[1]]:RESistance:RANGe:AUTO:LLIMit?
No
:SENSe[1]
[:SENSe[1]]:RESistance:RANGe:AUTO:ULIMit <NRf>
No
:SENSe[1]
[:SENSe[1]]:RESistance:RANGe:AUTO:ULIMit?
No
:SENSe[1]
[:SENSe[1]]:RESistance:RANGe[:UPPer]
<NRf>|DEFault|MINimum|MAXimum|UP|DOWN
Yes
:SENSe[1]
[:SENSe[1]]:RESistance:RANGe[:UPPer]? [DEFault|MINimum|MAXimum]
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:NPLCycles <NRf>|DEFault|MINimum|MAXimum
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:NPLCycles? [DEFault|MINimum|MAXimum]
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:PROTection[:LEVel]
<NRf>|DEFault|MINimum|MAXimum
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:PROTection[:LEVel]? [DEFault|MINimum|MAXimum]
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:PROTection:RSYNchronize <Bool>
Partially
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:PROTection:RSYNchronize?
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:PROTection:TRIPped?
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:RANGe:AUTO <Bool>
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:RANGe:AUTO?
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:RANGe:AUTO:LLIMit <NRf>
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:RANGe:AUTO:LLIMit?
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:RANGe:AUTO:ULIMit?
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:RANGe[:UPPer]
<NRf>|DEFault|MINimum|MAXimum|UP|DOWN
Yes
:SENSe[1]
[:SENSe[1]]:VOLTage[:DC]:RANGe[:UPPer]? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:CLEar:AUTO <Bool>
Yes
:SOURce
:SOURce[1]:CLEar:AUTO?
Yes
:SOURce
:SOURce[1]:CLEar:AUTO:MODE ALWays|TCOunt
Partially
:SOURce
:SOURce[1]:CLEar:AUTO:MODE?
Yes
:SOURce
:SOURce[1]:CLEar[:IMMediate]
Yes
:SOURce
:SOURce[1]:CURRent:CENTer <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:CURRent:CENTer? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:CURRent[:LEVel][:IMMediate][:AMPLitude]
<NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:CURRent[:LEVel][:IMMediate][:AMPLitude]?
[DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:CURRent[:LEVel]:TRIGgered[:AMPLitude]
<NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:CURRent[:LEVel]:TRIGgered[:AMPLitude]?
[DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:CURRent[:LEVel]:TRIGgered:SFACtor <NRf>
Yes
:SOURce
:SOURce[1]:CURRent[:LEVel]:TRIGgered:SFACtor?
Yes
:SOURce
:SOURce[1]:CURRent[:LEVel]:TRIGgered:SFACtor:STATe <Bool>
Yes
:SOURce
:SOURce[1]:CURRent[:LEVel]:TRIGgered:SFACtor:STATe?
Yes
:SOURce
:SOURce[1]:CURRent:MODE FIXed|LIST|SWEep
Yes
Appendix
G: Model 2400 emulation Series 2600B System SourceMeter® Instrument
Reference Manual
G-10 2600BS-901-01 Rev. C / August 2016
Subsystem
Command
Supported
:SOURce
:SOURce[1]:CURRent:MODE?
Yes
:SOURce
:SOURce[1]:CURRent:RANGe <NRf>|DEFault|MINimum|MAXimum|UP|DOWN
Yes
:SOURce
:SOURce[1]:CURRent:RANGe? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:CURRent:RANGe:AUTO <Bool>
Yes
:SOURce
:SOURce[1]:CURRent:RANGe:AUTO?
Yes
:SOURce
:SOURce[1]:CURRent:SPAN <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:CURRent:SPAN? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:CURRent:STARt <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:CURRent:STARt? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:CURRent:STEP <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:CURRent:STEP? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:CURRent:STOP <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:CURRent:STOP? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:DELay <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:DELay? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:DELay:AUTO <Bool>
Partially
:SOURce
:SOURce[1]:DELay:AUTO?
Yes
:SOURce
:SOURce[1]:FUNCtion[:MODE] VOLTage|CURRent|MEMory
Yes
:SOURce
:SOURce[1]:FUNCtion[:MODE]?
Yes
:SOURce
:SOURce[1]:FUNCtion:SHAPe DC|PULSe
Partially
:SOURce
:SOURce[1]:FUNCtion:SHAPe?
Yes
:SOURce
:SOURce[1]:LIST:CURRent <NRf list>
Yes
:SOURce
:SOURce[1]:LIST:CURRent?
Yes
:SOURce
:SOURce[1]:LIST:CURRent:APPend <NRf list>
Yes
:SOURce
:SOURce[1]:LIST:CURRent:POINts?
Yes
:SOURce
:SOURce[1]:LIST:CURRent:STARt <NRf>
Yes
:SOURce
:SOURce[1]:LIST:CURRent:STARt?
Yes
:SOURce
:SOURce[1]:LIST:VOLTage <NRf list>
Yes
:SOURce
:SOURce[1]:LIST:VOLTage?
Yes
:SOURce
:SOURce[1]:LIST:VOLTage:APPend <NRf list>
Yes
:SOURce
:SOURce[1]:LIST:VOLTage:POINts?
Yes
:SOURce
:SOURce[1]:LIST:VOLTage:STARt <NRf>
Yes
:SOURce
:SOURce[1]:LIST:VOLTage:STARt?
Yes
:SOURce
:SOURce[1]:MEMory:POINts <NRf>
Yes
:SOURce
:SOURce[1]:MEMory:POINts?
Yes
:SOURce
:SOURce[1]:MEMory:RECall <NRf>
Yes
:SOURce
:SOURce[1]:MEMory:SAVE <NRf>
Yes
:SOURce
:SOURce[1]:MEMory:STARt <NRf>
Yes
:SOURce
:SOURce[1]:MEMory:STARt?
Yes
:SOURce
:SOURce[1]:PULSe:DELay <NRf>
Yes
:SOURce
:SOURce[1]:PULSe:DELay?
Yes
:SOURce
:SOURce[1]:PULSe:WIDTh <NRf>
Yes
:SOURce
:SOURce[1]:PULSe:WIDTh?
Yes
:SOURce
:SOURce[1]:SOAK <NRf>
No
:SOURce
:SOURce[1]:SOAK?
Partially
:SOURce
:SOURce[1]:SWEep:CABort <name>
No
:SOURce
:SOURce[1]:SWEep:CABort?
No
:SOURce
:SOURce[1]:SWEep:DIRection UP|DOWN
Yes
:SOURce
:SOURce[1]:SWEep:DIRection?
Yes
:SOURce
:SOURce[1]:SWEep:POINts <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:SWEep:POINts? [DEFault|MINimum|MAXimum]
Yes
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix G:
Model 2400 emulation
2600BS-901-01 Rev. C / August 2016 G-11
Subsystem
Command
Supported
:SOURce
:SOURce[1]:SWEep:RANGing BEST|AUTO|FIXed
Partially
:SOURce
:SOURce[1]:SWEep:RANGing?
Yes
:SOURce
:SOURce[1]:SWEep:SPACing LINear|LOGarithmic
Yes
:SOURce
:SOURce[1]:SWEep:SPACing?
Yes
:SOURce
:SOURce[1]:VOLTage:CENTer <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:VOLTage:CENTer? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:VOLTage[:LEVel][:IMMediate][:AMPLitude]
<NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:VOLTage[:LEVel][:IMMediate][:AMPLitude]?
[DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:VOLTage[:LEVel]:TRIGgered[:AMPLitude]
<NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:VOLTage[:LEVel]:TRIGgered[:AMPLitude]?
[DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:VOLTage[:LEVel]:TRIGgered:SFACtor <NRf>
Yes
:SOURce
:SOURce[1]:VOLTage[:LEVel]:TRIGgered:SFACtor?
Yes
:SOURce
:SOURce[1]:VOLTage[:LEVel]:TRIGgered:SFACtor:STATe <Bool>
Yes
:SOURce
:SOURce[1]:VOLTage[:LEVel]:TRIGgered:SFACtor:STATe?
Yes
:SOURce
:SOURce[1]:VOLTage:MODE FIXed|LIST|SWEep
Yes
:SOURce
:SOURce[1]:VOLTage:MODE?
Yes
:SOURce
:SOURce[1]:VOLTage:PROTection[:LEVel] <NRf>|NONE|DEFault|MINimum|MAXimum
No
:SOURce
:SOURce[1]:VOLTage:PROTection[:LEVel]? [DEFault|MINimum|MAXimum]
No
:SOURce
:SOURce[1]:VOLTage:PROTection:TRIPped?
No
:SOURce
:SOURce[1]:VOLTage:RANGe <NRf>|DEFault|MINimum|MAXimum|UP|DOWN
Yes
:SOURce
:SOURce[1]:VOLTage:RANGe? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:VOLTage:RANGe:AUTO <Bool>
Yes
:SOURce
:SOURce[1]:VOLTage:RANGe:AUTO?
Yes
:SOURce
:SOURce[1]:VOLTage:SPAN <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:VOLTage:SPAN? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:VOLTage:STARt <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:VOLTage:STARt? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:VOLTage:STEP <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:VOLTage:STEP? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce[1]:VOLTage:STOP <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce[1]:VOLTage:STOP? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce2:BSIZe 3|4
Partially
:SOURce
:SOURce2:BSIZe?
Yes
:SOURce
:SOURce2:CLEar:AUTO <Bool>
Yes
:SOURce
:SOURce2:CLEar:AUTO?
Yes
:SOURce
:SOURce2:CLEar:AUTO:DELay <NRf>|DEFault|MINimum|MAXimum
Yes
:SOURce
:SOURce2:CLEar:AUTO:DELay? [DEFault|MINimum|MAXimum]
Yes
:SOURce
:SOURce2:CLEar[:IMMEdiate]
Yes
:SOURce
:SOURce2:TTL[:LEVel]:ACTual?
Yes
:SOURce
:SOURce2:TTL[:LEVel][:DEFault] <NDN>|<NRf>
Yes
:SOURce
:SOURce2:TTL[:LEVel][:DEFault]?
Yes
:SOURce
:SOURce2:TTL4:BSTate <Bool>
Yes
:SOURce
:SOURce2:TTL4:BSTate?
Yes
:SOURce
:SOURce2:TTL4:MODE EOTest|BUSY
Yes
:SOURce
:SOURce2:TTL4:MODE?
Yes
:STATus
:STATus:MEASurement:CONDition?
Yes
:STATus
:STATus:MEASurement:ENABle <NDN>|<NRf>
Yes
:STATus
:STATus:MEASurement:ENABle?
Yes
:STATus
:STATus:MEASurement[:EVENt]?
Yes
Appendix
G: Model 2400 emulation Series 2600B System SourceMeter® Instrument
Reference Manual
G-12 2600BS-901-01 Rev. C / August 2016
Subsystem
Command
Supported
:STATus
:STATus:OPERation:CONDition?
Yes
:STATus
:STATus:OPERation:ENABle <NDN>|<NRf>
Yes
:STATus
:STATus:OPERation:ENABle?
Yes
:STATus
:STATus:OPERation[:EVENt]?
Yes
:STATus
:STATus:PRESet
Yes
:STATus
:STATus:QUEStionable:CONDition?
Yes
:STATus
:STATus:QUEStionable:ENABle <NDN>|<NRf>
Yes
:STATus
:STATus:QUEStionable:ENABle?
Yes
:STATus
:STATus:QUEStionable[:EVENt]?
Yes
:STATus
:STATus:QUEue:CLEar
Yes
:STATus
:STATus:QUEue:DISable <list>
Yes
:STATus
:STATus:QUEue:DISable?
Yes
:STATus
:STATus:QUEue:ENABle <list>
Yes
:STATus
:STATus:QUEue:ENABle?
Yes
:STATus
:STATus:QUEue[:NEXT]?
Yes
:SYSTem
:SYSTem:AZERo:CACHing:NPLCycles?
Partially
:SYSTem
:SYSTem:AZERo:CACHing:REFResh
Partially
:SYSTem
:SYSTem:AZERo:CACHing:RESet
Partially
:SYSTem
:SYSTem:AZERo:CACHing[:STATe] <Bool>
Partially
:SYSTem
:SYSTem:AZERo:CACHing[:STATe]?
Partially
:SYSTem
:SYSTem:AZERo[:STATe] <Bool>
Partially
:SYSTem
:SYSTem:AZERo[:STATe]?
Yes
:SYSTem
:SYSTem:BEEPer[:IMMediate] <NRf>,<NRf>
Yes
:SYSTem
:SYSTem:BEEPer:STATe <Bool>
Yes
:SYSTem
:SYSTem:BEEPer:STATe?
Yes
:SYSTem
:SYSTem:CCHeck ON|OFF
No
:SYSTem
:SYSTem:CCHeck?
No
:SYSTem
:SYSTem:CCHeck:RESistance <NRf>
No
:SYSTem
:SYSTem:CCHeck:RESistance?
No
:SYSTem
:SYSTem:CLEar
Yes
:SYSTem
:SYSTem:ERRor:ALL?
Yes
:SYSTem
:SYSTem:ERRor:CODE:ALL?
Yes
:SYSTem
:SYSTem:ERRor:CODE[:NEXT]?
Yes
:SYSTem
:SYSTem:ERRor:COUNt?
Yes
:SYSTem
:SYSTem:ERRor[:NEXT]?
Yes
:SYSTem
:SYSTem:GUARd OHMS|CABLe
No
:SYSTem
:SYSTem:GUARd?
No
:SYSTem
:SYSTem:KEY <NRf>
No
:SYSTem
:SYSTem:KEY?
No
:SYSTem
:SYSTem:LFRequency 50|60
Yes
:SYSTem
:SYSTem:LFRequency?
Yes
:SYSTem
:SYSTem:LFRequency:AUTO <Bool>
Yes
:SYSTem
:SYSTem:LFRequency:AUTO?
Yes
:SYSTem
:SYSTem:LOCal
No
:SYSTem
:SYSTem:MEMory:INITialize
Yes
:SYSTem
:SYSTem:MEP:HOLDoff
No
:SYSTem
:SYSTem:MEP:HOLDoff?
No
:SYSTem
:SYSTem:MEP[:STATe]?
Yes
:SYSTem
:SYSTem:POSetup RST|PRESet|SAV0|SAV1|SAV2|SAV3|SAV4
Partially
:SYSTem
:SYSTem:POSetup?
Yes
:SYSTem
:SYSTem:PRESet
Yes
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix G:
Model 2400 emulation
2600BS-901-01 Rev. C / August 2016 G-13
Subsystem
Command
Supported
:SYSTem
:SYSTem:RCMode SINGle|MULTiple
No
:SYSTem
:SYSTem:RCMode?
No
:SYSTem
:SYSTem:RSENse <Bool>
Yes
:SYSTem
:SYSTem:RSENse?
Yes
:SYSTem
:SYSTem:RWLock <Bool>
Yes
:SYSTem
:SYSTem:RWLock?
Yes
:SYSTem
:SYSTem:TIME?
Yes
:SYSTem
:SYSTem:TIME:RESet
Yes
:SYSTem
:SYSTem:TIME:RESet:AUTO <Bool>
Yes
:SYSTem
:SYSTem:TIME:RESet:AUTO?
Yes
:SYSTem
:SYSTem:VERSion?
Yes
:TRACe
:TRACe:CLEar
Yes
:TRACe
:TRACe:DATA?
Yes
:TRACe
:TRACe:FEED SENSe[1]|CALCulate[1]|CALCulate2
Yes
:TRACe
:TRACe:FEED?
Yes
:TRACe
:TRACe:FEED:CONTrol NEXT|NEVer
Yes
:TRACe
:TRACe:FEED:CONTrol?
Yes
:TRACe
:TRACe:FREE?
Yes
:TRACe
:TRACe:POINts <NRf>|DEFault|MINimum|MAXimum
Yes
:TRACe
:TRACe:POINts? [DEFault|MINimum|MAXimum]
Yes
:TRACe
:TRACe:POINts:ACTual?
Yes
:TRACe
:TRACe:TSTamp:FORMat ABSolute|DELTa
Yes
:TRACe
:TRACe:TSTamp:FORMat?
Yes
:TRIGger
:ABORt
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]]:COUNt <NRf>|DEFault|MINimum|MAXimum
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]]:COUNt?
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]]:SOURce
IMMediate|TLINk|TIMer|MANual|BUS|NSTest|PSTest|BSTest
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]]:SOURce?
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure][:ASYNchronous]:ILINe 1|2|3|4
Partially
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure][:ASYNchronous]:ILINe?
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure][:ASYNchronous]:OLINe 1|2|3|4
Partially
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure][:ASYNchronous]:OLINe?
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure][:ASYNchronous]:OUTPut
TENTer|TEXit|NONE
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure][:ASYNchronous]:OUTPut?
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure]:DIRection SOURce|ACCeptor
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure]:DIRection?
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]]:TIMer <NRf>
Yes
:TRIGger
:ARM[:SEQuence[1]][:LAYer[1]]:TIMer?
Yes
:TRIGger
:INITiate[:IMMediate]
Yes
:TRIGger
:READ?
Yes
:TRIGger
:TRIGger:CLEAr
Yes
:TRIGger
:TRIGger[:SEQuence[1]]:COUNt <NRf>|DEFault|MINimum|MAXimum
Yes
:TRIGger
:TRIGger[:SEQuence[1]]:COUNt? [DEFault|MINimum|MAXimum]
Yes
:TRIGger
:TRIGger[:SEQuence[1]]:DELay <NRf>|DEFault|MINimum|MAXimum
Yes
:TRIGger
:TRIGger[:SEQuence[1]]:DELay? [DEFault|MINimum|MAXimum]
Yes
:TRIGger
:TRIGger[:SEQuence[1]]:SOURce IMMediate|TLINk
Yes
:TRIGger
:TRIGger[:SEQuence[1]]:SOURce?
Yes
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:ILINe 1|2|3|4
Partially
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:ILINe?
Yes
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:INPut
Partially
Appendix
G: Model 2400 emulation Series 2600B System SourceMeter® Instrument
Reference Manual
G-14 2600BS-901-01 Rev. C / August 2016
Subsystem
Command
Supported
SOURce|DELay|SENSe|NONE
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:INPut?
Yes
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:OLINe 1|2|3|4
Partially
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:OLINe?
Yes
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:OUTPut
SOURce|DELay|SENSe|NONE
Yes
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:OUTPut?
Yes
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure]:DIRection SOURce|ACCeptor
Yes
:TRIGger
:TRIGger[:SEQuence[1]][:TCONfigure]:DIRection?
Yes
:TRIGger
:TRIGger:SEQuence2:SOURce <name>
No
:TRIGger
:TRIGger:SEQuence2:SOURce?
No
:TRIGger
:TRIGger:SEQuence2:TOUT <NRf>|DEFault|MINimum|MAXimum
No
:TRIGger
:TRIGger:SEQuence2:TOUT? [DEFault|MINimum|MAXimum]
No
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix G:
Model 2400 emulation
2600BS-901-01 Rev. C / August 2016 G-15
Model 2400 SCPI command compatibility
The following tables lists all the Model 2400 SCPI commands that are not fully supported by the
Model 2400 personality script (Persona2400) and each command's specific compatibility details.
:CALCulate subsystem
:CALCulate2:NULL:ACQuire
Each time the personality script is run, the null offset value will be reset to zero (0). Until a measurement is taken, this
command will use a zero (0) for the null offset value. After a measurement is taken, this command will use latest
measurement to set the null offset value (the same way as a Model 2400).
:DISPlay subsystem
:DISPlay:DIGits 4|5|6|7|DEFault|MINimum|MAXimum
When 3.5 digits or MINimum is requested, the instrument will set the resolution to 4.5 digits.
:DISPlay:DIGits? [DEFault|MINimum|MAXimum]
When queried for the MINimum, the instrument returns 5.
:DISPlay:ENABle <Bool>
The Series 2600B performance is not degraded by display operation. The instrument will accept the command but no
action is performed.
:DISPlay:WINDow2:ATTRibutes?
The instrument always returns 32 zeros.
:DISPlay:WINDow2:TEXT:STATe <Bool>
Changing this setting also changes the
:DISPlay[:WINDow[1]]:TEXT:STATe
setting to the same value.
DISPlay[:WINDow[1]]:ATTRibutes?
The instrument always returns 20 zeros.
DISPlay[:WINDow[1]]:TEXT:STATe <Bool>
Changing this setting also changes the
:DISPlay:WINDow2:TEXT:STATe
setting to the same value.
:ROUte subsystem
:ROUTe:TERMinals FRONt|REAR
The instrument will accept the command and ignore it.
:ROUTe:TERMinals?
The instrument will always return REAR.
Appendix
G: Model 2400 emulation Series 2600B System SourceMeter® Instrument
Reference Manual
G-16 2600BS-901-01 Rev. C / August 2016
:SENSe[1] subsystem
[:SENSe[1]]:CURRent[:DC]:PROTection:RSYNchronize <Bool>
The measurement range will only track the limit range when the output is on.
[:SENSe[1]]:FUNCtion:OFF:ALL
Reading are not taken when all the functions are turned off.
[:SENSe[1]]:RESistance:MODE MANual|AUTO
Only MANual is supported. The instrument will generate an error if AUTO is selected.
[:SENSe[1]]:RESistance:RANGe:AUTO <Bool>
The instrument will ignore this command. Resistance auto range is always OFF.
[:SENSe[1]]:VOLTage[:DC]:PROTection:RSYNchronize <Bool>
The measurement range will only track the limit range when the output is on.
:SOURce subsystem
:SOURce[1]:CLEar:AUTO:MODE ALWays|TCOunt
Only ALWays is supported. The instrument will generate an error if TCOunt is selected.
:SOURce[1]:DELay:AUTO <Bool>
This setting is not supported with source memory sweeps. Source memory sweeps will not use automatic delays.
:SOURce[1]:FUNCtion:SHAPe DC|PULSe
This setting is not supported with source memory sweeps. Source memory sweeps will always use DC.
:SOURce[1]:SOAK?
Always returns 0.
:SOURce[1]:SWEep:RANGing BEST|AUTO|FIXed
When this setting is set to AUTO, a sweep will leave the corresponding source ranging set to AUTO. This is done
each time the sweep is run.
:SOURce2:BSIZe 3|4
The 2499-DIGIO option is not supported. (16-bit size is not supported.)
Series 2600B
System SourceMeter® Instrument Reference Manual Appendix G:
Model 2400 emulation
2600BS-901-01 Rev. C / August 2016 G-17
:SYSTem subsystem
:SYSTem:AZERo:CACHing:NPLCycles?
Always returns 0.
:SYSTem:AZERo:CACHing:REFResh
This command is accepted and ignored. Causes no action or response.
:SYSTem:AZERo:CACHing:RESet
This command is accepted and ignored. Causes no action or response.
:SYSTem:AZERo:CACHing[:STATe] <Bool>
This command is accepted and ignored. The setting is always ON.
:SYSTem:AZERo:CACHing[:STATe]?
Always returns 1.
:SYSTem:AZERo[:STATe] <Bool>
When AZERO state is set to ON, reference and zero measurements will be automatically taken when they are out of
date. If this happens, the time to take a measurement will increase. This can cause sweep timing to be irregular when
compared to a Model 2400 as the Model 2400 takes longer on every measurement.
:SYSTem:POSetup RST|PRESet|SAV0|SAV1|SAV2|SAV3|SAV4
SYSTem:POSetup command is accepted but has no effect, *SAV and *RCL are not supported.
:TRIGger subsystem
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure][:ASYNchronous]:ILINe 1|2|3|4
The instrument will not allow the same TLink line to be used for an input trigger and an output trigger simultaneously.
Also, it will not allow the same TLink line to be used as an input trigger for both the arm and trigger layer
simultaneously. The instrument will generate an error when attempting to leave the idle layer if these conditions are
violated. The reset default for the arm layer input line (
ARM:ILINe
) is 1.
:ARM[:SEQuence[1]][:LAYer[1]][:TCONfigure][:ASYNchronous]:OLINe 1|2|3|4
The instrument will not allow the same TLink line to be used for an input trigger and an output trigger simultaneously.
The instrument will generate an error when attempting to leave the idle layer if this condition is violated. The reset
default value for the arm layer output line (ARM:OLINe) is 3.
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:ILINe 1|2|3|4
The instrument will not allow the same TLink line to be used for an input trigger and an output trigger simultaneously
nor will it allow the same TLink line to be used as an input trigger for both the arm and trigger layer simultaneously.
The instrument will generate an error when attempting leave the idle layer if these conditions are violated. The reset
default for the trigger layer input line (
TRIGger:ILINe
) is 2.
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:INPut SOURce|DELay|SENSe|NONE
Only one of these options may be selected at a time.
:TRIGger[:SEQuence[1]][:TCONfigure][:ASYNchronous]:OLINe 1|2|3|4
The instrument will not allow the same TLink line to be used for an input trigger and an output trigger simultaneously.
The instrument will generate an error when attempting to leave the idle layer if this condition is violated. The reset
default for the trigger layer output line (
TRIGger:OLINe
) is 4.
A
analog-to-digital converter • 2-31, 2-87, 4-1
anonymous script • 6-5
arrays • 6-24
attribute • 5-2
assigning a value to • 5-2
reading • 5-2
autoexec script • 6-7
autorun scripts • 6-6
autozero • 2-32
front panel • 2-32
NPLC caching • 2-33
B
base library functions • 6-25
beeper • 5-3, 7-9
bit • 5-3
bit functions • 7-9, 7-10, 7-11, 7-12, 7-13, 7-14, 7-15,
7-16, 7-66
buffer • 5-11
n (number of readings) • 7-27
C
calibration
commands (quick reference) • B-24
considerations • B-19
equipment • B-20
procedure • B-25
capabilities, source-measure • 2-25
Customer documentation 1-2
circuit configurations • 2-31, 4-21
contact check • 4-23
measure only (V or I) • 4-22
source I • 4-21
source V • 4-20
clear • 7-66, 7-399
command
device control • 6-61
queries • 5-2
reference • 7-1
compliance limits • 2-28
conditional branching • 6-18
connecting multiple instruments
TSP-Link • 6-47, 6-48
contact check • 4-23
programming example • 2-46
contact information • 1-1
continuous power operating boundaries • 4-6
current
measurement accuracy • B-12
source accuracy • B-7
cursor • 7-68
D
data store
overview • 3-6
programming examples • 3-18
dataqueue functions and attributes • 5-4
digital I/O port
+5V output • 3-83
bit weighting • 3-85
commands • 3-85
configuration • 3-84
controlling I/O lines • 3-84
interlock • 3-88
output enable • 3-86
programming examples • 3-86
remote operation • 3-85, 3-89
display
adding menu entries • 3-79
character codes • 3-74, F-1
clearing • 3-72
deleting menu entries • 3-79
functions and attributes • 3-70
indicators • 3-77
input prompting • 3-75
key-press codes • 3-80
load test menu • 3-78
local lockout • 3-78
measurement functions • 3-71
menu • 3-75
messages • 3-71
patterns test • A-3
resolution • 2-86, 3-71
running a test • 3-80
text messages • 3-73
triggering • 3-80
E
environmental conditions • B-2
error messages
effects on scripts • 8-2
interlock • 9-9
Index
Index
Series 2600B System SourceMeter® Instrument
Reference Manual
2 2600BS-901-01 Rev. C / August 2016
retrieving • 8-2
summary • 8-1
examples
contact check • 2-46
digital I/O programming • 3-86
filter programming • 3-5
interactive triggering • 3-56
power programming • 2-44
pulse train • 3-47
reading buffer • 3-18
rel programming 3-2
single pulse • 3-45
source-measure programming • 2-36
sweep programming • 3-31
TSP-Link synchronization line • 3-90
using attributes • 5-2
extended warranty • 1-1
F
factory defaults, restoring • B-4
factory scripts • 5-20
modifying • 5-21
FAQs • 9-1
file
I/O • 5-7
filters • 3-3
commands • 3-5
remote programming • 3-5
response time • 3-4
types of • 3-3
firmware upgrade • A-4
front panel
menu overview • 2-16
menu trees • 2-16
source-measure procedure • 2-33
tests • A-2
functions
Lua • 6-14
fundamental circuit configurations • 2-31
fuse
line, replacement • A-1
G
gpib attribute
gpib.address • 7-109
groups, TSP-Link
assigning • 6-56
coordinating overlapped operations • 6-56
manage nodes • 6-55
guard
guard connections • 4-24
H
high-capacitance mode • 3-65
enabling • 3-67
overview • 3-65
I
indicators • 3-77
interlock • 3-88
error • 9-9
overview • 3-88
K
Keithley website • 10-1
key-press codes • 3-80
keys test • A-3
L
LabVIEW drivers • 9-9
LAN
address • C-11
communications • 2-96
connecting to • C-1, C-10
domain name system • C-12
duplex mode • C-13
event log • C-19
IP address • C-11
MAC address • 7-136, C-14
method • C-10
network settings • C-14
overview • C-1
point-to-point connection • C-1
remote operation • C-1
status messages • C-13
subnet mask • C-11
troubleshooting • 8-7
libraries, standard • 6-25
limits
compliance • 2-34
line
fuse replacement • A-1
power • B-2
load test menu • 3-78
local group • 7-173
logical
logical AND operation • 7-9
logical OR operation • 7-10
loop control • 6-20
low range limits • 2-83
Lua
reference • 6-11
M
MAC address • 7-136, C-14
maintenance • A-1
line fuse replacement • A-1
manuals • 1-2, 10-1
Series 2600B
System SourceMeter® Instrument Reference Manual
Index
2600BS-901-01 Rev. C / August 2016 3
master
and subordinates • 6-47
node reset • 7-173
node, TSP-Link • 6-55
math
library functions • 6-28
measure
V or I • 4-22
measurement
current accuracy • B-12
voltage accuracy • B-17
multiple instruments, connecting
TSP-Link • 6-47, 6-48
multiple SMU connections • 2-56
N
named scripts
overview • 6-4
running • 6-5, 6-6
node
accessing • 6-51
assign number • 6-49
master overview • 6-55
nonvolatile memory
storage of scripts • 6-2
NPLC caching • 2-33
O
ohms
measurement procedure • 2-40
sensing • 2-41
operating boundaries • 4-5
continuous power • 4-6
I-source • 4-13
source or sink • 4-5
V-Source • 4-7
operator precedence • 6-18
output
current accuracy • B-7
voltage accuracy • B-15
output enable • 3-86
control • 3-87
output-off states • 2-76
output-off function • 2-77
output-off limits (compliance) • 2-78
output-off modes • 2-76
remote programming quick reference • 2-79
overheating protection • 4-2
equations • 4-2
overlapped operations in remote groups,
coordinating • 6-56
P
parallel test scripts • 6-56
password • 6-33
reset • 6-36
power
blinking • 7-68
calculations • 4-4
equations • 4-2
measurement procedure • 2-44
programming example • 2-44
remote programming • 2-44
power-on setup • 2-49
programming
interaction • 6-33
script model • 6-3
Q
queries • 5-2
queues • E-2
command • E-2
error • E-2, E-3
event • E-2
output • 2-91, E-2
R
range
auto • 2-83
available ranges • 2-81
commands • 2-85
low range limits • 2-83
output value • B-6
programming • 2-85
reading buffer
attributes • 3-16
defined buffer example • 3-18
displaying readings • 3-11
dual buffer example • 3-19
dynamically allocated • 3-17
dynamically allocated buffer example • 3-20
location number • 3-10
overview • 3-6
remote state • 3-11
removing stale values • 6-58
saving • 3-9
status • 3-17
storage • 3-9
storage control attributes • 3-13
timestamp • 3-11
readings
recalling • 3-10
recommended test equipment • B-3, B-20
registers
enable and transition • E-19
measurement event • E-24
operation status • E-22
programming example • E-25
Index
Series 2600B System SourceMeter® Instrument
Reference Manual
4 2600BS-901-01 Rev. C / August 2016
questionable status • E-23
reading • E-15
serial polling and SRQ • E-18
service request enable (registers) • E-17
standard event • E-20
status • E-19
system summary • E-19
rel
defining a value • 3-1
enabling and disabling • 3-1
front panel • 3-1
remote programming • 3-2
remote command interface
selecting • C-15
remote programming
command reference • 7-1
instrument programming • 6-1
remote commands • 5-1
reset
digio trigger • 7-60
lan • 7-132
localnode • 7-156
reset • 7-173
status • 7-344
timer • 7-365
restoring factory defaults • B-4
restoring factory global variables • 6-12
RS-232 • 2-108
running a test • 3-80
run-time environment
script, restoring • 6-45
storage of scripts • 6-2
S
script editor • 6-32
scripts
autoexec • 6-7
autorun scripts • 6-6
deleting • 6-44
exporting • 6-37
function, using • 6-16
interactive • 6-3
name attribute • 7-183
named • 6-4, 6-6
parallel test, running • 6-56
restoring in run-time environment 6-45
running • 6-5, 6-6, 6-56
script editor • 6-32
test scripts across the TSP-Link network • 6-57
unnamed • 6-5
user • 6-3, 6-5, 6-43
sensing
2-wire local connections • 2-54
4-wire remote connections 2-45, 2-55
ohms • 2-39
serial number • 1-4
serial polling • E-18
settling time considerations • 4-26
setups
user • 2-47
sink • 4-5
mode • 2-30
operation • 2-36
source • 4-5
current accuracy • B-7
voltage accuracy • B-15
source I measure I • 4-21
source V measure V • 4-21
source-measure
capabilities • 2-25
front panel operation • 2-33
programming example • 2-36
remote operation • 2-35
speed
configuration menu • 2-87
programming example • 2-88
SRQ (service request) 2-107, E-15
state • 6-58
status byte and service request (SRQ) 2-107, E-15
commands • E-18
status model • E-1
clearing registers and queues • E-14
programming registers and queues • E-14
queues • E-2
reading registers • E-15
status byte and SRQ 2-107, E-15
status register sets • E-1
TSP-Link system • E-26
status register sets • E-1, E-19
string library functions • 6-26
substring • 6-26
sweep
linear staircase sweeps • 3-22
list sweeps • 3-27
logarithmic staircase sweeps • 3-23
pulse mode sweeps • 3-27
synchronization
Telnet
configuring • C-16
T
test
considerations • B-5, B-19
test fixture • 2-71
Test Script Builder • 6-30
tests
front panel • A-2
time • 7-192
timestamp • 3-11
trigger mode
Series 2600B
System SourceMeter® Instrument Reference Manual
Index
2600BS-901-01 Rev. C / August 2016 5
syntax rules • 7-3
triggering • 3-32
configuring attributes • 2-36
digital I/O port and TSP-Link synchronization
lines • 3-41
hardware trigger modes • 3-57
interactive triggering • 3-53
local mode • 2-36
remote triggering overview • 3-32
SMU event detectors • 3-39
synchronous triggering modes • 3-61
TSP-Link • 6-52
using the remote trigger model • 3-34
using trigger events • 3-40
troubleshooting
error levels • 8-1
FAQs • 9-1
LabVIEW driver • 9-9
voltage • 9-9
TSB Embedded 6-36
installing software 1-2, 6-29
TSP-Link • 6-47, 6-48
accessing nodes • 6-51
communicating between TSP-enabled
instruments • 6-61
groups • 6-55, 6-56
initialization • 6-49
master • 6-47
node numbers • 6-49
nodes • 6-55
reset • 6-50
subordinates • 6-47
synchronization lines
connecting to • 3-89
digital I/O • 3-89
remote commands • 3-89
triggering • 6-52
TSP-Net • 6-58
U
unnamed scripts • 6-5
USB
saving reading buffer to • 3-10
user scripts
creating • 6-3
modifying • 6-43
running • 6-5
save • 6-8
user setups
recalling • 2-48
saving • 2-47
userstring functions • 6-55
add • 7-410
catalog • 7-411
delete • 7-412
get • 7-413
UTC • 7-192
V
variables • 6-12
verification
test considerations • B-5
test equipment • B-3
test requirements • B-2
test summary • B-5
verify menu • C-1
voltage
measure • 2-36
measurement accuracy • B-17
source accuracy • B-15
W
warm-up
operation • 2-14
verification and adjustment • B-2, B-19
warranty • 1-1
Z
zero output-off mode • 2-76
Specifications are subject to change without notice.
All Keithley trademarks and trade names are the property of Keithley Instruments.
All other trademarks and trade names are the property of their respective companies.
Keithley Instruments
Corporate Headquarters • 28775 Aurora Road • Cleveland, Ohio 44139 • 440-248-0400 • Fax: 440-248-6168 • 1-800-935-5595 • www.tek.com/keithley
12/15
A Greater Measure of Confidence

Navigation menu