<b>An Introduction to Fast Feedback</b>



next up previous contents
Next: Description of the Up: Fast Feedback Users Guide Previous: Introduction

An Introduction to Fast Feedback

The general purpose of feedback is to obtain some MEASUREMENTS using SENSORS, to calculate some STATES of the system, and then to stabilize these states to a desired SET-POINT by setting some ACTUATORS. For the most common SLC application, the measurements are of the beam position at several points along the beam line; the sensors are Beam Position Monitors (BPMs); the states are the position and angle of the beam; and the actuators are correction magnets. In Linac loops, the measured states are sent to the next down-stream loop and used there to avoid both loops correcting the same error. This is known as CASCADE.

A secondary purpose of fast feedback is to provide information to the operator about how well it is working. The main mechanism for this is the display of RING BUFFERS. A ring buffer is a record of the value of a vector element (e.g. a BPM reading or corrector setting) for the last N cycles of feedback. Typically about the last 1000 pulses are recorded. You can then display one reading versus another or one versus time. You can also plot projections and Fourier transforms.

A single feedback loop uses many measurements which are grouped together into a MEASUREMENT VECTOR to estimate and control several states (e.g. position and angle) which are grouped together into a STATE VECTOR. Several actuator settings which are grouped together into an ACTUATOR VECTOR are then calculated and applied to the actuators (e.g. correctors) to try to move the STATE values to the desired set-points. In short, a single fast feedback loop acts like a group of slow feedback loops. For example there is a single fast feedback loop in LI03 which reads 13 BPM's for both e and e in x and y. It controls 8 states: electron x position, electron x angle, electron y position, electron y angle, and the same for positrons.

Fast feedback is implemented using the standard SLC hardware. The correctors and BPMs it uses are shared with other SLC users. Since it executes at a high rate (20-60 Hz) most of the work is done on the 80386 microprocessors. The VAX is only used to monitor and control (turn on and off and set limits and set-points) the loops.

In case there are problems, it helps to understand the basic structure of the micro software which is illustrated in the figure below. The BPMJOB reads BPMs at up to 120 Hz. Data from a beam pulse can both be sent to the VAX for use in a BPM display and it can now be passed to the FMES micro task. FMES checks the measurements, saves them in ring buffers and maintains a running average for possible later display on the VAX and then passes the MEASUREMENT VECTOR to the controller task, FCTL. FCTL uses the measurements to calculate the STATE VECTOR which contains its best estimate of the present values of the STATES (e.g. the position and angle of the beam). FCTL first sends these states to the next downstream loop for use as a CASCADE input which is used to avoid correcting the same beam trajectory error in multiple loops. It then saves these states in ring buffers and maintains a running average for possible latter display on the VAX. FCTL next uses the STATE VECTOR and the previous ACTUATOR VECTOR to calculate the new ACTUATOR VECTOR. It sends this to the actuator task, FACT. FACT uses the actuator settings in the vector and does the CAMAC operations necessary to set the actuators. It also saves the actuator settings in ring buffers and maintains a running average for possible later display on the VAX. It sends a status back to FCTL.

The hardware used by a feedback loop is likely to reside on more than one micro. For example the NRTL electron loop has BPMs in LI02 and correctors in DR13. To handle this we must send data (e.g. the ACTUATOR VECTOR) from one micro to another at up to 120 Hz. This is handled with a new network dubbed KISNET (for Keep It Simple NETwork). This consists of simple point-to-point links which run on twisted pair for short distances (< 150 meters) or fiber optic cable for longer distances. The electronics for KISNET consists of a 2"3" PC board which attaches to the SBX connector on the 80386 microprocessor board. If a micro has more than one link, then a new (commercially made) multibus board with 6 SBX connectors is inserted in the micro's multibus crate. The DCL command KISTEST can be used to test a KISNET link. Note that this will interfere with the running of fast feedback. Further information on using KISTEST is contained in the section titled HANDLING KISNET PROBLEMS.

 
Figure 1: Block diagram of the micro part of feedback.



next up previous contents
Next: Description of the Up: Fast Feedback Users Guide Previous: Introduction



SLAC Controls Software
Fri Nov 4 11:34:56 PST 1994