/

Keithley

/

Keithley 2303-PJ

SCPI COMMAND REFERENCE

Keithley 2303-PJ

Keithley 2303-PJ

The Keithley 2303-PJ is Keithley's power supply in the Series 2300 — Model 2303/2303B/2303-PJ High Speed Power Supply family. Its SCPI remote-control interface exposes 166 commands across 21 subsystems - 89 settable and 77 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.

166

Commands

89

Settable

77

Queries

21

Subsystems

SCPI

Verified

2026-07-16

All commands

Sets the state of the display text. The manual lists it as a display subsystem command.

NameTypeValuesDescription
stateboolean-Enables or disables the display text.
:DISPlay:ENABleset / query

Turns the front panel display on or off. When disabled, the instrument operates at a higher speed and the display is blank.

NameTypeValuesDescription
benum0 | OFF | 1 | ONControls whether the display circuitry is disabled or enabled.

Defines an ASCII text message for the display. The message can be up to 32 characters and is shown starting on the top line, wrapping to the bottom line.

NameTypeValuesDescription
astring-ASCII characters for the display message.
DISPlay[:WINDow[1]]:TEXT:DATA <a>

Enables or disables the text message mode. When enabled, the message is displayed; when disabled, the message is removed and the display returns to normal.

NameTypeValuesDescription
benum0 | OFF | 1 | ONControls whether text message mode is disabled or enabled.

Queries the state of the front panel display.

enum - Returns the display state.

Queries the text message defined for the display window. The message is defined as ASCII text up to 32 characters by the corresponding :DATA command.

string - Returns the current user text message.

Queries the state of message mode for the user text message display. The display path is :DISPlay[:WINDow[1]]:TEXT.

enum - Returns the state of message mode.

:FORMat:BORDerset / query

Sets the byte order used for binary block data transfers.

NameTypeValuesDescription
nameenumNORMal | SWAPpedSelects the data byte order.
:FORMat[:DATA]set / query

Sets the data format used for transferred data. The command is part of the FORMat subsystem and accepts a data type parameter.

NameTypeValuesDescription
typeenum-Data format type.

Queries the current byte order setting. The format command is only valid if the exponential GPIB output format is selected.

enum - Returns the current byte order setting.

Queries the selected data format. This command is valid only when the exponential GPIB output format is selected.

enum - Returns the current data format.

:OUTPut[:STATe]set / query

Turns the power supply output on or off.

NameTypeValuesDescription
stateoptenumON | OFFSelects whether the output is enabled or disabled.
:OUTPut:RELayset / query

Closes or opens the control circuit for an external relay.

NameTypeValuesDescription
nameenumONE | ZEROSelects whether the relay control circuit is closed or open.

Queries the state of the relay circuit for an external relay.

enum - Returns the relay state.

Queries the state of the output. The output can be turned on or off with the associated state command.

enum - Returns the current output state.

Sets the current measurement range. The range is specified as the expected current in amps.

NameTypeValuesDescription
nreal0 - 5Specify expected current in amps.

Enables or disables auto range for the current measurement range.

NameTypeValuesDescription
benumOFF | ONEnable or disable auto range.
:SENSe:AVERageset / query

Specifies the average count for voltage, current, and DVM measurements. The average reading count is used for displayed readings and single readings such as READ?.

NameTypeValuesDescription
NRfinteger1 - 10Average count to use for each reading.
:SENSe:FUNCtionset / query

Selects the readback function for voltage, current, or DVM measurements. The manual also notes additional measurement modes PCURrent and LINTegration, though they are not listed in Table 2-5.

NameTypeValuesDescription
nameenumVOLTage | CURRent | DVMeterSelects the readback function.
:SENSe:NPLCyclesset / query

Sets the integration rate in line cycles for voltage, current, and DVM measurements. The allowed range is 0.01 to 10 line cycles.

NameTypeValuesDescription
nreal0.01 - 10Integration rate in line cycles.

Sets the pulse current trigger delay in seconds. The allowed range is 0 to 0.1 s, or 0 to 5 s for pulse current digitization.

NameTypeValuesDescription
delayreal0 - 0.1Trigger delay in seconds.

Pulse current synchronize triggering configuration. It selects pulse current measurements or pulse current digitization and may enable pulse detection triggering.

