/

Keithley

/

Keithley 2520

SCPI COMMAND REFERENCE

Keithley 2520

Keithley 2520

The Keithley 2520 is Keithley's source measure unit in the Model 2520 Pulsed Laser Diode Test System family. Its SCPI remote-control interface exposes 245 commands across 44 subsystems - 124 settable and 121 queries - and every command is documented here with its parameters, accepted values, return format, and a copy-paste PyVISA example for automating test and measurement.

245

Commands

124

Settable

121

Queries

44

Subsystems

SCPI

1996.0

Verified

2026-07-16

All commands

:DISPplay:ENABleset / query

Enable or disable the display. The state must be ON or OFF.

NameTypeValuesDescription
stateenumON | OFFEnable/disable display state.

:SOURce2:VOLTageset / query

Sets detector #1 source voltage. The allowed range is 0 to ±20.

NameTypeValuesDescription
voltagereal0 - ±20Source voltage to apply to detector #1.

Sets the specified source voltage level immediately for source 2. The level is specified in volts and can be queried with the corresponding query form.

NameTypeValuesDescription
nreal-20 - 20Voltage level to set.

Queries the specified voltage level immediately for Source 2. The level is expressed in volts and can be set in the range -20 to 20 when used as a setter.

real (V) - Returns the present voltage level in volts.

Sets the detector #1 source amplitude immediately. If the outputs are off, the programmed value is applied when the outputs are turned on.

NameTypeValuesDescription
nreal-20 - 20Set source amplitude.

Sets the laser diode source current. The allowed range is 0 to +5.0 A, with note that 5.0 A maximum applies in pulse mode only and 1 A maximum in DC mode.

NameTypeValuesDescription
currentreal0 - +5.0Laser diode source current to set.

Sets the low pulse amplitude for pulse mode on source 1. The allowed range depends on the selected source range: 0 to 15e-3 for the 500 mA range, or 0 to 150e-3 for the 5 A range.

NameTypeValuesDescription
low_currentreal0 - 15e-3Low pulse amplitude for pulse mode.

Selects the laser diode current source function.

NameTypeValuesDescription
functionenumDC | PULSeSelects the source function.

Sets the laser source voltage compliance limit.

NameTypeValuesDescription
limitreal1 - 10Voltage compliance limit for the laser source.
:SOURce[1]set / query

Path to control laser diode current source.

Queries the current source center point for the selected source. The center point is specified as a value from 0 to 5.0.

real - Returns the current source center point.

Queries the current source mode for the selected source path. The mode can be FIXed, SWEep, or LIST.

enum - Returns the current mode setting.

Queries the current polarity setting for the current source. The polarity can be positive or negative.

enum - Returns the current source polarity.

Queries the fixed current range setting for the current source. The range corresponds to the current source fixed range selection.

real - Returns the current range setting.

Queries the current source span setting. The span is specified in amps and applies to the current sweep configuration.

real (A) - Returns the current span value.

Queries the current step value for current sweep. The command is part of the source current configuration tree.

real - Returns the step value for I-sweep.

Queries the current stop level for current sweep.

real - Returns the stop level for the I-sweep.

Specify low current pulse level. The allowable value depends on the current range: 0 to 0.015 for 500 mA range, or 0 to 0.15 for 5 A range.

NameTypeValuesDescription
nreal0 - 0.015Low current pulse level for the 500 mA range; allowable range depends on the selected current range.

Queries the current source shape setting for the selected source. The shape can be PULSe or DC.

enum - Returns the source shape setting.

Queries the delay between pulses for pulse generation in FIXed and SWEep source modes.

real (s) - Returns the pulse delay between pulses.

Queries the pulse width for the source pulse generation path.

real (s) - Returns the pulse width.

Queries all points in the source current list.

string - All points in the source current list.

Queries all points in the pulse delay list.

definite_length_block - All points in the pulse delay list.

Specifies the direction of the list sweep. The direction can be set to UP or DOWN.

NameTypeValuesDescription
nameenumUP | DOWNSweep direction for list sweep mode.

Queries all points in the pulse width list.

definite_length_block - All points in the pulse width list.

Queries the sweep direction for staircase sweep mode. The direction is UP for start-to-stop sweep or DOWN for stop-to-start sweep.

enum - Returns the current sweep direction.

Queries the number of sweep points in staircase sweep mode.

integer - Returns the number of points in the sweep.

Selects the staircase sweep spacing type for the source sweep mode. The query returns the present sweep spacing.

enum - Returns the current sweep spacing type.

Queries the voltage compliance limit for source 1. The related setter uses a numeric level from 3 to 10.5.

real - Returns the present voltage limit.

Selects the laser diode sourcing mode for the current source. The available modes are fixed, list, and sweep.

NameTypeValuesDescription
nameenumFIXed | LIST | SWEepSelects the sourcing mode.

Selects the range for the laser diode current source. The instrument goes to the lowest range that can accommodate the specified current magnitude.

NameTypeValuesDescription
nreal0 - 5.0Specifies the source level used to select the current range.
qualifieroptenumDEFault | MINimum | MAXimum | UP | DOWNSelects a default, minimum, maximum, next-higher, or next-lower range.

Selects the laser diode source function for :SOURce[1]. The available functions are DC and PULSe.

NameTypeValuesDescription
nameenumDC | PULSeSelects the source function.
:SOURce[1]:FUNCtion[:SHAPe] DC
:SOURce[1]:FUNCtion[:SHAPe] PULSe

Sets the current pulse low amplitude for a fixed source. The specified amplitude must be within 0 to 0.150 A, and MINimum/MAXimum/DEFault may be used as qualifiers.

NameTypeValuesDescription
nreal0 - 0.150Set pulse low amplitude.
qualifieroptenumDEFault | MINimum | MAXimumSelects the default, minimum, or maximum allowable amplitude.

