August 1, 1994 All That Fits is News to Print Vol. 8, No. 6

Contents of Vol. 8, No. 6

  1. Fast Feedback PSK2 Time Control
  2. Chi-squared Values for Fast Feedback Loops
  3. Fast Feedback Setpoint Ramping
  4. Klystron Z Plot Enhancements
  5. New Wireloop Master Button Macro
Postscript version TeX source

Page contact and owner at end of this issue.

Fast Feedback PSK2 Time Control

May 27, 1994

Author: Controls Group Subsystem: Fast Feedback User Impact: Large
Panel Changes: Few Documentation: Yes Help File: Yes


At present, the FB31 energy loop reads BPMs for both positrons and electrons. It calculates the energy of both beams and the needed correction for both beams. In the past, it had only one type of control (the subbooster phase shifters in sectors 27 and 28) so it changed both beam energies equally. Hence, this loop normally controlled just the electron energy and the slow feedback loop (BSY 2Beam E-P E) controlled the positron energy by changing the PSK time. Since the slow feedback loop is too slow, the FB31 energy loop has been enhanced to control both the PSK time and the phase shifters and hence control both electron and positron energies. The slow feedback loop is now obsolete and must remain off.

A design specification (DOC$FEEDBACK:PSK_LOOP.DVI) is available which covers many details not provided in this article.

PSK Time Control by the LINAC Micros

To change PSK time, 9 timing values of Devices using a Pulsed Class Device (DUPCD) on each of 29 linac micros (LI02 to LI30) must be updated. A PSK2 timing variable (TMVA) has been added to the expressions of all 261 DUPCDs (8 KLYS and 1 SBST per micro) and is used in the calculation of timing values which are output using CAMAC to the proper PDU channels. When the micros receive a new PSK2 value from either the user or the FB31 energy loop, they first adjust the value based on their position in the chain of linac micros. To get the finest granularity that can be implemented in hardware, the input PSK2 value is provided in units of "PSK-ticks" where one PSK-tick is 8.4/29 nsecs. One PSK-tick corresponds to changing the timing in 1 of 29 micros by 1 PDU tick of 8.4 nsecs.

PSK Time User Interface

From the DUPCD expressions panel (via the Timing System panel), the current PSK2 TMVA value can be displayed using


. The value is shown in both nanoseconds and PSK-ticks, unlike other TMVA values which are shown in PDU-ticks. When the FB31 energy loop is controlling PSK2, the displayed value may be up to a minute old since the VAX watchdog that updates the TMVA value based on the feedback value (FELB VALU) runs once a minute.

After PSK2 is selected using


, a display of all device expressions which use PSK2 is shown using


. Historical PSK2 plots are also available using



After selecting PSK2 from the DUPCD expressions panel, the user may set its value using


. This method replaces the now obsolete PSK2 button on the Beam Options panel. PSK2 can also be knobbed using multiknob files such as PSK2TMVA. All existing PSK2 multiknob files will be converted to use the new TMVA as required. User input of new values is only allowed when the FB31 energy loop is in 'OFF' or 'COMPUTE' or not controlling PSK2. For people familiar with the database, the PSK2 secondary of the BEAM primary is now obsolete and is no longer used or updated. All VAX applications that use BEAM PSK2 (ie, LEM and klystron fast timing plots) now use the PSK2 TMVA value instead.

Fast Feedback PSK Time Calculation

FB31 continues to measure the energy and calculate the desired energy gain for each beam just as in the past. However, the PSK time is now derived from the desired energy gains using the equations in Appendix 1 of the design specification. The energy gain used in the calculation of the subbooster phases is then adjusted for the PSK time contribution and the phase shifter settings are calculated. Unlike the phase values, which are updated in CAMAC like other normal feedback actuators, the PSK time is first transmitted to the MPG over a fiber optic link using PNET hardware. The MPG puts the PSK time in the PNET pattern which is then broadcast to all micros. When the feedback loop is on, the linac micros use the PSK time from the PNET pattern in their timing value calculations.

To see the current PSK2 value calculated by the feedback loop, the user may use all the fast feedback tools already available for viewing actuator values. The Display Vector and Loop Status Display buttons from the Feedback panel provide current values. From the Canned Plot panel, the Acquire Data and PSK2 Time plot buttons provide recent pulse-by-pulse history. All other functions provided for normal fast feedback actuators (actuator reference update, reset-actuators, and all functions on the feedback actuator panel) also work for PSK2.

From the Beam Group Control panel (via the Beam Options panel),

 1 MICR 

provides the last 360 PNET patterns received by any micro. Twelve bits, bits 20 to 31, contain the signed integer value of PSK time in units of PSK-ticks. A 800 hex value indicates that the FB31 loop is not controlling PSK2 (the loop is either OFF or in COMPUTE or the PSK2 actuator is toggled offline).

Even though the phase values are calculated and updated at 120 hz, the PSK time is calculated at a lower rate to reduce the total number of CAMAC operations. The number of 360 hz pulses between PSK calculations can be set using


on the FB31 PHAS and AMPL magnet panel (via the FBCK Magnet Index panel). If set too low (for now, less than 24), the linac micros will complain about "PSK2 feedback rate too high".