NameTypeValuesDescription
stateoptenumON | OFFSelect pulse current measurements or pulse current digitization.

Set the integration time for pulse current measurements. The manual lists separate subcommands for HIGH, LOW, and AVERage integration times under :TIME.

Sets the trigger level for pulse current synchronization. For Models 2303 and 2303B the trigger level is in amps from 0 to 5.

NameTypeValuesDescription
levelreal0 - 5Trigger level in amps.

Sets the trigger level in amps for the 5 A range on Model 2303-PJ. The documented range is 0 to 5.

NameTypeValuesDescription
ampsreal0 - 5Trigger level in amps for the 5 A range.

Sets the trigger level for Model 2303-PJ pulse current measurements on the 500 mA range. The level is specified in amps and can be set from 0 to 0.5.

NameTypeValuesDescription
levelreal0 - 0.5Trigger level in amps for the 500 mA range.
SENS:PCUR:SYNC:TLEV 0.1

Selects the trigger edge used to initiate the long integration measurement. The programming example sets it to RISING before issuing READ?.

NameTypeValuesDescription
edgeenumRISINGTrigger edge selection for the long integration measurement.
SENS:LINT:TEDge RISING
:SENSe:RANGset / query

Selects the measurement current range used for long integration measurements. The programming example shows setting the range to 5 A.

NameTypeValuesDescription
rangerealACurrent range to select.
SENS:RANG 5

Queries the average count for voltage, current, and DVM measurements.

integer - Returns the average count for voltage, current, and DVM measurements.

Enables or disables auto-ranging for the current measurement range. The query form returns the state of auto range.

NameTypeValuesDescription
bboolean-Enable or disable auto range.
boolean - Returns the state of auto range.

Sets the expected upper current measurement range for the current function. The range is 0 to 5 A.

NameTypeValuesDescription
nreal0 - 5Expected current measurement range.

Queries the expected current measurement range for the current function. The range is specified in amps.

real (A) - Returns the current measurement range.

Queries the selected measurement function for the SENSe subsystem.

enum - Returns the present measurement function.

Queries the integration rate in line cycles for voltage, current, and DVM measurements.

real - Returns the current integration rate in line cycles.

Specifies the average count for pulse-current measurements. The manual notes a range of 1 to 100 or 1 to 5000 when using pulse current digitization.

NameTypeValuesDescription
NRfinteger1 - 100Average count for pulse-current measurements.

Queries the average count for pulse-current measurements.

integer - Returns the pulse-current average count.

Selects the pulse-current measurement mode.

NameTypeValuesDescription
nameenumHIGH | LOW | AVERagePulse-current measurement mode.

Queries the pulse-current measurement mode.

enum - Returns the pulse-current measurement mode.

Specifies the trigger delay for pulse-current synchronization. The allowed delay range depends on the pulse-current mode noted in the table.

NameTypeValuesDescription
delayreal0 - 0.1 or 0 to 5Trigger delay in seconds.

Queries the pulse current synchronization trigger delay. The delay is specified in seconds for pulse detection triggering.

real (s) - Returns the trigger delay in seconds.

Sets the pulse-current trigger level for models 2303 and 2303B. The trigger level is specified in amps.

NameTypeValuesDescription
nreal0 - 5Trigger level in amps.

Sets the pulse-current trigger level for pulse detection triggering. The trigger level is specified in amperes.

NameTypeValuesDescription
nreal0 - 5Trigger level in amperes.

Sets the trigger level for pulse current synchronization on models 2303 and 2303B. The trigger level is specified in amps.

NameTypeValuesDescription
levelreal0 - 5Trigger level for pulse current synchronization.

Sets the pulse-current synchronization trigger level for models 2303 and 2303B. The level is specified in amps.

NameTypeValuesDescription
ampoptreal0 - 5Trigger level in amps.

Queries the trigger level used for pulse-current synchronization. The manual states the trigger level is set in amps with a range of 0 to 5.

real (A) - Returns the pulse-current synchronization trigger level in amps.

Sets or queries the pulse-current synchronization selection used for pulse detection triggering. ON selects pulse current measurements, and OFF selects pulse current digitization.

NameTypeValuesDescription
stateoptenumON | OFFSelects pulse current measurements or pulse current digitization.
enum - Returns the pulse current synchronization selection.

