devices.cryogenics:CryogenicBipolarPS
Control interface for Cryogenic Bipolar Power Supply.
Usage
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
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
getRate()Returns
float- Current ramp rate in Tesla per minute
getStatus()
Return field, rate, voltage, and ramp-status.
Usage
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
getUpdate()Returns
str- Status information from the device
get_ramp_status()
Get the current ramping status and target field.
Usage
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
id()Returns
str- The device identifier string
query()
Send a query command to the device and get the response.
Usage
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
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
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
setMid(value)Parameters
value: float- Mid field value in Tesla
setOutput()
Set the output field using MID value as setpoint.
Usage
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
setPause()Note: Currently not implemented.
setRate()
Set the output ramp rate in Tesla per minute.
Usage
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
setZero()