[SLAC Controls Software Group [SLAC Controls Department] [SLAC Home Page]

Go to bottom of page



5.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . 5-1

5.1.1 BEAM . . . . . . . . . . . . . . . . . . . . . . 5-2

5.1.2 T_MATRIX . . . . . . . . . . . . . . . . . . . . 5-2

5.1.3 DUPCD . . . . . . . . . . . . . . . . . . . . . 5-2

5.1.4 PCD . . . . . . . . . . . . . . . . . . . . . . 5-3

5.1.5 BIT-ID . . . . . . . . . . . . . . . . . . . . . 5-4

5.2 COMMANDS . . . . . . . . . . . . . . . . . . . . . 5-4

5.2.1 SET . . . . . . . . . . . . . . . . . . . . . . 5-4

5.2.1.1 /BEAM . . . . . . . . . . . . . . . . . . . . 5-5

5.2.1.2 /NOMINAL . . . . . . . . . . . . . . . . . . . 5-5

5.2.2 SHOW . . . . . . . . . . . . . . . . . . . . . . 5-6

5.2.2.1 /BEAM . . . . . . . . . . . . . . . . . . . . 5-6

5.2.2.2 /NOMINAL . . . . . . . . . . . . . . . . . . . 5-6

5.2.2.3 /DEVICE . . . . . . . . . . . . . . . . . . . 5-6

5.2.2.4 /T_MATRIX . . . . . . . . . . . . . . . . . . 5-7

5.2.2.5 /KLYSTRONS . . . . . . . . . . . . . . . . . . 5-8

5.2.3 PRINT . . . . . . . . . . . . . . . . . . . . . 5-8

5.2.3.1 /T_MATRIX . . . . . . . . . . . . . . . . . . 5-8

5.2.3.2 /NOMINAL . . . . . . . . . . . . . . . . . . . 5-9

5.2.3.3 /KLYSTRONS . . . . . . . . . . . . . . . . . . 5-9

5.2.4 ACTIVATE . . . . . . . . . . . . . . . . . . . 5-10

5.2.4.1 /OFFSET . . . . . . . . . . . . . . . . . . 5-10

5.2.4.2 /ABSOLUTE . . . . . . . . . . . . . . . . . 5-10

5.2.5 DEACTIVATE . . . . . . . . . . . . . . . . . . 5-11

5.2.6 ACCELERATE . . . . . . . . . . . . . . . . . . 5-11

5.2.6.1 /END . . . . . . . . . . . . . . . . . . . . 5-12

5.2.6.2 /GAIN . . . . . . . . . . . . . . . . . . . 5-12

5.2.6.3 /BACKPHASE . . . . . . . . . . . . . . . . . 5-12

5.2.6.4 /SLED . . . . . . . . . . . . . . . . . . . 5-13

5.2.7 STANDBY . . . . . . . . . . . . . . . . . . . 5-13

5.2.8 COPY . . . . . . . . . . . . . . . . . . . . . 5-13

5.2.8.1 /NOMINAL . . . . . . . . . . . . . . . . . . 5-14

5.2.9 LOADBEAM . . . . . . . . . . . . . . . . . . . 5-14

5.2.10 EXIT . . . . . . . . . . . . . . . . . . . . . 5-14 CHAPTER 5 BEAM DEFINITION LANGUAGE (BDL)

5.1 INTRODUCTION BDL is an interactive language for setting values in the T_MATRIX. BDL operates on one BEAM at a time, allowing DEVICES to be ACTIVATED and DEACTIVATED and KLYSTRONS to ACCELERATE or STANDBY. KLYSTRONS may be set to ACCELERATE over an explicit range or may ACCELERATE until some energy GAIN is reached. All PDU's have a reference time defined by the arrival over the beam position monitor cables of signals from the reference beam. (The reference beam leaves the gun about 1025 micro seconds after the fiducial.) Normally all times are specified with respect to the PDU reference time TREF. A BDL global time offset called NOMINAL may be SET to be added to all times of DUPCDs belonging to a specified range of micros. Additionally an OFFSET may be specified on an ACTIVATE command which will also be added to the time for the particular device being activated. The exception is the qualifier ABSOLUTE on the ACTIVATE command which sets precisely the specified number in the T_MATRIX. All these commands operate only on the BEAM which has been SET.


BEAM DEFINITION LANGUAGE (BDL) Page 5-2

5.1.1 BEAM BDL operates on only one BEAM at a time (see SET/BEAM and SHOW/BEAM). The number BEAM equals the row of the T_MATRIX.

5.1.2 T_MATRIX The T_MATRIX is the master array in the VAX holding all the BEAM code dependent timing information. Be aware of the fact that changing the T_MATRIX does not necessarily transmit the new data to the micros where it is used (see the SEND and NOSEND commands). Each column of the T_MATRIX corresponds to a DUPCD (device using pulse class device) specified by PRIM,MICR,UNIT (PRIM = database primary, e.g. KLYS,SBST,TRIG,GUNS; MICR = sector micro name; UNIT = database unit number) Each row of the T_MATRIX corresponds to a BEAM. Initially (i.e., immediately after a DBGEN and before any BDL commands have been issued from a command file or by an interactive user) the T_MATRIX contains only null values, which are the values that cause PDU's to produce no pulse (For example, FFFF for Type 1 PCD's). Timing data in the T_MATRIX can be set to non-null values using the BDL commands ACTIVATE and ACCELERATE, for example.