Sets the fixed current source amplitude immediately for DC and pulse functions. The specified amplitude cannot exceed the selected source range, and this command is not valid in list or sweep mode.

NameTypeValuesDescription
nreal0 - 5.0Set source amplitude.
qualifieroptenumDEFault | MINimum | MAXimumSelects the default, lowest allowable, or highest allowable amplitude.

Selects the polarity for the laser diode current source. POSitive selects normal polarity, while NEGative selects reversed polarity.

NameTypeValuesDescription
nameenumPOSitive | NEGativePolarity to set for the current source.

Sets the voltage protection limit, which clamps the current source output voltage at the programmed limit.

NameTypeValuesDescription
nrfreal3 - 10.5Voltage compliance limit.

Selects the scale for the current sweep. Linear scale performs the source and measure points on a linear scale; logarithmic scale performs them on a logarithmic scale.

NameTypeValuesDescription
nameenumLINear | LOGarithmicSweep scale to use.

Sets the direction of the sweep. Normally, a sweep runs from start level to stop level, and this command can reverse that order.

NameTypeValuesDescription
nameenumUP | DOWNDirection of the sweep.

Sets the total number of source and measure points in a sweep. For a linear sweep the points are equally spaced between the start and stop levels; for a log sweep they are equally spaced on a logarithmic scale.

NameTypeValuesDescription
ninteger2 - 1000Specify number of source-measure points.

Defines a current list for list sourcing mode. The instrument sequentially sources each current pulse value in the list when operation is started.

NameTypeValuesDescription
NRf listreal0 - 5.0List of current pulse values to define, up to 100 points.
:SOURce[1]:LIST:CURRent 1, 2, 5

Adds one or more current values to an existing source list. The appended values are added to the end of the list, with up to 100 values per list and up to 1000 points total using multiple appended lists.

NameTypeValuesDescription
NRf listreal0 - 5.0Source value(s) to append to the current list.
:SOURce[1]:LIST:CURRent:APPend <NRf list>

Queries the length of the current list. The response message indicates the number of source values in the list.

integer - The number of source values in the current list.

Defines a list of pulse widths for list sourcing mode. When operation is started, the instrument sequentially sources each current pulse value in the list with the programmed pulse width and delay.

NameTypeValuesDescription
<NRf list>real500e-9 - 5e-3List of pulse width values in seconds.
:SOURce[1]:LIST:WIDTh 10e-6, 30e-6, 60e-6

Adds one or more pulse width values to an existing pulse width list. Up to 100 values can be appended in one command, and multiple appended lists can build up to 1000 points.

NameTypeValuesDescription
<NRf list>real500e-9 - 5e-3One or more pulse width values to append to the list.
:SOURce[1]:LIST:WIDTh:APPend <NRf list>

Queries the length of the specified pulse width list. The response message indicates the number of pulse width values in the list.

integer - Number of pulse width values in the list.

Defines a list of pulse delays for list sourcing mode. If the delay is not programmed, a default value of 1.5 ms is used, but the query returns 0.

NameTypeValuesDescription
<NRf list>real20e-6 - 0.5One or more pulse delay values for the list.
:SOURce[1]:LIST:DELay 200e-6, 400e-6, 500e-6

Adds one or more values to an existing pulse delay list. The appended pulse delay values are added to the end of the list.

NameTypeValuesDescription
<NRf list>real20e-6 - 0.5One or more pulse delay values to append to the list.
:SOURce[1]:LIST:DELay:APPend <NRf list>

Query the length of the specified pulse delay list. The response message indicates the number of pulse delay values in the list.

integer - Number of pulse delay values in the specified list.

Sets the center current for the sweep range. Changing this command also changes :SOURce[1]:CURRent:STARt, :SOURce[1]:CURRent:STOP, and :SOURce[1]:CURRent:STEP.

Sets or couples the number of current points. Changing this command also changes :SOURce[1]:CURRent:STEP.

Sets the current span in the coupled current source parameters. Changing this command also changes :SOURce[1]:CURRent:STARt, :SOURce[1]:CURRent:STOP, and :SOURce[1]:CURRent:STEP.

Sets the start current for the current sweep. Changing this command also changes :SOURce[1]:CURRent:STEP, :SOURce[1]:CURRent:CENTer, and :SOURce[1]:CURRent:SPAN.

Sets the current step value. Changing this command also changes :SOURce[1]:CURRent:POINts.

Sets the current stop value for the source sweep. Changing this command also changes the coupled current step, center, and span settings.

Sets the pulse delay. Changing this command also changes :SOURce[1]:PULSe:WIDTh.

Sets the pulse width for source 1. The command is coupled with :SOURce[1]:PULSe:DELay and can also affect :TRACe:POINts.

Controls the rise and fall times of the current source pulse. Increasing the transition time can reduce overshoot and oscillations, especially with long cables or poor connections.

Sets the photodiode 1 current measurement range. The manual lists the allowed ranges as 0.01, 0.02, 0.05, or 0.1.

NameTypeValuesDescription
rangereal0.01 - 0.1Measurement range to select.

Selects the polarity for the Sense 2 current measurement. Name can be POSitive or NEGative.

NameTypeValuesDescription
nameenumPOSitive | NEGativePolarity name.

Queries the detector #1 current polarity for the :SENSe2:CURRent[:DC] subsystem. The manual lists the polarity as POSitive or NEGative.

enum - Returns the current polarity.

Configures the current measurement range for the Sense 2 subsystem. The range is selected by specifying the expected current reading.

NameTypeValuesDescription
nreal0 - 0.105Select range by specifying the expected current reading.

Queries the configured upper current measurement range for Sense 2 DC current. The range is selected by the expected current reading.

real (A) - Returns the current range upper limit for :SENSe2:CURRent[:DC]:RANGe[:UPPer].

