The Feedback Support Soft IOC

The  Feedback Support Soft IOC stores data used by and produced by the LCLS beam-based feedbacks.  This data can accessed by LCLS high level applications and users, in real-time from the soft IOC, or from the LCLS Archiver.

NOTE:  The configuration data (tolerances and status) are written to ONLY BY THE MATLAB feedback application, and ONLY while the feedback is OFF.   STATE SETPOINTS may be written to while a feedback is ON - this allows for dynamic setpoint changes during feedback.  An EDM screen is used to change state setpoints while a feedback is running.

There are four categories of data stored by the Feedback Support soft IOC. They are:

  • Actuator data
    • the actuator adjustment value calculated by each feedback loop.  For example, the RF Phase values calculated and used to adjust the RF Phase setpoint in the DL1 Energy feedback loop.
    • A history of the calculated actuator value; the last 1000 values calculated by the feedback are stored in a compress record
    • A smaller compress record of calculated actuator values used for EDM displays
    • Feedback tolerance values for each of the actuators; a low limit, high limit, and percent limit settable by the user with the configuration application
    • the status (used, not used) of each actuator that may be used in each feedback, set by user with the configuration application
    • initial actuator values: stored at the time a feedback loop starts; the initial actuator value that can be restored (recovered) when a feedback loop is stopped due to some error.
  • Measurement data
    • the measurement device readbacks used in each feedback calculations. For example, the BPM:X readback used in DL1 Energy feedback calculations to adjust the RF Phase.
    • a history of the measurement values; the last 1000 values are stored in a compress record
    • a smaller compress record of measurement values used for EDM displays
    • feedback tolerance values for the measurement device readbacks, a low limit, a high limit, settable by user
    • a dispersion value; used for BPMs, set to 1 for other measurement devices; settable by user
    • the status (used, not used) of each measurement device that may be used in each feedback, set by user
    • it can also store the pulseid for each measurement set - stored in a 1000 point compress record
  • Feedback State data
    • the state setpoint value for each state of each feedback loop, settable by the user at the feedback EDM screen - this can be changed while the feedback is running
    • the calculated value of each state for each feedback loop.
    • compress records of 1000 values for history of calculated states
    • a smaller compress record for EDM display
    • Feedback tolerance values for the state settable by the user; a low and high value
    • the calculated RMS error of the calculated state (error from setpoint)
    • a compress record of the history of the RMS error
    • a smaller compress record of the RMS error to display in EDM
    • the status (used, not used) of each state that may be used in each feedback, set by user with the configuration application
  • Feedback Status data
    • the status (On, Off) of each individual feedback. set by the feedback engine application
    • the status (On, Off) of each group feedback (eg. status of Longitudinal feedback, where only one can run at a time), set by the feedback engine application
    • a loop counter record written to by the feedback engine application, counting each loop.
    • a counter display record, updated every 2 seconds, for loop count display on EDM screens.
    • enable / disable control  (so that other applications can turn off feedback temporarily)

PV Names in the Feedback Support Soft IOC

Each Beam-based Feedback has a three-letter acronym that is used in PVs associated with that feedback. For different configurations of the same feedback, a number is appended to the end of the three-letter acronym.  The following is a table of Feedback acronyms and names:

Value

Feedback 

LNG0

Longitudinal: Spectrometer Dump Energy (1x1)

LNG1

Longitudinal: DL1 Energy (1x1)

LNG2

Longitudinal: DL1 and BC1 Energy (2x2)

LNG3

Longitudinal: DL1 Energy + BC1 Energy + BC1 Bunch Length (3x3)

LNG4

LNG3 + BC2 Energy (4x4)

LNG5

LNG3 + BC2 Energy + BC2 Bunch Length (5x5)

LNG6

LNG3 + BC2 Energy + BC2 Bunch Length + DL2 Energy (6x6)

B5L

Gun Launch (used to be BPM5 Launch)

INL0

Injector Launch to Spectrometer

INL1

Injector Launch (to linac)

B1L

X Cavity Launch (was going to be BC1 Launch - need new acro)

L2L

L2-linac Launch 

L3L

L3-linac Launch

BSY

BSY Launch

LTL

LTU Launch

UND

Undulator Launch

BCI

Bunch Charge at Injector

LPS

Laser Power Set (for Bunch Charge loop support)

Now the DL1 energy, BC1 Energy and Bunchlength, and Spectrometer Dump Energy loops are individual Longitudinal Feedbacks.  At any one time, only one of these feedbacks can run, another longitudinal feedback will not start if one is already running.

These three-letter acronyms  are used in two places in feedback PVs:

  • For actuator and measurement device storage, the acronym is tacked on to the attribute of the PV being used.
    • eg. BPMS:IN20:252:XLNGHST is the last xxxx X values read by the DL1 Energy Feedback Loop
  • For state and status PVs, the acronym is used in the 'area' portion of the PV name. To make it 4 characters a 0 is tacked onto the end.
    • eg: FBCK:LNG2:1:BC1E is the BC1 Energy state of the 2x2 Longitudinal, and FBCK:LNG0:1:STATE is the ON / OFF state of the Longitudinal feedback (keep your states straight...)
    • eg: FBCK:INJ0:1:XPOSDISP is the Injector Launch X Position state compress record for displaying the last 200 calculated states.
  • No labels