Files
x03da/script/optics/ExitSlitYScanKei.py
2018-01-30 18:51:06 +01:00

76 lines
1.7 KiB
Python

"""
exit slit calibration scan
manual settings: photon energy 800 eV (G1200), FE = 1 x 1
keithley 1: diode
keithley 2: RMU
"""
POSITIONERS = (ExitSlitY)
SENSORS = (Keithley1, Keithley2, MachineCurrent)
STARTPOS = (-0.5)
ENDPOS = (1.0)
STEPS = 0.01
NSTEPS = round((ENDPOS - STARTPOS) / STEPS) + 1
LATENCY = 0.1
DWELL = 1.0
KEI_DIODE = "X03DA-KEITHLEY-1:"
KEI_RMU = "X03DA-KEITHLEY-2:"
caput(KEI_DIODE + "DOSETDEFAULT", 1)
caput(KEI_RMU + "DOSETDEFAULT", 1)
time.sleep(1.0)
caput(KEI_DIODE + "DOSETADVANCED", 1)
caput(KEI_RMU + "DOSETADVANCED", 1)
time.sleep(1.0)
#caput(KEI_DIODE + "DATAFORMAT", 1)
#caput(KEI_DIODE + "DOINIT", 1)
#caput(KEI_RMU + "DOINIT", 1)
time.sleep(0.1)
#caput(KEI_DIODE + "DOTRIGGER", 1)
#caput(KEI_RMU + "DOTRIGGER", 1)
#time.sleep(DWELL * 2)
#caput(KEI_DIODE + "DOFETCH", 1)
#caput(KEI_RMU + "DOFETCH", 1)
#caput(KEI_DIODE + "READSCAN.SCAN", 0)
#caput(KEI_DIODE + "NPLC", 1)
caput(KEI_DIODE + "NAVG", 5)
#caput(KEI_DIODE + "TCOUNT", 1)
caput(KEI_DIODE + "RANGE", 6) # 200 nA
#caput(KEI_RMU + "READSCAN.SCAN", 0)
#caput(KEI_RMU + "NPLC", 1)
caput(KEI_RMU + "NAVG", 5)
#caput(KEI_RMU + "TCOUNT", 1)
caput(KEI_RMU + "RANGE", 9) # 200 pA
time.sleep(1.0)
def trig():
wait_beam()
#WORKS:
#caput(KEI_DIODE + "DOREAD", 1)
#
caput(KEI_DIODE + "DOINIT", 1)
caput(KEI_RMU + "DOINIT", 1)
time.sleep(0.1)
caput(KEI_DIODE + "DOTRIGGER", 1)
caput(KEI_RMU + "DOTRIGGER", 1)
time.sleep(DWELL * 1.1)
caput(KEI_DIODE + "DOFETCH", 1)
caput(KEI_RMU + "DOFETCH", 1)
#FrontendHSize.write(2.0)
#FrontendVSize.write(3.0)
try:
lscan(POSITIONERS, SENSORS, STARTPOS, ENDPOS, STEPS, LATENCY, before_read=trig, after_read=after_readout)
finally:
caput(KEI_DIODE + "DORESET", 1)
caput(KEI_RMU + "DORESET", 1)