Files
x11ma/script/B_scan.py
gac-x11ma 9d8878994a Closedown
2018-09-04 19:56:11 +02:00

37 lines
994 B
Python

#Parameters
"""
B1 = 20 # starting mag. field in Amps
B2 = -20 # final mag. field in Amps
BSTEP = -0.5 # step size mag. field in Amps
FIELD_PRECISION = 0.05 # in Amps
FIELD_CHANGE_SLEEP = 0.0 # put the Field settling time if needed
"""
# List of scans. Each scan is defined as: (start,stop, step)
# to make a whole loop two scans are needed: [(B1, B2, BSTEP),(B2,B1,-BSTEP)]
# to make half of a loop one scan is needed: [(B1, B2, BSTEP),] <- don't forget to put comma before ]
RANGES = [(B1, B2, BSTEP),(B2,B1,-BSTEP)]
setpoints = []
for r in RANGES:
setpoints = setpoints + frange(r[0], r[1], r[2], True)
# Main loop
for B in setpoints:
print "Setting field = ", B
caput("X11MA-XMCD:I-SETraw",B)
time.sleep(FIELD_CHANGE_SLEEP ) # Settling time
readback1 = caget("X11MA-XMCD:Ireadout")
while abs(readback1-B) > FIELD_PRECISION:
readback1 = caget("X11MA-XMCD:Ireadout")
time.sleep(0.5)
run("Energy_MagScan.py")