BK_Precision.Source

Code author: Kevin Kennedy <protonyx@users.noreply.github.com>

Driver

The BK Precision 9110 Series DC Power Sources use the default USB Test and Measurement driver and should be recognized without problems when plugged in. If the device is not recognized, it is likely because there is a problem with the VISA driver installation.

The XLN Series DC Sources use a Silicon Labs CP210x USB to UART Bridge. This requires a third party driver that must be downloaded from the BK Precision website before connecting the device.

That driver can be downloaded from here

Remote Interface

The XLN series DC sources feature a remote web interface using the Ethernet connection, that can be accessed by typing in the instrument IP address into a Java-enabled web browser.

class labtronyx.drivers.BK_Precision.Source.d_911X(resource, **kwargs)[source]

Driver for BK Precision 9110 Series DC Power Sources

clearProtectionState()[source]

This command is used to clear the OVP (Over-Voltage Protection) state. Before sending this command, please increase the upper limitation of OVP or reduce the output voltage

disableFrontPanel()[source]

Disables the front panel of the instrument. To re-enable the front panel, call setLocalControl

getCurrent()[source]

Get the output current level

Returns:float
getError()[source]

Read any pending error codes with accompanying information

Returns:str
getProtection()[source]

Get the protection set points

Returns:dict with keys [‘Voltage’]
getProtectionState()[source]

This command is used to query the executing state of OVP (Over-Voltage Protection). If 1, this indicates the OVP circuit has been triggered and must be cleared using clearProtectionState before normal operation can continue.

note..

This operation is not supported by the device
Returns:int
getTerminalCurrent()[source]

Get the measured current from the terminals of the instrument

Returns:float
getTerminalPower()[source]

Get the measured power from the terminals of the instrument

Returns:float
getTerminalVoltage()[source]

Get the measured voltage from the terminals of the instrument

Returns:float
getTriggeredCurrent()[source]

Get the programmed output current level after a trigger has occurred.

Returns:float
getTriggeredVoltage()[source]

Get the programmed output voltage level after a trigger has occurred.

Returns:float
getVoltage()[source]

Get the output voltage level

Returns:float
powerOff()[source]

Disables the output power connections.

powerOn()[source]

Enables the instrument to power the output

setCurrent(current)[source]

Set the output current level

Parameters:current (float) – Current (in Amps)
setLocalControl()[source]

Sets the instrument in local control mode

setProtection(voltage=None)[source]

Enable the protection circuitry. If any of the parameters is zero, that protection is disabled.

Parameters:voltage (float) – OVP Setting (in Volts)
setProtectionDelay(delay)[source]

Set the OVP (Over-Voltage Protection) circuitry delay. Can be used to set the delay (in seconds) before the OVP kicks in.

Delay must be between 0.001 - 0.6

Parameters:delay (float) – OVP delay (in seconds)
setRemoteControl()[source]

Sets the instrument in remote control mode

setTriggerSource(source)[source]

Set the trigger source for the instrument. Manual trigger requires pressing the Trigger button on the front panel. Bus trigger requires a trigger command to be sent.

Parameters:source (str) – Trigger Source (“BUS” or “MANUAL”)
setTriggeredCurrent(current)[source]

Set the programmed output current level after a trigger has occurred.

Parameters:current (float) – Current (in Amps)
setTriggeredVoltage(voltage)[source]

Set the programmed output voltage level after a trigger has occurred.

Parameters:voltage (float) – Voltage (in Volts)
setVoltage(voltage)[source]

Set the output voltage level

Parameters:voltage (float) – Voltage (in Volts)
setVoltageRange(lower, upper)[source]

Set the lower and upper limitation of the output voltage

Parameters:
  • lower (float) – Lower limit (in Volts)
  • upper (float) – Upper limit (in Volts)
setVoltageSlewRate(rise, fall)[source]

Set the voltage rising and falling time of the power supply. Units are seconds.

Parameters must be between 0 - 65.535 seconds

note:

This command is not supported by the device
Parameters:
  • rise (float) – Rise time (in seconds)
  • fall (float) – Fall time (in seconds)
trigger()[source]

Create a trigger signal for the instrument. This command has no effect if the instrument is not using BUS as the trigger source.

class labtronyx.drivers.BK_Precision.Source.d_XLN(resource, **kwargs)[source]

Driver for BK Precision XLN Series DC Sources

clearProtection()[source]

This command is used to clear the protection state. Before sending this command, please increase the upper limitation of OVP/OCP or reduce the output voltage/current

disableFrontPanel()[source]

Disables the front panel of the instrument. To re-enable the front panel, call enableFrontPanel

disableProtection()[source]

Disable the protection circuitry.

enableFrontPanel()[source]

Enables the front panel of the instrument.

getCurrent()[source]

Get the output current level

Returns:float
getError()[source]

Read any pending error codes with accompanying information

Returns:str
getMaxVoltage()[source]

Get the voltage limit

Returns:float
getProtection()[source]

Get the protection set points

Returns:dict with keys [‘Voltage’, ‘Current’, ‘Power’]
getProtectionState()[source]

This command is used to query the executing state of the protection circuitry. If 1, this indicates the protection circuit has been triggered and must be cleared using clearProtection before normal operation can continue.

Returns:int
getTerminalCurrent()[source]

Get the measured current from the terminals of the instrument

Returns:float
getTerminalPower()[source]

Get the measured power from the terminals of the instrument

Returns:float
getTerminalVoltage()[source]

Get the measured voltage from the terminals of the instrument

Returns:float
getVoltage()[source]

Get the output voltage level

Returns:float
powerOff()[source]

Disables the output power connections.

powerOn()[source]

Enables the instrument to power the output

setCurrent(current)[source]

Set the output current level

Parameters:current (float) – Current (in Amps)
setMaxCurrent(current)[source]

Set the current limit

Parameters:current (float) – Current (in Amps)
setMaxVoltage(voltage)[source]

Set the voltage limit

Parameters:voltage (float) – Voltage (in Volts)
setProtection(voltage=None, current=None, power=None)[source]

Enable the protection circuitry. If any of the parameters is zero, that protection is disabled.

Parameters:
  • voltage (float) – OVP Setting (in Volts)
  • current (float) – OCP Setting (in Amps)
  • power (float) – OPP Setting (in Watts)
setRemoteControl()[source]

Enable Remote Control Mode

setSlewRate(voltage, current)[source]

Set the voltage and current rise/fall time of the power supply. Units are seconds.

Parameters:
  • voltage (float) – Voltage Slew rate (in seconds)
  • current (float) – Current Slew rate (in seconds)
setVoltage(voltage)[source]

Set the output voltage level

Parameters:voltage (float) – Voltage (in Volts)
setVoltageRange(lower, upper)[source]

Set the lower and upper limitation of the output voltage

Parameters:
  • lower (float) – Lower limit (in Volts)
  • upper (float) – Upper limit (in Volts)