5.1.3 DUPCD Pulse controlled devices are called Devices Using Pulse Class Devices (DUPCD's) to distinguish them from Pulse Class Devices. (PCD's).


BEAM DEFINITION LANGUAGE (BDL) Page 5-3 Examples of DUPCD's are Klystrons, sub-boosters, pulse magnets and toroids. DUPCD's can be explicitly activated by BDL, using the ACTIVATE command. Normally klystrons and sub-boosters are activated implicitly by the ACCELERATE and STANDBY commands, rather than by the ACTIVATE command.

5.1.4 PCD There are 3 kinds of pulse class devices (PCD's) at present. All 3 kinds contain 16 channels, each of which can produce a pulse at a specified delay after the fiducial. o Type 1: PDU (Programmable delay unit) using 16 bit transfers. Most of the T_MATRIX consists of timing data for DUPCD's controlled by type 1 PCD's. o Type 2: PDU using 19 bit transfers. Identical hardware to Type 1, but programmed differently Not as highly optimized as Type 1; used only where necessary. o Type 3: PAU (Pulsed amplitude unit) The data in the T_MATRIX is NOT a time value in ticks, as for Types 1 and 2, but rather is a number from 0 to 15 specifying the channel of the PAU to be used by the DUPCD and BEAM corresponding to that entry of the T_MATRIX. It will be apparent that some BDL commands do not apply to PAU's.


BEAM DEFINITION LANGUAGE (BDL) Page 5-4

5.1.5 BIT-ID Each micro has a BIT-ID, which is a number between 0 and N_MICROS (N_MICROS=63). BDL uses the micro name (e.g., LI01) rather than the BIT-ID in commands, however the user needs to be aware of the numerical order of the micros when issuing commands such as ACCELERATE and SET/NOMINAL that can take a range of micros as a parameter. Micros LI00-LI31 map to bitids 0-31 and the remaining micros map as follows: Name Bitid DR01 32 DR02 33 DR03 34 BL90 35 CL00 36 MP00 37 CL01 38 MP01 39 DR11 40 DR12 41 DR13 42 CA00 43 CA01 44 CA02 45 CA03 46 CA04 47 CA05 48 FF00 49 FF01 50 FF02 51 FF03 52

5.2 COMMANDS

5.2.1 SET SET sets various parameters.


BEAM DEFINITION LANGUAGE (BDL) Page 5-5

5.2.1.1 /BEAM - SET/BEAM=n defines the beam being operated on by BDL. n is an integer BETWEEN 0 and the maximum number of beams N_BEAMS. Note that BEAM number N_BEAMS is reserved as a pure STANDBY beam and is the beam at which BDL is set before any commands have been issued by the user. Before proceeding to do commands that change data in the T_MATRIX, it is necessary to do SET/BEAM=n where n is greater than or equal to 1 and is less than N_BEAMS (N_BEAMS=64 at present).

5.2.1.2 /NOMINAL - SET/NOMINAL=nnn defines a nominal time to be added to all DUPCD's in a specified range of micros, for the BEAM that is currently set. nnn is a signed integer number of ticks (tick=reciprocal of 119 MHz, approximately 8.403 nsec). This command takes an optional argument of the form SET/NOMINAL=nnn MIC1 or SET/NOMINAL=nnn MIC1,MIC2 where the argument is the micro or range of micros over which the NOMINAL value is to be set. In the second form, MIC1 must be a microname with a smaller BIT-ID than MIC2. (A table of micro names with their corresponding BIT-ID's can be seen by issuing the BDL command HELP/BIT-ID ). If this optional argument is not present, then NOMINAL is applied to all micros, i.e., nnn is added to all timing data (not, of course, to PAU channel data) in row BEAM of the T_MATRIX.