Queries whether detector #1 sweep abort is enabled or disabled.

enum - Returns the state of the detector #1 sweep abort function.

Queries the detector #1 sweep abort current threshold. The threshold is used for sweep abort under the :SENSe2:SWEep:CABort subsystem.

real (A) - Returns the detector #1 sweep abort current threshold.

Selects the detector current measurement range for detector #1. The range can be set by expected reading or by stepping up/down to the next measurement range.

NameTypeValuesDescription
nreal0 - 0.105Expected reading in amps.
qualifierenumUP | DOWNSelects the next higher or lower measurement range.

Sets the measurement polarity for detector #1 current measurements. POSitive selects normal polarity and NEGative selects reversed polarity.

NameTypeValuesDescription
nameenumPOSitive | NEGativeMeasurement polarity to select.

Enable or disable sweep abort when the programmed current threshold is reached.

NameTypeValuesDescription
stateenum0 | OFF | 1 | ONEnables or disables sweep abort.

Sets the detector #1 sweep abort current threshold for sensor 2. The threshold is used to abort a sweep when the corresponding detector current reaches the programmed level; sweep abort must be enabled with the state command.

NameTypeValuesDescription
nreal0 - 0.105Sweep abort current threshold.
qualifieroptenumDEFault | MINimum | MAXimumSets the threshold to the default, minimum, or maximum value.

Sets the laser diode voltage measurement range. The range can be 5 or 10.

NameTypeValuesDescription
rangereal5 - 10Measurement range to select.

Queries the filter count for the sense 1 averaging subsystem. The manual lists the filter count range as 1 to 100 and shows a default of OFF for the query entry.

integer - Returns the current filter count.

Enables or disables the digital filter for Sense 1. The filter commands are global and affect all measurements simultaneously.

NameTypeValuesDescription
stateoptboolean-Enables or disables the digital filter.

Queries the state of the digital filter in Sense 1. The filter is part of the :AVERage subsystem.

enum - Returns whether the digital filter is enabled or disabled.

Selects the polarity for the Sense 1 voltage measurement path. The manual lists the allowed polarity names as POSitive or NEGative.

NameTypeValuesDescription
nameenumPOSitive | NEGativePolarity name to select.

Queries whether the voltage compliance limit has been exceeded. Returns 1 if yes and 0 if no.

integer - Indicates whether the voltage compliance limit is exceeded: 1 = yes, 0 = no.

Configures the measurement range for the Sense 1 voltage measurement path. The range is selected by specifying the expected voltage reading.

NameTypeValuesDescription
upperoptreal0 - 10.5Select range by specifying the expected voltage reading.

Queries the upper voltage measurement range for Sense 1. The range is selected by specifying the expected voltage reading.

real (V) - Returns the selected range by specifying the expected voltage reading.

Selects the laser diode voltage measurement range by expected reading, or moves to the next higher/lower range with UP or DOWN.

NameTypeValuesDescription
nreal0 - 10.5Expected reading in volts used to select the measurement range.
qualifieroptenumDEFault | MINimum | MAXimumOptional keyword form: DEFault selects the *RST default range, MINimum selects the lowest range, and MAXimum selects the highest range.
modeoptenumUP | DOWNSelects the next higher range with UP or the next lower range with DOWN.

Selects the measurement polarity for laser diode voltage measurements. POSitive selects normal polarity, while NEGative selects reversed polarity.

NameTypeValuesDescription
nameenumPOSitive | NEGativeMeasurement polarity to set.

Queries whether the laser diode voltage measurement compliance limit has been reached. A returned value of 1 indicates the voltage limit has been reached; 0 indicates it has not been reached.

integer - 1 indicates that the voltage limit has been reached, and 0 indicates that it has not been reached.

Sets the average filter count. The filter count is the number of readings acquired and stored in the filter buffer for the averaging calculation.

NameTypeValuesDescription
ninteger1 - 100Average filter count.

Queries the latest laser diode voltage reading for the selected sense channel. These queries request the latest readings only when the unit is in the idle layer of the trigger model.

real - Returns the latest laser diode voltage reading.
[:SENSe[1]]:DATA[:LATest]?

Enables or disables the average digital filter. When enabled, voltage and current readings are filtered according to how many readings are averaged; when disabled, the digital filter stage is bypassed.

NameTypeValuesDescription
stateenum0 | OFF | 1 | ONEnables or disables the average digital filter.

:TRIGger:COUNtset / query

Sets the trigger count. The allowed range is 1 to 5000.

NameTypeValuesDescription
countinteger1 - 5000Trigger count to set.
:TRIGger:ILINeset / query

Selects the trigger link input line. The valid line numbers are 1 through 6.

NameTypeValuesDescription
lineinteger1 - 6Trigger link input line to select.
:TRIGger:OLINeset / query

Select trigger link output line.

NameTypeValuesDescription
lineinteger1 - 6Trigger link output line number to select.
:TRIGger:SOURceset / query

Selects the trigger input source. The available sources are IMMediate, TIMer, BUS, TLINK, PSTest, NSTtest, and BSTest.

NameTypeValuesDescription
sourceenumIMMediate | TIMer | BUS | TLINK | PSTest | NSTtest | BSTestTrigger input source.
:TRIGger:SOURce <source>
:TRIG:SOUR BUS
:TRIGger:TIMerset / query

Sets the trigger timer. The timer value determines the trigger delay when TIMer is selected as the trigger source.

NameTypeValuesDescription
timereal0 - 99999.99Trigger timer value.
:TRIGger:OUTPutset / query

Sets the trigger output name. The example shown assigns the value NONE.

NameTypeValuesDescription
nameenumNONESpecifies the trigger output name.
:TRIGger:OUTPut NONE

Queries the trigger count for the trigger sequence/layer path. INFinite is returned as +9.9e37.

