SCPI COMMAND REFERENCE
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.
| Name | Type | Values | Description |
|---|---|---|---|
| state | boolean | - | Enables or disables the display text. |
Turns the front panel display on or off. When disabled, the instrument operates at a higher speed and the display is blank.
| Name | Type | Values | Description |
|---|---|---|---|
| b | enum | 0 | OFF | 1 | ON | Controls 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.
| Name | Type | Values | Description |
|---|---|---|---|
| a | string | - | 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.
| Name | Type | Values | Description |
|---|---|---|---|
| b | enum | 0 | OFF | 1 | ON | Controls whether text message mode is disabled or enabled. |
Queries the state of the front panel display.
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.
Queries the state of message mode for the user text message display. The display path is :DISPlay[:WINDow[1]]:TEXT.
Sets the byte order used for binary block data transfers.
| Name | Type | Values | Description |
|---|---|---|---|
| name | enum | NORMal | SWAPped | Selects the data byte order. |
Sets the data format used for transferred data. The command is part of the FORMat subsystem and accepts a data type parameter.
| Name | Type | Values | Description |
|---|---|---|---|
| type | enum | - | Data format type. |
Queries the current byte order setting. The format command is only valid if the exponential GPIB output format is selected.
Queries the selected data format. This command is valid only when the exponential GPIB output format is selected.
Turns the power supply output on or off.
| Name | Type | Values | Description |
|---|---|---|---|
| stateopt | enum | ON | OFF | Selects whether the output is enabled or disabled. |
Closes or opens the control circuit for an external relay.
| Name | Type | Values | Description |
|---|---|---|---|
| name | enum | ONE | ZERO | Selects whether the relay control circuit is closed or open. |
Queries the state of the relay circuit for an external relay.
Queries the state of the output. The output can be turned on or off with the associated state command.
Sets the current measurement range. The range is specified as the expected current in amps.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0 - 5 | Specify expected current in amps. |
Enables or disables auto range for the current measurement range.
| Name | Type | Values | Description |
|---|---|---|---|
| b | enum | OFF | ON | Enable or disable auto range. |
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?.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | 1 - 10 | Average count to use for each reading. |
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.
| Name | Type | Values | Description |
|---|---|---|---|
| name | enum | VOLTage | CURRent | DVMeter | Selects the readback function. |
Sets the integration rate in line cycles for voltage, current, and DVM measurements. The allowed range is 0.01 to 10 line cycles.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0.01 - 10 | Integration 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.
| Name | Type | Values | Description |
|---|---|---|---|
| delay | real | 0 - 0.1 | Trigger delay in seconds. |
Pulse current synchronize triggering configuration. It selects pulse current measurements or pulse current digitization and may enable pulse detection triggering.
| Name | Type | Values | Description |
|---|---|---|---|
| stateopt | enum | ON | OFF | Select 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.
| Name | Type | Values | Description |
|---|---|---|---|
| level | real | 0 - 5 | Trigger 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.
| Name | Type | Values | Description |
|---|---|---|---|
| amps | real | 0 - 5 | Trigger 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.
| Name | Type | Values | Description |
|---|---|---|---|
| level | real | 0 - 0.5 | Trigger 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?.
| Name | Type | Values | Description |
|---|---|---|---|
| edge | enum | RISING | Trigger edge selection for the long integration measurement. |
SENS:LINT:TEDge RISING
Selects the measurement current range used for long integration measurements. The programming example shows setting the range to 5 A.
| Name | Type | Values | Description |
|---|---|---|---|
| range | real | A | Current range to select. |
SENS:RANG 5
Queries 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.
| Name | Type | Values | Description |
|---|---|---|---|
| b | boolean | - | Enable or disable auto range. |
Queries whether auto ranging is enabled for the current measurement range.
Sets the expected upper current measurement range for the current function. The range is 0 to 5 A.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0 - 5 | Expected current measurement range. |
Queries the expected current measurement range for the current function. The range is specified in amps.
Queries the selected measurement function for the SENSe subsystem.
Queries the integration rate in line cycles for voltage, current, and DVM measurements.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | 1 - 100 | Average count for pulse-current measurements. |
Queries the average count for pulse-current measurements.
Selects the pulse-current measurement mode.
| Name | Type | Values | Description |
|---|---|---|---|
| name | enum | HIGH | LOW | AVERage | Pulse-current measurement mode. |
Queries 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.
| Name | Type | Values | Description |
|---|---|---|---|
| delay | real | 0 - 0.1 or 0 to 5 | Trigger delay in seconds. |
Queries the pulse current synchronization trigger delay. The delay is specified in seconds for pulse detection triggering.
Sets the pulse-current trigger level for models 2303 and 2303B. The trigger level is specified in amps.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0 - 5 | Trigger level in amps. |
Sets the pulse-current trigger level for pulse detection triggering. The trigger level is specified in amperes.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0 - 5 | Trigger level in amperes. |
Sets the pulse-current trigger level for models 2303 and 2303B. The level is specified in amps.
| Name | Type | Values | Description |
|---|---|---|---|
| nrf | real | 0 - 5 | Trigger level in amps. |
Sets the trigger level for pulse current synchronization on models 2303 and 2303B. The trigger level is specified in amps.
| Name | Type | Values | Description |
|---|---|---|---|
| level | real | 0 - 5 | Trigger level for pulse current synchronization. |
Sets the pulse-current synchronization trigger level for models 2303 and 2303B. The level is specified in amps.
| Name | Type | Values | Description |
|---|---|---|---|
| ampopt | real | 0 - 5 | Trigger 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.
Sets or queries the pulse-current synchronization selection used for pulse detection triggering. ON selects pulse current measurements, and OFF selects pulse current digitization.
| Name | Type | Values | Description |
|---|---|---|---|
| stateopt | enum | ON | OFF | Selects pulse current measurements or pulse current digitization. |
Queries the pulse-current synchronization selection. This command is part of the :SENSe:PCURrent path.
Sets pulse-current integration times to be set automatically by the power supply.
Sets the pulse-current average integration time in seconds. The allowed range is 33.33E-06 to 0.8333 s.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | real | 33.33E-06 - 0.8333 | Average integration time for pulse-current measurements. |
Queries the average integration time for pulse-current measurements.
Sets the high pulse-current integration time in seconds for pulse-current measurements. The allowed range is 33.33E-06 to 0.8333.
| Name | Type | Values | Description |
|---|---|---|---|
| nrf | real | 33.33E-06 - 0.8333 | High pulse-current integration time in seconds. |
Queries the high pulse-current integration time.
Sets the low integration time for pulse-current measurements. The value is specified in seconds and is used under the :SENSe:PCURrent:TIME path.
| Name | Type | Values | Description |
|---|---|---|---|
| nrf | real | 33.33E-06 - 0.8333 | Integration time for low pulse measurements. |
Queries the pulse-current low integration time. The low integration time is specified in seconds for low pulse measurements.
Enables or disables long integration fast readings mode.
| Name | Type | Values | Description |
|---|---|---|---|
| state | enum | ON | OFF | Turns fast readings mode on or off. |
Queries the long integration fast readings mode.
Enable or disable pulse search.
| Name | Type | Values | Description |
|---|---|---|---|
| state | enum | ON | OFF | Turns pulse search on or off. |
Queries the state of pulse search in long integration measurements.
Selects the trigger edge used to initiate the measurement. The available choices are rising, falling, or neither.
| Name | Type | Values | Description |
|---|---|---|---|
| name | enum | RISING | FALLING | NEITHER | Trigger edge to initiate the measurement. |
Selects the trigger edge used to initiate the measurement. The allowed values are RISING, FALLING, or NEITHER.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| time | real | X - 60 | Integration time in seconds. |
Power supply sets integration time automatically.
Queries the integration time for long integration measurements.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| ampopt | real | 0 - 5 | Trigger level for the 5A range. |
| qualifieropt | enum | MINimum | MAXimum | DEFault | Selects 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.
| Name | Type | Values | Description |
|---|---|---|---|
| value | real | 0 - 0.5 | Trigger 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.
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.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| ampopt | real | 0 - 5 | Trigger level for the 5 A range. |
Model 2303-PJ trigger level query for the 5A range. Returns the present trigger level for that range.
| Name | Type | Values | Description |
|---|---|---|---|
| ampopt | real | 0 - 5 | Selects the 5A range trigger level. |
Specify the timeout length for long integration measurements. The valid range is 1 to 63 seconds, with a default of 16.
| Name | Type | Values | Description |
|---|---|---|---|
| timeout | real | 1 - 63 | Length of the timeout in seconds. |
Queries the timeout length for long integration measurements.
Sets the current limit value in amps. The allowed range is 0 to 5 A with 100 µA resolution.
| Name | Type | Values | Description |
|---|---|---|---|
| current | real | 0 - 5 | Current limit value to set. |
Queries the state of the current limit. The manual lists this as part of the SOURce:CURRent subsystem.
Selects the current limit type.
| Name | Type | Values | Description |
|---|---|---|---|
| name | enum | LIMit | TRIP | LIMRELAY | TRIPRELAY | Current limit type. |
Sets the output voltage amplitude in volts. The response to the related query is affected by the GPIB output format.
| Name | Type | Values | Description |
|---|---|---|---|
| voltage | real | 0 - 15 | Voltage amplitude to set. |
Triggers an array of readings and returns them.
Trigger and return one reading.
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.
Reads the measurement event register. Reading an event register clears the bits of that register.
Reads the operation event register. Reading the register clears its bits.
Reads the questionable event register in the STATus subsystem. Reading the event register clears its latched bits.
Clears messages from the error queue.
Specifies messages not to be placed in the error queue.
| Name | Type | Values | Description |
|---|---|---|---|
| list | - | - | Messages to disable from the queue. |
Read the disabled messages.
Specify error and status messages for the error queue. Send the null list parameter `()` to prevent all messages from entering the error queue.
| Name | Type | Values | Description |
|---|---|---|---|
| list | string | - | Messages to enable for placement in the error queue. |
Reads the enabled messages in the error queue.
STAT:QUE:ENAB (+000:+900) STAT:QUE?
Reads and clears the oldest error/status message from the error queue.
STAT:QUE?
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.
Path to control the measurement event registers.
Reads the measurement condition register in the status subsystem.
Programs the measurement status enable register.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | 0 - FFFFFFFF | Enable register bit mask. |
Reads the measurement status enable register.
Reads the measurement event register in the status subsystem.
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.
Programs the operation status enable register.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | 0 - 65535 | Enable register value. |
Reads the operation status enable register.
Reads the operation status event register.
Path to control the questionable status registers.
| Name | Type | Values | Description |
|---|---|---|---|
| eventopt | - | - | Read the event register. |
| enable | numeric | - | Program the enable register. |
| enable | - | - | Read the enable register. |
| condition | - | - | Read the condition register. |
Read the questionable status condition register.
Programs the questionable status enable register. This command is part of the :STATus:QUEStionable status-register path.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | 0 - 65535 | Enable-register value. |
Read the questionable status enable register.
Reads the event register in the questionable status register path.
Path to access the error queue.
Clears messages from the error queue.
Reads the error queue and returns the oldest error/status message. Power-up and *CLS empty the error queue.
STAT:QUE?
Reads and clears the oldest message in the error queue. It also clears messages from the error queue.
Reads the instrument power line frequency.
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.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| name | enum | RST | SAVx | Power-on setup to select. |
Queries the current power-on setup selection.
Queries the 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.
| Name | Type | Values | Description |
|---|---|---|---|
| state | enum | 1 | ON | 0 | OFF | Selects 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.
:SYSTem:MEP[:STATe]?
Clears all event registers and the error queue.
Programs the standard event enable register.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | - | Value to load into the standard event enable register. |
Reads the standard event enable register.
Reads the standard event enable register and clears it.
Returns the power supply to the user-saved setup.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | - | User-saved setup number to recall. |
Programs the service request enable register.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | - | Value to program into the service request enable register. |
Reads the service request enable register.
Reads the status byte register.
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.
Returns the operation complete status of the instrument. The command is still functional but is not needed for the 488.1 protocol.
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.
Identification query.
Resets the instrument. Listed in the command index with no further syntax or parameter details on this page slice.
Saves the current instrument setup in nonvolatile memory.
| Name | Type | Values | Description |
|---|---|---|---|
| NRf | integer | 0 - 9 | Setup register number to save. |
Triggers a device action. This command is listed in the manual’s command index as "*TRG — trigger".
Performs a self-test on the instrument.
Returns the last array of readings. It does not trigger a measurement and does not affect the instrument setup.
Returns the last averaged reading. It does not trigger a new measurement and does not affect the instrument setup.
Performs a READ:ARRay? on the specified function. It returns the last triggered array of readings for the selected measurement function.
| Name | Type | Values | Description |
|---|---|---|---|
| functionopt | enum | - | Measurement function to use. |
Performs a READ? on the specified function. If no function is specified, the measurement is performed on the presently selected function.
| Name | Type | Values | Description |
|---|---|---|---|
| functionopt | enum | CURRent[:DC] | VOLTage[:DC] | PCURrent | DVMeter | LINTegration | Measurement function to select before executing the read. |
Path to set output voltage. The nested `:VOLTage[:LEVel][:IMMediate][:AMPLitude]` command specifies voltage amplitude in volts.
Path to configure current.
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.
Selects the current limit type for the current-limit path. The manual lists four choices: LIMit, TRIP, LIMRELAY|LIMITRELAY, and TRIPRELAY.
| Name | Type | Values | Description |
|---|---|---|---|
| type | enum | LIMit | TRIP | LIMRELAY | LIMITRELAY | TRIPRELAY | Selects the current limit type. |
Queries the current limit type. The available types are LIMit, TRIP, LIMRELAY|LIMITRELAY, and TRIPRELAY.
Sets the current limit value in amps. The value range is 0 to 5 with 100 µA resolution.
| Name | Type | Values | Description |
|---|---|---|---|
| value | real | 0 - 5 | Current limit value to set. |
Queries the current limit value in amperes.
Sets the output voltage path; the amplitude setting specifies the voltage in volts.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0 - 15 | Voltage amplitude to set. |
Path to set output voltage. The amplitude value specifies voltage in volts with 1 mV resolution.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0 - 15 | Voltage amplitude to set. |
Sets the output voltage path and specifies the voltage amplitude. The amplitude can be set in volts with 1 mV resolution.
| Name | Type | Values | Description |
|---|---|---|---|
| amplitude | real | 0 - 15 | Voltage amplitude to set. |
Sets the output voltage amplitude in volts. The allowed range is 0 to 15 V with 1 mV resolution.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0 - 15 | Voltage amplitude to set. |
Queries the output voltage amplitude. The amplitude is specified in volts with 1 mV resolution on the corresponding setter.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| levelopt | real | - | 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.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0.00125 - 5 | Sets the current limit in amps. |
| qualifieropt | enum | MINimum | MAXimum | DEFault | Returns the minimum allowable value, maximum allowable value, or the *RST default value. |
Query the programmed current limit.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| n | real | 0 - 15 | Set output voltage in volts. |
| qualifieropt | enum | MINimum | MAXimum | DEFault | Use MINimum for 0 V, MAXimum for 15 V, or DEFault for 0 V. |
Queries the programmed output voltage. Optional qualifiers return the minimum allowable voltage, maximum allowable voltage, or the *RST default voltage.
| Name | Type | Values | Description |
|---|---|---|---|
| qualifieropt | enum | MINimum | MAXimum | DEFault | Selects whether the query returns the programmed, minimum, maximum, or default voltage. |
VSET? VSET? MINimum VSET? MAXimum VSET? DEFault
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.
| Name | Type | Values | Description |
|---|---|---|---|
| state | enum | 1 | ON | 0 | OFF | Selects the current limit type. |
Turns the power supply output on or off. DVM measurements can be performed with the output off.
| Name | Type | Values | Description |
|---|---|---|---|
| state | enum | 1 | ON | 0 | OFF | Selects whether the output is turned on or off. |
Queries the state of the power supply output.
Returns the model number of the instrument. The response is one of KI2303, KI2303B, or KI2303-PJ.
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.
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.
Returns a meaningless value.
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.
| Name | Type | Values | Description |
|---|---|---|---|
| state | enum | OFF | ON | Enables or disables the power supply output. |
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.