72 lines
1.7 KiB
Python
72 lines
1.7 KiB
Python
|
|
def FE_scan_prepare():
|
|
|
|
FE_centerX_ini = BML_FE_centerX.read()
|
|
FE_centerY_ini = BML_FE_centerY.read()
|
|
BML_FE_centerX.setSpeed(1.5)
|
|
BML_FE_centerY.setSpeed(1.5)
|
|
|
|
FE_centerX = 0.0
|
|
FE_centerY = 0.0
|
|
|
|
FE_sizeX = 0.1
|
|
FE_sizeY = 0.1
|
|
|
|
x_range = 4.0
|
|
y_range = 4.0
|
|
|
|
x_steps = 0.2
|
|
y_steps = 0.2
|
|
|
|
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
|
|
|
|
BML_FE_centerX.update()
|
|
BML_FE_centerY.update()
|
|
|
|
#started = time.strftime("%H:%M:%S", time.localtime())
|
|
|
|
|
|
BML_FE_centerX.move(xmin)
|
|
BML_FE_centerY.move(ymin)
|
|
|
|
def FE_scan_move():
|
|
|
|
BML_FE_centerY.setSpeed(0.05)
|
|
BML_FE_centerY.moveAsync(2.0)
|
|
|
|
for i in range(0,10):
|
|
BML_FE_centerX.move(2.0)
|
|
BML_FE_centerX.move(-2.0)
|
|
print(i)
|
|
|
|
def time_scan_2DFE(samples=850, interval=0.1):
|
|
try:
|
|
sensors = [SR_current, "ca://X11MA-FE-SL1:TRXR-VelAct", 'ca://X11MA-FE-SL1:TRXW-VelAct', 'ca://X11MA-FE-SL1:TRXR-PosAct', 'ca://X11MA-FE-SL1:TRXW-PosAct', 'ca://X11MA-FE-SL1:TRYB-VelAct', 'ca://X11MA-FE-SL1:TRYT-VelAct', 'ca://X11MA-FE-SL1:TRYB-PosAct', 'ca://X11MA-FE-SL1:TRYT-PosAct']
|
|
#85 * PASSES
|
|
tscan(sensors, samples, interval, auto_range=(samples<0))
|
|
except ScanAbortedException as ex:
|
|
print "Stop Scan"
|
|
|
|
def run_parallel_scan(fixed=True):
|
|
FE_scan_prepare()
|
|
if fixed:
|
|
parallelize(FE_scan_move, time_scan_2DFE)
|
|
else:
|
|
task = fork((time_scan_2DFE,(-1,)))
|
|
try:
|
|
FE_scan_move()
|
|
except:
|
|
print sys.exc_info()
|
|
finally:
|
|
abort()
|
|
|
|
run_parallel_scan()
|
|
|