The PSK time is updated only when both beams are available and have a sufficient number of good measurements, the energy being controlled (normally electron energy) is within tolerance, and the PNET link is working. The amount that the PSK time is allowed to change in one calculation interval is settable using


on the FB31 PHAS and AMPL magnet panel. The user may also set high and low limits and tolerances on PSK2 from the feedback actuator panel. The hardware limits are constrained by the 12 bits in the PNET pattern (+/-593 nsec).

Chi-squared Values for Fast Feedback Loops

July 28, 1994

Author: Phyllis Grossberg Subsystem: Fast feedback User Impact: None
Panel Changes: Few Documentation: No Help File: Yes


A new fast feedback loop status -- BADCHISQ --has been defined and, when appropriate, will appear on the loop status display and the SDS display. This new status results from the comparison of calculated chi-squared values with predetermined cut values.

The chi-squared values, the cut values, and the number of fit parameters per loop (needed for the calculations) are contained in database primary FBCK, secondaries CHSQ, CHCT, and CHNF respectively, and can be displayed for any loop by pressing


on the fast feedback diagnostic panel.

As long as the fit parameters have been defined as non-zero (via a debedit), the cut values may be altered at any time via


on the fast feedback diagnostic panel. In order to implement the new values, the loop must then be cold started.

The sensor error, enterable from the fast feedback measurement panel, is used for the chi-squared calculations. A default value of 0.2 is used if the sensor error is set at zero. Users are requested to consult a fast feedback expert before entering sensor errors, as these may affect feedback control when calibrations are implemented.

For most fast feedback loops, chi-squared values have been calculated for several months and history plots are available by pressing


on the fast feedback history plots panel (accessable from the state, measurement and actuator panels by pressing



Fast Feedback Setpoint Ramping

June 1, 1994

Author: R MacKenzie, S Allison Subsystem: Fast Feedback User Impact: Medium
Panel Changes: One Documentation: No Help File: Yes

A new toggle button


has been added to the VAX fast feedback state panel.

This button allows the operator to enable or disable setpoint ramping. The purpose of setpoint ramping is to give downstream loops time to adjust to the change.

When ramping is enabled (which is the default setting), any setpoint entered using the Setpnt button is automatically implemented over 10 incremental and equal steps between the original setpoint and the new setpoint. At each of these steps, a message is sent to the micro containing the incremental setpoint and a 100 millisecond pause occurs before the next setpoint is sent.

There is only one button for your local scp and it affects all loops and elements. It only affects your local scp and not other scps in the control system.

When a setpoint is being ramped to the new value and somewhere in the middle of the ramp the actuators go out-of-limits, the SCP will continue to finish the ramp to the new setpoint (and the error log will show 1 to 10 messages from the micro about "setpoint implemented but loop status is bad"). The SCP will NOT stop at the last "good" setpoint (like knobbing does). It's up to the user to recognize that their new setpoint caused the loop to go bad and to try finding the "good" setpoint themselves.

Klystron Z Plot Enhancements

July 28, 1994

Author: Tom Dean Subsystem: Klystron User Impact: Small
Panel Changes: None Documentation: None Help File: None


The All Sector Klystron Displys zplots, have been changed to include the Damping Ring Klystrons. These additions appear in the LI00-LI15 segment of the ZPLOT GRAPHIC displays. The order is: LI00, LI01, DR01, DR03, DR13, LI02, LI03,...,LI15.

A new DGRP, KLYZPLOT was created to provide the correct values for plotting the front-end klystrons in the proper order. This DGRP should only be used for ZPLOTS.

New Wireloop Master Button Macro

June 24, 1994

Author: R MacKenzie Subsystem: Buttonmacro User Impact: Medium
Panel Changes: None Documentation: No Help File: None

There is a new version of the WIRELOOP MASTER button macro. Wireloop Master calls a number of sub-procedures which do emittance measurements and other functions.

This new version allows removal of individual emittance measurements and other sub-procedures from Wireloop Master. For example, it is now possible to remove the LI28 emittance measurement from the loop in the same way it is possible to remove ESPREAD or EMIT.

This new version also allows the user to specify the frequency at which each of the sub-procedures are executed. For example it is now possible to specify that the emittance in LI28 is scanned once every ten minutes.

The new wireloop master is invoked in exactly the same way as the previous version using the BUTTON MACRO MANAGEMENT panel from the WIRE/COLMTR index panel.

Execution of the sub-procedures is controlled using the same $wireloop command as the previous version.

All enabled sub-procedures will execute on the first pass when the button macro activated. They will then execute again after the specified time interval has passed. The sub-procedures are executed sequentially in an infinite loop. Execution of any given sub-procedure at the exact moment specified by the interval may be delayed if previous sub-procedures in the loop have not finished executing.

The execution interval of any of the sub-procedures may be changed, reset, or disabled while the wireloop master button macro is operating without interrupting the macro. The change is effective as soon as it is entered by the user on the display.

Back to top of this issue

June 24, 1994 Index Panel Vol. 8, No. 7

Translated from original PlainTeX by index2html.pl.

*Links followed by an asterisk are limited to SLAC clients only.
  Last modified on Wednesday, July 26, 2006 Webmaster