RigolDL30xx#
- class RigolDL30xx(visa_resource: str | VisaConfig)[source]#
Bases:
ELoadDriverBaseRigol DL3000-series DC E-Load (DL3021/DL3021A/DL3031/DL3031A/DL3041).
Hardware-validated over USB against the DL3031A and DL3021 (firmware 00.01.05.00.01); others share the SCPI surface but have not been bench-tested. Battery, OCP, and OPP commands need firmware newer than 00.01.02.
Methods
Close the underlying transport.
Measure the current the load is sinking on
channel(amperes).Measure the voltage at
channel's terminals (volts).Open the underlying transport and put the load in remote mode.
Enable or disable load draw on
channel.Configure battery mode.
Configure CC mode (except slew).
Configure CP mode.
Configure CR mode.
Configure CV mode.
Sets input regulation mode.
Set eload input to be on/off.
Set the operating level on
channelin the units appropriate formode.Configure list mode.
Configure individual step within list mode.
Set the operating mode on
channel: CC, CV, CP, or CR.Write provided parameters to configure OCP test.
Write provided parameters to configure OPP test.
Set the operating range on
channelfrom the expected maximum.Enable/disable sense function.
POS/NEG slew rate directions only take effect in transient mode.
Configure transient operation in CC mode.
Set trigger function to be on or off.
Select trigger source.
Configure wave mode.
Apply or release the load's short on
channel.Initiate trigger when Bus is selected as trigger source.
- short_output(enable: bool, channel: int) None[source]#
Apply or release the load’s short on
channel. Takes effect immediately.
- set_mode( ) None[source]#
Set the operating mode on
channel: CC, CV, CP, or CR.Not every model supports every mode; drivers should raise
NotImplementedErrorfor unsupported combinations.
- set_level( ) None[source]#
Set the operating level on
channelin the units appropriate formode.- Parameters:
mode
Active load mode — caller passes it explicitly so the driver doesn’t need to track state. Units: CC → amperes, CV → volts, CP → watts, CR → ohms.
value
Operating level in
mode’s units.channel
Target channel (1-indexed).
curr_limit
Optional current limit; only meaningful in CV mode. Drivers may ignore it in other modes.
- set_range( ) None[source]#
Set the operating range on
channelfrom the expected maximum.valueis the maximum operating value inmode’s units (seeset_level()). Drivers typically snap to the closest hardware range that coversvalue.
- set_slewrate(
- direction: SlewRateDirection,
- rate: float,
- channel: int,
POS/NEG slew rate directions only take effect in transient mode.
- get_current(channel: int) float[source]#
Measure the current the load is sinking on
channel(amperes).
- trigger() None[source]#
Initiate trigger when Bus is selected as trigger source.
Triggering enables input and transient mode.
- set_trigger_source(
- source: Literal['BUS', 'EXTernal', 'MANual'],
Select trigger source.
BUS: triggers when receiving remote :TRIGger command EXTernal: triggers when receiving low pulse over trigger terminal in rear panel I/O interface MANual (default): triggers when pressing TRAN key on front panel
- set_function_mode(
- mode: Literal['FIXed', 'LIST', 'WAVe', 'BATTery', 'OCP', 'OPP', 'FIX', 'WAV', 'BATT'],
Sets input regulation mode.
FIXed: controlled by FUNCtion command LIST: controlled by activated list command WAVe: controlled by waveform display command BATTery: controlled by battery discharge command OCP: controlled by OCP command OPP: controlled by OPP command
- set_transient_trigger(
- state: Literal[0, 1, 'ON', 'OFF'],
Set trigger function to be on or off.
- set_cc_params(
- *,
- range: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_on: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_limit: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_limit: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
Configure CC mode (except slew).
- set_transient_curr_params(
- *,
- mode: Literal['CONT', 'CONTinuous', 'PULS', 'PULSe', 'TOGG', 'TOGGle'] | None = None,
- a_level: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- b_level: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- a_width: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- b_width: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- freq: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- period: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- a_duty: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
Configure transient operation in CC mode.
- set_cv_params(
- *,
- range: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_limit: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_limit: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
Configure CV mode.
- set_cr_params(
- *,
- range: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_limit: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_limit: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
Configure CR mode.
- set_cp_params(
- *,
- v_limit: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_limit: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
Configure CP mode.
- set_list_params(
- *,
- mode: LoadMode | None = None,
- range: float | None = None,
- count: int | Literal['MIN', 'MINimum', 'MAX', 'MAXimum'] | None = None,
- step: int | Literal['MIN', 'MINimum', 'MAX', 'MAXimum'] | None = None,
- end_state: Literal['LAST', 'OFF'] | None = None,
Configure list mode.
- set_list_step_params(
- *,
- step_num: int,
- level: float | None = None,
- width: float | None = None,
- slew: float | None = None,
Configure individual step within list mode.
- set_battery_params(
- *,
- range: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- level: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_stop: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- c_stop: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- time_stop: float | None = None,
- v_on: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_enab_stop: Literal[0, 1, 'ON', 'OFF'] | None = None,
- c_enab_stop: Literal[0, 1, 'ON', 'OFF'] | None = None,
- t_enab_stop: Literal[0, 1, 'ON', 'OFF'] | None = None,
Configure battery mode.
- set_ocp_params(
- *,
- range: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_on: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_on_delay: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_set: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_step: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_delay_step: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_max: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- i_min: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_ocp: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- t_ocp: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
Write provided parameters to configure OCP test.
- set_opp_params(
- *,
- v_on: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_on_delay: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- p_set: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- p_step: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- p_delay_step: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- p_max: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- p_min: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- v_opp: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
- t_opp: float | Literal['MIN', 'MINimum', 'MAX', 'MAXimum', 'DEF', 'DEFault'] | None = None,
Write provided parameters to configure OPP test.