BEAM DEFINITION LANGUAGE (BDL) Page 5-6 Note that the NOMINAL values are used to increment the T_MATRIX values derived from the database TREF's and PDUT's. They are stored in a VAX global section and, like the T_MATRIX, are not stable across DBGENs. All NOMINAL values become zero at DBGEN time, but can be reinstated if desired, by making a BDL command file to be rerun after doing the DBGEN.

5.2.2 SHOW SHOW displays the value of various parameters and generates several displays

5.2.2.1 /BEAM - SHOW/BEAM displays the value of the BEAM being operated on by BDL.

5.2.2.2 /NOMINAL - SHOW/NOMINAL displays a table of the value of the nominal time offset in ticks for each micro, for the currently set BEAM. Note that only micros which actually have DUPCD's in the T_MATRIX are shown.

5.2.2.3 /DEVICE - In the context of BDL, a DEVICE is generally a DUPCD (Device Using Pulse Class Device) rather than a PCD (Pulse Class Device).


BEAM DEFINITION LANGUAGE (BDL) Page 5-7 SHOW/DEVICE identifies and shows the associated T_MATRIX value for the DEVICE (DUPCD) last operated upon. SHOW/DEVICE=(PRIM,MICR,UNIT) shows the associated T_MATRIX value for any DUPCD (specified by PRIM,MICR,UNIT) in the T_MATRIX. Note that the T_MATRIX value in ticks is shown (in decimal), as well as the time with respect to TREF (in nanoseconds), for DUPCD's using Type 1 and Type 2 PCD's. The T_MATRIX value for a DUPCD using a Type 3 PCD (i.e., using a PAU) is a channel number of the PAU, between 0 and 15.

5.2.2.4 /T_MATRIX - SHOW/T_MATRIX dumps a set of rows of the T_MATRIX. Note that the matrix is on its side to make the display more understandable. By default, the first 5 rows are displayed. Optionally, a row or range of rows may be specified as follows: SHOW/T_MATRIX=x SHOW/T_MATRIX=(x,y) where x and y are greater than or equal to 1 and are less than or equal to N_BEAMS. y must be greater than or equal to x, and at most 5 beams can be displayed at a time with the SHOW command (i.e., y-x must be no more than 4). Note that the T_MATRIX values in this display are in hex.


