Files
x11ma/script/test/slit_long.py
T
2026-06-24 13:28:45 +02:00

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)