pcdsdevices.pump.PIPPLC
- class pcdsdevices.pump.PIPPLC(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, **kwargs)
Class for PLC-controlled Ion Pumps.
Newer class. This and below are still missing some functionality. Still need to work out replacement of old classes.
Attribute
Class
Suffix
Docs
Kind
Notes
pressure
EpicsSignalRO
:PRESS_RBV
pressure reading
hinted
high_voltage_do
EpicsSignalRO
:HV_DO_RBV
high voltage digital output
normal
high_voltage_in
EpicsSignalRO
:HV_DI_RBV
high voltage digital input
normal
interlock_ok
EpicsSignalRO
:ILK_OK_RBV
interlock is ok when true
normal
protection_setpoint
:AT_VAC_SP
Protection/At Vacuum Setpoint
config
setpoint_hysteresis
:SP_HYS
Protection Setpoint Hysteresis
config
pump_on_status
EpicsSignalRO
:HV_DI_RBV
ion pump output state
normal
pump_state
EpicsSignalRO
:STATE_RBV
hinted
at_vac_setpoint
:AT_VAC_SP
at vacuum set point
omitted
high_voltage_switch
:HV_SW
epics command to switch on the high voltage
config
plc_ai_offset
EpicsSignalRO
:AI_Offset_RBV
Analog input offset must match ion pump analog ouput offset. Default: 13
config
auto_on
:Auto_On
Setting to automatically turn on the ion pump when thereference gauge pressure is below protection setpoint
config
override_status
EpicsSignalRO
:OVRD_ON
Regional Override Status
omitted
override_force_on
:FORCE_START
Force Ion Pump to turn on
omitted
qpc_pumpsize
EpicsSignalRO
:PUMPSIZE
Ion Pump Size (L/s)
config
interlock_device
EpicsSignalRO
:ILK_DEVICE_RBV
Vacuum device used for interlocking this pump
config
autoOn_countdown
EpicsSignalRO
:AutoOn_timer_RBV
Timer count down to turn on the ion pump
normal
Methods
- configure(d: Dict[str, Any]) Tuple[Dict[str, Any], Dict[str, Any]]
Configure the device for something during a run
This default implementation allows the user to change any of the
configuration_attrs
. Subclasses might override this to perform additional input validation, cleanup, etc.- Parameters:
d (dict) – The configuration dictionary. To specify the order that the changes should be made, use an OrderedDict.
- Returns:
(old, new) tuple of dictionaries
Where old and new are pre- and post-configure configuration states.
- describe() OrderedDictType[str, Dict[str, Any]]
Provide schema and meta-data for
read()
.This keys in the
OrderedDict
this method returns must match the keys in theOrderedDict
return byread()
.This provides schema related information, (ex shape, dtype), the source (ex PV name), and if available, units, limits, precision etc.
- Returns:
data_keys (OrderedDict) – The keys must be strings and the values must be dict-like with the
event_model.event_descriptor.data_key
schema.
- get(**kwargs)
Get the value of all components in the device
Keyword arguments are passed onto each signal.get(). Components beginning with an underscore will not be included.
- read() OrderedDictType[str, Dict[str, Any]]
Read data from the device.
This method is expected to be as instantaneous as possible, with any substantial acquisition time taken care of in
trigger()
.The
OrderedDict
returned by this method must have identical keys (in the same order) as theOrderedDict
returned bydescribe()
.By convention, the first key in the return is the ‘primary’ key and maybe used by heuristics in
bluesky
.The values in the ordered dictionary must be dict (-likes) with the keys
{'value', 'timestamp'}
. The'value'
may have any type, the timestamp must be a float UNIX epoch timestamp in UTC.- Returns:
data (OrderedDict) – The keys must be strings and the values must be dict-like with the keys
{'value', 'timestamp'}
- read_configuration() OrderedDictType[str, Dict[str, Any]]
Dictionary mapping names to value dicts with keys: value, timestamp
To control which fields are included, change the Component kinds on the device, or modify the
configuration_attrs
list.
- stop(*, success=False)
Stop the Device and all (instantiated) subdevices
- summary()
- trigger() StatusBase
Trigger the device and return status object.
This method is responsible for implementing ‘trigger’ or ‘acquire’ functionality of this device.
If there is an appreciable time between triggering the device and it being able to be read (via the
read()
method) then this method is also responsible for arranging that theStatusBase
object returned by this method is notified when the device is ready to be read.If there is no delay between triggering and being readable, then this method must return a
StatusBase
object which is already completed.- Returns:
status (StatusBase) –
StatusBase
object which will be marked as complete when the device is ready to be read.
Attributes
- configuration_attrs
- connected
- hints
- kind