BEAM DEFINITION LANGUAGE (BDL) Page 5-8 After the display of the T_MATRIX, a display of the channel assignments of the DUPCD's (Devices Using Pulse Class Devices) is given for each PCD (Pulse Class Device). Then a display of the first column number and total number of columns for each micro in the T_MATRIX is given. It is possible to abort the rather long listing produced by the SHOW/T_MATRIX command without leaving BDL, by doing a Control O.

5.2.2.5 /KLYSTRONS - SHOW/KLYSTRONS displays a map of klystron activity by sector. An 'A' indicates ACCELERATE timing, an 'S' indicates STANDBY timing, a '-' indicates no pulse, and a blank indicates the device is unknown to BDL. (If it should really be there, a database error or omission is indicated.)

5.2.3 PRINT PRINT prints various displays on the line printer

5.2.3.1 /T_MATRIX - PRINT/T_MATRIX dumps a set of rows of the T_MATRIX. Note that the matrix is on its side to make the display more understandable. By default, the first 10 rows are displayed. Optionally, a row or range of rows may be specified as follows: PRINT/T_MATRIX=x PRINT/T_MATRIX=(x,y)


BEAM DEFINITION LANGUAGE (BDL) Page 5-9 where x and y are greater than or equal to 1 and are less than or equal to N_BEAMS. y must be greater than or equal to x, and at most 10 beams can be displayed at a time with the PRINT command (i.e., y-x must be no more than 9). After the display of the T_MATRIX, a display of the channel assignments of the DUPCD's (Devices Using Pulse Class Devices) is given for each PCD (Pulse Class Device). Then a display of the first column number and total number of columns for each micro in the T_MATRIX is given.

5.2.3.2 /NOMINAL - PRINT/NOMINAL prints a table of the value of the nominal time offset in ticks for each micro, for the currently set BEAM. Note that only micros which actually have DUPCD's in the T_MATRIX are printed. Note that the NOMINAL values are an increment to the T_MATRIX values derived from the database TREF's and PDUT's. All NOMINAL values vanish at DBGEN time and can only be saved across DBGEN's by making a BDL command file to be rerun after doing the DBGEN.

5.2.3.3 /KLYSTRONS -


BEAM DEFINITION LANGUAGE (BDL) Page 5-10 PRINT/KLYSTRONS displays a map of klystron activity by sector. An 'A' indicates ACCELERATE timing, an 'S' indicates STANDBY timing, a '-' indicates no pulse, and a blank indicates the device is unknown to BDL. (If it should really be there, a database error or omission is indicated.)

5.2.4 ACTIVATE ACTIVATE PRIM,MICR,UNIT "turns on" the specified device. The default timing is that implied by the PDU TREF, the device PDUT, and the NOMINAL time. Note that the PRIM,MICR,UNIT for all DEVICEs (DUPCDs) in the T_MATRIX can be seen using the BDL command SHOW/T_MATRIX or PRINT/T_MATRIX.

5.2.4.1 /OFFSET - ACTIVATE/OFFSET=nnn PRIM,MICR,UNIT is the same as activate but adds nnn ticks to the time value. Note that an OFFSET value is not saved anywhere, it is simply added to the T_MATRIX value that would otherwise be derived from the database TREF and PDUT (and the NOMINAL value, if any). All memory of the OFFSET value is lost as soon as the T_MATRIX value for the ACTIVATEd device changes again for any reason.

5.2.4.2 /ABSOLUTE -


BEAM DEFINITION LANGUAGE (BDL) Page 5-11 ACTIVATE/ABSOLUTE=nnn PRIM,MICR,UNIT set the specified device time to nnn. nnn is EXACTLY what goes in the T_MATRIX. Note that all memory of an ABSOLUTE value is lost as soon as the T_MATRIX element for the ACTIVATEd device is changed again for any reason.

5.2.5 DEACTIVATE DEACTIVATE PRIM,MICR,UNIT "turns off" the specified device by setting the implied T_matrix element to the null value (e.g., FFFF for DUPCD's controlled by type 1 PCD's).

