Bunch Bank Control - DLS-Controls-Private-org/MBF-docs GitHub Wiki

This panel shows the control configuration for a single bunch bank. The bunch control is determined by a number of waveforms, which can written to directly as waveform PVs, or can be individually edited using the controls on this page and related pages. All PVs on this screen are prefixed with $(device):$(axis):BUN:n, with n from 0 to 3.

This screen show three main sections (Sources, Set FIR, Select Bunches) together with an overall status and controls at the bottom.

Sources

The Sources section of this screen allows individual control over each of five possible sources: the bunch by bunch filter and four separate NCOs. The following table lists the possible sources:

Name Control Description
FIR Bunch by Bunch FIR Bunch by bunch FIR output. Select this for normal feedback on this bunch.
NCO1 Sequencer and Bunch Control Fixed frequency NCO output. Select this for programmable fixed frequency excitation on this bunch.
NCO2 Sequencer and Bunch Control Alternate fixed frequency NCO output. Select this for programmable fixed frequency excitation on this bunch.
SEQ Sequencer and Bunch Control Swept NCO output. Select this for swept frequency excitation under sequencer control. Note that this source will be zero when the sequencer is inactive.
PLL Tune PLL Tune PLL output. Select this for the tune PLL NCO.

For each of these sources we have the following PVs together with a link to a more detailed control screen for the source (each PV is prefixed $(device):$(axis):$(source) where $(source) is one of the names above):

Name PV Description
:STATUS Shows summary of bunch enable and gain settings.
Gains Links to Bank Source Gain Control where the individual bunch gains can be configured.
On :SET_ENABLE_S Enables this source for all bunches selected by the bunch selector.
Off :SET_DISABLE_S Disables this source for all bunches selected by the bunch selector.
:ENABLE_S Shows a concise view of which bunches are enabled.

Set FIR

The FIR can be selected individually for each bunch:

Name PV Description
:BUN:n:FIR_SELECT_S Chooses the FIR selection that will be written to the selected bunches when the "Set FIR" button is pressed.
Set FIR :BUN:n:FIRWF:SET_S Updates the selected bunches of :BUN:n:FIRWF_S with the selected value.
:BUN:n:FIRWF_S Determines which of the four available bunch by bunch filters is active on each bunch.

Extra Fields

We have a summary field, a link to a screen, and an action at the bottom:

Name PV Description
Status :BUN:n:STATUS Shows outline summary of all of the bunch configurations for this bank.
Extra Links to Legacy OUTWF View.
Reset All Gains :BUN:n:RESET_GAINS_S Resets all gains for all sources for this bank to unity gain (0dB) when processed. It is a good idea to process this PV as a first step before setting up a configuration to ensure that all gains are in a known good state.

Select Bunches

The section "Set Bunches" provides the following PVs:

Title PV Description
:BUN:n:BUNCH_SELECT_S This field can be set to a string describing the bunches to be modified by any of the buttons on this screen or the gain control screen. The exact syntax of this string is described below. If an invalid value is written the write is rejected and the Status field below is updated with a description of the format error.
Status :BUN:n:SELECT_STATUS After a successful write to :BUNCH_SELECT_S this field reads "Ok". After any unsuccessful write this field has minor severity and shows a description of the reason why the write was rejected.

The bunch selection defined here is used by all of the action buttons (except for "Reset All Gains").

Bunch Select Syntax

The string written to the :BUNCH:SELECT_S PV determines the range of bunches that will be modified by the "Set" PVs. This string is either a single: character, selecting all bunches, or is a sequence of numbers or ranges or "skip ranges". A formal syntax can be written thus:

bunch_select = all | range range+
all = ":"
range = bunch | start ":" end | start ":" step ":" end

The various syntactic options are described below:

Syntax Meaning
: Selects all bunches
bunch Selects the specified single bunch
start : end Selects the inclusive range of bunches from start to end
start : step : end Selects bunches starting from start spaced at intervals of step extending until but not after end .

Valid examples are:

: Selects all bunches
1 2 5 6 Selects four named bunches
0:935 Also selects all bunches (at DLS with 936 bunch ring)
0:100 200:300 Selects two ranges of numbers for a total of 202 selected bunches.
0:5:20 Same as selection "0 5 10 15 20".