81 lines
2.1 KiB
Python
81 lines
2.1 KiB
Python
PARALLEL=True
|
|
|
|
inf = None
|
|
def on_command_finished(info):
|
|
if info.script == "test/slit_long.py":
|
|
print "Setpoint: ", BML_FE_centerX.take()
|
|
print "Readback: ", BML_FE_centerX.readback.take()
|
|
print "Error: ", BML_FE_centerX.readback.take() -BML_FE_centerX.take()
|
|
print "Setpoint Update: ", BML_FE_centerX.read()
|
|
print "Readback Update: ", BML_FE_centerX.readback.read()
|
|
print "Error Update: ", BML_FE_centerX.readback.take() -BML_FE_centerX.take()
|
|
|
|
# 1 Define detector and scan parameters
|
|
sensors = [Keithley_2_raw, SR_current] #, CADC2, BML_energy_RBV]
|
|
Keithley_channel = Keithley_2_raw.getChannelName()
|
|
Keithley_range = "2 nA"
|
|
#Keithley range: "AUTO", "20 mA", "2 mA", "200 uA", "20 uA", "2 uA", "200 nA", "20 nA", "2 nA", "200 pA", "20 pA"
|
|
|
|
emin = 1650.0
|
|
emax = 1750.0
|
|
esteps = 5.0
|
|
|
|
#FE_centerX = -0.75
|
|
#FE_centerY = 1.25
|
|
FE_centerX = 0.0
|
|
FE_centerY = 0.0
|
|
|
|
FE_size_x = 0.1
|
|
FE_size_y = 0.1
|
|
|
|
x_range = 4.0
|
|
y_range = 4.0
|
|
|
|
x_steps = 0.1
|
|
y_steps = 0.1
|
|
|
|
|
|
# Set detector and slit parameters for scan>
|
|
|
|
range_number = range_to_number(Keithley_range)
|
|
Keithley_range_cmd = Keithley_channel.replace('READOUT', 'RANGE')
|
|
caput(Keithley_range_cmd, range_number) # 6 --> 200 nA
|
|
|
|
BML_FE_centerX.setSpeed(2.0)
|
|
BML_FE_centerY.setSpeed(2.0)
|
|
|
|
x_range = x_range - FE_size_x
|
|
y_range = y_range - FE_size_y
|
|
|
|
xmin = FE_centerX - x_range/2
|
|
xmax = FE_centerX + x_range/2
|
|
|
|
ymin = FE_centerY - y_range/2
|
|
ymax = FE_centerY + y_range/2
|
|
|
|
xsteps = x_steps
|
|
ysteps = y_steps
|
|
|
|
# 3 Perform scan
|
|
|
|
started = time.strftime("%H:%M:%S", time.localtime())
|
|
add_device(DummyPositioner("BML_energy_set"),True)
|
|
BML_energy_set.monitored=True
|
|
ascan([BML_energy_set, BML_FE_centerX, BML_FE_centerY], sensors, [emin, xmin, ymin,], [emax, xmax, ymax], [esteps, xsteps, ysteps], latency=0.1, zigzag=False, parallel_positioning=PARALLEL)
|
|
|
|
# 5 Put back to initial settings
|
|
|
|
json_path = get_exec_pars().path
|
|
bml_save_scan_settings_json(json_path)
|
|
|
|
stopped = time.strftime("%H:%M:%S", time.localtime())
|
|
print("started: " + started)
|
|
print("stopped: " + stopped)
|
|
|
|
|
|
|
|
|
|
BML_FE_centerX.setSpeed(0.1)
|
|
BML_FE_centerY.setSpeed(0.1)
|
|
|