Queries the pulse-current synchronization selection. This command is part of the :SENSe:PCURrent path.

enum - Returns the pulse current synchronization selection.

Sets the pulse-current average integration time in seconds. The allowed range is 33.33E-06 to 0.8333 s.

NameTypeValuesDescription
NRfreal33.33E-06 - 0.8333Average integration time for pulse-current measurements.

Queries the average integration time for pulse-current measurements.

real (s) - Returns the average pulse-current integration time in seconds.

Sets the high pulse-current integration time in seconds for pulse-current measurements. The allowed range is 33.33E-06 to 0.8333.

NameTypeValuesDescription
nrfreal33.33E-06 - 0.8333High pulse-current integration time in seconds.

Queries the high pulse-current integration time.

real (s) - Returns the high integration time in seconds.

Sets the low integration time for pulse-current measurements. The value is specified in seconds and is used under the :SENSe:PCURrent:TIME path.

NameTypeValuesDescription
nrfreal33.33E-06 - 0.8333Integration time for low pulse measurements.

Queries the pulse-current low integration time. The low integration time is specified in seconds for low pulse measurements.

real (s) - Returns the low integration time for pulse-current measurements.

Enables or disables long integration fast readings mode.

NameTypeValuesDescription
stateenumON | OFFTurns fast readings mode on or off.

Queries the long integration fast readings mode.

enum - Returns the long integration fast readings mode state.

Queries the state of pulse search in long integration measurements.

enum - Returns whether pulse search is enabled or disabled.

Selects the trigger edge used to initiate the measurement. The available choices are rising, falling, or neither.

NameTypeValuesDescription
nameenumRISING | FALLING | NEITHERTrigger edge to initiate the measurement.

Selects the trigger edge used to initiate the measurement. The allowed values are RISING, FALLING, or NEITHER.

enum - Returns the selected trigger edge used to initiate the measurement.

Sets the integration time for long integration measurements. The allowed range is from X to 60 seconds, where X is 0.850 for 60 Hz or 0.840 for 50 Hz.

NameTypeValuesDescription
timerealX - 60Integration time in seconds.

Queries the integration time for long integration measurements.

real (s) - Integration time in seconds. The manual states the valid setting range for :TIME as X to 60 seconds, where X is 0.850 for 60 Hz or 0.840 for 50 Hz.

Sets the trigger level for the Model 2303-PJ 5A range in the long integration path. The paired query returns the trigger level for the selected range.

NameTypeValuesDescription
ampoptreal0 - 5Trigger level for the 5A range.
qualifieroptenumMINimum | MAXimum | DEFaultSelects a minimum, maximum, or default value instead of a numeric trigger level when supported.

Sets the trigger level for the 500 mA range. The valid range is 0 to 0.5 A.

NameTypeValuesDescription
valuereal0 - 0.5Trigger level for the 500 mA range.

Queries the trigger level for the 500 mA range in the long integration path. The manual lists this query under the Model 2303-PJ trigger level settings.

real (A) - Returns the trigger level for the 500 mA range, in amps.

Queries the trigger level for the LINTegration path. The manual lists separate trigger-level forms for the Model 2303/2303B and Model 2303-PJ ranges.

real (A) - Returns the trigger level for the LINTegration path.

Model 2303-PJ command to set or query the trigger level for the 5 A range under long integration measurements. The optional :AMP node is shown in the syntax line; the trigger level is specified in amps.

NameTypeValuesDescription
ampoptreal0 - 5Trigger level for the 5 A range.

Model 2303-PJ trigger level query for the 5A range. Returns the present trigger level for that range.

NameTypeValuesDescription
ampoptreal0 - 5Selects the 5A range trigger level.
real (A) - Present trigger level for the 5A range.

Specify the timeout length for long integration measurements. The valid range is 1 to 63 seconds, with a default of 16.

NameTypeValuesDescription
timeoutreal1 - 63Length of the timeout in seconds.

Queries the timeout length for long integration measurements.

real (s) - Returns the timeout length in seconds.

[SOURce]CURRentset / query

Sets the current limit value in amps. The allowed range is 0 to 5 A with 100 µA resolution.

NameTypeValuesDescription
currentreal0 - 5Current limit value to set.

Queries the state of the current limit. The manual lists this as part of the SOURce:CURRent subsystem.