numeric - Trigger count; INFinite is represented as +9.9e37.

Specifies the trigger control source for the trigger layer. The allowed sources are IMMediate, TIMer, MANual, BUS, TLINk, NSTest, PSTest, and BSTest.

NameTypeValuesDescription
nameenumIMMediate | TIMer | MANual | BUS | TLINk | NSTest | PSTest | BSTestTrigger control source.

Sets the trigger count. The count specifies how many times the unit cycles through the trigger layer; INFinite runs continuously.

NameTypeValuesDescription
countintegerDEFault | MINimum | MAXimum | INFiniteSpecifies the trigger count.

Specifies the trigger event control source for the trigger model.

NameTypeValuesDescription
nameenumIMMediate | TLINk | TIMer | MANual | BUS | NSTest | PSTest | BSTestSelects the source used to generate trigger events.

Sets the interval for the trigger layer timer. The timer is in effect only if it is the selected control source.

NameTypeValuesDescription
nreal0 - 99999.99Specifies the timer interval in seconds.
qualifieroptenumDEFault | MINimum | MAXimumSets the timer to the default value, lowest allowable interval, or largest allowable interval.

Selects the Trigger Link input line. For normal operation, the Trigger Link input and output lines should not share the same line.

NameTypeValuesDescription
NRfinteger1 - 6Line number to use as the Trigger Link input line.

Selects the Trigger Link output line. The input and output Trigger Link lines should not share the same line during normal operation.

NameTypeValuesDescription
NRfinteger1 - 6Trigger Link output line number.

Enables or disables trigger pulses on the specified Trigger Link output line. With TRIGger selected, an output trigger occurs when exiting the trigger layer; with NONE selected, the trigger layer output trigger is disabled.

NameTypeValuesDescription
nameenumTRIGger | NONESpecifies whether trigger pulses occur on the output trigger line.
:TRIGger[:SEQuence[1]][:TCONfigure]:OUTPut <name>

:SOURce4:TTLset / query

Controls the digital output line logic levels on digital output port 4. The argument is a decimal value from 0 to 15 that corresponds to the L/H pattern of OUT 4 through OUT 1.

NameTypeValuesDescription
NRfinteger0 - 15Decimal value that sets the four digital output line logic levels.
:SOUR4:TTL 5

Queries the Digital I/O bit size for source 4. The bit size is set by :SOURce4:BSIZe.

integer - Returns the Digital I/O bit size.

Queries the pattern on digital output port for Source 4.

integer - Returns the present digital output pattern on the digital output port.

Queries the response format for the SOUR4:TTL query. The format is controlled by the corresponding :FORMat:SOURce4 <name> command.

enum - Returns the current response format for SOUR4:TTL.
:SOURce4:BSIZeset / query

Sets the Digital I/O bit size to 4 or 16. The 16-bit size is available only with the 2499-DIGIO option connected to the Digital I/O port.

NameTypeValuesDescription
NRfinteger4 - 16Sets the Digital I/O port bit size.

Sets the logic levels of the output lines of the Digital I/O port. A high level is approximately +5 V and a low level is 0 V.

NameTypeValuesDescription
levelinteger0 - 15Decimal digital output pattern corresponding to the desired OUT 4 through OUT 1 states.

*CLSset / query

Clears the status structure event registers and empties the error queue. It resets the Standard Event, Operation Event, Measurement Event, and Questionable Event registers to 0, and clears all messages from the Error Queue.

*SREset / query

Sets the individual bits of the Service Request Enable Register. Sending a value of 0 clears the register; the register also clears when power is cycled.

NameTypeValuesDescription
valueinteger0 - 255Value used to set or clear the Service Request Enable Register.
*SRE 0
*SRE?query

Reads the Service Request Enable Register. The register is cleared when power is cycled or when *SRE 0 is sent.

integer - The current value of the Service Request Enable Register.
*STB?query

Reads the Status Byte Register.

integer - Returns the serial poll byte (status byte) of the Status Byte Register.
*STB?
*ESR?query

Reads the Standard Event Status Register. The register bits report standard event conditions such as query error, execution error, command error, user request, and power-on since the last read.

integer - Returns the contents of the Standard Event Register as an integer bit register.
*ESEset / query

Sets the Standard Event Status Enable Register. The bits in the register enable the corresponding bits in the Standard Event Status Register to contribute to the Event Status Summary Bit (ESB).

NameTypeValuesDescription
valueinteger0 - 255Bit mask for the Standard Event Status Enable Register.
*ESE?query

Sets or queries the Standard Event Status Enable Register. The register enables selected standard event status bits to be summarized into the event status summary bit.

NameTypeValuesDescription
enable registerinteger0 - 255Value written to the Standard Event Status Enable Register.
integer - Returns the contents of the Standard Event Status Enable Register.
*OPCset / query

Sets operation complete status. The command is still functional in the 488.1 protocol, but is not needed there.

*OPC?query

Returns the operation complete event status. The query is still functional under the 488.1 protocol, though not needed for it.

boolean - Returns 1 when all pending commands have finished executing and the operation complete event is set, and 0 otherwise.
*WAIset / query

Releases bus hold-off immediately and does not wait for all readings to be acquired. It is still functional in the 488.1 protocol, but is not needed for that protocol.

*IDN?query

Returns the instrument identification string.

string - Returns the identification string.
*OPT?query

Returns the installed options information.

string - Returns the instrument options information.
*RCLset / query

Recalls a front-panel or remote state from nonvolatile memory. The stored state is restored to the instrument after the command is executed.

NameTypeValuesDescription
ninteger0 - 9Memory location number to recall.
*RCL <n>
*RSTset / query

Resets the instrument to its default state.

*SAVset / query

Saves the current instrument state in nonvolatile memory. It is a common command and is documented alongside the other common commands.

