From fc90f9fc82d01e9e9bc763037e81d787fc0a7cb6 Mon Sep 17 00:00:00 2001 From: x07maop Date: Tue, 1 Mar 2016 13:36:51 +0100 Subject: [PATCH] Closedown --- script/local.py | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/script/local.py b/script/local.py index 95f25e3..85c0e36 100644 --- a/script/local.py +++ b/script/local.py @@ -155,16 +155,22 @@ keithleys = { } def set_hx(field, timeout = -1): + """ + """ timeout = int(timeout *1000) if timeout>0 else timeout field_x.write(float(field)) field_x_done.waitValue(1,timeout) #Only test x today def setHz(field, timeout = -1): + """ + """ timeout = int(timeout *1000) if timeout>0 else timeout field_z.write(float(field)) field_z_done.waitValue(1,timeout) def set_pol_cplus(offset = None, timeout = -1): + """ + """ timeout = int(timeout *1000) if timeout>0 else timeout pol_mode.write("CIRC +") if offset is not None: @@ -172,6 +178,8 @@ def set_pol_cplus(offset = None, timeout = -1): pol_done.waitValue("DONE",timeout) def set_pol_cminus(offset = None, timeout = -1): + """ + """ timeout = int(timeout *1000) if timeout>0 else timeout pol_mode.write("CIRC -") if offset is not None: @@ -179,6 +187,8 @@ def set_pol_cminus(offset = None, timeout = -1): pol_done.waitValue("DONE",timeout) def set_pol_lin(angle, offset = None, timeout = -1): + """ + """ timeout = int(timeout *1000) if timeout>0 else timeout pol_mode.write("LINEAR") pol_angle.write(float(angle)) @@ -187,36 +197,52 @@ def set_pol_lin(angle, offset = None, timeout = -1): pol_done.waitValue("DONE",timeout) def set_temp(value, delay = 30.0): + """ + """ temperature.write(float(value)) time.sleep(float(delay)) def open_valve(delay = 5.0): + """ + """ valve_try_open.write(1) #TODO: CAPUT time.sleep(float(delay)) def close_valve(delay = 0.0): #TODO: Check default delay + """ + """ valve_try_open.write(0) time.sleep(float(delay)) def set_energy (value, delay=0.5): + """ + """ energy.write(float(value)) energy_done.waitValue(1, -1) time.sleep(float(delay)) def set_cff (value): + """ + """ cff.write(float(value)) caput("X07MA-PGM:setE.PROC",1) energy_done.waitValue(1, -1) def set_slit(value): + """ + """ exit_slit.write(float(value)) #1 or 3 def set_har(value): + """ + """ harmonic.write(float(value)) #Not connected def set_volt(keithley, value, delay=0.1): + """ + """ #keithley.write(fl'10^'+str(8)oat(value)) if not keithltey in keithleys.keys(): raise Exception("Invalid keithley: " + keithley) caput(keithleys[keithley][0], float(value)) @@ -224,6 +250,8 @@ def set_volt(keithley, value, delay=0.1): #value is int from 1 to 10 def set_range(keithley, value): + """ + """ if not keithley in keithleys.keys(): raise Exception("Invalid keithley: " + keithley) v='10^'+str(value) while True: @@ -233,6 +261,8 @@ def set_range(keithley, value): break def set_fe(opening): + """ + """ opening = int(opening*1000) if opening==0: aperture.write("closed") @@ -252,9 +282,13 @@ def set_fe(opening): raise Exception("Invalid aperture opening: " + str(opening)) def refill_1k(): + """ + """ run("refill_1kpot") def wait_temp(): + """ + """ if (temperature.read() < 2.0): t=ct=temperature_readback.read() #hl=caget("X07MA-PC-HE:LEVELB", 'd') # TODO: not used @@ -262,30 +296,42 @@ def wait_temp(): refill_1k() def rampdown(): + """ + """ field_x.write(0.0) field_z.write(0.0) def shutdown(): + """ + """ set_fe(0) rampdown() def has_beam(): + """ + """ return beam_status.readback.read() !="Machine Down" def wait_beam(): + """ + """ print "Waiting for beam..." while not has_beam(): sleep(0.1) print "Beam OK" def wait_inj (value, delay=0.5): + """ + """ wait_channel('X07MA-OP2-EVR:TOPUP-STAT', 'TOPUP-ON') wait_channel('X07MA-OP2-EVR:TOPUP-STAT', 'TOPUP-OFF') time.sleep(float(delay)) def set_file(file_name): + """ + """ FILENAME = file_name class pol_mod(Readable): @@ -299,18 +345,28 @@ polmod = pol_mod() def otf(start, end, time, delay=0.0): + """ + """ run("EnergyScan", {"E1":start, "E2":end, "TIME":time, "DELAY":float(delay), "MODE":None, "OFFSET":None, "FOLDER":None, "FILE":None, "ALPHA":None}) def hyst_cont(field, init_field, final_field, ramp_speed, energies): + """ + """ run("HistScan",{"FIELD":field, "START_FIELD":init_field, "END_FIELD":final_field, "ENERGIES":energies, "RAMP_RATE":ramp_speed, "ENERGY_CHANGE_SLEEP":0.5, "MODE":None, "OFFSET":None}) def hyst_cont_mult(field, ranges, energies): + """ + """ run("HistScanMult",{"FIELD":field, "RANGES":ranges, "ENERGIES":energies, "ENERGY_CHANGE_SLEEP":0.5, "MODE":None, "OFFSET":None}) def hyst_step(forward, field, init_field, final_field, step, energies): + """ + """ run("HistScanMult",{"FIELD":field, "RANGES":[(init_field, final_field, step),], "ENERGIES":energies, "ENERGY_CHANGE_SLEEP":0.5, "FIELD_CHANGE_SLEEP":22.0, "MODE":None, "OFFSET":None}) def hyst_step_mult(forward, ranges, ramp_speed, energies): + """ + """ run("HistScanMult",{"FIELD":field, "RANGES":ranges, "ENERGIES":energies, "ENERGY_CHANGE_SLEEP":0.5, "FIELD_CHANGE_SLEEP":22.0, "MODE":None, "OFFSET":None}) def scan_e(start, end, step, settling_time = 0, accumulation_time = None): @@ -322,12 +378,16 @@ def scan_e(start, end, step, settling_time = 0, accumulation_time = None): lscan(energy, detectors, float(start), float(end), float(step), latency = settling_time) def scan_e_mult(ranges, settling_time = 0, accumulation_time = None): + """ + """ acc = Accumulator([signal_tey, signal_i0, signal_trans], accumulation_time) detectors = acc.getSensors() + [polmod, pol_angle, temperature, current] rscan(energy, detectors, ranges, latency = settling_time) #not connected def scan_v(keithley,start, end, step): + """ + """ setpoint = Channel (keithleys[keithley][0], 'd') readback = Channel (keithleys[keithley][2], 'd') lscan(setpoint, readback, float(start), float(end), float(step), latency = 0.1)