Summary of Contents for Tektronix KEITHLEY 2601B-PULSE
Page 1
tek.com/keithley Model 2601B-PULSE System SourceMeter Instrument ® Reference Manual 2601B-PULSE-901-01 Rev. B November 2021 *P2601B-PULSE-901-01B* 2601B-PULSE-901-01B...
Page 2
Model 2601B-PULSE ® System SourceMeter Instrument Reference Manual...
Page 4
Safety precautions The following safety precautions should be observed before using this product and any associated instrumentation. Although some instruments and accessories would normally be used with nonhazardous voltages, there are situations where hazardous conditions may be present. This product is intended for use by personnel who recognize shock hazards and are familiar with the safety precautions required to avoid possible injury.
Page 5
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.
Table of contents Introduction ......................1-1 Welcome ..........................1-1 Extended warranty ....................... 1-1 Contact information ......................1-1 Customer documentation ..................... 1-2 Product software and drivers ....................1-2 Capabilities and features...................... 1-3 Sourcing and measuring ..................2-1 Basic source-measure procedure ..................2-1 Front-panel source-measure procedure ..................
Page 7
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Ranging limitations ........................2-32 Autoranging ..........................2-33 Low range limits ........................2-33 Range considerations ......................2-34 Range commands ........................2-35 Range programming example ....................2-36 Digits ..........................2-36 Setting display resolution from the front panel ................ 2-36 Setting display resolution from a remote interface ..............
Page 8
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents Remote triggering overview ....................4-1 Using the trigger model ......................4-3 SMU event detectors ......................4-8 Clearing SMU event detectors ....................4-9 Using the TRIG key to trigger a sweep ..................4-9 Using trigger events to start actions on trigger objects ............
Page 9
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Theory of operation ....................5-1 Analog-to-digital converters ....................5-1 Source-measure concepts ....................5-1 Limit principles .......................... 5-2 Power equations ........................5-2 Duty cycle with the pulser disabled ................... 5-2 Duty cycle with the pulser enabled .................... 5-4 Optimizing apertures and filters for the 1 MS/s sample rate ............
Page 10
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents Retrieving and modifying a factory script listing ..............6-21 KISweep factory script ......................6-22 KIHighC factory script ......................6-22 KIParlib factory script ......................6-22 KISavebuffer factory script ...................... 6-22 Instrument programming ..................7-1 Fundamentals of scripting for TSP ..................
Page 11
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Master and subordinates ......................7-55 TSP-Link nodes ........................7-56 Connections ..........................7-56 Initialization ..........................7-57 Resetting the TSP-Link network ....................7-57 Accessing nodes ........................7-58 Using the reset() command ..................... 7-59 Using the abort command .......................
Page 19
Table of contents Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Calibration test requirements ....................10-2 Uninstalling the 2601B-P-INT ....................10-5 Restoring factory defaults......................10-6 Performing the calibration test procedures ................10-6 Current source accuracy ......................10-8 Current measurement accuracy .................... 10-10 Voltage source accuracy .......................
Page 20
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Table of contents Enable and transition registers ....................12-19 Controlling node and SRQ enable registers ................12-19 Status register sets ......................12-20 System Summary Registers ....................12-20 Standard Event Register ....................... 12-21 Operation Status Registers ....................12-22 Questionable Status Registers ....................
Page 21
If you have any questions after you review the information in this documentation, please contact your local Keithley Instruments office, sales partner, or distributor. You can also call the Tektronix corporate headquarters (toll-free inside the U.S. and Canada only) at 1-800-833-9200. For worldwide...
Page 22
Section 1: Introduction Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Customer documentation The documentation for the 2601B-PULSE includes a Quick Start Guide, User's Manual (this document), and Reference Manual. The 2601B-PULSE Quick Start Guide is provided as a hard copy with the instrument.
Page 23
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 1: Introduction To identify IP addresses of instruments that are connected to the local area network (LAN) and support the VXI-11 discovery protocol, you can also use LXI Discovery Tool, available from the Resources (lxistandard.org/Resources/Resources.aspx) page of the LXI Consortium website...
Page 24
Section 1: Introduction Model 2601B-PULSE System SourceMeter® Instrument Reference Manual General features: • 4.5, 5.5, or 6.5 digit display resolution • Resistance and power measurement functions • Four-quadrant sink or source operation • Linear, logarithmic, and custom sweeping • Filtering to reduce reading noise •...
Section 2 Sourcing and measuring In this section: Basic source-measure procedure ..........2-1 Combining SMU outputs ............2-5 Output-off modes ..............2-16 Saved setups ................. 2-17 Operation considerations for the ADC ........2-20 Triggering in local mode ............2-21 Configuring trigger attributes in local mode ......2-22 Configuring for measure-only tests using the MODE key ..
Page 26
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Front-panel source-measure procedure Use the following procedure to perform the basic source-measure operations of the 2601B-PULSE SMU using the front panel. The following procedure assumes that the 2601B-PULSE is already connected to the device under test (DUT), as explained in “DUT test connections”...
Page 27
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Step 3: Select the measurement function and range Select measurement function and range as follows: 1. Select the measurement function by pressing the MEAS key. 2. Set the measurement range with the RANGE keys, or enable AUTO range. When setting the range, consider the following points: ▪...
Page 28
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. Introduction to TSP operation (on page 6-1) for more information on using these commands.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Source-measure programming example The following SMU programming example illustrates the setup and command sequence of a basic source-measure procedure with the following parameters: • Source function and range: Voltage, autorange •...
Page 30
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The following figure and table illustrate the pulse regions for each SMU when used in combination with another SMU. The programmed current and voltage levels for both SMUs must fall within the same pulse region.
Page 31
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Additional guidelines for combining SMU outputs: • When combining the outputs of two 2601B-PULSE instruments, restrict operation to pulse only or limited duty cycle operations whenever possible. DC operation in Region 1 is possible if necessary.
Page 32
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual In this configuration, it is best practice to use only one SMU to limit the voltage output of the SMU combination. In this example, SMU 2 limits the voltage. A good approach for making sure that both SMUs are set to the same source limit range, which is recommended, is to set SMU 1 to the maximum voltage allowed in Region 4, then set the limit for SMU 2 ten percent lower.
Page 33
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring SMU 2 configuration (sources one-half of the total pulse current): Source function: smua.source.func = smua.OUTPUT_DCAMPS Source range: smua.source.rangei = 10 Idle (bias) source level (source level at base of pulse): smua.source.leveli = 0 Idle (bias) source limit (source limit at base of pulse).
Page 34
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Source voltage using two 2601B-PULSE instruments in series This example shows the recommended approach for setting the source and limit ranges and levels when combining SMU voltage sources in series. Figure 4: Source voltage using 2601B-PULSE instruments in series The following values are based on the current and voltage levels available in Region 4, as shown in the table in...
Page 35
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Set the pulser to disabled: smua.pulser.enable = smua.DISABLE Configure two 2601B-PULSE SMUs to get the maximum pulsed voltage level possible in Region 4: 40 V with 9 A source limit SMU 1 configuration (sources one-half of the total pulse voltage): Source function: smua.source.func = smua.OUTPUT_DCVOLTS...
Page 36
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Pulse source limit. SMU 2 controls the source limit for the combined SMUs. Set the current source limit of SMU 1 to the maximum current allowed in Region 4: smua.trigger.source.limiti = 10 Output-off mode: smua.source.offmode = smua.OUTPUT_NORMAL...
Page 37
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Source voltage with extended current using two 2601B-PULSE instruments in parallel This example shows the recommended approach for setting the source and limit ranges and levels when combining a SMU voltage source in parallel with a SMU current source. Figure 5: Source voltage with extended current using parallel SMUs The values are based on the current and voltage levels available in Region 4, as shown in the table in Combining SMU outputs...
Page 38
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Set the pulser to disabled: smua.pulser.enable = smua.DISABLE Configure two 2601B-PULSE SMUs to obtain the maximum pulsed voltage level possible in Region 4: 18 V with 19 A capacity SMU 1 configuration (supplies additional current that SMU 2 alone cannot provide): Source function: smua.source.func = smua.OUTPUT_DCAMPS...
Page 39
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring SMU 2 configuration (SMU 2 controls the voltage applied to the device-under-test): Source function: smua.source.func = smua.OUTPUT_DCVOLTS Source range: smua.source.rangev = 20 Idle (bias) source level (source level at base of pulse): smua.source.levelv = 0 Idle (bias) source limit (source limit at base of pulse): smua.source.limiti = 1...
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Output-off modes Carefully consider and configure the appropriate output-off state, source function, and compliance limits before connecting the 2601B-PULSE to a device that can deliver energy (for example, other voltage sources, batteries, capacitors, solar cells, or other 2601B-PULSE instruments).
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring When the pulser is enabled and the zero output-off mode is selected, the output circuit is shorted and measurements cannot be made. To configure the output-off mode from the front panel: 1.
Page 42
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual To save a user setup to an external USB flash drive from the front panel: 1. Configure the 2601B-PULSE to the settings that you want to save. 2. Insert the USB flash drive into the USB port on the front panel of the 2601B-PULSE. 3.
Page 43
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Start-up configuration The start-up configuration allows you to apply specific settings every time the instrument powers up. The settings are defined in a user setup. You can also select the factory default setup. To select the power-on setup from the front panel: 1.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Operation considerations for the ADC The following paragraphs discuss autozero and NPLC caching with the analog-to-digital converter (ADC) (on page 5-1). Autozero When the pulser is disabled, the ADC of the 2601B-PULSE uses a ratiometric A/D conversion technique.
Page 45
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Remote command autozero To set autozero from a remote interface: Use the autozero command with the appropriate option shown in the following table to set autozero through a remote interface. For additional detail, refer to smua.measure.autozero (on page 8-199)).
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The following figure shows the general sequence for SMU measurement triggering. The basic sequence is as follows: • When the output is turned on, the programmed source value is immediately applied to the device under test (DUT).
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring • 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.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual To configure the 2601B-PULSE as a voltage meter, current meter, ohmmeter, or wattmeter: 1. Press the MODE key. 2. Turn the navigation wheel to select the type of meter from the menu (I-METER, V-METER, OHM-METER, or WATT-METER).
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring 4. Connect the voltage or current to be measured. Make sure to use 2-wire connections from the 2601B-PULSE to the device under test (DUT) (see “DUT test connections” in the Model 2601B-PULSE User's Manual).
Page 50
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 7. Press the LIMIT key to edit the voltage or current limit. When programming a voltage limit, set the voltage limit above the maximum expected voltage across the resistor under test. When programming a current limit, set the current limit at or above the maximum expected current through the resistor under test.
Page 51
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring -- Set the voltage range to auto. smua.measure.autorangev = smua.AUTORANGE_ON -- Turn on output. smua.source.output = smua.OUTPUT_ON -- Retrieve a resistance reading. print(smua.measure.r()) -- Turn off output. smua.source.output = smua.OUTPUT_OFF Ohms sensing Ohms measurements can be made using either 2-wire or 4-wire sensing.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 53
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Basic power measurement procedure If you need to customize the standard wattmeter configuration of the MODE key, perform the following steps to make power measurements. The following procedure assumes that the 2601B-PULSE is already connected to the device under test (DUT) as explained in DUT test connections.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Power measurements using the remote interface The following paragraphs summarize basic power measurement commands using the remote interface and also give a programming example for a typical power measurement situation. Remote power reading command The programming example below illustrates how to get a power reading: reading = smua.measure.p()
Page 55
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Available ranges The following table lists the available SMU source and measurement ranges. Voltage range Current range 100 mV 100 nA 1 µA 10 µA 40 V 100 µA 1 mA 10 mA 100 mA...
Page 56
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Measure autodelay When the pulser is disabled, the measure delay is a specific delay that is applied before each measurement is made. This delay is disabled by default (measurements are made immediately). You can change the default delay by setting the smua.measure.delay (on page 8-202) attribute either to a...
Page 57
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring 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.
Page 58
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Range considerations The source range and measure range settings can interact depending on the source function. Additionally, the output state (on or off) can affect how the range is set. The following table describes these interactions.
Page 59
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Range commands The following tables summarize the commands that control measure and source ranges. For information on the measure, source, and pulser ranges, refer to Available ranges (on page 2-31). See the TSP command reference (on page 8-1) for more details about these commands.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Range programming example The SMU programming example below illustrates how to control both source and measure ranges. The 2601B-PULSE is set up as follows: • Voltage source range: Auto •...
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Speed when the pulser is disabled The SPEED key sets the integration time, or measurement aperture, of the analog to digital (A/D) converter (period the input signal is measured). The integration time affects the usable digits, the amount of reading noise, and the reading rate of the instrument.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Speed programming example Use the NPLC command to set the speed of the integrating analog-to-digital converter (ADC). The programming example below illustrates how to set the speed to 10 PLC: -- Set NPLC to 10.
Page 63
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring DC and pulsed logarithmic staircase sweeps: In this type of sweep, the current or voltage increases or decreases geometrically, beginning with a start voltage or current and ending with a stop voltage or current.
Page 64
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 65
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring To configure a linear staircase sweep, use smua.trigger.source.linearY(). This function configures the source values the SMU will output when performing a linear sweep. After configuring the sweep, you must also enable the source action by setting the following attribute: smua.trigger.source.action Example: -- Configure a sweep from 0 to 10 V in 1 V steps.
Page 66
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 13: Increasing logarithmic sweep Figure 14: Decreasing logarithmic sweep 2-42 2601B-PULSE-901-01 Rev. B November 2021...
Page 67
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Solving for k and b provides the following formulas: Where: = The source value at the end point = The source value at the start point start = The number of points in the sweep = The asymptote value The number of points in a sweep is one greater than the number of steps in the sweep.
Page 68
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual In this example: A = 0, V = 1, V = 10, N = 5 start Using the formula above, k = 1 Step size (b) for the sweep in the above figure is calculated as follows: (log step size) Therefore, b = 10 = 1.7783...
Page 69
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring List sweeps Use a list sweep to configure a sweep with arbitrary steps. When enabled, a measurement is made at each point after source and measurement settling time. To configure a list sweep, use the smua.trigger.source.listY()function.
Page 70
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Pulse sweeps The pulse sweep described in the following is done with the pulser disabled. For information on pulse sweeps with the pulser enabled, see the examples in “Pulser operation” in the Model 2601B-PULSE User's Manual.
Page 71
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring 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...
Page 72
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 18: Pulsing in the extended operating area Pulse region specification Region (quadrant diagram) Region maximum Maximum pulse width Maximum duty cycle 1 A at 40 V DC, no limit 100% 3 A at 6 V DC, no limit...
Page 73
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Configuring end sweep actions remotely When the pulser is disabled, use the end sweep action to configure the source action at the end of the sweep. The source-measure unit (SMU) can be programmed to return to the idle source level or hold the last value of the sweep.
Page 74
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Source and measurement delays The source and measurement delays described here only apply when the pulser is disabled. Whenever the source-measure unit (SMU) outputs a source value in a sweep, it also applies the programmed source delay.
Page 75
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring To run a sweep from the front panel: 1. Press the LOAD key, and then select FACTORY. 2. Select the name of the test to run. 3. Press the RUN key. Follow the display prompts to complete the test. Factory scripts (on page 6-20) for more information about using factory scripts.
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual List sweep example The SMU programming example below illustrates a list sweep. -- Restore 2601B-PULSE defaults. This disables the pulser. smua.reset() -- Set compliance limit to 10 mA. smua.source.limiti = 10e-3 -- Define the voltage list.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Defining a relative offset value from the front panel You can establish a relative offset value for the selected measurement function. To establish a relative offset value from the front panel: 1.
Page 78
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Filter types If the pulser is enabled, the repeating filter is the only available filter. The 2601B-PULSE provides two averaging filters and a median filter. The power-on default is the repeating filter.
Page 79
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring The moving filter uses a first-in, first-out stack. When the stack (filter count) becomes full, the measurement conversions are averaged, yielding a reading. For each subsequent conversion placed into the stack, the oldest conversion is discarded.
Page 80
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Enabling the filter from the front panel The filter is enabled by pressing the FILTER key on the front panel. The FILT indicator is on while the filter is enabled. Pressing FILTER a second time disables the filter. Configuring the filter from the front panel Filter type and count are configured from the filter configuration menu on the front panel.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring High-capacitance mode The Keithley Instruments 2601B-PULSE has a high-capacitance mode. Because the source-measure unit (SMU) can measure low current, issues can arise when driving a capacitive load. The pole formed by the load capacitance and the current range resistor can cause a phase shift in the SMU voltage control loop.
Page 82
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Highest throughput is achieved by using normal operation. In high-capacitance mode, the speed of the 2601B-PULSE SMU is reduced to compensate for the larger load capacitance. Stability is achieved by inserting an internal capacitance across the current measuring element of the SMU.
Page 83
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring 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 (on page 2-58).
Page 84
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Enabling high-capacitance mode Before enabling high-capacitance mode, note the following: • It is important to read High-capacitance mode (on page 2-57) to understand the impact of high-capacitance mode. •...
Page 85
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 2: Sourcing and measuring Measuring current using high-capacitance mode The following inputs are required to test leakage using the factory leakage script, as shown in the following script example. ▪ SMU: Sets the 2601B-PULSE source-measure unit to use ▪...
Page 86
Section 2: Sourcing and measuring Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Adjust the voltage level and source delays based on: ▪ The value and type of capacitor ▪ The magnitude of the voltage step ▪ The current measure range Figure 21: Enabling high-capacitance mode 2-62 2601B-PULSE-901-01 Rev.
Page 87
Section 3 Reading buffers In this section: Overview .................. 3-1 Front-panel reading buffer control ..........3-1 Remote reading buffer programming ........3-6 Overview Reading buffers capture measurements, ranges, instrument status, and output state of the Keithley Instruments 2601B-PULSE. The 2601B-PULSE has two default reading buffers. In addition to the default buffers, you can create user-defined reading buffers.
Page 88
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual • 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. ▪...
Page 89
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers Appending or overwriting existing reading buffers When storing data to a reading buffer that already holds data, the new data can be appended to the reading buffer data, or it can overwrite the old data. To configure the instrument to append or overwrite measurements the next time data is acquired: 1.
Page 90
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Saving reading buffers You can save the dedicated reading buffers to nonvolatile memory or you can save them to a USB flash drive. The instrument restores the dedicated reading buffers from internal nonvolatile memory when the instrument is turned off and back on.
Page 91
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers Recalling readings To recall the data stored in a reading buffer: 1. Press the RECALL key. 2. Select DATA or STATISTICS. 3. Select the buffer to display CHANA-BUFF1 or CHANA-BUFF2. The data or statistics are displayed.
Page 92
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Remote reading buffer programming You can get readings by making overlapped or sequential measurements. Overlapped commands do not finish executing before the next command starts. Sequential commands complete execution before the next command starts executing.
Page 93
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers Command Description Commands to store readings smua.measure.count = count The number of measurements to acquire. smua.measure.overlappedi(rbuffer) Makes current measurements; stores readings in rbuffer. smua.measure.overlappediv(ibuffer, Makes both current and voltage measurements; stores vbuffer) current readings in ibuffer and stores voltage readings in vbuffer.
Page 94
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Buffer storage control attributes The following table contains buffer storage control attributes. Before changing the collectsourcevalues, collecttimestamps, or timestampresolution attributes, you must clear the buffer using the smua.nvbuffer1.clear() or smua.nvbuffer2.clear() command.
Page 95
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers Buffer storage control programming examples The programming examples below illustrate the use of buffer storage control attributes. Command Description smua.nvbuffer1.collectsourcevalues = 1 Enable source value storage. smua.nvbuffer1.appendmode = 1 Enable buffer append mode.
Page 96
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Min and max entry attributes Attribute Description measurefunction String indicating the function that was measured for the reading (current, voltage, ohms, or watts) measurerange The full-scale range value for the measurement range used when the measurement was made reading The reading value...
Page 97
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers Examples: The following programming example illustrates how to output 100 readings from buffer 1: printbuffer(1, 100, smua.nvbuffer1.readings) The default reading attribute is readings and can be omitted. Thus, the following also outputs 100 readings from buffer 1: printbuffer(1, 100, smua.nvbuffer1) Similarly, the following outputs 100 corresponding source values from buffer 1:...
Page 98
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Buffer examples Dedicated reading buffer example The following programming example illustrates how to store data using dedicated reading buffer 1. In the example, the 2601B-PULSE loops for voltages from 0.01 V to 1 V with 0.01 V steps (performing a staircase sweep), stores 100 current readings and source values in buffer 1, and then recalls all 100 readings and source values.
Page 99
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 3: Reading buffers Dual buffer example The programming example below shows a script that stores current and voltage readings using buffer 1 for current and buffer 2 for voltage readings. The 2601B-PULSE stores 100 current and voltage readings and then recalls all 100 sets of readings.
Page 100
Section 3: Reading buffers Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Dynamically allocated buffer example The programming example below illustrates how to store data to an allocated buffer called mybuffer. The 2601B-PULSE stores 100 current readings in mybuffer and then recalls all the readings. -- Restore 2601B-PULSE defaults.
Page 101
Section 4 Triggering In this section: Triggering ................. 4-1 Remote triggering overview............4-1 SMU event detectors ..............4-8 Using trigger events to start actions on trigger objects ... 4-10 Digital I/O port and TSP-Link synchronization lines ....4-11 Timers ..................4-14 Event blenders ...............
Page 102
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The following figure graphically represents all the trigger objects of the 2601B-PULSE instrument. Figure 22: Triggering overview Trigger events are identified by means of an event ID. The following table describes the trigger event IDs.
Page 103
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Trigger event IDs* Event ID Event description 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;...
Page 104
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 23: Trigger model: Synchronous mode 2601B-PULSE-901-01 Rev. B November 2021...
Page 105
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Figure 24: Trigger model: Asynchronous mode When the smua.trigger.measure.action attribute is set to smua.DISABLE or smua.ENABLE, the trigger model operates in synchronous measurement mode. When it is set to smua.ASYNC, it operates in asynchronous mode.
Page 106
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Trigger model sections As shown in the previous figures, the trigger model consists of the sections idle, arm layer, and trigger layer. The SMU is in the idle state if a sweep is not in process. Use the smua.trigger.initiate() function to move the SMU from the idle state to the arm layer.
Page 107
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering In asynchronous mode, trigger your measurements before the source completes the sweep (before the end sweep action occurs). If the source loop has completed its end sweep action, the measure loop terminates unless the measure action block is actively measuring.
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Enabling pulse sweeps using the end pulse action When the pulser is disabled, you can enable pulse sweeps by using the end pulse action. When the pulser is enabled, the instrument always behaves as if the endpulse action is set to smua.SOURCE_IDLE.
Page 109
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering 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.
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The following figure graphically illustrates this example. See Sweep operation (on page 2-38) for more information about sweep operation. Figure 25: Front-panel TRIG key triggering Using trigger events to start actions on trigger objects You can configure trigger objects to respond to events generated by other trigger objects, such as using a digital I/O trigger to initiate a sweep.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering The following figure illustrates this example. Figure 26: 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.
Page 112
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Mode The 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.
Page 113
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering -- Configure digital I/O line 4 to output a 1 ms -- rising-edge trigger pulse at the completion of -- the 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 The triggering setup for this example is shown in the following figure.
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 115
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering 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.
Page 116
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 28: Using a timer for an SDM cycle Timer action overruns The timer receives an action overrun when it generates a trigger event while a timer delay is still in progress.
Page 117
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Single pulse example The SMU 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 •...
Page 118
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Single pulse example code Even though no measurements are made in this example, a measure range is set. When sourcing voltage, it is good practice to set the current measure range equal to the triggered source limit range. This is especially important when the triggered limit is greater than 100 mA.
Page 119
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Pulse train example The SMU 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 •...
Page 120
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The following figure shows the trigger setup for this example. Figure 31: Pulse train triggering 4-20 2601B-PULSE-901-01 Rev. B November 2021...
Page 121
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Pulse train example code Even though no measurements are made in this example, a measure range is set. When sourcing voltage, it is good practice to set the current measure range equal to the triggered source limit range. This is especially important when the triggered limit is greater than 100 mA.
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual -- Configure the trigger model to execute a 10-point fixed-level voltage pulse -- train. No measurements are made. smua.trigger.source.listv({5}) smua.trigger.source.action = smua.ENABLE smua.trigger.measure.action = smua.DISABLE -- Set the trigger source limit, which can be different than the bias limit. -- This is an important setting for pulsing in the extended operating area.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering 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 to stimulus inputs 1 and 2 of event blender 1: trigger.blender[1].stimulus[1] = smua.SOURCE_COMPLETE_EVENT_ID Action overruns...
Page 124
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual LXI trigger edge detection Stateless event flag Hardware value Pseudo line state Falling edge Rising edge Detected Detected Detected Detected Detected Detected 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.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Make sure to use the same LXI domain on both the 2601B-PULSE instrument and the other instrument. If the 2601B-PULSE has a different LXI domain than the instrument at the other end of the trigger connection, the LXI trigger packets are ignored by both instruments.
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 127
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Using the assert function to generate output triggers You can use certain trigger objects 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.
Page 128
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Using the set function to bypass SMU event detectors The set functions are 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.
Page 129
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Examples using interactive triggering The following examples demonstrate how to use 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.
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. The 2601B-PULSE to wait for an external input trigger on digital I/O line 2.
Page 131
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering 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"...
Page 132
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 133
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering Rising edge acceptor trigger mode The rising edge acceptor trigger mode (RisingA) generates a low pulse and detects rising edge pulses. Refer to the following figures. Input characteristics: • All rising edges generate an input event. Figure 35: RisingA input trigger Output characteristics: •...
Page 134
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 37: Either edge input trigger Output characteristics: •...
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering 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.
Page 136
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. •...
Page 137
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering 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. •...
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. •...
Page 139
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering For a schematic diagram of the digital I/O hardware, refer to Digital I/O configuration. (on page 4-40) For information on using the digital I/O port as part of an interlock setup, refer to “Using the interlock” in the Model 2601B-PULSE User's Manual.
Page 140
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 141
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering To write-protect specific digital I/O lines to prevent their values from being changed: 1. Press the MENU key, then select DIGOUT and then press the ENTER key or the navigation wheel.
Page 142
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 8-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.
Page 143
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 4: Triggering TSP-Link trigger lines The 2601B-PULSE has three trigger lines that you can use for triggering, digital I/O, and to synchronize multiple instruments on a TSP-Link ® network. Connecting to the TSP-Link system ®...
Page 144
Section 4: Triggering Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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: -- Set the TSP-Link trigger line to the trigger bypass mode. tsplink.trigger[1].mode = tsplink.TRIG_BYPASS -- Set bit B1 high.
Page 145
Section 5 Theory of operation In this section: Analog-to-digital converters............5-1 Source-measure concepts ............5-1 Measurement settling time considerations ......5-28 Effects of load on current source settling time......5-29 Creating pulses with the 2601B-PULSE SMU ......5-30 Analog-to-digital converters The 2601B-PULSE uses analog-to-digital converters (ADCs) in the SMU and pulser circuits.
Page 146
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Limit principles A limit acts as a clamp. If the output reaches the limit value, the 2601B-PULSE attempts to prevent the output from exceeding that value. This action switches the source from a voltage source to a current source (or from a current source to a voltage source) when a limit is reached.
Page 147
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation To calculate the maximum duty cycle (DC ), use the general power equation shown below. The general power equation describes how much power an instrument can source and sink before the total power cannot be fully dissipated by the cooling system of the instrument.
Page 148
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Duty cycle with the pulser enabled When the pulser is enabled, the instrument limits the duty cycle using the formula shown below. If a trigger model attempts to exceed this duty cycle, the output is turned off and an error is generated. To avoid this, use the following formula to calculate the maximum allowed duty cycle for your pulser operating conditions.
Page 149
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Optimizing apertures and filters for the 1 MS/s sample rate When the pulser is enabled, a measurement request or measurement trigger generates a burst of readings. Each burst is equal to the measure count times the filter count. A burst is limited to a maximum of 3500 readings.
Page 150
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 48: Data acquisition to reading buffer flow Operating boundaries Depending on how the instrument 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 following figure.
Page 151
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Continuous power operating boundaries The general operating boundaries for continuous power output are shown in the following figure (for derating factors, see General power and maximum duty cycle equations (on page 5-2)).
Page 152
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Voltage source operating boundaries The following figure shows the operating boundaries for the V-source when the pulser is disabled. Only the first quadrant of operation is shown. Operation in the other three quadrants is similar. The following graph shows the output characteristics for the V-source.
Page 153
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Figure 52: Limit lines Load considerations for voltage source The boundaries within which the 2601B-PULSE operates depend on the load of the device-under-test (DUT) that is connected to the output. The following topics show operation examples for resistive loads that are 2 kΩ...
Page 154
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 53: Normal voltage source operation Voltage source operation in current compliance In the following figure, the resistance of the load is decreased to 800 Ω. The DUT load line for 800 Ω intersects the current compliance limit line, placing the 2601B-PULSE in compliance.
Page 155
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Voltage source operation in power compliance The figure below 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 2601B-PULSE in power compliance.
Page 156
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 56: Programmed voltage source sweep operation in current and power compliance V-source sink operating boundaries The quadrant within which the 2601B-PULSE operates depends on the device-under-test (DUT) that is connected to the 2601B-PULSE output.
Page 157
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation For this example, the 2601B-PULSE 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. Because the SMU cannot deliver the programmed voltage, the SMU is placed in current compliance and begins to sink current.
Page 158
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Source-measure capabilities The following table lists the source and measure limits for the voltage and current functions. The maximum power is 40.4 W per channel. Source-measure capabilities Voltage range Source Measure 100 mV...
Page 159
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Current source operating boundaries The following figures show the operating boundaries for the current source when the pulser is disabled. Only the first quadrant of operation is shown; operation in the other quadrants is similar. The first figure shows the output characteristics for the current source.
Page 160
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Load considerations for current source The boundaries within which the 2601B-PULSE operates depend on the load (device-under-test (DUT)) that is connected to its output. The following topics show operation examples for resistive loads that are 50 Ω...
Page 161
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Figure 62: Current source operation in voltage compliance Current source operation in power compliance The following figure shows the results when 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 instrument in power compliance.
Page 162
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The following figure shows a current sweep on a resistive load of 200 Ω. For this example, the instrument is programmed to sweep current to 100 mA, limit voltage (6 V), and limit power (500 mW). When sweeping, the actual source output varies according to the programmed source value until the voltage limit is reached.
Page 163
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Figure 65: 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 2601B-PULSE is programmed to source −50 mA (the constant current) and to limit voltage to 15 V.
Page 164
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 66: Considerations when sourcing current and sinking power Basic circuit configurations The following topics describe the source, measure, and contact check circuit configurations when the pulser is disabled. Source V When configured to source voltage (V-source) as shown in the figure below, the 2601B-PULSE functions as a low-impedance voltage source with current limit capability and can measure current...
Page 165
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation 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.
Page 166
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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).
Page 167
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Source I measure I, source V measure V The System SourceMeter ® Instrument can measure the same function that it is sourcing. For example, when sourcing a voltage, you can measure voltage. Conversely, if you are sourcing current, you can measure the output current.
Page 168
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 169
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Figure 71: Contact check circuit Guard GUARD is at the same potential as output HI. If hazardous voltages are present at output HI, they are also present at the GUARD terminal. The rear-panel GUARD terminals are always enabled and provide a buffered voltage that is at the same level as the HI (or SENSE HI for remote sense) voltage.
Page 170
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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).
Page 171
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Figure 72: Unguarded measurements Figure 73: Guarded measurements 2601B-PULSE-901-01 Rev. B November 2021 5-27...
Page 172
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Measurement settling time considerations This information applies when the pulser is disabled. 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.
Page 173
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation Effects of load on current source settling time When the pulser is disabled, 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.
Page 174
Section 5: Theory of operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Creating pulses with the 2601B-PULSE SMU Although the 2601B-PULSE is not a pulse generator, you can create pulses by programming the SMU 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 2-38) and...
Page 175
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 5: Theory of operation SMU range and pulse settling Each SMU 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.
Page 176
Section 6 Introduction to TSP operation In this section: Introduction to TSP operation........... 6-1 About TSP commands ............. 6-3 Factory scripts ................ 6-20 Introduction to TSP operation Instruments that are enabled for Test Script Processor (TSP ® ) operate like conventional instruments by responding to a sequence of commands sent by the controller.
Page 177
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 ( ). Only include information in the parentheses if the function takes a parameter.
Page 178
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation 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.
Page 179
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 180
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation Calibration smua.cal.adjustdate (on page 8-182) smua.cal.date (on page 8-183) smua.cal.due (on page 8-184) smua.cal.lock() (on page 8-185) smua.cal.password (on page 8-186) smua.cal.polarity (on page 8-186) smua.cal.restore() (on page 8-187) smua.cal.save() (on page 8-188) smua.cal.state...
Page 181
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual digio.readbit() (on page 8-43) digio.readport() (on page 8-44) digio.trigger[N].assert() (on page 8-45) digio.trigger[N].clear() (on page 8-45) digio.trigger[N].EVENT_ID (on page 8-46) digio.trigger[N].mode (on page 8-46) digio.trigger[N].overrun (on page 8-48) digio.trigger[N].pulsewidth (on page 8-48) digio.trigger[N].release()
Page 182
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation 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 8-77) errorqueue.count...
Page 183
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual File descriptor commands for file I/O use a colon (:) to separate the command parts rather than a period (.), like the io commands. system, so the io.open(), File descriptors cannot be passed between nodes in a TSP-Link ®...
Page 184
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation File system navigation The 2601B-PULSE 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 ®...
Page 185
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. You must send lan.applysettings() for the configuration settings to take effect.
Page 186
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation lan.timedwait (on page 8-129) lan.trigger[N].assert() (on page 8-130) lan.trigger[N].clear() (on page 8-130) lan.trigger[N].connect() (on page 8-131) lan.trigger[N].connected (on page 8-132) lan.trigger[N].disconnect() (on page 8-132) lan.trigger[N].EVENT_ID (on page 8-133) lan.trigger[N].ipaddress (on page 8-133) lan.trigger[N].mode...
Page 187
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 188
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation Reset Resets settings to their default settings. digio.trigger[N].reset() (on page 8-50) lan.reset() (on page 8-121) localnode.reset() (on page 8-145) reset() (on page 8-158) smua.reset() (on page 8-226) timer.reset() (on page 8-355) trigger.blender[N].reset()
Page 189
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual script.new() (on page 8-162) script.newautorun() (on page 8-163) script.restore() (on page 8-164) script.run() (on page 8-165) script.user.catalog() (on page 8-165) scriptVar.autorun (on page 8-166) scriptVar.list() (on page 8-167) scriptVar.name (on page 8-167) scriptVar.run()
Page 190
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation smua.reset() (on page 8-226) smua.savebuffer() (on page 8-226) smua.sense (on page 8-227) smua.source.autorangeY (on page 8-228) smua.source.compliance (on page 8-230) smua.source.delay (on page 8-230) smua.source.func (on page 8-231) smua.source.highc (on page 8-232) smua.source.levelY...
Page 191
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 8-268) status.measurement.*...
Page 192
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation Time bufferVar.basetimestamp (on page 8-19) bufferVar.collecttimestamps (on page 8-24) bufferVar.timestampresolution (on page 8-36) bufferVar.timestamps (on page 8-37) delay() (on page 8-43) gettimezone() (on page 8-97) os.time() (on page 8-154) settime() (on page 8-175) settimezone()
Page 193
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.pulser.measure.delay (on page 8-219) smua.trigger.arm.count (on page 8-241) smua.trigger.arm.set() (on page 8-242) smua.trigger.arm.stimulus (on page 8-242) smua.trigger.ARMED_EVENT_ID (on page 8-244) smua.trigger.autoclear (on page 8-244) smua.trigger.count (on page 8-245) smua.trigger.endpulse.action (on page 8-247) smua.trigger.endpulse.set()
Page 194
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation trigger.timer[N].stimulus (on page 8-368) trigger.timer[N].wait() (on page 8-370) trigger.wait() (on page 8-370) tsplink.trigger[N].assert() (on page 8-375) tsplink.trigger[N].clear() (on page 8-376) tsplink.trigger[N].EVENT_ID (on page 8-377) tsplink.trigger[N].mode (on page 8-377) tsplink.trigger[N].overrun (on page 8-379) tsplink.trigger[N].pulsewidth...
Page 195
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual tspnet.idn() (on page 8-389) tspnet.read() (on page 8-390) tspnet.readavailable() (on page 8-391) tspnet.reset() (on page 8-391) tspnet.termination() (on page 8-392) tspnet.timeout (on page 8-393) tspnet.tsp.abort() (on page 8-393) tspnet.tsp.abortonconnect (on page 8-394) tspnet.tsp.rbtablecopy()
Page 196
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 6: Introduction to TSP operation 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.
Page 197
Section 6: Introduction to TSP operation Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 198
Section 7 Instrument programming In this section: Fundamentals of scripting for TSP ........... 7-1 Fundamentals of programming for TSP ......... 7-14 Password management ............7-33 Key-press codes ..............7-35 Test Script Builder ..............7-37 Working with TSB Embedded ..........7-41 Advanced scripting for TSP ............
Page 199
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 200
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Commands that cannot be used in scripts Though the 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 *CLS...
Page 201
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Create and load a script You create scripts by loading them into the runtime 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.
Page 202
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 203
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Load a script from the instrument front panel You can also load scripts from a USB flash drive to the runtime environment of the instrument. Depending on the content of the TSP file on the drive, the script can be loaded either as an anonymous script without a designated name, or as a named script with a user-defined name.
Page 204
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 8. If the script has the same name as a script that is already in memory, you are prompted to overwrite the script. ▪ Select Yes to continue. ▪ Select No to return to the list of files.
Page 205
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Run the anonymous script The anonymous script can be run many times without reloading it. It remains in the runtime 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: •...
Page 206
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming To run a script directly without adding it to the USER menu: 1. Select the LOAD key. 2. Select SCRIPTS and select the ENTER key. There may be a short pause before a menu is displayed that represents the scripts in the instrument.
Page 207
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example: Set a script to run automatically test5.autorun = "yes" test5.save() Assume a script named test5 is in the runtime 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.
Page 208
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Working with scripts in nonvolatile memory Fundamentals of scripting for TSP (on page 7-1) section in this manual describes working with scripts, primarily in the runtime environment. You can also work with scripts in nonvolatile memory. The runtime environment and nonvolatile memory are separate storage areas in the instrument.
Page 209
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual To save a script to an external USB flash drive or other accessible drive using TSB Embedded: Load the script and select Export to PC. Save the anonymous script as a named script To save the anonymous script to nonvolatile memory, you must name it first.
Page 210
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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 page 7-52).
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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"...
Page 212
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 213
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual You cannot use the following Lua reserved words for function or variable names. Lua reserved words break function repeat return else then elseif local true until false while You also cannot use top-level command names as variable names. If you use these names, it results in the loss of use of the commands.
Page 214
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Variable types Variables can be one of the following types. Variable types and values Variable type returned Value Notes "nil" The type of the value nil, whose main property is not declared to be different from any other value;...
Page 215
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example: Function function add_two(first_value, function second_value) return first_value + second_value print(add_two(3, 4), type(add_two)) Example: Table atable = {1, 2, 3, 4} Defines a table with four numeric elements. print(atable, type(atable)) Note that the table value (shown here as a096cd30) print(atable[1]) varies.
Page 216
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 217
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 218
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 219
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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;...
Page 220
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Operator precedence Operator precedence in Lua follows the order below (from higher to lower priority): • ^ (exponentiation) • not, - (unary) • *, / • +, – • ..
Page 221
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example: If if 0 then Output: print("Zero is true!") Zero is true! else print("Zero is false.") Example: Comparison x = 1 Output: y = 2 Both x and y are true if x and y then print("Both x and y are true") Example: If and else...
Page 222
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 223
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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...
Page 224
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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]) print("Counting from one to four, in steps of two:") for element = 1, 4, 2 do print(element, list[element]) The numeric for loop repeats a block of code while a control variable runs through an arithmetic progression.
Page 225
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example: Break with while statement local numTable = {5, 4, 3, 2, 1} This example defines a break value local k = table.getn(numTable) (breakValue) so that the break statement is local breakValue = 3 used to exit the while loop before the value of while k >...
Page 226
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 227
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Base library functions Base library functions Function Description collectgarbage() Sets the garbage-collection threshold to the given limit (in kilobytes) and collectgarbage(limit) checks it against the byte counter. If the new threshold is smaller than the byte counter, Lua immediately runs the garbage collector.
Page 228
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 229
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Programming example: User script 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: •...
Page 231
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Setting the password from a command or web interface The attribute localnode.passwordmode enables passwords and sets the mode. The password mode identifies which interface to password protect. Set this attribute to one of the values below to enable password checking: •...
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Unlocking the remote interface If the remote interface is locked, you must enter the password before the 2601B-PULSE 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 2601B-PULSE is unlocked and communicates with any remote interface.
Page 233
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Capturing key-press codes A history of the key code for the last pressed front-panel key is maintained by the 2601B-PULSE. When the instrument is turned on (or when transitioning from local to remote operation), the key code is set to 0 (display.KEY_NONE).
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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 pauses and waits for the operator to press a front-panel key.
Page 235
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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: •...
Page 236
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Figure 76: Example of the Test Script Builder workspace Item Description Project navigator Script editor; right-click to run the script that is displayed Outline view Programming interaction 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.
Page 237
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Script editor The script editor is where you write, modify, and debug scripts. 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.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 239
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Simplify the display You can simplify the TSB Embedded display to show only the TSP Script Editor or only the instrument Console. The TSP Script Editor includes the list of User Scripts, the script entry area, and the script management buttons.
Page 240
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Run a script Running a script executes the script on the instrument. To run a script: 1. Select a script from the User Scripts list. 2. Click Run Script. To stop a running script, select Abort.
Page 241
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual To import a script from the host computer: 1. Select Import from PC. 2. Choose Select File to select a file. You can also drag the file into the Select File box. 3.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Send individual instrument commands with TSB Embedded You can send individual commands to the instrument using TSB Embedded. The response from the instrument appears in the Output box. To send commands from the console: 1.
Page 243
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual When you create a script using the script.new() function without providing a name, the script is added to the runtime environment as an unnamed script. The script.new() function returns the script, but the script is not added to the script.user.scripts table.
Page 244
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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:...
Page 245
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual When you create a script using script.new(), if you do not include name, the script is added to the runtime 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.
Page 246
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming To access the unnamed script, you can send the command: beepTwoSec() Figure 81: 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.
Page 247
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Run the beep2sec script using the following command: script.user.scripts.beep2sec() 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.
Page 248
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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 •...
Page 249
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 250
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Restore a script to the runtime environment You can retrieve a script that was removed from the runtime environment but is still saved in nonvolatile memory. To restore a script from nonvolatile memory into the runtime environment, you can use script.restore("scriptName"), where scriptName is the user-defined name of the script to be restored.
Page 251
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 runtime environment and return the instrument to a known state.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming TSP-Link system expansion interface ® The TSP-Link expansion interface allows the 2601B-PULSE 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.
Page 253
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 254
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Initialization Before you can use a TSP-Link ® system, 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 2601B-PULSE instrument is assigned as node 1.
Page 255
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 256
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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 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...
Page 257
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 258
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming Figure 84: Multiple TSP-Link networks Another 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.
Page 259
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 85: 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.
Page 260
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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.
Page 261
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 power for a node is turned off, the group number for that node changes to 0.
Page 262
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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 occur.
Page 263
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming -- 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.
Page 265
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Using TSP-Net with any ethernet-enabled instrument Refer to TSP command reference (on page 8-1) for details about the commands presented in this section. The 2601B-PULSE LAN port is auto-sensing (Auto-MDIX), so you can use either a LAN crossover cable or a LAN straight-through cable to connect directly from the 2601B-PULSE to an ethernet device or to a hub.
Page 266
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming To communicate to a remote ethernet device from the 2601B-PULSE: 1. Connect to the remote device using one of the above procedures. If the 2601B-PULSE cannot make a connection to the remote device, it generates a timeout event. Use tspnet.timeout to set the timeout value.
Page 267
Section 7: Instrument programming Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 2601B-PULSE and another TSP-enabled instrument. One of the advantages of using the TSP-Link network interface is that TSP-Link connections have three trigger lines that are available to each device on the TSP-Link network.
Page 268
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 7: Instrument programming 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-->...
Page 269
Section 8 TSP command reference In this section: TSP command programming notes .......... 8-1 Using the TSP command reference ......... 8-4 TSP commands ................ 8-8 TSP command programming notes This section contains general information about using TSP commands. Placeholder text This manual uses italicized text to represent the parts of remote commands that must be replaced by user-specified values.
Page 270
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example 3: smua.trigger.measure.Y(rbuffer) Where: • Y is the measurement type that you specify (v, i, r, or p). • rbuffer is the reading buffer object where the readings are stored. For example, to make voltage measurements and store them in buffer vbuffername, send: smua.trigger.measure.v(vbuffername) Syntax rules...
Page 271
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Settings ignored when the pulser is enabled The following source-measure unit (SMU) settings are ignored when the pulser is enabled: • display.smua.limit.func • smua.measure.autorangeY • smua.measure.autozero • smua.measure.delay •...
Page 272
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Using the TSP command reference ® The Test Script Processor (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.
Page 273
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Figure 87: TSP command name and summary table 1. Instrument command name. Indicates the beginning of the command description. It is followed by a brief description of what the command does. 2.
Page 274
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 275
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example section The Example section of the remote command description shows examples of how you can use the command. Figure 90: TSP example code Actual example code that you can copy from this table and paste into your own programming application.
Page 276
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual TSP commands The TSP commands available for the instrument are listed in alphabetical order. beeper.beep() This function generates an audible tone. Type TSP-Link accessible Affected by Where saved Default value Function Usage...
Page 277
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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)
Page 278
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual bit.bitor() This function performs a bitwise logical OR operation on two numbers. Type TSP-Link accessible Affected by Where saved Default value Function Usage result = bit.bitor(value1, value2) result Result of the logical OR operation value1 Operand for the logical OR operation...
Page 279
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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...
Page 280
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 Usage result = bit.get(value, index) result Result of the bit manipulation value...
Page 281
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage result = bit.getfield(value, index, width) result Result of the bit manipulation...
Page 282
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual bit.set() This function sets a bit at the specified index position. Type TSP-Link accessible Affected by Where saved Default value Function Usage result = bit.set(value, index) result Result of the bit manipulation value Specified number index...
Page 283
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference bit.setfield() This function overwrites a bit field at a specified index position. Type TSP-Link accessible Affected by Where saved Default value Function Usage result = bit.setfield(value, index, width, fieldValue) result Result of the bit manipulation value...
Page 284
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 Usage result = bit.test(value, index) result...
Page 285
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage result = bit.toggle(value, index) result Result of the bit manipulation value...
Page 286
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual bufferVar.appendmode This attribute sets the state of the append mode of the reading buffer. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Not applicable See Details 0 (disabled) Usage state = bufferVar.appendmode...
Page 287
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable See Details Usage...
Page 288
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Not applicable Not saved 1 (enabled) Usage cacheMode = bufferVar.cachemode...
Page 289
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference bufferVar.capacity This attribute sets the number of readings a buffer can store. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable See Details Not applicable Usage bufferCapacity = bufferVar.capacity bufferCapacity...
Page 290
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual bufferVar.clear() This function empties the buffer. Type TSP-Link accessible Affected by Where saved Default value Function Usage bufferVar.clear() bufferVar The reading buffer; can be a dynamically allocated user-defined buffer or a dedicated reading buffer Details This function clears all readings and related recall attributes from the buffer (for example,...
Page 291
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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. Also see bufferVar.fillmode (on page 8-26)
Page 292
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see bufferVar.clear() (on page 8-22) Reading buffers (on page 3-1) smua.measure.overlappedY() (on page 8-209) smua.measure.Y() (on page 8-213) smua.nvbufferY (on page 8-215) smua.trigger.measure.action (on page 8-252) smua.trigger.measure.Y() (on page 8-256) bufferVar.collecttimestamps This attribute sets whether or not timestamp values are stored with the readings in the buffer.
Page 293
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see bufferVar.clear() (on page 8-22) Reading buffers (on page 3-1) smua.measure.overlappedY() (on page 8-209) smua.measure.Y() (on page 8-213) smua.nvbufferY (on page 8-215) smua.trigger.measure.Y() (on page 8-256) bufferVar.fillcount This attribute sets the reading buffer fill count.
Page 294
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual bufferVar.fillmode This attribute sets the reading buffer fill mode. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Not applicable See Details 0 (smua.FILL_ONCE) Usage fillMode = bufferVar.fillmode bufferVar.fillmode = fillMode fillMode The reading buffer fill mode;...
Page 295
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) The reading number (1 to bufferVar.n) Details...
Page 296
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Clearing the buffer See Details Not applicable...
Page 297
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference bufferVar.n This attribute contains the number of readings in the buffer. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Clearing the buffer See Details Not applicable Usage numberOfReadings = bufferVar.n numberOfReadings...
Page 298
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Clearing the buffer See Details Not applicable Usage reading = bufferVar.readings[N]...
Page 299
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Clearing the buffer...
Page 300
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Clearing the buffer See Details...
Page 301
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Clearing the buffer See Details Not applicable...
Page 302
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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)
Page 303
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Clearing the buffer See Details Not applicable Usage statusInformation = bufferVar.statuses[N]...
Page 304
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example reset() smua.source.func = smua.OUTPUT_DCVOLTS smua.source.autorangev = smua.AUTORANGE_ON smua.source.levelv = 5 smua.source.limiti = 10e-3 smua.measure.rangei = 10e-3 smua.source.output = smua.OUTPUT_ON print(smua.measure.i(smua.nvbuffer1)) smua.source.output = smua.OUTPUT_OFF print(smua.nvbuffer1.statuses[1]) Reset the instrument. Set the voltage source function to dc volts.
Page 305
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 306
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 307
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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") print("The dataqueue contains:") while dataqueue.count > 0 do print(dataqueue.next()) Clear the data queue.
Page 308
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see dataqueue.add() (on page 8-38) dataqueue.clear() (on page 8-40) dataqueue.count (on page 8-41) dataqueue.next() (on page 8-42) Using the data queue for real-time communication (on page 7-65) dataqueue.clear() This function clears the data queue.
Page 309
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not applicable Not applicable Usage count = dataqueue.count count...
Page 310
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual dataqueue.next() This function removes the next entry from the data queue. Type TSP-Link accessible Affected by Where saved Default value Function Usage value = dataqueue.next() value = dataqueue.next(timeout) value The next entry in the data queue timeout...
Page 311
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see dataqueue.add() (on page 8-38) dataqueue.CAPACITY (on page 8-39) dataqueue.clear() (on page 8-40) dataqueue.count (on page 8-41) format.asciiprecision (on page 8-89) Using the data queue for real-time communication (on page 7-65) delay() This function delays the execution of the commands that follow it.
Page 312
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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...
Page 313
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference digio.trigger[N].assert() This function asserts a trigger pulse on one of the digital I/O lines. Type TSP-Link accessible Affected by Where saved Default value Function Usage digio.trigger[N].assert() Digital I/O trigger line (1 to 14) Details The pulse width that is set determines how long the instrument asserts the trigger.
Page 314
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual digio.trigger[N].EVENT_ID This constant identifies the trigger event generated by the digital I/O line N. Type TSP-Link accessible Affected by Where saved Default value Constant Usage eventID = digio.trigger[N].EVENT_ID eventID The trigger event number Digital I/O trigger line (1 to 14)
Page 315
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 316
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual digio.trigger[N].overrun This attribute returns the event detector overrun status. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Instrument reset Not saved Not applicable Digital I/O trigger N clear Digital I/O trigger N reset Recall setup Usage...
Page 317
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details Setting the pulse 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 8-45)
Page 318
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual digio.trigger[N].reset() This function resets trigger values to their factory defaults. Type TSP-Link accessible Affected by Where saved Default value Function Usage digio.trigger[N].reset() Digital I/O trigger line (1 to 14) Details This function resets the following attributes to factory default settings: ▪...
Page 319
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference digio.trigger[N].stimulus This attribute selects the event that causes a trigger to be asserted on the digital output line. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Not saved Digital I/O trigger N reset...
Page 320
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Trigger event IDs* Event ID Event description 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.
Page 321
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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...
Page 322
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual digio.writeport() This function writes to all digital I/O lines. Type TSP-Link accessible Affected by Where saved Default value Function Usage digio.writeport(data) data Value to write to the port (0 to 16383) Details The binary representation of data indicates the output pattern to be written to the I/O port.
Page 323
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 324
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 325
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage row, column, style = display.getcursor() The row where the cursor is: 1 (top row);...
Page 326
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual display.getlastkey() This function retrieves the key code for the last pressed key. Type TSP-Link accessible Affected by Where saved Default value Function 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.
Page 327
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example key = display.getlastkey() On the front panel, press the MENU key and print(key) then send the code shown here. This retrieves the key code for the last pressed key.
Page 328
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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...
Page 329
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 330
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual display.loadmenu.add() This function adds an entry to the USER menu, which can be accessed by pressing the LOAD key on the front panel. Type TSP-Link accessible Affected by Where saved Default value Function...
Page 331
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example 2 display.loadmenu.add("Test", "DUT1() beeper.beep(2, 500)", display.SAVE) Assume a script with a function named “DUT1” is loaded into the instrument, and the script has not been saved in nonvolatile memory. Now assume you want to add a test named “Test”...
Page 332
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual display.loadmenu.delete() This function removes an entry from the USER menu, which can be accessed using the LOAD key on the front panel. Type TSP-Link accessible Affected by Where saved Default value Function Usage...
Page 333
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example display.locallockout = display.LOCK Disables the front-panel EXIT (LOCAL) key. Also see None display.menu() This function presents a menu on the front-panel display. Type TSP-Link accessible Affected by Where saved Default value Function...
Page 334
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Instrument reset Saved setup 1 (display.ENABLE)
Page 335
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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...
Page 336
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual display.screen This attribute contains the selected display screen. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Saved setup 0 (display.SMUA) Recall setup Usage displayID = display.screen display.screen = displayID displayID...
Page 337
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Key codes Value Key list Value Key list display.KEY_RANGEUP display.KEY_RECALL display.KEY_MENU display.KEY_MEASA display.KEY_MODEA display.KEY_DIGITSA display.KEY_RELA display.KEY_OUTPUTA display.KEY_RUN display.KEY_TRIG display.KEY_DISPLAY display.KEY_LIMITA display.KEY_AUTO display.KEY_SPEEDA display.KEY_EXIT display.KEY_LOAD display.KEY_FILTERA display.WHEEL_ENTER display.KEY_STORE display.KEY_RIGHT display.KEY_SRCA display.KEY_LEFT display.KEY_CONFIG...
Page 338
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Details This attribute sets the display resolution. Example display.smua.digits = display.DIGITS_5_5 Select 5-1/2 digit resolution. Also see “Display resolution” in the Model 2601B-PULSE User's Manual display.setcursor() This function sets the position of the cursor. Type TSP-Link accessible Affected by...
Page 339
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see display.clear() (on page 8-55) display.getcursor() (on page 8-57) display.gettext() (on page 8-59) display.screen (on page 8-68) display.settext() (on page 8-71) display.settext() This function displays text on the front-panel user screen. Type TSP-Link accessible Affected by...
Page 340
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. Also see display.clear() (on page 8-55)
Page 341
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference display.smua.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) Instrument reset Saved setup 1 (display.MEASURE_DCVOLTS) Recall setup Usage func = display.smua.measure.func...
Page 342
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 Usage eventID = display.trigger.EVENT_ID eventID...
Page 343
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage triggered = display.trigger.wait(timeout) triggered true: Trigger was detected false: The operation timed out...
Page 344
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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), you can call the exit() function to abort the script.
Page 345
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference errorqueue.clear() This function clears all entries out of the error queue. Type TSP-Link accessible Affected by Where saved Default value Function Usage errorqueue.clear() Details Error queue (on page 12-3) for additional information about the error queue. Also see errorqueue.count (on page 8-77)
Page 346
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 Usage errorCode, message, severity, errorNode = errorqueue.next() errorCode The error code number for the entry...
Page 347
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage...
Page 348
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see eventlog.all() (on page 8-79) eventlog.count (on page 8-80) eventlog.enable (on page 8-80) eventlog.next() (on page 8-81) eventlog.overwritemethod (on page 8-82) eventlog.count This attribute returns the number of unread events in the event log. Type TSP-Link accessible Affected by...
Page 349
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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. Example print(eventlog.enable) eventlog.enable = eventlog.DISABLE...
Page 350
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see eventlog.all() (on page 8-79) eventlog.clear() (on page 8-79) eventlog.count (on page 8-80) eventlog.enable (on page 8-80) eventlog.overwritemethod (on page 8-82) eventlog.overwritemethod This attribute controls how the event log processes events if the event log is full. Type TSP-Link accessible Affected by...
Page 351
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference exit() This function stops a script that is presently running. Type TSP-Link accessible Affected by Where saved Default value Function 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.
Page 352
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example local fileName = "/usb1/myfile.txt" if fs.is_file(fileName) then os.remove(fileName) print("Removing file") else print("Nothing removed") print("\n*** fileVar:close") myfile, myfile_err, myfile_errnum = io.open(fileName, "w") myfile:write("Line 1") myfile:close() myfile, myfile_err, myfile_errnum = io.open(fileName, "r") myfile:close() os.remove(fileName) Opens file myfile.txt for writing.
Page 353
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example local fileName = "/usb1/myfile.txt" if fs.is_file(fileName) then os.remove(fileName) print("Removing file") else print("Nothing removed") errorqueue.clear() print("\n*** io.read") myfile, myfile_err, myfile_errnum = io.open(fileName, "w") myfile:write("Line 1\n") myfile:flush() myfile:close() fileHandle = io.input(fileName) value = io.read("*a") print(value) fileHandle:close()
Page 354
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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).
Page 355
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference fileVar:seek() This function sets and gets the present position of a file. Type TSP-Link accessible Affected by Where saved Default value Function 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...
Page 356
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example local fileName = "/usb1/myfile.txt" if fs.is_file(fileName) then os.remove(fileName) print("Removing file") else print("Nothing removed") errorqueue.clear() print("\n*** fileVar:seek") myfile, myfile_err, myfile_errnum = io.open(fileName, "w") myfile:write("Line 1") myfile:close() myfile, myfile_err, myfile_errnum = io.open(fileName, "r") position = myfile:seek("end", -1) print(position) myfile:close()
Page 357
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example local fileName = "/usb1/myfile.txt" if fs.is_file(fileName) then os.remove(fileName) print("Removing file") else print("Nothing removed") errorqueue.clear() print("\n*** fileVar:write") myfile, myfile_err, myfile_errnum = io.open(fileName, "w") myfile:write("Line 1") myfile:close() os.remove(fileName) Write data to a file. Also see fileVar:close() (on page 8-83)
Page 358
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example format.asciiprecision = 10 Output: x = 2.54 2.540000000e+00 printnumber(x) format.asciiprecision = 3 2.54e+00 printnumber(x) Also see format.byteorder (on page 8-90) format.data (on page 8-91) print() (on page 8-155) printbuffer() (on page 8-156) printnumber()
Page 359
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see format.asciiprecision (on page 8-89) format.data (on page 8-91) printbuffer() (on page 8-156) printnumber() (on page 8-157) format.data This attribute sets the data format for data that is printed using the printnumber() and printbuffer() functions.
Page 360
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example format.asciiprecision = 10 Output a number represented by x in ASCII using a x = 3.14159265 precision of 10, then output the same number in binary format.data = format.ASCII using double-precision format.
Page 361
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference fs.cwd() This function returns the absolute path of the current working directory. Type TSP-Link accessible Affected by Where saved Default value Function Usage path = fs.cwd() path The absolute path of the current working directory Example if fs.is_dir("/usb1/temp") == true then fs.chdir("/usb1/temp")
Page 362
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example 1 print("Is directory: ", fs.is_dir("/usb1/")) Because /usb1/ is always the root directory of an inserted flash drive, you can use this command to verify that USB flash drive is inserted. Example 2 if fs.is_dir("/usb1/temp") == false then fs.mkdir("/usb1/temp")
Page 363
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference fs.mkdir() This function creates a directory at the specified path. Type TSP-Link accessible Affected by Where saved Default value Function Usage path = fs.mkdir("newPath") path The returned path of the new directory newpath Location (path) of where to create the new directory Details...
Page 364
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example rootDirectory = "/usb1/" entries = fs.readdir(rootDirectory) count = table.getn(entries) print("Found a total of "..count.." files and directories") for i = 1, count do print(entries[i]) Insert a USB flash drive into the front panel of the instrument. Set rootDirectory to be the USB port.
Page 365
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference gettimezone() This function retrieves the local time zone. Type TSP-Link accessible Affected by Where saved Default value Function Usage timeZone = gettimezone() timeZone The local time zone of the instrument Details See settimezone() for additional details about the time zone format and a description of the fields.
Page 366
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 367
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 (G ) at each point using the central difference method.
Page 368
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example gpib.address = 26 address = gpib.address print(address) Sets the GPIB address and reads the address. Output: Also see “GPIB setup” in the Model 2601B-PULSE User's Manual i_leakage_measure() This KIHighC factory script function performs a current leakage measurement after stepping the output voltage.
Page 369
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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, 0.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...
Page 370
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 371
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 372
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 373
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference io.open() This function opens a file for later reference. Type TSP-Link accessible Affected by Where saved Default value Function Usage fileVar, errorMsg = io.open("path") fileVar, errorMsg = io.open("path", "mode") fileVar The descriptor of the opened file errorMsg...
Page 374
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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()
Page 375
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference io.read() This function reads data from the default input file. Type TSP-Link accessible Affected by Where saved Default value Function 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...
Page 376
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example local fileName = "/usb1/myfile.txt" if fs.is_file(fileName) then os.remove(fileName) print("Removing file") else print("Nothing removed") errorqueue.clear() -- io.read print("\n*** io.read") myfile, myfile_err, myfile_errnum = io.open(fileName, "w") myfile:write("Line 1\n") myfile:flush() myfile:close() fileHandle = io.input(fileName) value = io.read("*a")
Page 377
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example local fileName = "/usb1/myfile.txt" if fs.is_file(fileName) then os.remove(fileName) print("Removing file") else print("Nothing removed") errorqueue.clear() print("\n*** io.type") myfile, myfile_err, myfile_errnum = io.open(fileName, "w") myfile:write("Line 1") myfile:close() fileHandle = io.output(fileName) state = io.type(fileHandle) print(state) io.close(fileHandle)
Page 378
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 flash drive immediately. Use the io.flush() function to immediately write buffered data to the drive.
Page 379
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference lan.applysettings() This function re-initializes the LAN interface with new settings. Type TSP-Link accessible Affected by Where saved Default value Function Usage lan.applysettings() Details Disconnects all existing LAN connections to the instrument and re-initializes the LAN with the present configuration settings.
Page 380
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 381
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see lan.config.dns.domain (on page 8-113) lan.config.dns.dynamic (on page 8-114) lan.config.dns.hostname (on page 8-114) lan.config.dns.verify (on page 8-115) lan.restoredefaults() (on page 8-122) lan.config.dns.domain Configures the dynamic DNS domain. Type TSP-Link accessible Affected by...
Page 382
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual lan.config.dns.dynamic Enables or disables the dynamic DNS registration. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) 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.
Page 383
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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-2601B-PULSE-1234567"). Note that hyphens separate the characters of hostName.
Page 384
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual lan.config.duplex This attribute defines the LAN duplex mode. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) 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:...
Page 385
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 8-122) lan.status.gateway (on page 8-125) lan.config.ipaddress This command specifies the LAN IP address. Type TSP-Link accessible Affected by...
Page 386
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual lan.config.method This attribute contains the LAN settings configuration method. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) LAN restore defaults Nonvolatile memory 0 (lan.AUTO) Usage method = lan.config.method lan.config.method = method method...
Page 387
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details This attribute stores the speed that is 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.
Page 388
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual lan.linktimeout This attribute contains the LAN link timeout period. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) LAN restore defaults Nonvolatile memory 20 (20 s) Usage timeout = lan.linktimeout lan.linktimeout = timeout...
Page 389
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example print(lan.lxidomain) Displays the LXI domain. Also see None lan.nagle This attribute controls the state of the LAN Nagle algorithm. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Power cycle Not saved...
Page 390
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual lan.restoredefaults() This function resets LAN settings to default values. Type TSP-Link accessible Affected by Where saved Default value Function Usage lan.restoredefaults() Details The settings that are restored are shown in the following table. Settings that are restored to default Attribute Default setting...
Page 391
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not applicable Not applicable Usage dnsAddress = lan.status.dns.address[N] dnsAddress DNS server IP address Entry index (1, 2, or 3)
Page 392
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Details A fully qualified domain name (FQDN) 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.
Page 393
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not applicable Not applicable Usage gatewayAddress = lan.status.gateway...
Page 394
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual lan.status.macaddress This attribute contains the LAN MAC address. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable Not applicable Not applicable Usage macAddress = lan.status.macaddress macAddress The instrument MAC address Details...
Page 395
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not applicable Not applicable Usage port = lan.status.port.rawsocket port...
Page 396
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Not applicable Not applicable Not applicable Usage port = lan.status.port.vxi11 port LAN VXI-11 port number...
Page 397
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not applicable Not applicable...
Page 398
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 Usage lan.trigger[N].assert() The LAN event number (1 to 8) Details Generates and sends a LAN trigger packet for the LAN event number specified.
Page 399
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details The trigger event detector enters the detected state when an event is detected. This function clears a trigger event detector and discards the history of the trigger packet. This function clears all overruns associated with this LAN trigger.
Page 400
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual lan.trigger[N].connected This attribute stores the LAN event connection state. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable Not applicable Not applicable Usage connected = lan.trigger[N].connected connected The LAN event connection state: ▪...
Page 401
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 8-133) lan.trigger[N].protocol...
Page 402
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. Example lan.trigger[3].protocol = lan.TCP lan.trigger[3].ipaddress = "192.168.1.100"...
Page 403
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 instead of lan.TRIG_SYNCHRONOUS is preferred. Use of lan.TRIG_SYNCHRONOUS is provided for compatibility with older products and other Keithley Instruments products.
Page 404
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Instrument reset Not saved 0 (lan.TCP) LAN trigger N reset Recall setup...
Page 405
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 406
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Trigger event IDs* Event ID Event description 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...
Page 407
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 408
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Not applicable Nonvolatile memory Instrument specific (see Details) Usage localnode.description = "description"...
Page 409
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example print(localnode.license) Returns the license agreements for the 2601B-PULSE. Also see None localnode.linefreq This attribute contains the power line frequency setting that is used for NPLC calculations. Type TSP-Link accessible Affected by Where saved...
Page 410
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual localnode.model This attribute stores the model number. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable Not applicable Not applicable Usage model = localnode.model model The model number of the instrument Example...
Page 411
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example localnode.password = "N3wpa55w0rd" Changes the remote interface password to N3wpa55w0rd. Also see lan.reset() (on page 8-121) localnode.passwordmode (on page 8-143) localnode.passwordmode This attribute stores the password enable mode for remote access to the instrument. Type TSP-Link accessible Affected by...
Page 412
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual localnode.prompts This attribute determines if the instrument generates prompts in response to command messages. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Power cycle Not saved 0 (disabled) Usage prompting = localnode.prompts...
Page 413
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see localnode.showerrors (on page 8-147) tsplink.reset() (on page 8-374) 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...
Page 414
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 •...
Page 415
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference localnode.serialno This attribute stores the serial number of the instrument. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable Not applicable Not applicable Usage serialno = localnode.serialno serialno The serial number of the instrument...
Page 416
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example localnode.showerrors = 1 Enables sending of generated errors. Also see localnode.prompts (on page 8-144) makegetter() This function creates a function to get the value of an attribute. Type TSP-Link accessible Affected by...
Page 417
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage setter = makesetter(table, "attributeName") setter Function that sets the value of the attribute table...
Page 418
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 419
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 7-60) tsplink.group (on page 8-371) node[N].getglobal()
Page 420
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual node[N].setglobal() This function sets the value of a global variable. Type TSP-Link accessible Affected by Where saved Default value Function Usage node[N].setglobal("name", value) The node number of this instrument (1 to 64) name The global variable name to set value...
Page 421
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example opc() waitcomplete() print("1") Output: Also see Status model (on page 12-1) waitcomplete() (on page 8-400) os.remove() This function deletes the file or directory with a given name. Type TSP-Link accessible Affected by...
Page 422
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual os.rename() This function renames an existing file or directory. Type TSP-Link accessible Affected by Where saved Default value Function Usage success, msg = os.rename("oldname", "newname") success A success indicator (true or nil) A message value (nil or an error message) oldname String representing the name of the file or directory to rename...
Page 423
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 424
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example 2 x = true print(tostring(x)) Example of an output response message: true Also see format.asciiprecision (on page 8-89) printbuffer() This function prints data from tables or reading buffer subtables. Type TSP-Link accessible Affected by...
Page 425
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example format.data = format.ASCII format.asciiprecision = 6 printbuffer(1, rb1.n, rb1) This assumes that rb1 is a valid reading buffer in the runtime environment. The use of rb1.n (bufferVar.n) indicates that the instrument should output all readings in the reading buffer. In this example, rb1.n equals 10.
Page 426
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 427
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see localnode.reset() (on page 8-145) 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...
Page 428
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 429
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage...
Page 430
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. •...
Page 431
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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')
Page 432
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 is set to NewAuto.
Page 433
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference script.run() This function runs the anonymous script. Type TSP-Link accessible Affected by Where saved Default value Function 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.
Page 434
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Not applicable See Details See Details Usage scriptVar.autorun = "state"...
Page 435
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference scriptVar.list() This function generates a script listing. Type TSP-Link accessible Affected by Where saved Default value Function Usage scriptVar.list() scriptVar The name of the 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).
Page 436
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 437
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 factory script.
Page 438
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual scriptVar.source This attribute contains the source code of a script. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Not applicable Not saved Not applicable (see Details) Usage code = scriptVar.source scriptVar.source = nil...
Page 439
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 440
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see “RS-232 interface operation” in the Model 2601B-PULSE User's Manual serial.baud (on page 8-170) serial.flowcontrol (on page 8-172) serial.parity (on page 8-173) serial.flowcontrol This attribute configures flow control for the RS-232 port. Type TSP-Link accessible Affected by...
Page 441
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference serial.parity This attribute configures parity for the RS-232 port. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Not applicable Nonvolatile memory "none" (serial.PARITY_NONE) Usage parity = serial.parity serial.parity = parity parity Set parity to one of the following values:...
Page 442
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual serial.read() This function reads available characters (data) from the serial port. Type TSP-Link accessible Affected by Where saved Default value Function 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 Details...
Page 443
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference serial.write() This function writes data to the serial port. Type TSP-Link accessible Affected by Where saved Default value Function 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).
Page 444
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example systemTime = os.time({year = 2020, month = 3, day = 31, hour = 14, min = 25}) settime(systemTime) Sets the date and time to Mar 31, 2020 at 2:25 pm. Also see gettimezone() (on page 8-97)
Page 445
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 •...
Page 446
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example setup.poweron = 0 Set the instrument to use the factory default setup when power is turned on. Also see setup.save() (on page 8-179) Start-up (power-on) configuration (on page 2-19) setup.recall() This function recalls settings from a saved setup.
Page 447
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference setup.save() This function saves the present setup as a user-saved setup. Type TSP-Link accessible Affected by Where saved Default value Function Usage setup.save(id) An integer or string specifying where to save the user setup: ▪...
Page 448
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.abort() This function terminates all overlapped operations on the source-measure unit (SMU). Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.abort() Details The smua.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 idle state of the trigger model.
Page 449
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Attribute When returned Description 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 >...
Page 450
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.buffer.recalculatestats() This function recalculates the statistics of the specified reading buffer. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.buffer.recalculatestats(bufferVar) bufferVar The reading buffer to process Details This function causes the SMU to regenerate the reading buffer statistics about the specified reading buffer.
Page 451
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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. smua.cal.adjustdate must be set to the date the adjustment was done using the UTC time and date.
Page 452
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example smua.cal.date = os.time() Sets calibration date to the present time set on the instrument. Also see Adjustment (on page 10-20) os.time() (on page 8-154) smua.cal.adjustdate (on page 8-182) smua.cal.due (on page 8-184) smua.cal.lock()
Page 453
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see Adjustment (on page 10-20) os.time() (on page 8-154) smua.cal.adjustdate (on page 8-182) smua.cal.date (on page 8-183) smua.cal.lock() (on page 8-185) smua.cal.restore() (on page 8-187) smua.cal.state (on page 8-189) smua.cal.unlock() (on page 8-190) smua.cal.lock()
Page 454
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.cal.password This attribute stores the password required to enable calibration. Type TSP-Link accessible Affected by Where saved Default value Attribute (W) Not applicable SMU nonvolatile memory "KI0026XX" Usage smua.cal.password = "newPassword"...
Page 455
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details This attribute controls which polarity calibration constants are used to make all subsequent measurements. This attribute does not affect the smua.measure.calibrateY() and smua.pulser.measure.calibrateY() commands. The polarity for the measure calibrate commands is dictated by their range parameters.
Page 456
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 smua.cal.unlock() is made. If calset is not specified, smua.CALSET_DEFAULT is used.
Page 457
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.cal.state This attribute returns the present calibration state. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable Not saved Not applicable Usage calState = smua.cal.state calState The present calibration state;...
Page 458
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.cal.unlock() This function enables the commands that change calibration settings. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.cal.unlock(password) 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".
Page 459
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details Contact check measurement calibration does not require range information. Typically, points one and two are near 0 Ω and 50 Ω, respectively. All four measurements (cp1Measured, cp1Reference, cp2Measured, and cp2Reference) must be made with the calibration set that is active.
Page 460
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.contact.calibratelo() This function adjusts the low/sense low contact check measurement. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.contact.calibratelo(cp1Measured, cp1Reference, cp2Measured, cp2Reference) cp1Measured The value measured by this SMU for point 1 cp1Reference The reference measurement for point 1 as measured externally cp2Measured...
Page 461
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.contact.check() This function determines if contact resistance is lower than the threshold. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.contact.check() Details Contact check is not available when the pulser is enabled. If you need to use the contact check function in a pulser application, you can disable the pulser, run the contact check measurements, then enable the pulser.
Page 462
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see “Contact check connections” in Model 2601B-PULSE User's Manual “Contact check measurements” in Model 2601B-PULSE User's Manual smua.contact.speed (on page 8-195) smua.contact.threshold (on page 8-196) smua.source.offfunc (on page 8-235) smua.contact.r() This function measures aggregate contact resistance.
Page 463
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example if not smua.contact.check() then smua.contact.speed = smua.CONTACT_SLOW rhi, rlo = smua.contact.r() print(rhi, rlo) exit() Check contacts against threshold. Set speed to slow. Get resistance readings. Output contact resistances. Terminate execution.
Page 464
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example smua.contact.speed = smua.CONTACT_SLOW Configure contact check for higher accuracy. Also see “Contact check connections” in Model 2601B-PULSE User's Manual “Contact check measurements” in Model 2601B-PULSE User's Manual reset() (on page 8-158) smua.contact.check()
Page 465
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.interlock.enable This attribute enables or disables use of the interlock signal. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Not applicable Nonvolatile memory smua.DISABLE Usage interlockState = smua.interlock.enable smua.interlock.enable = interlockState interlockState...
Page 466
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example mybuffer2 = smua.makebuffer(200) Creates a 200 element reading buffer (mybuffer2). Also see collectgarbage() in Base library functions (on page 7-30) Remote reading buffer programming (on page 3-6) savebuffer() (on page 8-159) smua.nvbufferY...
Page 467
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see Autoranging (on page 2-33) Range (on page 2-30) reset() (on page 8-158) setup.recall() (on page 8-178) smua.measure.rangeY (on page 8-210) smua.reset() (on page 8-226) smua.measure.autozero This attribute enables or disables automatic updates to the internal reference measurements (autozero) of the instrument.
Page 468
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The 2601B-PULSE 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.
Page 469
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example smua.measure.calibratev(1, 1e-4, 1e-5, 0.92, 0.903) Adjust SMU channel A voltage measurement using the following values: ▪ 1 V calibration range ▪ 1e−4 for +zero measurement reading ▪ 1e−5 for +zero DMM measurement reading ▪...
Page 470
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see reset() (on page 8-158) setup.recall() (on page 8-178) smua.measure.delay (on page 8-202) smua.measure.interval (on page 8-206) smua.measure.overlappedY() (on page 8-209) smua.measure.Y() (on page 8-213) smua.reset() (on page 8-226) smua.measure.delay This attribute controls the measurement delay.
Page 471
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.measure.delayfactor This attribute stores a multiplier to the delays that are used when smua.measure.delay is set to smua.DELAY_AUTO. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Not saved SMU reset...
Page 472
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example smua.measure.filter.count = 10 smua.measure.filter.type = smua.FILTER_MOVING_AVG smua.measure.filter.enable = smua.FILTER_ON Sets the filter count to 10. Sets the filter type to moving average. Enables the filter. Also see Filters (on page 2-53) reset()
Page 473
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.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) Instrument reset Saved setup 1 (smua.FILTER_REPEAT_AVG)
Page 474
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.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) Instrument reset Saved setup...
Page 475
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details This attribute sets the time interval between measurements when smua.measure.count is set to a value greater than 1. The SMU attempts to start each measurement when scheduled. When the pulser is disabled, if the SMU cannot keep up with the interval setting, measurements are made as quickly as possible.
Page 476
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example smua.measure.lowrangev = 1 Sets voltage low range to 1 V. Also see Range (on page 2-30) reset() (on page 8-158) setup.recall() (on page 8-178) smua.measure.autorangeY (on page 8-198) smua.reset() (on page 8-226) smua.measure.nplc...
Page 477
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.measure.overlappedY() This function starts an asynchronous (background) measurement. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.measure.overlappedY(rbuffer) smua.measure.overlappediv(ibuffer, vbuffer) SMU measurement type (v = voltage, i = current, r = resistance, p = power) rbuffer A reading buffer object where the readings are stored ibuffer...
Page 478
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.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) Instrument reset Saved setup Voltage: 100e-3 (100 mV) SMU reset...
Page 479
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see Range (on page 2-30) reset() (on page 8-158) setup.recall() (on page 8-178) smua.measure.autorangeY (on page 8-198) smua.pulser.rangeY (on page 8-224) smua.reset() (on page 8-226) smua.source.rangeY (on page 8-239) smua.measure.rel.enableY This attribute turns relative measurements on or off.
Page 480
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.measure.rel.levelY This attribute sets the offset value for relative measurements. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Not saved SMU reset Recall setup Usage relValue = smua.measure.rel.levelY smua.measure.rel.levelY = relValue...
Page 481
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.measure.Y() This function makes one or more measurements. Type TSP-Link accessible Affected by Where saved Default value Function Usage reading = smua.measure.Y() reading = smua.measure.Y(readingBuffer) iReading, vReading = smua.measure.iv() iReading, vReading = smua.measure.iv(iReadingBuffer) iReading, vReading = smua.measure.iv(iReadingBuffer, vReadingBuffer) reading...
Page 482
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see Reading buffers (on page 3-1) smua.measure.count (on page 8-201) smua.measure.overlappedY() (on page 8-209) smua.nvbufferY (on page 8-215) smua.measureYandstep() This function makes one or two measurements and then steps the source. Type TSP-Link accessible Affected by...
Page 483
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) ivalues[11] = smua.measure.i() This use of the measure and step function measures current, starting at a source value of 0 V.
Page 484
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see Configuring and running sweeps (on page 2-48) Reading buffers (on page 3-1) savebuffer() (on page 8-159) smua.makebuffer() (on page 8-197) smua.measure.overlappedY() (on page 8-209) smua.savebuffer() (on page 8-226) smua.trigger.measure.action (on page 8-252) smua.trigger.measure.set()
Page 485
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference • Some of the output-off modes behave differently: ▪ OUTPUT_NORMAL: The output circuit is shorted when this output-off mode is selected. ▪ OUTPUT_ZERO: The output circuit is shorted and measurements cannot be made when this output-off mode is selected.
Page 486
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.pulser.measure.calibrateY() This function generates and activates new measurement calibration constants for the pulser. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.pulser.measure.calibrateY(range, cp1Measured, cp1Reference, cp2Measured, cp2Reference) range The pulse measurement range to adjust...
Page 487
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.pulser.measure.delay This attribute sets the measurement delay when the pulser is enabled. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Saved setup SMU reset Recall setup Usage delay = smua.pulser.measure.delay...
Page 488
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.pulser.protect.sensev This attribute sets a voltage protection level used to monitor the sense terminals when the pulser is enabled. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Saved setup...
Page 489
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.pulser.protect.sourcev This attribute sets an absolute voltage protection level used to monitor the force terminals when the pulser is enabled. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Saved setup...
Page 490
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.pulser.protect.tripped This attribute indicates if the protection circuit was tripped. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Instrument reset None Not applicable SMU reset Usage tripped = smua.pulser.protect.tripped tripped...
Page 491
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.pulser.source.calibratebiasi() This function adjusts the new bias source calibration constants for the pulser. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.pulser.source.calibratebiasi(range, cp1Expected, cp1Reference, cp2Expected, cp2Reference) range The pulser bias-current range to adjust...
Page 492
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.pulser.rangeY This attribute sets the source and measure ranges when the pulser is enabled. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Saved setup Current: 10 A SMU reset Voltage: 10 V...
Page 493
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.pulser.source.calibratei() This function generates and activates new source calibration constants for the pulser. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.pulser.source.calibratei(range, cp1Expected, cp1Reference, cp2Expected, cp2Reference) range The pulser current range to adjust...
Page 494
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.reset() This function turns off the output and resets the commands that begin with smua. to their default settings. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.reset()
Page 495
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.sense This attribute contains the state of the sense mode. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Saved setup 0 (smua.SENSE_LOCAL) Instrument reset Recall setup Usage senseMode = smua.sense...
Page 496
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.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) SMU reset Saved setup 1 (smua.AUTORANGE_ON) Instrument reset Recall setup Usage...
Page 497
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.source.calibrateY() This function generates and activates new source calibration constants. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.source.calibrateY(range, cp1Expected, cp1Reference, cp2Expected, cp2Reference) SMU source function (v = voltage, i = current) range The measurement range to adjust cp1Expected...
Page 498
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.source.compliance This attribute contains the state of source compliance. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable Not saved Not applicable Usage compliance = smua.source.compliance compliance The state of source compliance: ▪...
Page 499
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details This attribute allows for additional delay (settling time) after an output step. The smua.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 2601B-PULSE specifications.
Page 500
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.source.highc This attribute enables or disables high-capacitance mode. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Saved setup 0 (smua.DISABLE) Instrument reset Recall setup Usage highC = smua.source.highc smua.source.highc = highC...
Page 501
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.source.levelY This attribute sets the source level. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Saved setup Instrument reset Recall setup Usage sourceLevel = smua.source.levelY smua.source.levelY = sourceLevel sourceLevel The source value;...
Page 502
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.source.limitY This attribute sets compliance limits. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Saved setup Limit voltage: 40 (40 V) Instrument reset Limit current: 1 (1 A) Recall setup Limit power: 0 (disabled)
Page 503
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.source.lowrangeY This attribute sets the lowest source range that is used during autoranging. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Yes SMU reset Saved setup Voltage: 100e-3 (100 mV) Instrument reset Current: 100e-9 (100 nA)
Page 504
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Details This attribute controls the source function used when the output is turned off and smua.source.offmode is set to smua.OUTPUT_NORMAL. Set this attribute to smua.OUTPUT_DCVOLTS for the source to be a 0 V source when the output is off (smua.source.offlimiti is used).
Page 505
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see smua.contact.check() (on page 8-193) smua.contact.r() (on page 8-194) smua.source.offfunc (on page 8-235) smua.source.offmode (on page 8-237) smua.source.offmode This attribute sets the source output-off mode. Type TSP-Link accessible Affected by Where saved Default value...
Page 506
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example smua.source.offmode = smua.OUTPUT_HIGH_Z Sets the output-off mode to open the output relay when the output is turned off. Also see Output-off states (on page 2-16) smua.source.offfunc (on page 8-235) smua.source.offlimitY (on page 8-236) smua.source.output...
Page 507
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.source.rangeY This attribute contains the source range. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Saved setup Voltage: 100e-3 (100 mV) Instrument reset Current: 100e-9 (100 nA) Recall setup Usage...
Page 508
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.source.settling This attribute contains the source settling mode. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Not saved 0 (smua.SETTLE_SMOOTH) Instrument reset Recall setup Usage settleOption = smua.source.settling smua.source.settling = settleOption...
Page 509
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.source.sink This attribute turns sink mode on or off. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Saved setup 0 (smua.DISABLE) Instrument reset Recall setup Usage sinkMode = smua.source.sink...
Page 510
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example smua.trigger.arm.count = 5 Sets the SMU to iterate through the arm layer of the trigger model five times and then return to the idle state. Also see smua.trigger.count (on page 8-245) smua.trigger.arm.set()
Page 511
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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).
Page 512
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.trigger.ARMED_EVENT_ID This constant contains the number of the armed event. Type TSP-Link accessible Affected by Where saved Default value Constant Usage eventID = smua.trigger.ARMED_EVENT_ID eventID The armed event number 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.
Page 513
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 515
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.trigger.endpulse.action This attribute enables or disables pulse sweeps when the pulser is disabled. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Not saved 1 (smua.SOURCE_HOLD) Instrument reset Recall setup...
Page 516
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Details This function sets the end pulse event detector to the detected state. The SMU automatically clears all the event detectors when the smua.trigger.initiate() function is executed. Therefore, call smua.trigger.endpulse.set() after the sweep is initiated. If the event detectors are configured to clear automatically because the smua.trigger.autoclear attribute is set to smua.ENABLE, make sure that smua.trigger.endpulse.set() is issued after the SMU has entered the trigger layer.
Page 517
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.trigger.endpulse.stimulus This attribute defines which event causes the end pulse event detector to enter the detected state. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Not saved Instrument reset...
Page 518
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 4-1)
Page 519
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.trigger.IDLE_EVENT_ID This constant contains the idle event number. Type TSP-Link accessible Affected by Where saved Default value Constant Usage eventID = smua.trigger.IDLE_EVENT_ID eventID The idle event number 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.
Page 520
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual If you run this function more than once without reconfiguring the sweep measurements, the caches on the configured measurement reading buffers hold stale data. Use the bufferVar.clearcache() function to remove stale values from the reading buffer cache. This function initiates an overlapped operation.
Page 521
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details With this attribute enabled (setting action to smua.ENABLE or smua.ASYNC), configure the measurement with one of the smua.trigger.measure.Y() functions. If this attribute is set to smua.ASYNC: • Asynchronous sweep measurements can only be used with measure autoranging turned off.
Page 522
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.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 Usage smua.trigger.measure.set() Details This function is useful whenever you want the SMU to continue operation without waiting for a programmed trigger event.
Page 523
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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).
Page 524
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.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 Usage smua.trigger.measure.Y(rbuffer) smua.trigger.measure.iv(ibuffer, vbuffer) SMU measurement type (v = voltage, i = current, r = resistance, p = power) rbuffer A reading buffer object where the readings are stored...
Page 525
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.trigger.MEASURE_COMPLETE_EVENT_ID This constant contains the measurement complete event number. Type TSP-Link accessible Affected by Where saved Default value Constant Usage eventID = smua.trigger.MEASURE_COMPLETE_EVENT_ID eventID The measurement complete event number 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.
Page 526
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.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) SMU reset Not saved 0 (smua.DISABLE) Instrument reset Recall setup Usage...
Page 527
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.trigger.source.limitY This attribute sets the sweep source limit. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) SMU reset Not saved 0 (smua.LIMIT_AUTO) Instrument reset Recall setup Usage sweepSourceLimit = smua.trigger.source.limitY smua.trigger.source.limitY = sweepSourceLimit...
Page 528
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.trigger.source.linearY() This function configures a linear source sweep. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.trigger.source.linearY(startValue, endValue, points) SMU source function (v = voltage, i = current) startValue Source value of the first point endValue...
Page 529
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.trigger.source.listY() This function configures an array-based source sweep. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.trigger.source.listY(sweepList) SMU source function (v = voltage, i = current) sweepList An array of source values Details...
Page 530
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.trigger.source.logY() This function configures an exponential (geometric) source sweep. Type TSP-Link accessible Affected by Where saved Default value Function Usage smua.trigger.source.logY(startValue, endValue, points, asymptote) SMU source function (v = voltage, i = current) startValue Source value of the first point endValue...
Page 531
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference After configuring the sweep source values, enable the source action by setting smua.trigger.source.action. Example smua.trigger.source.logv(1, 10, 11, 0) Sweeps from 1 V to 10 V in 10 steps with an asymptote of 0 V.
Page 532
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.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 Usage smua.trigger.source.set() Details This function sets the source event detector to the detected state. The SMU automatically clears all event detectors when the smua.trigger.initiate() function is executed.
Page 533
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 the value of this attribute to zero (0).
Page 534
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual smua.trigger.SOURCE_COMPLETE_EVENT_ID This constant contains the source complete event number. Type TSP-Link accessible Affected by Where saved Default value Constant Usage eventID = smua.trigger.SOURCE_COMPLETE_EVENT_ID eventID The source action complete event number 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).
Page 535
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference smua.trigger.SWEEPING_EVENT_ID This constant contains the sweeping event number. Type TSP-Link accessible Affected by Where saved Default value Constant Usage eventID = smua.trigger.SWEEPING_EVENT_ID eventID The sweeping event number 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.
Page 536
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see Triggering (on page 4-1) status.condition This attribute stores the status byte condition register. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable Not saved Not applicable Usage...
Page 537
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description status.MESSAGE_AVAILABLE status.MAV Set summary bit indicates that a response message is present in the Output Queue. Bit B4 decimal value: 16 status.EVENT_SUMMARY_BIT status.ESB Set summary bit indicates that an enabled standard event has occurred. Bit B5 decimal value: 32 status.MASTER_SUMMARY_STATUS status.MSS...
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual status.measurement.* This attribute contains the measurement event register set. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable Not saved Not applicable .enable (RW) Status reset Not saved .event (R)
Page 539
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description status.measurement.CURRENT_LIMIT status.measurement.ILMT Set bit is a summary of the status.measurement.current_limit register. Bit B1 decimal value: 2 Not used status.measurement.PROTECTION status.measurement.PROT Set bit indicates that the pulser protection was tripped. Refer to smua.pulser.protect.tripped page 8-222) for events that can trip the protection circuit.
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example status.measurement.enable = status.measurement.BAV Sets the BAV bit of the measurement event enable register. Also see Measurement event registers (on page 12-7) smua.pulser.protect.tripped (on page 8-222) status.measurement.buffer_available.* This attribute contains the measurement event buffer available summary register set. Type TSP-Link accessible Affected by...
Page 541
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Page 542
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set contents (on page 12-1) and Enable and transition registers (on page 12-19). The individual bits of this register are defined in the following table.
Page 543
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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;...
Page 544
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual status.measurement.instrument.smua.* This attribute contains the registers of the measurement event SMU A summary register set. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable Not saved Not applicable .enable (RW)
Page 545
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description status.measurement.instrument.smua.CURRENT_LIMIT status.measurement.instrument.smua.ILMT Set bit indicates that the current limit was exceeded. Bit B1 decimal value: 2 Not used status.measurement.instrument.smua.PROTECTION status.measurement.instrument.smua.PROT Set bit indicates that the pulser protection was tripped. Refer to smua.pulser.protect.tripped page 8-222) for events that can trip the protection circuit.
Page 546
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example 2 status.measurement.instrument.smua.enable = 1 Uses the decimal value to set the VLMT bit of the measurement event SMU A summary enable register. Also see Measurement event registers (on page 12-7) smua.pulser.protect.tripped (on page 8-222)
Page 547
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference In addition to the above constants, measurementRegister can be set to the decimal value of the bit to set. Example 1 status.measurement.protection.enable = status.measurement.protection.SMUA Uses the constant to set bit 1, the SMU A bit of the measurement event protection summary enable register. Example 2 status.measurement.protection.enable = 2 Uses the decimal value to set bit 1, the SMU A bit of the measurement event protection summary...
Page 548
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value and description Not used 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 Not used B2 to B15 In addition to the above constants, measurementRegister can be set to the decimal value of the...
Page 549
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual status.node_enable This attribute stores the system node enable register. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Status reset Not saved Usage nodeEnableRegister = status.node_enable status.node_enable = nodeEnableRegister nodeEnableRegister The status of the system node enable register;...
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description status.MESSAGE_AVAILABLE status.MAV Set summary bit indicates that a response message is present in the output queue. Bit B4 decimal value: 16 status.EVENT_SUMMARY_BIT status.ESB Set summary bit indicates that an enabled standard event has occurred. Bit B5 decimal value: 32 status.MASTER_SUMMARY_STATUS status.MSS...
Page 552
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual status.node_event This attribute stores the status node event register. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable Not saved Usage nodeEventRegister = status.node_event nodeEventRegister The status of the node event register;...
Page 553
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description 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 status.OPERATION_SUMMARY_BIT status.OSB Set summary bit indicates that an enabled operation event has occurred.
Page 554
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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);...
Page 555
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description 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 status.operation.USER Set bit indicates that the summary bit from the status.operation.user register is set. Bit B12 decimal value: 4,096 status.operation.INSTRUMENT_SUMMARY status.operation.INST...
Page 556
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Not applicable Not saved Not applicable .enable (RW) Status reset Not saved...
Page 557
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see Operation Status Registers (on page 12-8) status.operation.* (on page 8-285) status.operation.instrument.* This attribute contains the operation status instrument summary register set. Type TSP-Link accessible Affected by Where saved Default value Attribute...
Page 558
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Not used B2 to B9 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. 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...
Page 559
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example 2 -- 1026 = binary 0000 0100 0000 0010 operationRegister = 1026 status.operation.instrument.enable = operationRegister Uses a decimal value to set bit B1 and bit B10 of the operation status instrument summary enable register. Also see Operation Status Registers (on page 12-8)
Page 560
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set contents (on page 12-1) and Enable and transition registers (on page 12-19). The individual bits of this register are defined in the following table.
Page 561
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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);...
Page 562
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value Decimal value status.operation.instrument.digio.trigger_overrun.LINE12 4,096 status.operation.instrument.digio.trigger_overrun.LINE13 8,192 status.operation.instrument.digio.trigger_overrun.LINE14 16,384 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.
Page 563
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not saved Not applicable .enable (RW) Status reset Not saved...
Page 564
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value and description 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 Not used B2 to B9 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.
Page 565
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not saved Not applicable .enable (RW) Status reset...
Page 566
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value Decimal value Not used Not applicable status.operation.instrument.lan.trigger_overrun.LAN1 2 status.operation.instrument.lan.trigger_overrun.LAN2 4 status.operation.instrument.lan.trigger_overrun.LAN3 8 status.operation.instrument.lan.trigger_overrun.LAN4 16 status.operation.instrument.lan.trigger_overrun.LAN5 32 status.operation.instrument.lan.trigger_overrun.LAN6 64 status.operation.instrument.lan.trigger_overrun.LAN7 128 status.operation.instrument.lan.trigger_overrun.LAN8 256 Not used Not applicable B9 to B15 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.
Page 567
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference status.operation.instrument.smua.* This attribute contains the operation status SMU summary register set. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable Not saved Not applicable .enable (RW) Status reset Not saved...
Page 568
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value and description status.operation.instrument.smua.SWEEPING status.operation.instrument.smua.SWE Set bit indicates that smua is sweeping. Bit B3 decimal value: 8 status.operation.instrument.smua.MEASURING status.operation.instrument.smua.MEAS Bit is set when making an overlapped measurement, but it is not set when making a normal synchronous measurement.
Page 569
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference status.operation.instrument.smua.trigger_overrrun.* This attribute contains the operation status SMU trigger overrun register set. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable Not saved Not applicable .enable (RW) Status reset...
Page 570
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value and description status.operation.instrument.smua.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 status.operation.instrument.smua.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.
Page 571
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not saved Not applicable .enable (RW) Status reset...
Page 572
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 12-8) status.operation.instrument.trigger_blender.trigger_overrun.* (on page 8-304) status.operation.instrument.trigger_blender.trigger_overrun.*...
Page 573
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference > > > > > > > > > > > > > > * Least significant bit ** Most significant bit 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...
Page 574
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example status.operation.instrument.trigger_blender.trigger_overrun.enable = 18 Uses the decimal value to set the bits for blenders 1 and 4 of the operation status trigger blender overrun enable register. Also see Operation Status Registers (on page 12-8) status.operation.instrument.trigger_blender.*...
Page 575
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description Not used B0 to B9 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...
Page 576
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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;...
Page 577
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value Decimal value Not used applicable status.operation.instrument.trigger_timer.trigger_overrun.TMR1 status.operation.instrument.trigger_timer.trigger_overrun.TMR2 status.operation.instrument.trigger_timer.trigger_overrun.TMR3 status.operation.instrument.trigger_timer.trigger_overrun.TMR4 status.operation.instrument.trigger_timer.trigger_overrun.TMR5 status.operation.instrument.trigger_timer.trigger_overrun.TMR6 status.operation.instrument.trigger_timer.trigger_overrun.TMR7 status.operation.instrument.trigger_timer.trigger_overrun.TMR8 B9 to B15 Not used 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.
Page 578
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual status.operation.instrument.tsplink.* This attribute contains the operation status TSP-Link summary register set. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable Not saved Not applicable .enable (RW) Status reset Not saved...
Page 579
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see Operation Status Registers (on page 12-8) status.operation.instrument.tsplink.trigger_overrun.* (on page 8-311) status.operation.instrument.tsplink.trigger_overrun.* This attribute contains the operation status TSP-Link overrun register set. Type TSP-Link accessible Affected by Where saved Default value Attribute...
Page 580
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value Decimal value Not used Not applicable status.operation.instrument.tsplink.trigger_overrun.LINE1 status.operation.instrument.tsplink.trigger_overrun.LINE2 status.operation.instrument.tsplink.trigger_overrun.LINE3 Not used Not applicable B4 to B15 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.
Page 581
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not saved Not applicable .enable (RW) Status reset Not saved...
Page 582
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Example 2 status.operation.measuring.enable = 2 Uses the decimal value to set the SMUA bit, B1, of the operation status measuring summary enable register. Also see Operation Status Registers (on page 12-8) status.operation.* (on page 8-285)
Page 583
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description Not used 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 Not used B2 to B10 status.operation.remote.PROMPTS_ENABLED...
Page 584
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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);...
Page 585
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not saved Not applicable .enable (RW) Status reset...
Page 586
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value and description Not used 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 Not used B2 to B9 status.operation.trigger_overrun.TRIGGER_BLENDER...
Page 587
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example 1 operationRegister = status.operation.trigger_overrun.SMUA + status.operation.trigger_overrun.TRGBLND status.operation.trigger_overrun.enable = operationRegister Uses constants to set bits B1 and bit B10 of the operation status trigger overrun summary enable register. Example 2 operationRegister = 1026 status.operation.trigger_overrun.enable = operationRegister...
Page 588
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual > > > > > > > > > > > > > > * Least significant bit ** Most significant bit For information about .condition, .enable, .event, .ntr, and .ptr registers, refer to Status register set contents (on page 12-1) and...
Page 589
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Binary value Decimal Weights Binary value 32,768 16,384 8,192 4,096 2,048 1,024 Decimal Weights 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...
Page 590
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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);...
Page 591
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 decimal value of the bit to set.
Page 592
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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;...
Page 593
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Not applicable Not saved Not applicable .enable (RW) Status reset Not saved...
Page 594
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see Questionable Status Registers (on page 12-13) status.questionable.* (on page 8-321) status.questionable.instrument.smua.* This attribute contains the questionable status SMU A summary register set. Type TSP-Link accessible Affected by Where saved Default value —...
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description status.questionable.instrument.smua.CALIBRATION status.questionable.instrument.smua.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 status.questionable.instrument.smua.UNSTABLE_OUTPUT status.questionable.instrument.smua.UO...
Page 596
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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) Not applicable Not saved Not applicable .enable (RW) Status reset...
Page 597
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see Questionable Status Registers (on page 12-13) status.questionable.* (on page 8-321) 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...
Page 598
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual In addition to the above constant, questionableRegister can be set to the decimal value of the bit to set. Example status.questionable.unstable_output.enable = status.questionable.unstable_output.SMUA Uses the constant to set the SMU A bit in the questionable status unstable output summary enable register bit. Also see Questionable Status Registers (on page 12-13)
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description status.SYSTEM_SUMMARY_BIT status.SSB Set summary bit indicates that an enabled event in the System Summary Register has occurred. Bit B1 decimal value: 2 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 status.QUESTIONABLE_SUMMARY_BIT status.QSB...
Page 600
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see Status byte and service request (SRQ) (on page 12-15) status.condition (on page 8-268) status.system.* (on page 8-336) status.request_event This attribute stores the service request (SRQ) event register. Type TSP-Link accessible Affected by...
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Value and description 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 status.MESSAGE_AVAILABLE status.MAV Set summary bit indicates that a response message is present in the output queue. Bit B4 decimal value: 16 status.EVENT_SUMMARY_BIT status.ESB...
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual status.reset() This function resets all bits in the status model. Type TSP-Link accessible Affected by Where saved Default value Function Usage status.reset() Details This function clears all status data structure registers (enable, event, NTR, and PTR) to their default values.
Page 603
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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.
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value 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 Not used B8 to B15 As an example, to set bit B0 of the standard event status enable register, set...
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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...
Page 606
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value Decimal value status.system.NODE13 8,192 status.system.NODE14 16,384 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 decimal value of the bit to set.
Page 607
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference status.system2.* ® These attributes manage the TSP-Link system summary register of the status model for nodes 15 through 28. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable...
Page 608
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value Decimal value status.system2.NODE19 status.system2.NODE20 status.system2.NODE21 status.system2.NODE22 status.system2.NODE23 status.system2.NODE24 1,024 status.system2.NODE25 2,048 status.system2.NODE26 4,096 status.system2.NODE27 8,192 status.system2.NODE28 16,384 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.
Page 609
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference status.system3.* ® These attributes manage the TSP-Link system summary register of the status model for nodes 29 through 42. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable...
Page 610
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value Decimal value status.system3.NODE33 status.system3.NODE34 status.system3.NODE35 status.system3.NODE36 status.system3.NODE37 status.system3.NODE38 1,024 status.system3.NODE39 2,048 status.system3.NODE40 4,096 status.system3.NODE41 8,192 status.system3.NODE42 16,384 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.
Page 611
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference status.system4.* ® These attributes manage the TSP-Link system summary register of the status model for nodes 43 through 56. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable...
Page 612
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value Decimal value status.system4.NODE48 status.system4.NODE49 status.system4.NODE50 status.system4.NODE51 status.system4.NODE52 1,024 status.system4.NODE53 2,048 status.system4.NODE54 4,096 status.system4.NODE55 8,192 status.system4.NODE56 16,384 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.
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference status.system5.* ® These attributes manage the TSP-Link system summary register of the status model for nodes 57 through 64. Type TSP-Link accessible Affected by Where saved Default value Attribute .condition (R) Not applicable...
Page 614
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Value Decimal value status.system5.NODE61 status.system5.NODE62 status.system5.NODE63 status.system5.NODE64 Not used Not applicable B9 to B15 As an example, to set bit B1 of the system summary 5 enable register, set status.system5.enable = status.system5.NODE57.
Page 615
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage SweepILinMeasureV(smua, starti, stopi, stime, points) starti...
Page 616
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 617
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage SweepILogMeasureV(smua, starti, stopi, stime, points) starti...
Page 618
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 93: 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.
Page 619
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details Data for current measurements, voltage source values, and timestamps are stored in smua.nvbuffer1. If all parameters are omitted when this function is called, this function is executed with the parameters set to the default values.
Page 620
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 Usage SweepVListMeasureI(smua, vlist, stime, points) vlist...
Page 621
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage SweepVLogMeasureI(smua, startv, stopv, stime, points) startv...
Page 622
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 95: 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.
Page 623
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example 2 beeper.enable = beeper.ON 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) Enable the beeper. Emit a beep and set the beeper. Reset the timer.
Page 624
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 Usage trigger.blender[N].clear() The blender number (up to six) Details This command sets the blender event detector to the undetected state and resets the overrun...
Page 625
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Instrument reset Not saved false (AND mode) Trigger blender N reset Recall setup...
Page 626
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 627
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Trigger blender N reset Not applicable trigger.EVENT_NONE Usage eventID = trigger.blender[N].stimulus[M] trigger.blender[N].stimulus[M] = eventID...
Page 628
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 8-358)
Page 629
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference trigger.clear() This function clears the command interface trigger event detector. Type TSP-Link accessible Affected by Where saved Default value Function Usage trigger.clear() Details The trigger event detector indicates if a trigger event has been detected since the last trigger.wait() call.
Page 630
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual trigger.generator[N].assert() This function generates a trigger event. Type TSP-Link accessible Affected by Where saved Default value Function Usage trigger.generator[N].assert() 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.
Page 631
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage trigger.timer[N].clear() Trigger timer number (1 to 8) Details...
Page 632
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see trigger.timer[N].clear() (on page 8-363) trigger.timer[N].delay (on page 8-364) trigger.timer[N].reset() (on page 8-367) trigger.timer[N].delay This attribute sets and reads the timer delay. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW)
Page 633
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference trigger.timer[N].delaylist This attribute sets an array of timer intervals. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Not saved 10e-6 (10 µs) Recall setup Trigger timer N reset Usage intervals = trigger.timer[N].delaylist...
Page 634
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual trigger.timer[N].EVENT_ID This constant specifies the trigger timer event number. Type TSP-Link accessible Affected by Where saved Default value Constant Usage eventID = trigger.timer[N].EVENT_ID eventID The trigger event number Trigger timer number (1 to 8) Details This constant is an identification number that identifies events generated by this timer.
Page 635
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 8-367) trigger.timer[N].passthrough This attribute enables or disables the timer trigger pass-through mode.
Page 636
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 637
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details The eventID parameter may be one of the trigger event IDs shown in the following table. Trigger event IDs* Event ID Event description smua.trigger.SWEEPING_EVENT_ID Occurs when the source-measure unit (SMU) transitions from the idle state to the arm layer of the trigger model smua.trigger.ARMED_EVENT_ID Occurs when the SMU moves from the arm layer to the...
Page 638
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual trigger.timer[N].wait() This function waits for a trigger. Type TSP-Link accessible Affected by Where saved Default value Function Usage triggered = trigger.timer[N].wait(timeout) triggered Trigger detection indication Trigger timer number (1 to 8) timeout Maximum amount of time in seconds to wait for the trigger Details...
Page 639
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) •...
Page 640
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see Using groups to manage nodes on a TSP-Link system (on page 7-63) tsplink.master This attribute reads the node number assigned to the master node. Type TSP-Link accessible Affected by Where saved Default value...
Page 641
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see tsplink.reset() (on page 8-374) tsplink.state (on page 8-375) tsplink.readbit() This function reads the state of a TSP-Link synchronization line. Type TSP-Link accessible Affected by Where saved Default value Function Usage...
Page 642
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 trigger lines (on page 4-43)
Page 643
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Also see localnode.showerrors (on page 8-147) tsplink.node (on page 8-372) tsplink.state (on page 8-375) tsplink.state This attribute describes the TSP-Link online state. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Not applicable...
Page 644
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Also see tsplink.trigger[N].clear() (on page 8-376) tsplink.trigger[N].mode (on page 8-377) tsplink.trigger[N].overrun (on page 8-379) tsplink.trigger[N].pulsewidth (on page 8-379) tsplink.trigger[N].release() (on page 8-380) tsplink.trigger[N].stimulus (on page 8-381) tsplink.trigger[N].wait() (on page 8-383) tsplink.trigger[N].clear() This function clears the event detector for a LAN trigger.
Page 645
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference tsplink.trigger[N].EVENT_ID This constant identifies the number that is used for the trigger events. Type TSP-Link accessible Affected by Where saved Default value Constant Usage eventID = tsplink.trigger[N].EVENT_ID eventID The trigger event number The trigger line (1 to 3) Details...
Page 646
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Mode Number Description value tsplink.TRIG_RISING 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.
Page 647
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference tsplink.trigger[N].overrun This attribute indicates if the event detector ignored an event while in the detected state. Type TSP-Link accessible Affected by Where saved Default value Attribute (R) Instrument reset Not applicable Not applicable Recall setup...
Page 648
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Usage width = tsplink.trigger[N].pulsewidth tsplink.trigger[N].pulsewidth = width width The pulse width (in seconds) 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.
Page 649
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference tsplink.trigger[N].reset() This function resets some of the TSP-Link trigger attributes to their factory defaults. Type TSP-Link accessible Affected by Where saved Default value Function Usage tsplink.trigger[N].reset() The trigger line (1 to 3) Details The tsplink.trigger[N].reset() function resets the following attributes to their factory defaults:...
Page 650
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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. The eventID parameter may be one of the existing trigger event IDs shown in the following table.
Page 651
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference tsplink.trigger[N].wait() This function waits for a trigger. Type TSP-Link accessible Affected by Where saved Default value Function 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 The trigger line (1 to 3)
Page 652
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 653
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference tsplink.writeprotect This attribute contains the write-protect mask that protects bits from changes by the tsplink.writebit() and tsplink.writeport() functions. Type TSP-Link accessible Affected by Where saved Default value Attribute (RW) Instrument reset Saved setup Recall setup...
Page 654
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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...
Page 655
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference The 2601B-PULSE also enables TSP prompts on the remote device and error management. The 2601B-PULSE 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.
Page 656
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 8-386) tspnet.execute() This function sends a command string to the remote device. Type TSP-Link accessible Affected by...
Page 657
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example 2 tspnet.timeout = 5 id_instr = tspnet.connect("192.0.2.23", 23, "*rst\r\n") tspnet.termination(id_instr, tspnet.TERM_CRLF) tspnet.execute(id_instr, "*idn?") print("tspnet.execute returns:", tspnet.read(id_instr)) Print the *idn? string from the remote device. Also see tspnet.connect() (on page 8-386) tspnet.read() (on page 8-390)
Page 658
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual tspnet.read() This function reads data from a remote device. Type TSP-Link accessible Affected by Where saved Default value Function 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...
Page 659
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage bytesAvailable = tspnet.readavailable(connectionID) bytesAvailable The number of bytes available to be read from the connection connectionID...
Page 660
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual tspnet.termination() This function sets the device line termination sequence. Type TSP-Link accessible Affected by Where saved Default value Function Usage type = tspnet.termination(connectionID) type = tspnet.termination(connectionID, termSequence) type An enumerated value indicating the termination type: ▪...
Page 661
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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) Instrument reset Not saved 20.0 (20 s) Recall setup Usage...
Page 662
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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...
Page 663
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference 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 Usage table = tspnet.tsp.rbtablecopy(connectionID, "name") table = tspnet.tsp.rbtablecopy(connectionID, "name", startIndex, endIndex) table...
Page 664
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 Usage tspnet.tsp.runscript(connectionID, "script") tspnet.tsp.runscript(connectionID, "name", "script") connectionID Integer value used as an identifier for other tspnet commands name...
Page 665
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference tspnet.write() This function writes a string to the remote instrument. Type TSP-Link accessible Affected by Where saved Default value Function Usage tspnet.write(connectionID, "inputString") connectionID The connection ID returned from tspnet.connect() inputString The string to be written Details...
Page 666
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 667
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Example 2 userstring.add("assetnumber", "236") userstring.add("product", "Widgets") userstring.add("contact", "John Doe") for name in userstring.catalog() do print(name .. " = " .. userstring.get(name)) Prints all userstring key-value pairs. Output: product = Widgets assetnumber = 236 contact = John Doe Notice the key-value pairs are not listed in the order they were added.
Page 668
Section 8: TSP command reference Model 2601B-PULSE System SourceMeter® Instrument Reference Manual userstring.get() This function retrieves a user-defined string from nonvolatile memory. Type TSP-Link accessible Affected by Where saved Default value Function 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...
Page 669
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 8: TSP command reference Details There are two types of instrument commands: • Overlapped commands: Commands that allow the execution of subsequent commands while instrument operations of the overlapped command are still in progress. •...
Page 670
Section 9 Troubleshooting guide In this section: Introduction ................9-1 Error levels ................9-1 Effects of errors on scripts............9-1 Retrieving errors ............... 9-2 Error summary list ..............9-2 Introduction Troubleshooting information includes information on the Keithley Instruments 2601B-PULSE errors (including a complete list of error messages) and LAN troubleshooting suggestions.
Page 671
Section 9: Troubleshooting guide Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Retrieving errors When errors occur, the error messages are placed in the error queue. Use errorqueue commands to request error message information. For example, the following commands request the complete set of information about the next message in the error queue.
Page 672
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 9: Troubleshooting guide Error summary Error number Error level Error message NO_SEVERITY Queue Is Empty RECOVERABLE Calibration overflow RECOVERABLE Reading buffer data lost RECOVERABLE Power on state lost FATAL Unresponsive digital FPGA RECOVERABLE OUTPUT blocked by interlock RECOVERABLE...
Page 673
Section 9: Troubleshooting guide Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Error summary Error number Error level Error message 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...
Page 674
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 9: Troubleshooting guide Error summary Error number Error level Error message 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...
Page 675
Section 9: Troubleshooting guide Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Error summary Error number Error level Error message 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...
Page 676
Section 10 Calibration In this section: Calibration ................10-1 Adjustment ................10-20 Calibration The information in this section is intended for qualified service personnel only, as described by the types of product users in the Safety precautions pages, provided at the beginning of this document.
Page 677
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Calibration test requirements Be sure that you perform the calibration tests: • Under the proper environmental conditions. • After the specified warmup period. • Using the correct line voltage. • Using the proper test equipment.
Page 678
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Recommended calibration equipment The following table summarizes recommended maximum allowable test equipment uncertainty for calibration 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 2601B-PULSE specifications.
Page 679
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Pulse loads You need pulse loads for the pulse accuracy and bias source accuracy calibrations and adjustments. The connections are the same for both pulse loads, but the resistor values are different. For the pulse accuracy procedures, R1 and R2 are 2 ohm resistors.
Page 680
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Source limit calculations As an example of how calibration limits are calculated, assume you are testing the 2601B-PULSE 6 V dc output range using a 5.4 V output value. Using the one-year accuracy specification for 5.4 V dc output of ±...
Page 681
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Restoring factory defaults Before performing the calibration procedures, restore the instrument to its factory defaults. To restore the factory defaults: 1. Press the MENU key. 2. Scroll to the SETUP menu item, and then press the ENTER key. 3.
Page 682
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration The FORCE and SENSE connectors of the 2601B-PULSE are rated for connection to circuits rated Measurement Category I only, with transients rated less than 1500 V . Do not PEAK connect the 2601B-PULSE terminals to CAT II, CAT III, or CAT IV circuits.
Page 683
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Current source accuracy To verify the 2601B-PULSE output current accuracy is within specified limits, perform these steps: 1. With the power off, connect the digital multimeter to the 2601B-PULSE terminals as shown in the figure below.
Page 684
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 2601B-PULSE output current accuracy limits Source range Output current setting Output current limits (1 year, 18 °C to 28 °C) 100 nA 90.000 nA 89.846 nA to 90.154 nA 1 µA 0.90000 µA 0.89893 µA to 0.90107 µA 10 µA...
Page 685
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 9. Verify output current accuracy for the 3 A range using the values in the following table. For each test point: ▪ Select the correct source range. ▪ Set the 2601B-PULSE output current to the correct value. ▪...
Page 686
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 2. Select the multimeter dc current function. 3. Set the 2601B-PULSE SMU to both source and measure current by pressing the SRC and then the MEAS keys. 4. Make sure the source output is turned on. 5.
Page 687
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 8. Change connections as shown in the following figure, adding the 0.5 Ω 250 W resistor. Figure 101: Connections for the 3 A current range 9. Select the DMM volts function. 10.
Page 688
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Current measurement accuracy limits Source and measure range Source current Current reading limits (1 year, 18° C to 28° C) 2.4000 A 2.3953 A to 2.4047 A 1. Measure range coupled to source range when simultaneously sourcing and measuring current. 2.
Page 689
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 2. Set the multimeter measuring function to dc volts. 3. Press the SRC key to source voltage and make sure the source output is turned on. 4. Enable the 2601B-PULSE 4-wire (remote sense) mode: a.
Page 690
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 6. Verify voltage measurement accuracy for each of the voltages listed in the table below. For each test point: ▪ Select the correct source range. ▪ Set the 2601B-PULSE output voltage such that the digital multimeter reading is the value indicated in the source voltage column of the table below.
Page 691
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual To verify current, voltage measurement, and current measurement accuracy, perform these steps: 1. Remove power from the 2601B-PULSE. 2. Connect the multimeter to the 2601B-PULSE terminals as shown in the figure below. Figure 103: Pulse accuracy calibration and adjustment connections 3.
Page 692
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 7. Repeat the procedure for negative output currents with the same magnitudes as those listed. 8. Calculate the current from the DMM voltage reading and the characterized 1 Ω resistance value: I=V/R.
Page 694
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Bias source accuracy For detail on wiring the pulse load, refer to Pulse loads (on page 10-4). To verify the 2601B-PULSE output bias source accuracy is within specified limits, perform these steps: 1.
Page 695
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 5. Verify bias source accuracy for each of the currents using the values in the following table. For each test point: ▪ Set the 2601B-PULSE output current to the correct value. ▪...
Page 696
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Environmental conditions Temperature and relative humidity Conduct the adjustment procedures at an ambient temperature of 18 °C to 28 °C, 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.
Page 697
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The FORCE and SENSE connectors of the 2601B-PULSE are rated for connection to circuits rated Measurement Category I only, with transients rated less than 1500 V . Do not PEAK connect the 2601B-PULSE terminals to CAT II, CAT III, or CAT IV circuits.
Page 698
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Recommended adjustment equipment Description Manufacturer/Model Accuracy Digital multimeter Keithley Instruments DC voltage 90 mV: ±8 ppm Model 2002 0.9 V: ±5 ppm 5.4 V: ±4 ppm Keysight 3458A 36 V: ±6 ppm DC current 90 nA:...
Page 699
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The following table lists the sense modes for the adjustment steps. 2601B-PULSE adjustment steps Function Adjustment steps Adjustment points Sense mode smua.SENSE_LOCAL Voltage source 100 mV ±1e-30, ±90 mV and measure smua.SENSE_REMOTE 100 mV ±1e-30, ±90 mV...
Page 700
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Calibration and adjustment commands quick reference The following table summarizes remote calibration and adjustment commands. For a more complete description of these commands, refer to the TSP command reference (on page 8-1). Command Description smua.cal.adjustdate = adjustDate...
Page 701
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Command Description smua.source.calibratei(range, Adjusts the current source range*: cp1Expected, cp1Reference, ±range (source range to adjust). cp2Expected, cp2Reference) cp1Expected (source value programmed for point 1). cp1Reference (reference measurement for point 1). cp2Expected (source value programmed for point 2).
Page 702
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Command Description smua.pulser.measure.calibratev(range, Adjusts the voltage measurement calibration constants cp1Measured, cp1Reference, for the pulser. cp2Measured, cp2Reference) ±range (measurement range to adjust). cp1Measured (2601B-PULSE measured value for point 1). cp1Reference (reference measurement for point 1). cp2Measured (2601B-PULSE measured value for point 2).
Page 703
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Step 2. Voltage adjustment A. Connect the 2601B-PULSE SMU to the digital multimeter using the 4-wire connections shown in the figure below and select the multimeter dc volts function. Figure 105: Connections for voltage calibration B.
Page 704
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 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 Turn on the output: smua.source.output = smua.OUTPUT_ON Allow the readings to settle, then get both the multimeter and 2601B-PULSE voltage readings at the positive zero value (the 2601B-PULSE measurement is not necessary if this step is being done on the CALA sense mode).
Page 705
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 12. If this step is not on the CALA sense mode, send the measure calibration command using the multimeter and 2601B-PULSE 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...
Page 706
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 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) Where: -range = The negative of the present adjustment range src_Z = The −zero 2601B-PULSE programmed source output value...
Page 707
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 106: Connections for 100 nA to 1 A current ranges It is not necessary to set the measure range when following this procedure for adjustment because the measure range is locked to the source range when measuring the source function. C.
Page 708
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Turn off the output: smua.source.output = smua.OUTPUT_OFF Set the source output to the positive full-scale value for the present range, for example: smua.source.leveli = 90e-3 Turn on the output: smua.source.output = smua.OUTPUT_ON Allow the readings to settle, then get both the multimeter and 2601B-PULSE current readings at the positive full-scale output value (the 2601B-PULSE measurement is not necessary if adjustment is being done on the CALA sense mode).
Page 709
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 12. If this step is not on the CALA sense mode, send the measure calibration command using the multimeter and 2601B-PULSE 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 adjustment range...
Page 710
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 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 adjustment range src_Z = The zero 2601B-PULSE source output value...
Page 711
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual E. Change connections as shown in the following figure. Figure 107: Connections for 1.5 A and 3 A current ranges F. Select the DMM dc volts function. G. Repeat the 22 steps of C for the 3 A and 10 A ranges. Compute the current reading from the DMM voltage reading and characterized 0.5 Ω...
Page 712
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Step 4. Contact check adjustment A. As illustrated in the following figure: ▪ Short the 2601B-PULSE SENSE LO and LO terminals together. ▪ Short the SENSE HI and HI terminals together. Figure 108: Connections for contact check 0 Ω...
Page 713
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 109: Connections for contact check 50 Ω calibration E. Allow the readings to settle, then get the 2601B-PULSE 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...
Page 714
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration G. Send the contact check high calibration command: smua.contact.calibratehi(r0_hi, Z_actual, r50_hi, 50_ohm_actual) Where: r0_hi = 2601B-PULSE 0 Ω high measurement Z_actual = Actual zero value; the resistance of the short between the SENSE HI and HI terminals r50_hi = 2601B-PULSE 50 Ω...
Page 715
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual C. Perform each step listed in the step sequence for the 250 mA range as follows: Characterize the resistor. Reset the instrument. Set the High-Z output-off mode. smua.reset() smua.source.offmode = smua.OUTPUT_HIGH_Z Select the range being adjusted: smua.pulser.rangev = 5 smua.pulser.rangei = 5...
Page 716
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 16. Send the source calibration command using the range, zero and +FS multimeter readings, and zero and +FS source values for the parameters: smua.pulser.source.calibratebiasi(range, src_Z, DMM_Z_rdg, src_FS, DMM_FS_rdg) Where: range = The present adjustment range src_Z = The +zero 2601B-PULSE source output value...
Page 717
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The two measurements should be made as close as possible in time. Use this command for the 2601B-PULSE: FS_rdg = smua.measure.i() 26. Turn off the output and disable the pulser: smua.source.output = smua.OUTPUT_OFF smua.pulser.enable = 0 27.
Page 718
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration To adjust the pulse: A. Connect the 2601B-PULSE to the digitizer as shown in the following figure. Figure 111: Pulse accuracy calibration and adjustment connections B. Select the multimeter dc current function. C.
Page 719
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual D. Perform each step listed in the step sequence for the 1 A range as follows: Reset the unit: smua.reset() Select the range being adjusted. For the 1 A and 5 A ranges, use the 5 V range. For 10 A, use the 10 V range.
Page 720
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration Enable the pulser and turn on the output: smua.pulser.enable = 1 smua.source.output = smua.OUTPUT_ON Initiate the trigger and wait for it to complete: smua.trigger.initiate() waitcomplete() 10. Turn off the output and disable the pulser: smua.source.output = smua.OUTPUT_OFF smua.pulser.enable = 0 11.
Page 721
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 20. Send the source calibration command using the range, averaged zero and averaged full scale digitizer readings, and zero and full scale source values for the parameters: smua.pulser.source.calibratei(range, ZS_IRdg, digi_Z_rdg, FS_IRdg, digi_FS_rdg) Where: range = The present adjustment range...
Page 722
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 27. Turn on the output: smua.source.output = smua.OUTPUT_ON 28. Initiate the trigger and wait for it to complete: smua.trigger.initiate() waitcomplete() 29. Turn off the output and disable the pulser: smua.source.output = smua.OUTPUT_OFF smua.pulser.enable = 0 30.
Page 723
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 40. Send the current measure calibration command using the range, averaged zero and averaged full scale digitizer readings, and averaged zero and averaged full scale source values for the parameters: smua.pulser.measure.calibratei(range, DMM_Z_Rdg, digi_Z_rdg, FS_IRdg, digi_FS_rdg) Where:...
Page 724
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 10: Calibration 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.
Page 725
Section 10: Calibration Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Reinstall the 2601B-P-INT When the calibration and adjustment procedures are complete, reinstall the 2601B-P-INT. To reinstall the 2601B-P-INT: 1. Remove power connections from the 2601B-PULSE. 2. Align the terminal strip panel of the 2601B-P-INT to the terminal strips on the rear panel of the 2601B-PULSE.
Page 726
Section 11 Common commands In this section: Common command summary ..........11-1 Script command equivalents ..........11-3 Command reference .............. 11-3 General bus commands ............11-5 Common command summary The IEEE Std 488.2 common commands that are supported by the 2601B-PULSE are summarized in the following table.
Page 727
Section 11: Common commands Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Command Name Description *CLS Clear status Clears all event registers and Error Queue. For detailed information including status commands, see the Status model (on page 12-1). *ESE mask Event enable command Program the Standard Event Status Enable Register.
Page 728
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 11: Common commands Script command equivalents The TSP commands that can be included in scripts that are equivalent to the common commands are defined in the table below. Common Script command equivalent command *CLS status.reset()
Page 729
Section 11: Common commands Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 12-1)) is...
Page 730
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 11: Common commands 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: •...
Page 731
Section 11: Common commands Model 2601B-PULSE System SourceMeter® Instrument Reference Manual The interface clear (IFC) command is sent by the controller to place the 2601B-PULSE in the talker idle state and the listener idle state. The instrument responds to the IFC command by canceling illumination of the front-panel TALK or LSTN lights if the instrument was previously placed in one of these states.
Page 732
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 11: Common commands 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.
Page 733
Section 12 Status model In this section: Overview ................12-1 Clearing registers ..............12-13 Programming enable and transition registers ....... 12-14 Reading registers ..............12-15 Status byte and service request (SRQ) ........ 12-15 Status register sets .............. 12-20 TSP-Link system status ............12-25 Overview Each Keithley Instruments 2601B-PULSE provides status registers and queues that are collectively referred to as the status model.
Page 734
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 735
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model 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.
Page 736
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Status function summary Type Function or attribute status.condition Status summary status.node_enable status.node_event status.request_enable status.request_event status.reset status.measurement.* Measurement event status.measurement.buffer_available.* status.measurement.current_limit.* status.measurement.instrument.* status.measurement.instrument.smua.* status.measurement.protection.* status.measurement.reading_overflow.* status.measurement.voltage_limit.* status.operation.* Operation status status.operation.calibrating.* status.operation.instrument.* status.operation.instrument.digio.* status.operation.instrument.digio.trigger_overrun.*...
Page 737
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model Status model diagrams The following figures graphically describe the status model: • Status byte and service request enable register (on page 12-5) • System summary and standard event registers (on page 12-6) •...
Page 738
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 113: Status byte and service request enable register 12-6 2601B-PULSE-901-01 Rev. B November 2021...
Page 739
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model Figure 114: System summary and standard event registers 2601B-PULSE-901-01 Rev. B November 2021 12-7...
Page 740
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 115: Measurement event registers 12-8 2601B-PULSE-901-01 Rev. B November 2021...
Page 741
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model Figure 116: Operation Status Registers 2601B-PULSE-901-01 Rev. B November 2021 12-9...
Page 742
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 117: Operation status trigger overrun registers 12-10 2601B-PULSE-901-01 Rev. B November 2021...
Page 743
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model Figure 118: Operation status trigger timer, trigger blender, and remote registers 2601B-PULSE-901-01 Rev. B November 2021 12-11...
Page 744
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 119: Operation status digital I/O and TSP-Link registers 12-12 2601B-PULSE-901-01 Rev. B November 2021...
Page 745
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model Figure 120: Questionable Status Registers Clearing registers You can use commands to reset the status registers. *CLS resets the bits of the event and NTR registers to 0 and sets all PTR register bits on. This command also clears the output queue.
Page 746
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 747
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model 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.
Page 748
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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).
Page 749
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model 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. •...
Page 750
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual You can set or clear the individual bits of the Service Request Enable Register 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).
Page 751
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model Status byte and service request commands The commands to program and read the Status Byte Register and Service Request Enable Register are listed in the table below. Note that the table includes both common commands and their script command equivalents.
Page 752
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 •...
Page 753
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model 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 2601B-PULSE instrument is ready to accept new commands.
Page 754
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Figure 122: Standard Event Register Standard event commands Command Description *ESR? Read Standard Event Status Register. print(status.standard.event) *ESE mask Program the Event Status Enable Register: mask = 0 to 255 status.standard.enable = mask Status register set contents (on page 12-1).
Page 755
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model 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 a channel is calibrating. •...
Page 756
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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 12-15). For example, the following command reads the Questionable Status Enable Register: print(status.questionable.enable) For more information about the Questionable Status Registers, refer to...
Page 757
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model Commands to program and read the register are summarized in the Status function summary page 12-3) table. For more information about the Measurement Event Registers, refer to Status register set contents (on page 12-1) and the figures in this appendix.
Page 758
Section 12: Status model Model 2601B-PULSE System SourceMeter® Instrument Reference Manual When a current limit (compliance) condition occurs in node 15, the following sequence of events occurs: • Node 15: Bit B1 or B2 of the Measurement Event Current Limit Summary Register sets when the current limit (compliance) event occurs.
Page 759
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 12: Status model 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 The affected status register for the above command is indicated by label E (see the following figure).
Page 760
Section 13 Display character codes In this section: 2601B-PULSE display character codes ......... 13-1 2601B-PULSE display character codes The following tables contain the decimal values of the display character codes and the corresponding displays. Display character codes (decimal 0 to 39) Decimal Display Decimal...
Page 761
Section 13: Display character codes Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Display character codes (decimal 40 to 102) Decimal Display Decimal Display Decimal Display > , (comma) ' (open single quote) < 13-2 2601B-PULSE-901-01 Rev. B November 2021...
Page 762
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 13: Display character codes Display character codes (decimal 103 to 165) Decimal Display Decimal Display Decimal Display (space) ¼ 2601B-PULSE-901-01 Rev. B November 2021 13-3...
Page 763
Section 13: Display character codes Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Display character codes (decimal 166 to 228) Decimal Display Decimal Display Decimal Display æ Æ â ä á ß à ...
Page 764
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 13: Display character codes Display character codes (decimal 229 to 255) Decimal Display Decimal Display Decimal Display ó ñ ò Ñ ÿ Ö † û ü ú ù → Ü...
Page 765
Section 14 Frequently asked questions In this section: How do I display the instrument's serial number? ....14-1 How do I optimize performance? ..........14-1 How do I use the digital I/O port? ........... 14-2 How do I trigger other instruments? ........14-2 How do I generate a GPIB service request? ......
Page 766
Section 14: Frequently asked questions Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Disabling autozero to increase speed Disabling autozero (setting it to OFF) can increase measurement speed. If autozero is disabled, accuracy drifts with time and temperature. Turning autozero OFF disables the autozero function and possibly increases measurement speed. To minimize drift, setting autozero to ONCE performs an autozero operation one time (when it is selected), and then disables the autozero function.
Page 767
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 14: Frequently asked questions Triggering a scanner A typical test scenario might call for using the 2601B-PULSE with a scanner to test a number of devices under test (DUTs) in sequence. A basic example of this uses the 2601B-PULSE digital I/O port to trigger a scanner (shown in the figure below).
Page 768
Section 14: Frequently asked questions Model 2601B-PULSE System SourceMeter® Instrument Reference Manual 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.
Page 769
Model 2601B-PULSE System SourceMeter® Instrument Reference Manual Section 14: Frequently asked questions When should I change the output-off state? Carefully consider and configure the appropriate output-off state, source function, and compliance limits before connecting the 2601B-PULSE to a device that can deliver energy (for example, other voltage sources, batteries, capacitors, solar cells, or other 2601B-PULSE instruments).
Page 770
Section 14: Frequently asked questions Model 2601B-PULSE System SourceMeter® Instrument Reference Manual How can I change the line frequency or voltage? The 2601B-PULSE requires a line voltage of 100 V ac to 240 V ac (±10%) and a line frequency of 50 Hz or 60 Hz.
Page 771
Section 15 Next steps In this section: Additional 2601B-PULSE information ........15-1 Additional 2601B-PULSE information For additional information about the 2601B-PULSE, refer to the Keithley Instruments website (tek.com/keithley), which contains the most up-to-date information. From the website, you can access: •...
Page 772
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 • 1-800-833-9200 • tek.com/keithley 07/2020...
Need help?
Do you have a question about the KEITHLEY 2601B-PULSE and is the answer not in the manual?
Questions and answers