From 64cead4e61d685a481160e8737646273171a9cb9 Mon Sep 17 00:00:00 2001 From: gac-x11ma Date: Thu, 14 Dec 2017 11:34:36 +0100 Subject: [PATCH] Script execution --- script/Electric_field_loop2.py | 133 +++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 script/Electric_field_loop2.py diff --git a/script/Electric_field_loop2.py b/script/Electric_field_loop2.py new file mode 100644 index 0000000..625f346 --- /dev/null +++ b/script/Electric_field_loop2.py @@ -0,0 +1,133 @@ +import os +import traceback +import thread +import time + +import datetime + +#ID settings + +#Set PGM ID2 + +caput ("X11PHS-E:OPT","PGM+ID2") + +#set ID2 to C+ + +caput(OTF_MODE2,2) +caput(OTF_OFF2,OFFSETp) + +E1 = 779.3 # Edge +#E2 = 770 #preedge + +OFFSETp = -1.9 +OFFSETm = -1.9 + + +# Voltage/magnetic field setting +Max = 10; +Min=-Max; +No_of_steps = 200; +dB = Max/No_of_steps; +Noavg = 3; +N_loops = 10; + +loops=frange(1,N_loops,1); +forward=frange(Min,Max,No_of_steps); +reverse=frange(Max,Min,No_of_steps); + +os.chdir("/sls/X11MA/data/X11MA/beamtime_december/") + +#forward loop +open_vg13() + +#for i in range(0,No_of_steps): +# B = -Max + 2*i*dB; +# print "Setting field = ", B +# caput("X11MA-XMCD:I-SETraw",B) + +print "Setting energy = ", E1 +caput(OTF_ESET, E1) +wait_channel(OTF_DONE, 1, type = 'i') +readback2 = energy.read() +sleep(3); + +for k in range(0,len(loops)): + file_prefix = time.strftime("%y%m%d") + ts=time.time(); + time_prefix = datetime.datetime.fromtimestamp(ts).strftime('%H%M%S') + filename=open("data"+file_prefix+time_prefix+"scan_"+str(k)+".txt","a") + + for i in range(0,len(forward)): + print "Setting field = ", forward[i] + caput("X11MA-XMCD:I-SETraw",forward[i]) + + temp_tey=0; + temp_tey_E2 = 0; + ADC2_temp_E1=0; + ADC1_temp_E1=0; + ADC2_temp_E2=0; + ADC1_temp_E2=0; + + + for j in range(0,Noavg): + detector1 = keithley_1a.read() #Keithley1 + detector2 = keithley_2a.read() #Keithley2 + M1 = float(detector2)/float(detector1) + temp_tey=temp_tey+M1; + ADC2_temp_E1=ADC2_temp_E1+detector2; + ADC1_temp_E1=ADC1_temp_E1+detector1; + + tey_norm_E1=temp_tey/Noavg; + ADC2_E1=ADC2_temp_E1/Noavg; + ADC1_E1=ADC1_temp_E1/Noavg; + detector4 = caget(OTF_MODE2) + + filename.write(" %f %f %e %f %e %e %s \n" %(forward[i], E1, ADC2_E1, tey_norm, detector4)); + + +#reverse loop + +#for i in range(0,No_of_steps): + #B = Max -2*i*dB; + #print "Setting field = ", B + #caput("X11MA-XMCD:I-SETraw",B) + + for i in range(0,len(reverse)): + print "Setting field = ", reverse[i] + caput("X11MA-XMCD:I-SETraw",reverse[i]) + temp_tey=0; + temp_tey_E2 = 0; + ADC2_temp_E1=0; + ADC1_temp_E1=0; + ADC2_temp_E2=0; + ADC1_temp_E2=0; + + + for j in range(0,Noavg): + detector1 = keithley_1a.read() #Keithley1 + detector2 = keithley_2a.read() #Keithley2 + M1 = float(detector2)/float(detector1) + temp_tey=temp_tey+M1; + ADC2_temp_E1=ADC2_temp_E1+detector2; + ADC1_temp_E1=ADC1_temp_E1+detector1; + + tey_norm_E1=temp_tey/Noavg; + ADC2_E1=ADC2_temp_E1/Noavg; + ADC1_E1=ADC1_temp_E1/Noavg; + detector4 = caget(OTF_MODE2) + + filename.write(" %f %f %e %f %e %e %s \n" %(forward[i], E1, ADC2_E1, tey_norm, detector4)); + + filename.close(); + +close_vg13() + +#plot(data"+file_prefix", title = "2d", xdata = B, ydata = data_y) + +# plot properties +set_preference(Preference.ENABLED_PLOTS, ['forward', 'tey_norm']) +set_preference(Preference.PLOT_TYPES, {'tey_norm':1}) + +print "Data saved in data "+file_prefix+time_prefix+"" + + \ No newline at end of file