Continuous Scans
Scans that involve continuous motor movements are invoked by:
ONLINE>
scan/cont*inuous motor_name
ONLINE>
scan/cont*inuous/en*ergy
It is recommended to execute on-the-fly measurements as
fast scans. Single or double motor scans are
available at all experiments, energy scans only at some
beamlines.
Ask for an implementation, if you need it.
Here are the details about continuous scans:
- The default update cycle is 50, the default number of
points is 1500. Both values may be overwritten by the
user (/np, /update).
- After start and stop have been specified, ONLINE
displays the total estimated sweep time in the 22th line of
the screen. This
does not include the time needed for backlashes.
- The user may enter a minimum sweep time (scan_par field),
thus temporarily reducing the motor speeds.
- The user may specify a value for delta which is used
to calculate a sample_time = sweep_time / ((stop-start)/delta + 1).
sample_time is used for a wait state,
see the measurement cycle below.
- If delta is not set, sample_time is set to 0. In this case
the scan cycle is executed without any explicit wait state.
The measurement time is determined by the execution of
the program code.
- ONLINE moves the motors to the start position before
it calls before_type_scan.gra.
- The device scan_clock is used for measuring the
elapsed time.
scan_clock is defined in before_type_scan.gra, e.g.:
scan_clock = t4. It has to be a DGG (VME) or Borer 1008 (Camac).
scan_clock has no cables connected to it.
- The position is read before and after the counters
are busy. The current position is set to the mean of
both readings and stored in the x-column of scan_name.
read. The difference of both readings is stored in
scan_name_dp.
- The minimum move time is set to scan_par.
- The scan cycle:
- The position is read: pos1
- Wait for scan_timer.
- The counters are read and their contents are stored
in scan_name_c
after the offsets have been subtracted (using
the measured sample time).
- The counters are cleared.
- The current position is replaced by (pos2+pos1)*0.5 and
stored in the x-column of scan_name.
- The current step position (steps_pos2+steps_pos1)*0.5 is
stored in the y-column of scan_name_steps,
the x-column of this SCAN
is set to the current position.
- scan_name_dp is filled with (pos1 - pos2).
- scan_timer is started using sample_time.
- The position is re-read: pos2
The accuracy of the measurement can be checked by looking
at:
- scan_name_dp: The difference of the position before and
after the counters are active.