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
    • DONE:add code to read config PVs instead of xml file whereever possible (tolerances, dispersion)
    • add limits checking on actuators, states, measurements - inlcuding checking TMIT on all measurements (or even just one) for validity? see notes on disc. w/Paul
    • add readback of actuators and compare to desired value
    • DONE: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 -
    • DONE: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 - 2 days effortmay need to use the edefReserve and edefAcq matlab functions, slows down the feedback but gaurantees synchronous acquisition
    • test all feedbacks individually on Kiosks, sunrays determine where best to run in control room. - 2 days for these three tasks below
    • 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
  • (application to experimentally determine matrix???) - TBD
  • DONE: EDM screens to monitor feedbacks - at least a week effort
  • use EGU to display units; DESC or MAD name to display device name?
  • re-do screen and update to LCLS display colors, formats etc
  • integrate into LCLSHOME screens
  • DONE for now:soft IOC for stored Feedback data and dynamic setpoints - called FB00 in prod, FB0D on development network
    • DONE:configure as a simple IOC
    • 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
    • DONE:add tolerances and dispersion value PVs
    • DONE:Channel Watcher:set up for development only, will need to re-do cwConfig file for production, later when production PV names are finalizedre-organize cwConfig file to support 'gold' setups.  divide file into two-per-feedback. keep config params in one file, all others in second file.
    • Channel Archiver: set this up when production softIOC is working; they do not want development PVs in archive
  • soft IOC simulator to generate data for feedback testing (this will  never be a production softIOC)
    • DONE: add simulation of user controls for LLRF
    • DONE: add calc of real BPM x-position values, replace virtual energy device for Energy feedbacks- DONE
    • debug the errors introduced with new eDef databases - in progress
    • add LLRF, Toroid, BLEN edm screens for simulator
    • add calc of real toroid reading
    • 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
  • The simulator is now defunct (dmf 6/21/07) 
  • Individual Feedbacks
    • Bunch Charge - NO PROGRESS HERE AT ALL - what's sheng doing on it???
      • gotta get going on this soon!
      • need ICD for toroid
      • need ICD and additional info on inner laser energy loop
      TBD
    • Longitudinal    - Energy at DL1 / Spectrometer Dump
      • DONE:add control records on LLRF Amp and Phase to lock out users during automated feedback, dayle will add to production, done in simulator
      • need BPM ICD
      • DONE: need dispersion values for each BPM 
        • DONE:get dispersion from Juhao's Dispersion Application, will be typed manually into Feedback Framework Application
        • DONE:dispersion value is stored on FB00 soft IOC
      • DONE: read amp and phase actual values before starting loop
      • DONE: change DL1 actuator to LOB phase, not amplitude, will also use phase as main actuator for BC1 energy
      / DL1 energy + BC1 energy + Bunchlength combined into a single Longitudinal feedback  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
      • DONE: make phase the main actuator for DL1 and BC1 energy when no BL is in use
    • Injector Launch
      • test Paul's latest optimization algorithm with latest simulator BPM values and noise levels
      • need BPM ICD
      • DONE:read magnet actual values before starting loop
      • test further with reference orbit data - work out details with reference orbit, error(dX, dY - resPV),  and chisq values in fit function
      • use Juhao's latest matrix and algorithm