enum - Returns the current limit state.

Selects the current limit type.

NameTypeValuesDescription
nameenumLIMit | TRIP | LIMRELAY | TRIPRELAYCurrent limit type.

[SOURce]VOLTageset / query

Sets the output voltage amplitude in volts. The response to the related query is affected by the GPIB output format.

NameTypeValuesDescription
voltagereal0 - 15Voltage amplitude to set.

Triggers an array of readings and returns them.

returns - Returns an array of readings.
:READ?query

Trigger and return one reading.

string - Returns one reading after triggering the measurement.

:STATus:PRESetset / query

Resets all bits of the operation, measurement, and questionable enable registers to 0. It has no effect on the standard event enable register or the error queue.

Reads and clears the oldest error/status message from the error queue. The optional `:NEXT` node is shown in the syntax, but it does not change the command meaning.

string - Returns the oldest error/status message from the error queue and clears it.

Reads the measurement event register. Reading an event register clears the bits of that register.

integer - Measurement event register value.

Reads the operation event register. Reading the register clears its bits.

integer - The operation event register contents.

Reads the questionable event register in the STATus subsystem. Reading the event register clears its latched bits.

integer - Returns the questionable event register value.

Specifies messages not to be placed in the error queue.

NameTypeValuesDescription
list--Messages to disable from the queue.

Specify error and status messages for the error queue. Send the null list parameter `()` to prevent all messages from entering the error queue.

NameTypeValuesDescription
liststring-Messages to enable for placement in the error queue.

Reads the enabled messages in the error queue.

string - The enabled messages.
STAT:QUE:ENAB (+000:+900)
STAT:QUE?

Reads and clears the oldest error/status message from the error queue.

string - The oldest message from the error queue.
STAT:QUE?
:STATusset / query

Top-level status subsystem command. It provides paths to the measurement, operation, questionable, and queue status registers, and includes a preset command to return status registers to default states.

Programs the measurement status enable register.

NameTypeValuesDescription
NRfinteger0 - FFFFFFFFEnable register bit mask.

Reads the measurement status enable register.

integer - Returns the measurement status enable register value.

Reads the measurement event register in the status subsystem.

integer - The event register contents are returned.

Path to control the operation status registers. This subsystem includes event, enable, and condition register commands under :STATus:OPERation.

Read the operation status condition register.

integer - Returns the condition register value for the operation status subsystem.

Programs the operation status enable register.

NameTypeValuesDescription
NRfinteger0 - 65535Enable register value.

Reads the operation status enable register.

integer - Returns the operation status enable register value.

Path to control the questionable status registers.

NameTypeValuesDescription
eventopt--Read the event register.
enablenumeric-Program the enable register.
enable--Read the enable register.
condition--Read the condition register.

Read the questionable status condition register.

integer - Returns the current value of the questionable status condition register.

Programs the questionable status enable register. This command is part of the :STATus:QUEStionable status-register path.

NameTypeValuesDescription
NRfinteger0 - 65535Enable-register value.

Read the questionable status enable register.

integer - Returns the questionable status enable register value.

Reads the event register in the questionable status register path.

integer - Returns the questionable status event register contents.

Reads the error queue and returns the oldest error/status message. Power-up and *CLS empty the error queue.

string - The oldest error/status message from the error queue.
STAT:QUE?
:SYSTem:ERRorset / query

Reads and clears the oldest message in the error queue. It also clears messages from the error queue.

string - Returns the oldest message in the error queue.

Reads the instrument power line frequency.

real (Hz) - The present power line frequency.
:SYSTemset / query

Root SYSTem subsystem command. The page slice shows related system commands for version, error queue, line frequency, and power-on setup, but provides no separate functional description for :SYSTem itself.

:SYSTem:POSetupset / query

Selects the power-on setup. The allowed values are RST or SAVx, where x is 0 to 4 for Model 2303-PJ and 0 to 9 for Model 2303/2303B.

NameTypeValuesDescription
nameenumRST | SAVxPower-on setup to select.

Queries the current power-on setup selection.

enum - Returns the power-on setup: RST or SAVx.

Queries the SCPI version level.

string - SCPI version level.

Selects the GPIB protocol used by the instrument. Use 1 or ON for SCPI protocol, and 0 or OFF for 488.1 protocol.