NameTypeValuesDescription
locationinteger0 - 9Memory location in which to save the current state.
*SAV <NR1>
*TRGset / query

Executes a trigger event at the interface. This is a common command.

*TST?query

Performs the instrument self-test and returns the result.

integer - Returns 0 if the self-test passes; otherwise returns a nonzero error code.

Read the Measurement Event Register. Reading the event register clears the bits of that register.

integer - The current contents of the Measurement Event Register.

Reads the Operation Event Register. Reading the register clears its bits.

integer - Value of the Operation Event Register.

Reads the Questionable Event Register. Reading the event register clears its latched bits.

integer - Returns the Questionable Event Register contents.
:STATus:QUEStionable:[:EVENt]?

Reads the measurement status enable register. The response format depends on the currently selected register data format.

numeric - The measurement status enable register value, returned in the current register data format (ASCII, hexadecimal, octal, or binary).

Reads the operation status enable register. The response format depends on the presently selected data format.

integer - The value of the operation status enable register, in the currently selected response format (ASCII, hexadecimal, octal, or binary).

Reads the enable register for the Questionable status subsystem.

integer - Returns the current enable register contents for the Questionable status registers. The response format depends on the selected register data format.

Read the disabled messages in the error queue.

string - Returns the disabled messages.

Reads the enable register for the questionable status subsystem.

integer - The current enable register value.

Programs the Measurement Event Enable Register in the status structure. The value sent determines which bits in the register are set.

