AFL.automation.loading.PneumaticPressureSampleCell#

Classes

Driver(name[, defaults, overrides, useful_links])

PneumaticPressureSampleCell(pctrl, relayboard)

Class for a sample cell consisting of a push-through, pneumatically-closed sample loader.

SampleCell()

defaultdict

defaultdict(default_factory=None, /, [...]) --> dict with default factory

class AFL.automation.loading.PneumaticPressureSampleCell.PneumaticPressureSampleCell(pctrl, relayboard, digitalin=None, rinse1_tank_level=950, rinse2_tank_level=950, waste_tank_level=0, load_stopper=None, robot_interlock_host=None, overrides=None)[source]#

Class for a sample cell consisting of a push-through, pneumatically-closed sample loader.

Driven by a variable-pressure regulator.

defaults = {'arm_move_delay': 0.2, 'blowout_pressure': 20, 'external_load_complete_trigger': False, 'load_mode': 'static', 'load_pressure': 2, 'load_timeout': 60, 'ramp_load_duration': 20, 'ramp_load_stop_pressure': 7, 'rinse_program': [('rinse1', 5), (None, 2), ('rinse2', 5), ('blow', 5), (None, 0.5), ('blow', 5)], 'vent_delay': 0.5}#
__init__(pctrl, relayboard, digitalin=None, rinse1_tank_level=950, rinse2_tank_level=950, waste_tank_level=0, load_stopper=None, robot_interlock_host=None, overrides=None)[source]#
pctrl: a pressurecontroller object supporting the set_P method() and the optional p_ramp() method.

e.g. pctrl = DigitalOutPressureController(LabJackDigitalOut(…))

relayboard: a relay board object supporting string-based setChannels() method

required channels are ‘arm-up’,’arm-down’, ‘rinse1’,’rinse2’,’blow’,’enable’,’piston-vent’,’postsample’ e.g. selector = SainSmartRelay(port,portlabels={‘catch’:1,’cell’:2,’rinse’:3,’waste’:4,’air’:5})

reset_tank_levels(rinse1=950, rinse2=950, waste=0)[source]#
property app#
property data#
status()[source]#
loadSample(cellname='cell', sampleVolume=None, load_dest_label='')[source]#

Load a sample into the cell

Params cellname and sampleVolume are kept for backward compat, but are deprecated and unused.

advanceSample(load_dest_label='')[source]#

Move a sample from one measurement cell to the next

Params:
load_dest_label (str, default ‘’): a ‘destination label’ for this load.

labeled sensors will only stop the load if their name is in this destination label. example:

sensor 1 labeled ‘afterSANS’ sensor 2 labeled ‘beforeSPEC’ sensor 3 labeled ‘’ (default)

advanceSample(load_dest_label=’afterSANS’) –> sensor 1 or sensor 3 can stop it advanceSample(load_dest_label=’beforeSPEC afterSANS’) –> sensor 1, sensor 2, or sensor 3 can stop it advanceSample(load_dest_label=’’) –> only sensor 3 can stop it

stopLoad(**kwargs)[source]#
rinseCell(cellname='cell')[source]#
rinseAll()[source]#
setRinseLevel(vol)[source]#
setWasteLevel(vol)[source]#
primeRinse(waittime=10)[source]#
calibrate_sensor()[source]#
read_sensor()[source]#
read_sensor_poll(**kwargs)[source]#
read_sensor_poll_load(**kwargs)[source]#
set_sensor_config(**kwargs)[source]#
get_sensor_config(**kwargs)[source]#
sensor_reset(sensor_n=None)[source]#