NameTypeValuesDescription
stateenum1 | ON | 0 | OFFSelects SCPI protocol with 1 or ON, and 488.1 protocol with 0 or OFF.
:SYSTem:MEP[:STATe]?
:SYSTem:MEP[:STATe] <1 or ON>
:SYSTem:MEP[:STATe] <0 or OFF>

Queries the state of MEP to indicate which GPIB protocol is enabled. A returned 1 means MEP is enabled and SCPI is selected; 0 means MEP is disabled and the 488.1 protocol is selected.

integer - Returns 1 if MEP is enabled and the SCPI protocol is selected, or 0 if MEP is disabled and the 488.1 protocol is selected.
:SYSTem:MEP[:STATe]?

*CLSset / query

Clears all event registers and the error queue.

*ESEset / query

Programs the standard event enable register.

NameTypeValuesDescription
NRfinteger-Value to load into the standard event enable register.
*ESE?query

Reads the standard event enable register.

integer - The value of the standard event enable register.
*ESR?query

Reads the standard event enable register and clears it.

integer - Returns the contents of the standard event enable register.
*RCLset / query

Returns the power supply to the user-saved setup.

NameTypeValuesDescription
NRfinteger-User-saved setup number to recall.
*SREset / query

Programs the service request enable register.

NameTypeValuesDescription
NRfinteger-Value to program into the service request enable register.
*SRE?query

Reads the service request enable register.

integer - The value of the service request enable register.
*STB?query

Reads the status byte register.

integer - Returns the status byte register value.
*OPCset / query

Sets the Operation Complete bit in the Standard Event Status Register when all preceding commands have finished executing. The query form *OPC? is used to synchronize program execution by returning a completion indication.

*OPC?query

Returns the operation complete status of the instrument. The command is still functional but is not needed for the 488.1 protocol.

boolean - Indicates operation complete status.
*WAIset / query

Prevents further command execution until all previously received commands have finished executing. It is functional in this protocol but not needed for 488.1 bus hold-off.

*IDN?query

Identification query.

string - Returns the instrument identification string.
*RSTset / query

Resets the instrument. Listed in the command index with no further syntax or parameter details on this page slice.

*SAVset / query

Saves the current instrument setup in nonvolatile memory.

NameTypeValuesDescription
NRfinteger0 - 9Setup register number to save.
*TRGset / query

Triggers a device action. This command is listed in the manual’s command index as "*TRG — trigger".

*TST?query

Performs a self-test on the instrument.

integer - Returns the self-test result code.

Returns the last array of readings. It does not trigger a measurement and does not affect the instrument setup.

array - The last triggered reading array is sent to the computer.
:FETCh?query

Returns the last averaged reading. It does not trigger a new measurement and does not affect the instrument setup.

numeric - The last triggered averaged reading is returned.

Performs a READ:ARRay? on the specified function. It returns the last triggered array of readings for the selected measurement function.

NameTypeValuesDescription
functionoptenum-Measurement function to use.
block - Returns the last array of readings.

Performs a READ? on the specified function. If no function is specified, the measurement is performed on the presently selected function.

NameTypeValuesDescription
functionoptenumCURRent[:DC] | VOLTage[:DC] | PCURrent | DVMeter | LINTegrationMeasurement function to select before executing the read.
numeric - Returns the measured reading for the specified function, using the same behavior as READ? .

:SOURceset / query

Path to set output voltage. The nested `:VOLTage[:LEVel][:IMMediate][:AMPLitude]` command specifies voltage amplitude in volts.

Configures the output current limit. The syntax shows this command as a path to the current limit subtree under :SOURce:CURRent[:LIMit].

Queries the state of current limit. Returns 1 if the output is in current limit (for LIMit type) or tripped (for TRIP type), and 0 if not in LIMit/TRIP.

integer - 1 = in current limit (for LIMit type) or output tripped (for TRIP type); 0 = not in LIMit/TRIP.

Selects the current limit type for the current-limit path. The manual lists four choices: LIMit, TRIP, LIMRELAY|LIMITRELAY, and TRIPRELAY.

NameTypeValuesDescription
typeenumLIMit | TRIP | LIMRELAY | LIMITRELAY | TRIPRELAYSelects the current limit type.

