devices.cryogenics:CryogenicBipolarPS

Control interface for Cryogenic Bipolar Power Supply.

Usage

Source

devices.cryogenics:CryogenicBipolarPS(
    interface,
    cmds_pers=5,
    field_limit=5,
    **kwargs,
)

Provides methods to control and monitor a Cryogenic Bipolar Power Supply using VISA communication. It supports both positive and negative fields.

Parameters

interface: str

VISA resource name for the device

cmds_pers: int = 5

Commands per second, default is 5

field_limit: float = 5

Maximum field limit in Tesla, default is 5

**kwargs
Additional parameters passed to VisaDevice

Attributes

field_limit: float

Maximum field limit in Tesla

tpa: float
Tesla per Ampere conversion factor

Methods

Name Description
getOutput() Get the current output field and voltage.
getRate() Get the current ramp rate.
getStatus() Return field, rate, voltage, and ramp-status.
getUpdate() Get an update of the device status.
get_ramp_status() Get the current ramping status and target field.
id() Get the device identifier.
query() Send a query command to the device and get the response.
read_very_eager() Read from device without blocking IO.
setMax() Set the maximum field limit.
setMid() Set the MID field value.
setOutput() Set the output field using MID value as setpoint.
setPause() Pause the ramping operation.
setRate() Set the output ramp rate in Tesla per minute.
setZero() Set the field to zero.

getOutput()

Get the current output field and voltage.

Usage

Source

getOutput(depth=0)

Parameters

depth: int = 0
Retry depth for error handling, default is 0

Returns

tuple
(field, voltage) - current field in Tesla and voltage or (math.nan, math.nan) if failed

getRate()

Get the current ramp rate.

Usage

Source

getRate()

Returns

float
Current ramp rate in Tesla per minute

getStatus()

Return field, rate, voltage, and ramp-status.

Usage

Source

getStatus(depth=0)

Parameters

depth: int = 0
Retry depth for error handling, default is 0

Returns

tuple
(field, setpoint, rate, voltage, status) where status is either ‘HOLDING’ or ‘RAMPING’

getUpdate()

Get an update of the device status.

Usage

Source

getUpdate()

Returns

str
Status information from the device

get_ramp_status()

Get the current ramping status and target field.

Usage

Source

get_ramp_status(depth=0)

Parameters

depth: int = 0
Retry depth for error handling, default is 0

Returns

tuple
(status, field) where status is one of: ‘HOLDING’, ‘RAMPING’, or ‘unknown’

id()

Get the device identifier.

Usage

Source

id()

Returns

str
The device identifier string

query()

Send a query command to the device and get the response.

Usage

Source

query(command)

Parameters

command: str
Command string to send to the device

Returns

str
The response from the device

read_very_eager()

Read from device without blocking IO.

Usage

Source

read_very_eager()

Sets a short timeout and reads as much data as available without blocking.

Returns

str
The data read from the device

setMax()

Set the maximum field limit.

Usage

Source

setMax(value)

This also ensures the mid value is within the field limit.

Parameters

value: float
Maximum field limit in Tesla

setMid()

Set the MID field value.

Usage

Source

setMid(value)

Parameters

value: float
Mid field value in Tesla

setOutput()

Set the output field using MID value as setpoint.

Usage

Source

setOutput(value)

Automatically sets the direction (+ or -) based on the sign of the value.

Parameters

value: float
Target field in Tesla

setPause()

Pause the ramping operation.

Usage

Source

setPause()

Note: Currently not implemented.


setRate()

Set the output ramp rate in Tesla per minute.

Usage

Source

setRate(value)

Parameters

value: float
Desired ramp rate in Tesla per minute

Returns

float
Actual ramp rate that was set

setZero()

Set the field to zero.

Usage

Source

setZero()