""" Continuous 1D Manipulator scan set manipulator scan parameters below. set analyser parameters in the scienta window. recommended: fixed mode, dwell time between 0.2 and 1.0 s the motor speed is determined from the STEP parameter and the scienta busy time (dwell time + dead time). note that the motors have a limited speed range! """ import math MOTORS = (ManipulatorX) CENTER = -2.8 WIDTH = 2. RANGE = (CENTER - WIDTH / 2., CENTER + WIDTH / 2.) STEP = 0.025 MOTORS = (ManipulatorY) RANGE = (-3.5, +3.5) STEP = 0.1 # Z axis cannot be used in fly scan. minimum speed is too high. #MOTORS = (ManipulatorZ) #RANGE = (112., 118.) #STEP = 0.4 #MOTORS = (ManipulatorTheta) #RANGE = (-9., 81.) ## minimum speed 0.001, maximum speed 0.5 deg/s #SPEED = 0.1 #MOTORS = (ManipulatorTilt) #RANGE = (-20., +20.) ## minimum speed 0.1, maximum speed 1.4 mm/s #SPEED = 1.0 #MOTORS = (ManipulatorPhi) #RANGE = (-179., +180.) ## minimum speed 0.6, maximum speed 6.0 mm/s #SPEED = 1.0 SENSORS = (Counts, Scienta.dataMatrix, SampleCurrent, RefCurrent, MachineCurrent, EnergyDistribution, AngleDistribution) # --- do not edit below --- RELATIVE = False LATENCY = 0.0 ZIGZAG = False ENDSCAN = False adjust_sensors() set_adc_averaging() # time per scienta acquisition in seconds time1 = time.time() trig_scienta() time2 = time.time() scienta_time = (time2 - time1) print "scienta time: ", scienta_time # time for one scan in seconds SPEED = STEP / scienta_time print "speed: ", SPEED fly_time = (RANGE[1] - RANGE[0]) / SPEED STEPS = int(fly_time / scienta_time) + 1 print "scan time: ", fly_time try: cscan(MOTORS, SENSORS, RANGE[0], RANGE[1], STEPS, time=fly_time, before_read=before_readout, after_read = after_readout, check_positions = False) finally: if ENDSCAN: after_scan()