You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

LCLS2 supports PV scans using bluesky.

RIX PV Scan Script

A python script has been created to demonstrate support for PV scans with the RIX instrument.

The source code is here: https://github.com/slac-lcls/lcls2/blob/master/psdaq/psdaq/control/bluesky_rix.py

This script scans a simulated motor at 15 equally spaced points from -10 to 10, recording 120 events at each point.  The number of events per step can be adjusted using a command line argument.   A user with knowledge of the direct motor should update the script to replace the simulated motor.

The parameters of the scan should be updated to match the requirements of the experiment.  To do so, update this section of bluesky_rix.py:


bluesky_rix.py scan parameters
# Scan motor1 from -10 to 10, stopping
# at 15 equally-spaced points along the way and reading dets.
RE(scan(dets, motor1, -10, 10, 15))


Here is the script in action:

bluesky_rix.py demo
$ python bluesky_rix.py 

Transient Scan ID: 1     Time: 2020-12-10 18:24:53
Persistent Unique Scan ID: '2092a9ca-160c-4b52-8683-256f699e1e01'
New stream: 'primary'
+-----------+------------+------------+
|   seq_num |       time |     motor1 |
+-----------+------------+------------+
|         1 | 18:24:58.5 |    -10.000 |
|         2 | 18:24:59.6 |     -8.571 |
|         3 | 18:25:00.6 |     -7.143 |
|         4 | 18:25:01.6 |     -5.714 |
|         5 | 18:25:02.7 |     -4.286 |
|         6 | 18:25:03.7 |     -2.857 |
|         7 | 18:25:04.8 |     -1.429 |
|         8 | 18:25:05.8 |      0.000 |
|         9 | 18:25:06.8 |      1.429 |
|        10 | 18:25:07.9 |      2.857 |
|        11 | 18:25:08.9 |      4.286 |
|        12 | 18:25:10.0 |      5.714 |
|        13 | 18:25:11.0 |      7.143 |
|        14 | 18:25:12.0 |      8.571 |
|        15 | 18:25:13.1 |     10.000 |
+-----------+------------+------------+
generator scan ['2092a9ca'] (scan num: 1)

Preparing for a RIX PV Scan

As a general rule, one should always verify that the DAQ is running well in "normal" mode before attempting to run a scan.

Some specific tips:

  1. Make sure all the detectors to be used are configured properly.
  2. Make sure the timing system is configured properly.  As of this writing, RIX uses readout groups 2 and 5.
  3. When you're ready to record a scan, don't forget to enable recording before running bluesky_rix.py!  In the control GUI, the disk icon is green when recording.
  4. Use the "normal" DAQ interface to select the detectors of interest as "active" and assign their readout groups.
  5. Put the DAQ in ALLOCATED or CONNECTED state. Now, you are ready to run bluesky_rix.py.

The bluesky_rix.py script accepts several command line arguments. If you are relying on the default settings, make sure they are correct for your experiment now, not just way back in 2020 when the script was first written.





bluesky_rix.py help
bluesky_rix.py -h
usage: bluesky_rix.py [-h] [-B PVBASE] [-p {0,1,2,3,4,5,6,7}] [-x XPM]
                      [-C COLLECT_HOST] [-t TIMEOUT] [-c READOUT_COUNT]
                      [-g GROUP_MASK] [--config ALIAS] [-v]

optional arguments:
  -h, --help            show this help message and exit
  -B PVBASE             PV base (default DAQ:NEH)
  -p {0,1,2,3,4,5,6,7}  platform (default 2)
  -x XPM                master XPM (default 0)
  -C COLLECT_HOST       collection host (default drp-neh-ctl001)
  -t TIMEOUT            timeout msec (default 10000)
  -c READOUT_COUNT      # of events to aquire at each step (default 120)
  -g GROUP_MASK         bit mask of readout groups (default 36)
  --config ALIAS        configuration alias (default BEAM)
  -v                    be verbose


  • No labels