NameTypeValuesDescription
NDNstring-Binary, hexadecimal, or octal formatted value (#Bxx...x, #Hx, or #Qx).
NRfinteger0 - 65535Decimal value for the enable register.

Reads the contents of the Measurement Event Register. After the command is sent and the instrument is addressed to talk, it returns a value indicating which bits in the register are set.

integer - Value indicating which bits in the Measurement Event Register are set.

Programs the Operation Event Enable register in the status structure. The binary equivalent of the value sent determines which bits in the register are set.

NameTypeValuesDescription
valuenumeric0 - 65535Enable-register value to program; may be sent in binary, hexadecimal, octal, or decimal form.

Reads the contents of the Operation status event register. After the command is sent and the instrument is addressed to talk, a value is returned indicating which bits in the register are set.

integer - The contents of the Operation status event register, indicating which bits are set.

Programs the Questionable Event Enable register of the status structure. The value determines which bits in the register are set.

NameTypeValuesDescription
valuenumeric0 - 65535Enable-register value, sent as either binary, hexadecimal, octal, or decimal format.

Reads the contents of the Questionable Event Register. After the command is sent and the instrument is addressed to talk, a value is returned indicating which bits in the appropriate status register are set.

integer - Value indicating which bits in the Questionable Event Register are set.

Reads the contents of the operation condition register.

integer - Returns the contents of the operation condition register.
:STATus:PRESetset / query

Returns the status registers to their default conditions. When sent, the Operation Event Enable, Event Enable, and Measurement Event Enable registers are cleared to zero; the Standard Event Register is not affected.

Reads the contents of the Questionable condition register.

integer - Returns the contents of the Questionable condition register.

Reads the next message from the Error Queue. As error and status messages occur, they are placed into the Error Queue; this query reads those messages and performs the same function as :SYSTem:ERRor?.

string - The next error or status message from the Error Queue.

Disables the specified list of messages for the Error Queue. Disabled messages are prevented from entering the Error Queue.

NameTypeValuesDescription
listnumeric-A specified list of messages to disable for the Error Queue.

Enables messages for the Error Queue. Messages not specified are disabled and prevented from entering the queue.

NameTypeValuesDescription
listnumeric-Specified list of messages to enable for the Error Queue.

:FETCh?query

Requests the latest post-processed readings stored in the reading buffer. It does not affect instrument setup or trigger source/measure operations; it simply returns the last available readings, and may return the same readings repeatedly until new ones are available.

string - The latest readings from the reading buffer are sent to the computer after the instrument is addressed to talk.

Performs essentially the same function as :READ?, except that it also turns the source outputs on if they were off.

returns

:READ?query

Triggers and acquires readings. In fixed mode it acquires one set of readings; in sweep mode it triggers the sweep and acquires all sweep data points. The command executes :INITiate followed by :FETCh? and is illegal when :TRIG:SOUR BUS is in effect.

returns

:CALCulate[1]set / query

Path to configure and control laser diode math. CALCulate1 is the CALC1 math subsystem, with children for data, format, KMATh parameters, and state.

Selects the laser diode math function. The current source value (I1) and measured voltage (V1) are used for CONDuctance, POWER, and RESistance calculations, while MX + B parameters are set separately.

NameTypeValuesDescription
nameenumMXB[1] | CONDuctance[1] | POWER[1] | RESistance[1]Selects the laser diode math function.
:CALCulate[1]:FORMat <name>

Sets the B (offset) value for the MX + B math function. The command is used with CALC1 for the laser diode, CALC2 for detector #1, and CALC3 for detector #2.

NameTypeValuesDescription
nreal-9.99999e20 - +9.99999e20Specifies the B (offset) value for the MX + B math function.
qualifieroptenumMINimum | MAXimum | DEFaultAllows setting the value to the minimum, maximum, or default value instead of a numeric entry.

Sets the M (slope) value for the MX + B math function. Use CALC1 for the laser diode, CALC2 for detector #1, and CALC3 for detector #2.

NameTypeValuesDescription
nreal-9.99999e20 - +9.99999e20Specifies the M (slope) value for the MX + B math function.
qualifieroptenumMINimum | MAXimum | DEFaultSelects the minimum, maximum, or default M (slope) value.

Specifies the units suffix name for the MX + B math function for CALC1 through CALC3.

NameTypeValuesDescription
namestring-One ASCII character enclosed in single or double quotes.

Enables or disables the CALC1 to CALC4 math function for the selected calculation block. When enabled, the math calculation is performed on trigger; when disabled, related data queries return NAN.

NameTypeValuesDescription
benum0 | OFF | 1 | ONDisables or enables the math function.

Read the latest CALC1 result. This command works exactly like :CALCulate[1]:DATA? except that it returns only the latest CALC1 result.

numeric - Returns the latest CALC1 result.

Reads the CALC1 calculation result. The largest valid result is ±9.9e37; an invalid NAN result of +9.91e37 indicates the calculation is disabled or a division-by-zero error occurred.

real - The CALC1, CALC2, CALC3, or CALC4 calculation result.

Specifies the data elements returned by the CALCn:DATA? and CALCn:DATA:LATest? queries. You can specify from one to all three elements, separated by commas.

enum - Returns the TRACe data string elements that have been specified.

Queries the byte order setting.

enum - Returns the current byte order as NORMal or SWAPped.

Specifies the CALCulate data elements used for data format selection. The allowed item list is CALCulate, TIME, and STATus.

NameTypeValuesDescription
item listenumCALCulate | TIME | STATusSelects which CALCulate data elements are included.

Queries the CALCulate data elements for the selected data format. The command belongs to the :FORMat subsystem.

string - Returns the CALCulate data elements.

Queries the format for reading SOURCE4 data. The format can be ASCII, HEXadecimal, OCTal, or BINary.

enum - Returns the SOURCE4 data format.

Queries the data format used for reading status event registers.

enum - Returns the selected status event register data format.
:FORMat:TRACeset / query

Specify TRACe data elements. The allowed data elements are VOLTage[1], CURRent2, CURRent3, and TIME.

NameTypeValuesDescription
item listenumVOLTage[1] | CURRent2 | CURRent3 | TIMEData elements to include in TRACe data format.

Queries the TRACe data elements selected for FETCh? and READ? operations.

enum - Returns the TRACe data elements currently selected for FETCh? and READ? operations.
:FORMat[:DATA]set / query

Selects the data format for transferring instrument readings over the bus.

NameTypeValuesDescription
typeenumASCii | REAL | SREalSpecifies the data format.
lengthoptinteger-Length value used with REAL; if omitted, REAL defaults to 32.

Selects the data format for transferring instrument readings over the bus. For the REAL format, the length is optional and defaults to 32 if omitted.

NameTypeValuesDescription
typeenumASCii | REAL | SREalData format to use for transferred readings.
lengthoptinteger-Data length for the REAL format; not used for ASCii or SREal.
enum - Returns the current data format setting.
:FORMat:ELEMentsset / query

Specifies the data elements to be included in the data string returned by subsequent :FETCh?, :READ?, and :MEASure? queries. Up to eight comma-separated elements can be selected.

NameTypeValuesDescription
item listenumCURRent[1] | CURRent2 | CURRent3 | VOLTage[1] | VOLTage2 | VOLTage3 | TIME | STATusList of data elements to include in the returned data string.

Queries which elements are included in the data string returned by the following :FETCh?, :READ?, and :MEASure? queries. Up to eight elements may be specified, separated by commas.

enum - Returns the current data-element list selection for the data string.

Specifies the data elements to be included in the data string returned by the :TRACe:DATA? and :TRACe:DATA:VALue? queries. You can select from one to all three elements, separated by commas.

NameTypeValuesDescription
item listenumVOLTage[1] | CURRent2 | CURRent3 | TIMESelects which TRACe data string elements to include.

Specifies the TRACe data string elements to be included in responses to :TRACe:DATA? and :TRACe:DATA:VALue? queries. Up to three comma-separated elements may be selected.

NameTypeValuesDescription
item listenumVOLTage[1] | CURRent2 | CURRent3 | TIMEElements to include in the TRACe data string.
:FORMat:BORDerset / query

Specifies the byte order used for IEEE-754 binary formats. Normal order sends bytes 1-4 in sequence; swapped order reverses the byte order.

NameTypeValuesDescription
nameenumNORMal | SWAPpedSets the binary byte order.
:FORMat:SOURce4set / query

Sets the response format for the SOUR4:TTL query. The format is controlled similarly to formats set by the FORM:SREG command.

NameTypeValuesDescription
nameenumASCii | HEXadecimal | OCTal | BINaryResponse format for SOUR4:TTL.

Sets the response message format used when reading status registers. When a status register is queried, the returned value is formatted as ASCII decimal, hexadecimal, octal, or binary.

NameTypeValuesDescription
nameenumASCii | Hexadecimal | OCTal | BINarySets the status register data format.
:FORMat:SREGister ASCii
:FORMat:SREGister Hexadecimal
:FORMat:SREGister OCTal
:FORMat:SREGister BINary

:OUTPut[1]set / query

Path to control all three outputs.

Queries the state of the outputs. This command is documented under the OUTPut command path for controlling all three outputs.

enum - Returns the output state as 1 (yes/on) or 0 (no/off).

Queries whether the two interlocks have been tripped. A returned value of "1" means the sources can be turned on; "0" means the sources cannot be turned on.

enum - Returns 1 if the interlocks have been tripped and the sources can be turned on, or 0 if the interlocks have not been tripped and the sources cannot be turned on.

Turns all three source outputs on or off simultaneously and queries the current source state. Turning the sources off places the Model 2520 in the idle state.

enum - Returns the state of the sources.
:OUTPut[1]?

Turns all three source outputs on or off simultaneously. Turning the sources off places the Model 2520 in the idle state.

NameTypeValuesDescription
stateenum0 | OFF | 1 | ONTurns the sources off (standby) or on (operate).

[:SENSe[1]]set / query

Sense 1 subsystem for controlling laser diode voltage measurement.

Returns the most recent reading stored in the sense subsystem. This is the LATest form of the DATA query for the specified sense channel.

numeric - The latest measured data value from the specified sense channel.

Returns and clears all error codes in the error queue. This command is the :SYSTem:ERRor:CODE path form for reading codes only.

string - Returns the error codes currently in the error queue, clearing them as they are read.

Queries the last pressed key.

integer - Returns the last "pressed" key as a key code.

Queries the current power-on setup. The setup can be RST, PRESet, or SAV 0-4.

enum - Returns the selected power-on setup.
:SYSTem:PRESetset / query

Returns the instrument to states optimized for front panel operation. The preset defaults are listed in the SCPI tables.

Reads all errors in the error queue. When the instrument is addressed to talk, all messages are sent to the computer and removed from the queue.

string - All error messages in the Error Queue are sent to the computer and then removed from the queue.

Reads and removes the oldest error from the error queue. The queue is FIFO and can hold up to 10 messages.

string - The oldest error message is sent to the computer as a code and message string.

Reads the oldest error from the error queue and returns only the error code. The error is cleared from the queue.

integer - The oldest error code from the error queue.

Returns the number of messages in the Error Queue as a decimal number.

integer - The number of messages in the Error Queue.
:SYSTem:KEYset / query

Simulates a key press by sending an NRf code for a specific front-panel key.

NameTypeValuesDescription
NRfinteger1 - 14Key code identifying which front-panel key to simulate.

Reads the version of the SCPI standard being used by the Model 2520.

string - The SCPI standard version used by the instrument.
1996.0
:SYSTem:LOCalset / query

Takes the Model 2520 out of remote state and enables operation of the front panel keys. It is described as an action command similar to the GPIB GTL command.

:SYSTem:REMoteset / query

Places the Model 2520 in the remote state, similar to the GPIB REN command. In remote, the front panel keys are locked out if local lockout is asserted.

:SYSTem:RWLockset / query

Enables or disables local lockout for front panel keys during remote operation. When enabled, the front panel keys except OUTPUT OFF are locked out; when disabled, the LOCAL key remains operational in remote.

NameTypeValuesDescription
stateenumON | OFFEnables or disables local lockout.
:SYSTem:POSetupset / query

Determines the instrument’s power-on setup conditions. See Section 14 for details.

Returns whether the message exchange protocol (MEP) is enabled. A returned value of 1 indicates SCPI protocol selected; 0 indicates 488.1 protocol selected.

integer - 1 if MEP is enabled and the SCPI protocol is selected; 0 if MEP is disabled and the 488.1 protocol is selected.

:TRACe|:DATAset / query

Access and control the sample buffer.

Sets the number of samples to return for the :TRACe:DATA? query. The valid range is 1 to 3000, with a default of 100.

NameTypeValuesDescription
ninteger1 - 3000Number of samples to return for the :TRACe:DATA? query.

Queries the number of samples to return for the :TRACe:DATA? query.

integer - Returns the number of samples to return for the :TRACe:DATA? query.

Returns a specified sample after the start of a pulse.

NameTypeValuesDescription
NRfoptinteger1 - 3000Specifies which sample to return.
real - Returns the specified sample after the start of a pulse.

Returns raw samples from the sample buffer.

block - Raw samples from the sample buffer.

Queries the character blinking attributes for the specified display. The response indicates, for each character position, whether that character is blinking or not.

string - Status of each character position for the specified display, with 1 meaning the character is blinking and 0 meaning it is not blinking.

Reads what is currently being displayed on the top display. After the command is sent and the instrument is addressed to talk, the displayed data is sent to the computer.

string - The displayed data (message or reading) currently shown on the specified display.
:DISPlay[:WINDow[1]]:DATA?

Controls the text message displayed in the specified display window. When enabled, a defined message is displayed; when disabled, the message is removed from the display.

NameTypeValuesDescription
benum0 | OFF | 1 | ONEnables or disables the message for the specified display.

Controls the text message mode for the specified display. When enabled, a defined message is displayed; when disabled, the message is removed from the display.

NameTypeValuesDescription
benum0 | OFF | 1 | ONDisables or enables the message for the specified display.

:TRACe?query

Specifies which data string elements are included in responses to the :TRACe:DATA? and :TRACe:DATA:VALue? queries. You can select from one to all three elements, separated by commas.

NameTypeValuesDescription
item listenumVOLTage[1] | CURRent2 | CURRent3 | TIMESelects the TRACe data string elements to include.
enum - Returns the currently specified TRACe data string elements.
:TRACe:POINtsset / query

Sets the number of samples to return for the TRAC:DATA? query. The value defaults based on pulse width changes, with the default limited to 3000.

NameTypeValuesDescription
ninteger1 - 3000Specify number of samples
:TRACe:POINts <n>

Queries the current binary byte order used for IEEE-754 binary formats. Normal byte order sends bytes in the standard order; swapped byte order reverses them.

enum - Returns the current byte order setting.

Queries the response message format used when reading status registers. The returned value indicates which bits in a status register are set, formatted according to the currently selected status register format.

enum - Returns the selected status register data format.

:COUNt?query

Queries the filter count. The optional qualifiers DEFault, MINimum, and MAXimum request the *RST default, the lowest allowable, or the largest allowable filter count, respectively.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects whether to return the current filter count or a special value such as the *RST default, minimum, or maximum.
integer - Returns the filter count, or the requested default/minimum/maximum count when a qualifier is supplied.
:COUNt?
:COUNt? DEFault
:COUNt? MINimum
:COUNt? MAXimum

:MODE?query

Queries the sourcing mode for the laser diode current source. The mode can be FIXed, LIST, or SWEep.

enum - Returns the present sourcing mode for the laser diode current source.

Queries the current laser diode source function. The function can be DC or PULSe.

enum - Returns the selected source function.

:RANGe?query

Queries the selected source range for the laser diode current source. The query also supports the qualifiers DEFault, MINimum, and MAXimum to ask for the *RST default, lowest, or highest source range.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumOptional query qualifier selecting the default, lowest, or highest source range.
real (A) - Returns the selected source range as a source level in amps.
:SOURce[1]:CURRent:RANGe?
:SOURce[1]:CURRent:RANGe? DEFault
:SOURce[1]:CURRent:RANGe? MINimum
:SOURce[1]:CURRent:RANGe? MAXimum

Queries the programmed source amplitude. It can also query the *RST default amplitude, the lowest allowable amplitude, or the highest allowable amplitude using a qualifier.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects the default amplitude, minimum allowable amplitude, or maximum allowable amplitude to query.
real (A) - Returns the programmed source amplitude, or the default, minimum, or maximum amplitude when queried with a qualifier.
:CURRent?
:CURRent? DEFault
:CURRent? MINimum
:CURRent? MAXimum

:LOW?query

Queries the programmed low pulse amplitude. DEFault, MINimum, and MAXimum return the *RST default, lowest allowable, and highest allowable low amplitude, respectively.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects which low amplitude value to query.
real (A) - Returns the programmed low amplitude, or the default, minimum, or maximum low amplitude when queried with DEFault, MINimum, or MAXimum.

Selects the polarity for the laser diode current source. POSitive selects normal polarity, while NEGative selects reversed polarity.

enum - Returns the measurement polarity.

Queries the programmed voltage protection limit. This limit clamps the current source output voltage at the programmed value.

real (V) - Returns the programmed voltage protection limit.

:DELay?query

Queries the pulse delay. The slice also documents qualifier forms to query the default, minimum, or maximum allowable pulse delay.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects the default pulse delay, the lowest allowable pulse delay, or the highest allowable pulse delay.
real (s) - Returns the pulse delay in seconds, or the *RST default, lowest allowable, or highest allowable pulse delay when queried with DEFault, MINimum, or MAXimum, respectively.

:STATe?query

Queries the state of pulse transition control. When on (1), the turn-on edge is intentionally slowed to a fixed 5e-6 setting; when off (0), the leading edge is as fast as the system hardware allows.

enum - Returns the state of transition control.

:WIDTh?query

Queries the current pulse width. The manual also documents query forms for the default, minimum, and maximum pulse width.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects the default, minimum, or maximum allowable pulse width to query.
real (s) - Returns the pulse width in seconds, or the default, minimum, or maximum pulse width when queried with DEFault, MINimum, or MAXimum.

Selects the scale for the current sweep. Linear scale performs source and measure points on a linear scale; logarithmic scale performs them on a logarithmic scale.

NameTypeValuesDescription
nameenumLINear | LOGarithmicSelects the sweep scale.
enum - Returns the sweep scale.
:SOURce[1]:SWEep:SPACing <name>
:SPACing?

:STARt?query

Queries the start current level for a sweep. The query also accepts the qualifiers DEFault, MINimum, and MAXimum to request the *RST default, lowest allowable, or highest allowable level.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects which value to query: the *RST default level, the lowest allowable level, or the highest allowable level.
real (A) - Returns the start current level for the sweep, or the *RST default, minimum, or maximum level when queried with DEFault, MINimum, or MAXimum respectively.

:STOP?query

Queries the stop current level for a sweep. It also accepts the qualifiers DEFault, MINimum, and MAXimum to query the *RST default, lowest allowable, or highest allowable level.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects which stop level to query.
real (A) - Returns the stop current level for the sweep, or the *RST default, minimum, or maximum allowable level when queried with DEFault, MINimum, or MAXimum, respectively.

Queries the center point for a sweep. Optional qualifiers return the *RST default level, the lowest allowable level, or the highest allowable level.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects the default, minimum, or maximum center level to query.
real (A) - Returns the sweep center level, or the *RST default, minimum allowable, or maximum allowable level when queried with a qualifier.
:CENTer?
:CENTer? DEFault
:CENTer? MINimum
:CENTER? MAXimum

:SPAN?query

Queries the span for a sweep. Optional qualifiers return the default, minimum, or maximum allowable level.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects the default (*RST), lowest allowable, or highest allowable span level.
real (A) - Returns the span for sweep, or the default, minimum, or maximum allowable level when queried with DEFault, MINimum, or MAXimum.
:SPAN?
:SPAN? DEFault
:SPAN? MINimum
:SPAN? MAXimum

:STEPset / query

Specifies the step size for a linear sweep. When the sweep is started, the source level changes in equal steps from the start level to the stop level, with a measurement performed at each step including the start and stop levels.

NameTypeValuesDescription
nreal0 - 5.0Set source level step size.
qualifieroptenumDEFault | MINimum | MAXimumReturns or selects the default, minimum, or maximum step size.

Queries the direction of a sweep. The sweep direction is normally set by the corresponding :SOURce[1]:SWEep:DIRection command.

enum - Returns the current sweep direction.

Queries the number of sweep points. The manual also supports qualifier forms to query the default, minimum, or maximum allowable number of sweep points.

NameTypeValuesDescription
qualifieroptenumDEFault | MINimum | MAXimumSelects the default, lowest allowable, or highest allowable number of sweep points to query.
integer - Returns the queried number of sweep points, or the default/minimum/maximum allowable number when a qualifier is used.
:POINts?
:POINts? DEFault
:POINts? MINimum
:POINts? MAXimum

:INITiateset / query

Starts the configured sweep. In the example, it is issued after setting source sweep spacing, start/stop values, number of points, and output state.

Take the Model 2520 out of idle state to initiate source and measure operation. Command processing halts until the trigger model returns to the idle state, with a few listed exceptions.

:ABORtset / query

Aborts the source/measure cycle and returns the instrument to the idle state. The manual notes that DCL or SDC can be used as a faster way to return to idle.