Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Matlab Framework for Feedback Applications
    • DONE:read EGU from PVs and display units wherever possible - DONE except matrix params and PID values (??? ask juhao)
    • DONE:use new event API - see matlab prog. man. - DONE cant use one-shot, will stick with F1,F2 1Hz 5Hz 10Hz setup
    • DONE:use lcaUtil_NewMonitorValue - DONE
    • add code to read config PVs instead of xml file whereever possible (tolerances, dispersion, matrices etc see softIOC tasks)
    • add limits checking on actuators, states, measurements - inlcuding checking TMIT on all measurements for validity? see notes on disc. w/Paul
    • add readback of actuators and compare to desired value
    • before starting loop, read current actuator value as initial value
    • add error checking on devices  - DONE upon init: reports severity of all act, states, meas PVs
    • add error checking on communications, calculations -
    • rename source files for flat file system (prefix=fb)
    • DONE:add a Stop() function : DONE first cut- if anything goes wrong, STOP the feedback (if we try to take any corrective action our single-minded (threaded) matlab stops looping anyway)
    • may need to check pulse-ids on all measurements and compare to be sure they are from same pulse - try this later when we have a 'real' pulse-id
    • test all feedbacks individually on Kiosks, sunrays determine where best to run in control room.
    • investigate long-term run (must be able to run well for at least a full shift 8 hours)
    • investigate memory and processor usage, determine if they run well enough with more than one matlab/feedback instance at a time on a processor
  • application to collect reference orbit data - TBD

...

  • soft IOC for stored Feedback data and dynamic setpoints
    • DONE:configure as a simple IOC (right now these databases are just added to the simulator)
    • DONE:test on lcls-prod01 - fbcksim & fbSupport on lcls-prod01, matlab feedback app on lcls-prod02 works fine
    • DONE:add ON/OFF or USED/NOT USED state PVs per actuator, measurement, feedback
    • add tolerances and dispersion value PVs
    • add F and G matrices? (what about changing dimensions? Look into waveform record,....maybe keep this in matlab config file...)
    • Channel Watcher,
    • Channel Archiver?
  • soft IOC simulator to generate data for feedback testing (this will  never be a production softIOC)
    • add simulation of user controls for LLRF
    • DONE: add calc of real BPM x-position values, replace virtual energy device for Energy feedbacks- DONE
    • add calc of real BL11 reading, replace virtual current device for Energy / Bunch length feedback
    • as ICDs become available add limits, resolutions, EGU etc  to simulator - in progress
  • Individual Feedbacks
    • Bunch Charge
      • gotta get going on this soon!
      • need ICD for toroid
      • need ICD and additional info on inner laser energy loop
    • Energy at DL1 / Spectrometer Dump
      • add control records on LLRF Amp and Phase to lock out users during automated feedback
      • need BPM ICD
      • DONE:need dispersion values for each BPM - DONE:hard-coded in initLongLoop.m
        • they are not in SLC Database, store in config file? Need that oracle database here...
      • read amp and phase actual values before starting loop
      • change DL1 actuator to LOB phase, not amplitude, will also use phase as main actuator for BC1 energy
    • DL1 Energy + BC1 Energy + Bunch Length
      •  need to use IM01 to calc Bunch Length values (along with BL11 reading)
      • where to get calibration constant C for BL11/ IM01 calcs? See doc  from Paul
      • We need the BL11, BL12 to calculate the Ipk vs. energy curve and store as part of it's calibration. It can then report Ipk, TBD in EPICS Db (like magnet polynomials?)
      • Ipk vs. energy needs toroid and TCAV LI29 values - can be done ahead of time?
      • need ICDs for toroids and BLEN
        • change actuator for DL1 and BC1 to phase, not amplitude
    • Injector Launch
      • test Paul's latest optimization algorithm with latest simulator BPM values and noise levels
      • need BPM ICD
      • read magnet actual values before starting loop
      • test further with reference orbit data

...