5.2.6 ACCELERATE ACCELERATE first klystron /END=last klystron or ACCELERATE first klystron /GAIN=xxx will "turn on" the specified range of klystrons and subboosters. The "first klystron" parameter is specified : MICR,UNIT. Either /END or /GAIN must be specified. If /END=last klystron is specified, last klystron must be in the form (MICR,UNIT) ---note parentheses. Note that the MICR,UNIT for any klystron currently in the T_MATRIX can be seen using the BDL command SHOW/T_MATRIX or PRINT/T_MATRIX. The status of a klystron in the range specified by the ACCELERATE command is checked before putting it on accelerate timing ( the status is in the database secondary :STAT: under the primary :KLYS:). If the status is not OK, the klystron is put on standby timing.


BEAM DEFINITION LANGUAGE (BDL) Page 5-12 The subboosters in the sectors included in the range of the ACCELERATE command are activated by this command. NOMINAL times are added to the klystron accelerate times and to the subbooster times, but not to the klystron standby times.

5.2.6.1 /END - ACCELERATE LI00,11 /END=(LI30,81) will turn on all available klystrons for this BEAM. Note that parentheses are required on the /END qualifier.

5.2.6.2 /GAIN - ACCELERATE LI00,11 /GAIN=18.0 will turn on enough klystrons to produce an 18 GeV beam. If the GAIN specified is too high for the available set of klystrons (as specified by STAT indicating klystron availability and EREF indicating the energy gain for that klystron) an error message will be issued.

5.2.6.3 /BACKPHASE - Backphases the sector(s) included in the range of the accelerate command by changing the phase of the sub-booster(s) by 180 degrees. If a sub-booster receives a trigger on its backphase PDU channel before it receives a trigger on its pattern PDU channel, then it will be backphased on that machine pulse.


BEAM DEFINITION LANGUAGE (BDL) Page 5-13 (Not yet implemented)

5.2.6.4 /SLED - The SLED qualifier does not change any of the timing data in the T_MATRIX, nor does it control the tune of the SLED cavities in any way. However it is used for energy gain calculations by BDL --- if /SLED is present, the energy gains of the klystrons in the range specified in the accelerate command are assumed to be the SLED values. (Not yet implemented)

5.2.7 STANDBY STANDBY first_klystron last_klystron will put the specified range of klystrons on standby timing. Both the first_klystron and the last_klystron must be specified in the form : MICR,UNIT MICR,UNIT. It is wise when designing a BEAM to remember that a fresh beam has all klystrons off. Usually, one would put the whole machine on STANDBY and then set up the ACCELERATE klystrons. Subboosters in the sectors included in the range of the STANDBY command are activated by this command. NOMINAL times are NOT added to the klystron standby times, but ARE added to the subbooster times.

5.2.8 COPY The command


BEAM DEFINITION LANGUAGE (BDL) Page 5-14 COPY n (where parameter n is required) copies the T_MATRIX values for beam n to the currently set BEAM. The nominal values for beam n are also copied.

5.2.8.1 /NOMINAL - The command COPY/NOMINAL n not only copies the nominal values for beam n, but also adds them to the T_MATRIX values of beam n to produce the T_MATRIX values for the currently set BEAM. Obviously this applies only to the T_MATRIX values for Types 1 and 2 PCD's and not to PAU's.

5.2.9 LOADBEAM The command LOADBEAM or, LOADBEAM MICR or, LOADBEAM MIC1,MIC2 loads the T_MATRIX values, for the currently set BEAM only, into the range of micros specified. If no range is explicitly given (i.e., if the first form of the command above is used), the range is taken to be all micros which have DUPCD's in the T_MATRIX.

5.2.10 EXIT EXIT cause BDL to exit.


 
Go to top of page
Contact (until Aug. 15, 1996): Jeffrey Miller
Owner: Bob Sass

Converted from VAX Runoff output using doc2webset.pl