Files
x07ma/script/magnet_x_init_ramp.py
gac-x07ma 9fe9b50fe8
2022-08-08 09:46:49 +02:00

29 lines
1.1 KiB
Python

# magnet initial ramping 0 > 6.9 T
# 0 -> 6.9 T at 0.36 T/min
# then 6 -> 6.9 T at 0.075 T/min
# list of pairs [ [target field1, ramp rate1] , [target field2, ramp rate2] , [target field3, ramp rate3] ,... ]
field_rate = [ [6.0,0.36], [6.85, 0.075], [6.0, 0.075], [0.0, 1.0] ]
#field_rate = [ [0.1,0.25], [0.0, 2.0] ] test
for fr in field_rate:
fi = fr[0]
rr = fr[1]
if abs(fi) > 7.0:
sys.exit("Error in target field value. Aborting.")
if rr <= 0. or rr > 2.05:
sys.exit("Error in ramp rate value. Aborting.")
print("Ramping to "+str(fi)+" T at a ramp rate of "+str(rr)+" T/min...")
ramp_rate_x.write(rr)
time.sleep(4.0)
rr_rbv = caget('X07MA-PC-PS2:STS:RAMPRATE:TPM')
print("Read back a ramp rate of "+str(rr_rbv)+" T/min.")
if (abs(rr-rr_rbv) > rr * 0.1): # stay within 10%
sys.exit("Something went wrong when setting the ramp rate. Demand-readback > "+ str(rr*0.05)+" T/min.")
set_hx(fi)
print ("Target field reached. Waiting 10 seconds.")
time.sleep(10.0)
ramp_rate_x.write(2.0)
print ("Done. Everything went well, as far as I know.")