Live planning notes

Goal: Update DAQ to HDF5

  • What has already been done?
    • We have a working version of the HDF5 DAQ, and now we are working on making it robust
    • Sharon has shown that HDF5 file writing in "Streaming" mode is very fast.
    • Now we want to extend capability for scans so that we have 1 file per camera.
  • How to save scan image data into HDF5 file?
    • Use PVs:
      • extraDimSizeN = Number of shots per step
      • nExtraDims = Number of scan dimensions (0 = simple DAQ, 1 = 1D scan, 2 = 2D scan . . .)
      • extraDimSizeX = Number of steps for Dim 1
      • extraDimSizeY = Number of steps for Dim 2
      • extraDimSize3 = Number of steps for Dim 3
      • . . .
    • These PVs implicitly control the NumCapture PV
      • NumCapture_RBV = extraDimSizeN * extraDimSizeX * extraDimSizeY * . . . (depending on number of nExtraDims)
  • In this scheme, we have to carefully control the triggers so that each scan step gets exactly the right number
    • We will use a new feature to do this:
      • EVNT:SYS1:1:PMAQCTRL.H = extraDimSizeN = Number of shots per step
      • EVNT:SYS1:1:PMAQCTRL.E = 0/1 to stop/start triggers to cameras
      • Need to toggle back to 0 after every step
      • Set EVNT:SYS1:1:PMAQCTRL.H back to zero at end of scan
  • What happens if the camera does not receive all triggers?
    • Then scan steps are kind of messed up . . . think about how best to handle this with pulse ID
  • Prefer "NDArrayUniqueId" to be "NDArrayPulseId"
  • Make caput/lcaPut/lcaPutSmart consistent
  • "BSA buffer" for UV spectrometer IOC?

DAQ tests E320 shift 4/30/24

Testing TIFF/HDF5 switch
- take a DAQ with TIFF and try to load it in DAN
- results look normal

Testing HDF5 DAQ
- take a DAQ with HDF5, simple DAQ, 20 shots, 1 camera (LBG_LFOV)
    - all 20 shots saved
- test with 1000 shots
    - saved 999 shots
    - took a little over 2 minutes
- add more cameras (LBG_LFOV, EOS2, GAMMA1)
    - saved 993 shots for each camera
    - ~2 min 10 seconds in total
- try streaming
    - 1000 shots
    - failed TEST 7480
- try streaming but with 10 shots
    - success with all matches
- try streaming with 200 shots
    - success with 197 matches
- try streaming with 700 shots
    - says DAQ failed on step 1 but 641 matches
- try streaming with TIFF, 700 shots
    - saved 155 matches
    - took a little more than 3 minutes
- try a 1D scan, 10 shots, 3 steps
    - did not restore to initial value
    - Spec_Quad_E
    - 28 matches
- trying a 2D scan, 10 x 2 x 2
    - saved 40 shots
- trying 2D scan with streaming
    - saved 40 shots
- try to open HDF5 images in DAN
    - error when "Plot Correlation" button pushed, expecting a TIFF image
    - Error in hlpGetImage with “imgType”

Bugs and Robustness

IssuePersonPriorityStatus
Background not being savedSharonHighDONE
Not saving non BSA data and getting F2_EventClass errorSharonHigh
Implement HDF5 file saving for imagesSharonHighTesting
Modify DAQ to write image data to "RAM disk"
HighN/A
Calculate how much space on disk is required
High
Install 10G switch and NAS in S10ArjunHighPlanning
Check what happens if new DAQ is started before old one is finished (failed abort)
High
Fix binning and ROI for CMOS cameras
Medium
Can't get magnet values on first DAQ?
Medium
Check that the beam rate is not equal zero if rate set to "BEAM"SpencerMedium
Fix "Use_PV" functionality.SharonMediumDONE
Fix camera triggers if DAQ fails.SharonHighDONE
"Fix cameras" button disabled if DAQ hasnt run yetSharonMediumDONE
"Fix cameras" button should use default values? - yesSharonMediumDONE
Timestamping fails on certain ROI settings?SpencerHighDONE
Upgrade all machines in S20 to 10G connectionSpencerMediumDONE
Camera binning messes up pulse ID findingSpencerMediumDONE

Feature requests

IssuePersonPriorityStatus
Add check/remove bad PVs and notify user in an obvious waySharon

Add nonBSA arrays so we can get UV spectrometer (Claudio request)SharonHighWIP
DAQ Monitor GUISharonHighDONE
Find a way to globally trigger a modifier bit (e.g. "DUMP_2_9").David

Scan function that pauses until you click 'ok'


Generate "camera config" file including trigger info and add a save/restore button. Monitor if this finished ok or not.Sharon

Load/Save Config files. Default config files.Claire

Robustness issues. . .SpencerHighIn progress
DAN featuresSharon

Documentation/commentingSpencerHighIn progress
Fix "Use_PV" functionality.SharonMediumDONE


Documentation

For now, the main references on the DAQ are these attached PDFs from IBIC 2021.


WEPP33_vIBIC.PDFWEPP33_poster.pdf

GUI Interface


Main screen → Profile Monitor → LI20 → FACET DAQ (green button)


Wait for a bit after pressing the FACET DAQ button.



DAQ Camera Status GUI

Main screen → Profile Monitor → LI20 → DAQ Camera Status

Indicator lamps light up when a camera is being used by the DAQ, and the "Shots Recorded" field updates as the DAQ runs

  • No labels