Queries the current limit type. The available types are LIMit, TRIP, LIMRELAY|LIMITRELAY, and TRIPRELAY.

enum - Returns the current limit type.

Sets the current limit value in amps. The value range is 0 to 5 with 100 µA resolution.

NameTypeValuesDescription
valuereal0 - 5Current limit value to set.
:SOURce:VOLTageset / query

Sets the output voltage path; the amplitude setting specifies the voltage in volts.

NameTypeValuesDescription
nreal0 - 15Voltage amplitude to set.

Path to set output voltage. The amplitude value specifies voltage in volts with 1 mV resolution.

NameTypeValuesDescription
nreal0 - 15Voltage amplitude to set.

Sets the output voltage path and specifies the voltage amplitude. The amplitude can be set in volts with 1 mV resolution.

NameTypeValuesDescription
amplitudereal0 - 15Voltage amplitude to set.

Sets an output voltage limit for the Fluke PM2811 power supply. The power supply does not support voltage limit, so this command is a no-op.

NameTypeValuesDescription
leveloptreal-Voltage limit value.

Returns a meaningless response message. The command is used for the voltage limit path, but the power supply does not support voltage limit.

real - Returns a meaningless value; the response format depends on the GPIB output format. For decimal formats, the response has the specified decimal places, otherwise it is in exponential format.

:ISETset / query

Sets the current limit value for the power supply in amps. The allowable range is 0.00125 to 5 A, with MINimum, MAXimum, and DEFault keywords also supported.

NameTypeValuesDescription
nreal0.00125 - 5Sets the current limit in amps.
qualifieroptenumMINimum | MAXimum | DEFaultReturns the minimum allowable value, maximum allowable value, or the *RST default value.
:ISET?query

Query the programmed current limit.

real (A) - Returns the programmed current limit in amps.

:VSETset / query

Programs the output voltage of the power supply in volts. If the output is on, the display updates immediately; if it is off, the display updates when output is turned on.

NameTypeValuesDescription
nreal0 - 15Set output voltage in volts.
qualifieroptenumMINimum | MAXimum | DEFaultUse MINimum for 0 V, MAXimum for 15 V, or DEFault for 0 V.
:VSET?query

Queries the programmed output voltage. Optional qualifiers return the minimum allowable voltage, maximum allowable voltage, or the *RST default voltage.

NameTypeValuesDescription
qualifieroptenumMINimum | MAXimum | DEFaultSelects whether the query returns the programmed, minimum, maximum, or default voltage.
real (V) - Returns the programmed output voltage, or the minimum allowable voltage, maximum allowable voltage, or *RST default voltage when queried with MINimum, MAXimum, or DEFault.
VSET?
VSET? MINimum
VSET? MAXimum
VSET? DEFault

:OCPset / query

Selects the current limit action when the current limit is reached. TRIP turns the output off; LIMit causes the output current to clamp at the programmed limit and the supply operates as a constant-current source.

NameTypeValuesDescription
stateenum1 | ON | 0 | OFFSelects the current limit type.

:OUTset / query

Turns the power supply output on or off. DVM measurements can be performed with the output off.

NameTypeValuesDescription
stateenum1 | ON | 0 | OFFSelects whether the output is turned on or off.
:OUT?query

Queries the state of the power supply output.

enum - Returns the present output state.

:ID?query

Returns the model number of the instrument. The response is one of KI2303, KI2303B, or KI2303-PJ.

enum - The model number of the instrument.

:IOUT?query

Triggers a measurement of the output current and returns the single current reading in y.yyyy format. Before the measurement is performed, the 5 A measurement range is selected and AUTO range is disabled.

real (A) - The single output current reading in y.yyyy format.

:VOUT?query

Triggers the power supply to measure the output voltage and returns a single voltage reading in x.xxx format. This changes the function of the supply to voltage mode.

real - Single output voltage reading in x.xxx format.

:INSTrumentset / query

Returns a meaningless value.

string - Returns a meaningless response message.

Controls the power supply output state for the instrument path. The table shows the default as OFF, and the query form reports the current output state.

NameTypeValuesDescription
stateenumOFF | ONEnables or disables the power supply output.
enum - Returns the current power supply output state.

Queries the state of the power supply output. The command is used to turn the output on or off, and DVM measurements can be performed with the output off.

enum - Returns the output state.