Running Scans
Scans can be run using any of of the HXRSnD motors, including the virtual,
motors using the DAQ. To perform the scans, the bluesky module is used
meaning scans must be defined as plans that return messages to the bluesky
run engine, indicating the next step in the scan.
For a comprehensive tutorial on how to write bluesky plans, see their
documentation on Basic Usage & Intro to Plans.
Defining Plans
Scans are defined in the hxrsnd.plans script and are imported into the the
main IPython shell for HXRSnD. Using linear_scan as an example, define
the plan as follows:
In [1]: plan = linear_scan(snd.E2, 9000, 10000, 5, return_to_start=False, verify_move=False)
The variable plan now contains the sequence of steps that will be carried
out to perform the scan using the E2 macromotor.
Running Plans
To actually run the scan, it must be passed to a bluesky RunEngine
object. In the SnD IPython shell, there is a RunEngine object defined as
RE. So to run the aforementioned scan:
In [2]: RE(plan)