QXR SLOW SPILL DATA BASE DEVICES



     This is a list of the data base  devices  for  the  Tevatron  QXR
microprocessor  relating  to  slow  spill.   There  are  other devices
related to QXR not on this list because they do not  operate  directly
through the QXR microprocessor.

     The devices are in order of increasing TAN (the TAN is  the  code
used by the GAS communications protocol).

     Most of these devices have only a setting property and no reading
property.  Exceptions are noted.

     Limits are shown only when they are different from the range.





S:SPILLT FLAT TOP SPILL LENGTH
        T,A,N=11,0,0 units=sec RANGE:  0 - 45.5 sec
S:SPILLP FRONT PORCH SPILL LENGTH
        T,A,N=11,0,1 units=sec RANGE:  0 - 45.5 sec
LIMITS:  0 - 35.7 sec (for S:SPILLT + S:SPILLP)

These spill lengths are the time from the end of the  QXR  ramp  until
the  end  of  the  spill.   They do NOT include the RAMP TIME or SPILL
DELAY.  Software ends the spill this many QXR cycles after the end  of
the  ramp.   Both  bucker  and QXR turn off at this time.  These spill
lengths are stored internally as whole numbers of  QXR  cycles,  hence
the full scale value:

                             1 second
             32768 cycles * ----------  =  45.5 seconds
                            720 cycles






S:TBEAM % BEAM IN FLAT TOP

QXR SLOW SPILL DATA BASE DEVICES                              Page A-2


        T,A,N=11,1,0 UNITS=% RANGE:  0 - 100 %
S:PBEAM % BEAM IN FRONT PORCH
        T,A,N=11,1,1 UNITS=% RANGE:  0 - 100 %

Only the % BEAM IN FLAT TOP is implemented at this time.   It  is  the
fraction  of  beam,  measured at the start of flat top, which QXR will
attempt to extract during the spill.





S:QXTSL QXR FLAT TOP START LEV
        T,A,N=11,2,0 UNITS=amps RANGE:  0 - 50 amps
S:QXPSL QXR FNT PORCH START LEV
        T,A,N=11,2,1 UNITS=amps RANGE:  0 - 50 amps

These start levels are used in  two  different  ways:   they  are  the
initial  values  for  the QXR ramps (see QXR FNT PORCH / FLAT TOP RAMP
TIME) and they are the values to which QXR memory is set  when  a  QXR
MEMORY  RESET  is  done (see device of that name).  It is important to
note that entering new values for these devices  does  not  in  itself
affect the QXR memory.  A QXR MEMORY RESET must be done to do that.





S:QXTSD QXR FLAT TOP SPILL DELAY
        T,A,N=11,3,0 units=msec RANGE:  0 - 45,511 msec
        LIMITS:  0 - 5686 msec
S:QXPSD QXR FNT PORCH SPILL DELY
        T,A,N=11,3,1 units=msec RANGE:  0 - 45,511 msec

These are the time after the "start of  flat  top  (or  front  porch)"
clock  event  which  the  software waits before starting the QXR ramp.
These delays are stored internally as whole  numbers  of  QXR  cycles,
hence the full scale value:

                           1 second
           32768 cycles * ----------  =  45,511 milliseconds
                          720 cycles






S:QXTRL QXR FLAT TOP RAMP TIME
        T,A,N=11,4,0 units=msec RANGE:  0 - 45,511 msec
        LIMITS:  0 - 2000 msec
S:QXPRL QXR FNT PORCH RAMP TIME
        T,A,N=11,4,1 units=msec RANGE:  0 - 45,511 msec

These are the durations of the QXR ramps.  During these ramps, the QXR

QXR SLOW SPILL DATA BASE DEVICES                              Page A-3


output  changes linearly upward at 720Hz.  The starting values for the
ramps are QXR FLAT TOP START LEV and QXR FNT  PORCH  START  LEV.   The
final values are given by the memory signal for cell 0 of flat top and
front porch.  These durations are stored internally as  whole  numbers
of QXR cycles, hence the full scale value:

                            1 second
            32768 cycles * ----------  =  45,511 milliseconds
                           720 cycles






S:BKTSL BKR FLAT TOP START LEV
        T,A,N=11,5,0 UNITS=amps RANGE:  -50 amps to 50 amp
S:BKPSL BKR FNT PORCH START LEV
        T,A,N=11,5,1 UNITS=amps RANGE:  -50 amps to 50 amp

These are the values to which the bucker memory is set when  a  BUCKER
MEMORY  RESET  is  done (see device of that name).  It is important to
note that entering new values for these devices  does  not  in  itself
affect  the  bucker  memory.  A BUCKER MEMORY RESET must be done to do
that.  It is expected that this value will be close to zero.





S:BKTSD BKR FLAT TOP SPILL DELAY
        T,A,N=11,6,0 units=msec RANGE:  0 - 5,689 msec
        LIMITS:  0 - 5686 msec
S:BKPSD BKR FNT PORCH SPILL DELY
        T,A,N=11,6,1 units=msec RANGE:  0 - 5,689 msec

These are the time after the "start of  flat  top  (or  front  porch)"
clock  event  which  the software waits before starting bucker output.
Usually this should be very close to the sum of QXR FNT PORCH  /  FLAT
TOP  SPILL DELAY and QXR FNT PORCH / FLAT TOP RAMP TIME.  These delays
are stored internally as whole numbers of  bucker  cycles,  hence  the
full scale value:

                           1  second
           32768 cycles * -----------  =  5,689 milliseconds
                          5760 cycles






S:FPLPAR FP PARAB IDEAL BM LENGTH
         T,A,N=11,7,1 UNITS=msec RANGE:  0 - 45,511 MSEC
S:FTLPAR FT PARAB IDEAL BM LENGTH

QXR SLOW SPILL DATA BASE DEVICES                              Page A-4


         T,A,N=11,7,0 UNITS=msec RANGE:  0 - 45,511 MSEC

This is the time duration at the start of a  spill  during  which  the
ideal  beam signal decreases parabolically.  It starts with a slope of
zero.





S:FTSDF FLAT TOP SPILL DUTY FAC
reading T,A,N=12,8,0 UNITS=% RANGE:  0 - 100 %
S:FPSDF FNT PORCH SPILL DUTY FAC
reading T,A,N=12,8,1 UNITS=% RANGE:  0 - 100 %

The spill duty factor is a measure of the quality of slow  spill.   It
is  calculated  between  cycles  as  follows  (read  the giant angular
brackets as parentheses and note the giant sigmas):

        / #cells       \
       /  ------        \   2
      /   \              \
     /     \              \
    /       \    S(cell)   \
    \       /              /
     \     /              /
      \   /              /
       \  ------        /
        \ cell=1       /

---------------------------------

             / #cells       \
            /  ------        \
           /   \              \
          /     \            2 \
#cells * /       \    S(cell)   \
         \       /              /
          \     /              /
           \   /              /
            \  ------        /
             \ cell=1       /

where "S(cell)" is the spill reading at each cell, and " cells" is the
number of cells that actually occurred.  This calculation is done only
if beam was present in the spill; the value is set to zero if no  beam
was present.  The calculation is done by the slave (BKR) processor and
takes quite a while (tens of seconds).  If it is not complete  by  the
start of the next cycle, strange things (such as partial learning) can
occur.  This probably will not be a problem, but the  current  version
of  software  does  not  even detect the situation, much less give any
warning.

QXR SLOW SPILL DATA BASE DEVICES                              Page A-5


S:TSBEAM % SLOW BEAM IN FLAT TOP
reading T,A,N=12,21,0 UNITS=% RANGE:  0 - 100 %
S:PSBEAM % SLOW BM IN FRONT PORCH
reading T,A,N=12,21,1 UNITS=% RANGE:  0 - 100 %

This read-only value is the percentage of beam to be removed  by  slow
spill.  QXR calculates it by subtracting the pulse desired intensities
from the % BEAM IN FLAT TOP (or FRONT PORCH).  At present, there is  a
controversy  about what percents mean for front porch.  Because we are
not yet running with a front porch, it is  not  urgent  that  this  be
settled.






S:QXNG QXR NEIGHBOR GAIN
        T,A,N=13,0,0 UNITS=% RANGE:  0 - 100 %
S:BKNG BKR NEIGHBOR GAIN
        T,A,N=14,0,0 UNITS=% RANGE:  0 - 100 %

After each ramp, after QXR and bucker learning are complete, both  the
QXR  and  bucker  memories  are  "smoothed".  The algorithm used is to
replace each cell's value with a weighted sum of  its  own  value  and
those  of  its  two neighbors.  The neighbor gain N is the fraction of
the SUM of the neighbor values used; one less  that  fraction  of  the
cell being smoothed is retained:

                               N/2 * preceding neighbor
                                          +
   cell value       <-          (1-N) * old cell value
                                          +
                               N/2 * following neighbor






S:QXPHS QXR PHASE SHIFT
        T,A,N=13,1,0 UNITS=cell RANGE:  0 - 32768 cell
        LIMITS:  0 - 720 cell
S:BKPHS BUCKER PHASE SHIFT
        T,A,N=14,1,0 UNITS=cell RANGE:  0 - 32768 cell

During learning, the error signal which should be  added  into  memory
for  a  given  cell is not the error signal from that cell, but from a
later cell.  This is so because the correction  (i.e.   memory  signal
output)  does  not  affect the beam immediately, but after some delay.
This  delay  can  be  specified  for  QXR  and  bucker  through  these
parameters.

     A "cell" here is a time period during which  QXR  or  the  bucker
output one value to the power supplies.  Since QXR operates at 720 Hz,
the duration of a "QXR cell" is 1/720  seconds  =  1.38  milliseconds.

QXR SLOW SPILL DATA BASE DEVICES                              Page A-6


Since  bucker operates eight times faster, at 5760 Hz, the duration of
a "bucker cell" is 1/5760 seconds = 174 microseconds.





S:QXLRR QXR LEARNING RATE RATE
        T,A,N=13,2,0 UNITS=%/cy RANGE:  0 - 100 %/cy
S:BKLRR BKR LEARNING RATE RATE
        T,A,N=14,2,0 UNITS=%/cy RANGE:  0 - 100 %/cy

(The unit here is % per tevatron cycle).

     After a memory reset, it is a good idea to specify a larger  than
usual  LEARNING RATE to more quickly build up a reasonable memory.  To
automate this, an INITial LEARNING RATE may be specified together with
a  FINAL  LEARNING RATE and a LEARNING RATE RATE.  The actual learning
rate used starts out, after a memory reset, at  the  INITial  LEARNING
RATE.  After each learning process, the learning rate is multiplied by
the LEARNING RATE RATE.  When the learning rate becomes lower than the
FINAL  LEARNING RATE, it is set to the FINAL LEARNING RATE and remains
there until another memory reset or until the FINAL LEARNING  RATE  is
changed.   If  the  FINAL  LEARNING RATE is changed, the learning rate
switches immediately to the new value; the LEARNING RATE RATE is  only
used  after  memory  resets.   Note  too  that  a memory reset is done
automatically on reboot.





S:QXILR QXR INIT LEARNING RATE
        T,A,N=13,3,0 UNITS=% RANGE:  0 - 100 %
S:BKILR BKR INIT LEARNING RATE
        T,A,N=14,3,0 UNITS=% RANGE:  0 - 100 %

These are the values to which the learning rate is set when  a  memory
reset is done (note that an automatic memory reset is done on reboot).
After each cycle, the learning rate is multiplied by the LEARNING RATE
RATEs until it reaches the final learning rate.





S:QXFLR QXR FINAL LEARNING RATE
setting T,A,N=13,4,0 UNITS=% RANGE:  0 - 100 %
reading T,A,N=15,0,0
S:BKFLR BKR FINAL LEARNING RATE
setting T,A,N=14,4,0 UNITS=% RANGE:  0 - 100 %
reading T,A,N=16,0,0

The settings are the final learning rates desired;  the  readings  are
     _______
the  current  learning rates.  On memory reset, the learning rates are

QXR SLOW SPILL DATA BASE DEVICES                              Page A-7


set to the  INITial  LEARNING  RATES.   After  each  cycle,  they  are
multiplied by the LEARNING RATE RATEs, decreasing until they reach (or
go below) the FINAL LEARNING RATEs.   They  then  stay  at  the  FINAL
LEARNING  RATEs.   If  a  FINAL LEARNING is changed, its learning rate
immediately changes to that value; the  RATE  RATE  is  only  used  on
memory reset.





S:QRESET QXR MEMORY RESET
        T,A,N=13,5,0 UNITS=none RANGE:  0 - 1
S:BRESET BKR MEMORY RESET
        T,A,N=14,5,0 UNITS=none RANGE:  0 - 1

The actual QXR/BKR output is the sum of several things, one  of  which
is  a memory signal.  This memory signal is initialized to the QXR/BKR
FNT PORCH START LEV and QXR/BKR FLAT TOP START  LEV  and  then,  after
each  ramp,  has  an  error  signal added into it.  The initialization
happens automatically on reboot.  To force it to occur again (if,  for
example, it is feared that the memory signal has been corrupted) these
parameters are used.

     Normally these parameters should have a value of 0.  To request a
memory  reset, set the value to 1.  The value changes to 1 immediately
(of course the new value will not show up immediatly  on  a  parameter
page  as  long as we use event-triggered updating).  The memory is not
immediately reset, however.  That is delayed  until  just  before  the
next  learning  phase.  After the reset is complete, the value of this
parameter should change back to 0.





S:QXMRR QXR MEM RETENTION RATE
         T,A,N=13,6,0 UNITS=% RANGE:  0 - 100 %
S:BKMRR BKR MEM RETENTION RATE
         T,A,N=14,6,0 UNITS=% RANGE:  0 - 100 %

For an  explanation  of  these  parameters,  see  the  explanation  of
Learning.





S:QXSPG QXR SPILL GAIN
        T,A,N=13,7,0 UNITS=QXR output volts RANGE:  0 - 10

Each of the analog  input  signals  is  multiplied,  in  the  multibus
hardware,  by  a  gain  specified by software.  The resulting value is
usually added directly into either the QXR or  bucker  output  signal.
Therefore these gains convert some kind of input volts to some kind of

QXR SLOW SPILL DATA BASE DEVICES                              Page A-8


output volts.  The gains are used to specify how much the input signal
should contribute to the output signal.

     In this case, the hardware multiply is cleverly used  to  perform
two funtions:  the spill is both normalized AND has the QXR SPILL GAIN
applied.  The software does this by first calculating  the  normalized
spill  "Ng", and then outputting an actual QXR spill gain of QXR SPILL
GAIN divided by Ng:

                                        QXR SPILL GAIN
              actual QXR spill gain  =  --------------
                                              Ng

where
          I*Is/Gi         I  = initial beam (intensity volts)
          -------         Is = % BEAM IN FLAT TOP
             Ls           Gi = QXR DC BEAM GAIN
Ng  =  --------------     Ls = FLAT TOP SPILL LENGTH
             K            K  = SPILL NORM SCALE FACTOR
          --------        n  = QXR spill attenuation
          10^(n/2)             (see ATTEN SWITCH THRESHOLD)
                          Ng = normalized spill (spill volts)






S:BKSPG BKR SPILL GAIN
        T,A,N=14,7,0
        UNITS=bucker output volts per spill input volt
        RANGE:  0 - 10

Each of the analog  input  signals  is  multiplied,  in  the  multibus
hardware,  by  a  gain  specified by software.  The resulting value is
usually added directly into either the QXR or  bucker  output  signal.
Therefore these gains convert some kind of input volts to some kind of
output volts.  The gains are used to specify how much the input signal
should contribute to the output signal.

     BKR SPILL GAIN is a number of bucker volts per spill  volt.   The
resulting  spill signal is stored away in memory, in bucker volts, and
is used, after the end of the spill, to  calculate  the  error  signal
added into bucker memory during learning.





S:DCGAIN QXR DC BEAM GAIN
        T,A,N=17,0,0 UNITS=none RANGE:  0 - 10

Each of the analog  input  signals  is  multiplied,  in  the  multibus
hardware,  by  a  gain  specified by software.  The resulting value is
usually added directly into either the QXR or  bucker  output  signal.

QXR SLOW SPILL DATA BASE DEVICES                              Page A-9


Therefore these gains convert some kind of input volts to some kind of
output volts.  The gains are used to specify how much the input signal
should contribute to the output signal.





S:QEGAIN QXR ERROR GAIN
        setting T,A,N=17,1,0
        UNITS=QXR output volts per intensity input volt
        RANGE:  0 - 16

The QXR error (measured beam intensity  minus  desired  intensity)  at
each  cell  during  spill is multiplied by this gain and saved.  After
the spill, during learning, those values are incorporated into the QXR
memory (see "LEARNING" ABOVE).





S:RPGAIN BUCKER RPOS GAIN
        T,A,N=18,0,0
        UNITS=bucker output volts per RPOS input volt
        RANGE:  0 - 10

Each of the analog  input  signals  is  multiplied,  in  the  multibus
hardware,  by  a  gain  specified by software.  The resulting value is
usually added directly into either the QXR or  bucker  output  signal.
Therefore these gains convert some kind of input volts to some kind of
output volts.  The gains are used to specify how much the input signal
should contribute to the output signal.

     The BUCKER RPOS GAIN is a number of bucker output volts per  RPOS
input  volt.   It  specifies  how  much  RPOS should contribute to the
bucker output signal:
         bucker output <- bucker memory + RPOS + BDOT





S:BDGAIN BUCKER BDOT GAIN
        T,A,N=18,1,0
        UNITS=bucker output volts per BDOT input volt
        RANGE:  0 - 10

Each of the analog  input  signals  is  multiplied,  in  the  multibus
hardware,  by  a  gain  specified by software.  The resulting value is
usually added directly into either the QXR or  bucker  output  signal.
Therefore these gains convert some kind of input volts to some kind of
output volts.  The gains are used to specify how much the input signal
should contribute to the output signal.

QXR SLOW SPILL DATA BASE DEVICES                             Page A-10


     The BUCKER BDOT GAIN is a number of bucker output volts per  BDOT
input  volt.   It  specifies  how  much  BDOT should contribute to the
bucker output signal:
         bucker output <- bucker memory + RPOS + BDOT





S:BGMEM BKR MEMORY GAIN
         T,A,N=18,11,0 UNITS=none RANGE:  0 - 16

This parameter controls the amount of bucker memory to be added to the
real-time spill signal and output during slow spill.





S:SPLATT SPILL MONITOR ATTENUAT'N 26
reading T,A,N=19,8,0 UNITS=none RANGE:  0 - 3

See the explanations of S:QXSPG (QXR SPILL GAIN) and  S:ATTRSH  (ATTEN
SWITCH THRESHOLD).  This is the "n" referred to there.





S:SNORML SPILL NORMALIZING LEVEL 26
reading T,A,N=22,0,0 UNITS=volts RANGE:  0 - 16 V

See the explanation of S:QXSPG (QXR SPILL GAIN).   This  is  the  "Ng"
referred to there.





S:NORMSF SPILL NORM SCALE FACTOR
        T,A,N=21,0,0
        UNITS=intensity volts per spill volt seconds
        RANGE:  0 - 16

Popularly known as "K", this parameter is  actually  a  constant,  the
ratio of the voltage conversion factors for spill and intensity:

           5x10^12 p/second
           ----------------
              spill volt             5  intensity volt
K  =   ------------------------  =  ------------------------
              3x10^12 p              3  spill volt x second
            --------------
            intensity volt


QXR SLOW SPILL DATA BASE DEVICES                             Page A-11


K is used in calculating the Spill Normalizing Level "Ng".  If  either
of the above conversions ever changes, someone must remember to change
K (fat chance).





S:BMTRSH BEAM THRESHOLD
        setting T,A,N=21,1,0
        reading T,A,N=22,2,0
        UNITS=intensity input volts
        RANGE:  0 - 10 V

Before each spill, the software decides whether beam is  present.   It
makes  that  decision by measuring the intensity immediately after the
start of front porch or start of flat  top  event  and  comparing  the
value  to  this  threshold.   If  the  intensity  is  greater than the
threshold, beam is considered present.  If the intensity is less  than
or equal to the threshold, beam is not considered present.

     The software does several  things  differently  if  beam  is  not
present:

     1.  The actual QXR spill gain sent to the  multibus  hardware  is
         zero.  This causes the spill signal to be zero.

     2.  The spill attenuation sent to the multibus hardware is set to
         zero.

     3.  The ideal beam signal is set to zero.  This  causes  the  QXR
         error  signal  to  be  essentially  zero (since the intensity
         signal should be small).

     4.  No learning will occur for the spill.

     5.  No smoothing will occur for the spill.






S:ATTRSH ATTEN SWITCH THRESHOLD
        T,A,N=21,2,0
        UNITS=spill input volts
        RANGE:  0 - 16 V

This parameter is used by the software  in  choosing  the  attenuation
sent  to hardware for QXR spill (see QXR SPILL GAIN explanation).  The
attenuation "n" is a whole number from 0 to  3  inclusive,  chosen  so
that the normalized spill "Ng" is as small as possible but larger than
ATTEN SWITCH THRESHOLD.

QXR SLOW SPILL DATA BASE DEVICES                             Page A-12


S:QEXTEN QXR EXTRACTION ENABLE
        T,A,N=29,8,2 UNITS=none RANGE:  0 - 1
S:BEXTEN BUCKER EXTRACTION ENABLE
        T,A,N=30,8,2 UNITS=none RANGE:  0 - 1

After a reboot, both QXR and BUCKER EXTRACTION are disabled (the value
of  both  of  these  parameters should be 0).  That is, neither system
will respond to tevatron clock events.  Instead, each will  remain  in
state  2  (this  is observable on the front panel LEDs on the multibus
crate).  This is to allow operators (and  eventually  the  front  end,
automatically) to download the appropriate parameters.

     When the parameters are satisfactory  extraction  is  enabled  by
setting both of these parameters to 1.

     To run QXR without bucker, set QXR EXTRACTION  ENABLE  to  1  and
BUCKER  EXTRACTION  ENABLE to 0.  These two parameters are independent
and can be changed at any time.  Presently,  however,  the  bucker  is
somewhat dependent on QXR and will not run correctly by itself.












                              APPENDIX B

                   QXR FAST SPILL DATA BASE DEVICES



     This is a list of the data base  devices  for  the  Tevatron  QXR
microprocessor  relating  to  fast  spill.   There  are  other devices
related to QXR not on this list because they do not  operate  directly
through the QXR microprocessor.

     The devices are in no particular order.

     Most of these devices have only a setting property and no reading
property.  Exceptions are noted.

     Limits are shown only when they are different from the range.

     Ping devices are listed along  with  pulse  devices  even  though
pings are not yet supported by the micro software.





S:PIDECQ QXR PING DECREMENT
  T,A,N=17,9,0 UNITS=amps RANGE:  0 - 50 amps
S:PUDECQ QXR PULSE DECREMENT
  T,A,N=17,8,0 UNITS=amps RANGE:  0 - 50 amps

This is the amount by which the  QXR  output  is  decremented  at  the
receipt  of  a  pulse event.  The micro always keeps track of the last
value output.  When a pulse event occurs,  the  micro  subtracts  this
decrement  and  outputs the result to QXR.  If the result is negative,
zero is output.  No other output is done to QXR during the PULSE  DEAD
TIME.



S:PIDECB BKR PING DECREMENT
  T,A,N=18,8,0 UNITS=amps RANGE:  -50 amps TO 50 amp
S:PUDECB BKR PULSE DECREMENT
  T,A,N=18,9,0 UNITS=amps RANGE:  -50 amps TO 50 amp

This is the amount by which the  BKR  output  is  decremented  at  the
receipt  of  a  pulse event.  The micro always keeps track of the last

QXR FAST SPILL DATA BASE DEVICES                              Page B-2


value output.  When a pulse event occurs,  the  micro  subtracts  this
decrement  and outputs the result to BKR.  The result is allowed to be
negative.  For the end  pulse,  the  decrement  is  ignored;  zero  is
output.  No other output is done to BKR during the PULSE DEAD TIME.



zS:PIDEAD PING DEAD TIME
  T,A,N=21,3,0 UNITS=msec RANGE:  0 - 45,511 msec
S:PUDEAD PULSE DEAD TIME
  T,A,N=21,4,0 UNITS=msec RANGE:  0 - 45,511 msec

This is the time duration, starting at the receipt of a  pulse  event,
during  which  the regular cyclic outputs to QXR and BKR are not done.
Instead they are set to constant values (see PULSE DECREMENTs  above).
It  is  during  this time, after the PULSE DELAY (or END PULSE DELAY),
that the pulse is done.



S:PIDEL PING DELAY
  T,A,N=18,2,0 UNITS=msec RANGE:  0 - 5,689 msec
S:PUDEL PULSE DELAY
  T,A,N=17,2,0 UNITS=msec RANGE:  0 - 5,689 msec
S:ENDPDL END PULSE DELAY
  T,A,N=17,15,0 UNITS=msec RANGE:  0 - 5,689 msec

This is the time duration, starting at the receipt of a  pulse  event,
before  the  pulse  is actually done.  All pulses except the end pulse
use PULSE DELAY.  The end pulse  has  its  own  parameter,  END  PULSE
DELAY.



S:PISLEV PING START LEVEL
  T,A,N=18,3,0 UNITS=amps RANGE:  -50 amps TO 50 amp
S:PUSLEV PULSE START LEVEL
  T,A,N=17,3,0 UNITS=amps RANGE:  0 - 250 amps

This is the value given to all pulse levels (except for the end pulse)
when  a PULSE RESET is done (recall that a pulse reset is also done at
boot and whenever a BKR RESET is done).  After each cycle,  the  pulse
level  is  then modified by learning.  Note that all pulses start with
the same level and then develop different levels by learning.



S:PILR PING LEARNING RATE
  T,A,N=18,5,0 UNITS=% RANGE:  0 - 100 %
S:PULR PULSE LEARNING RATE
  T,A,N=17,5,0 UNITS=% RANGE:  0 - 100 %

This is the fraction of the pulse error added  into  the  pulse  level
during  learning  (no learning is done for the end pulse).  The actual
formula is:

QXR FAST SPILL DATA BASE DEVICES                              Page B-3



        V  <-  V + L*E*G

        where
                V = level
                L = PULSE LEARNING RATE
                E = error
                  = desired intensity
                    - intensity actually removed
                G = PULSE ERROR GAIN

Note that L and G are identical for all pulses while V  and  E  differ
for each pulse and for each cycle.



S:PIGE PING ERROR GAIN
  T,A,N=18,6,0 UNITS=V/V RANGE:  -128 V/V TO 128 V/V
S:PUGE PULSE ERROR GAIN
  T,A,N=17,6,0 UNITS=V/V RANGE:  0 - 128 V/V

See PULSE LEARNING RATE.



S:PIDIi PING i DESIRED INTENSITY
  T,A,N=37,0,0 UNITS=Volts RANGE:  0 - 10 V
S:PUDIi PULSE i DESIRED INTNSITY
  T,A,N=35,0,0 UNITS=% RANGE:  0 - 100 %

This is really ten different devices, with i ranging  from  1  to  10.
This  is  the percentage of beam one wishes to remove in a given pulse
including the end pulse.  The software multiplies  these  percents  by
the  actual  beam  intensity  and  uses the resulting absolute desired
intensities.



S:FPNPI FP NUMBER PINGS
  reading T,A,N=12,9,1 UNITS=none RANGE:  0 - 10
  setting T,A,N=11,8,1 UNITS=none RANGE:  0 - 10
S:FPNPU FP NUMBER PULSES
  reading T,A,N=12,10,1 UNITS=none RANGE:  0 - 10
  setting T,A,N=11,9,1 UNITS=none RANGE:  0 - 10
S:FTNPI FT NUMBER PINGS
  reading T,A,N=12,9,0 UNITS=none RANGE:  0 - 10
  setting T,A,N=11,8,0 UNITS=none RANGE:  0 - 10
S:FTNPU FT NUMBER PULSES
  reading T,A,N=12,10,0 UNITS=none RANGE:  0 - 10
  setting T,A,N=11,9,0 UNITS=none RANGE:  0 - 10
LIMITS:  0 - 10 (FT NUMBER PULSES + FP NUMBER PULSES)
LIMITS:  0 - 10 (FT NUMBER PINGS + FP NUMBER PINGS)

These settings tell the micro how many pulses to expect in each spill.
The  micro  needs  to  know this in order to calculate ideal beam.  It

QXR FAST SPILL DATA BASE DEVICES                              Page B-4


also need to know this because it assumes  that  the  final  flat  top
pulse  (if  FT NUMBER PULSES is not zero) is going to be the end pulse
and will occur shortly after the end of the flat top slow spill.

     The reading  property  gives  the  number  of  pulses  that  have
actually  occurred  so far in the spill.  Thus the reading "counts up"
to the setting during each cycle.  Note that the micro does  not  know
precisely  when  to  expect  the  pulses  until the pulse clock events
actually occur.



S:PIRES PING RESET
  T,A,N=14,9,0 UNITS=none RANGE:  0 - 1
S:PURES PULSE RESET
  T,A,N=13,9,0 UNITS=none RANGE:  0 - 1

Setting this to one causes the micro to reset all the pulse levels  to
the  PULSE  START  LEVEL.  Note that all pulse levels are reset to the
same value.  Note too that this does not apply to the  end  pulse  (if
there is one); its value is always END PULSE LEVEL.



S:PIWID PING WIDTH
  T,A,N=18,4,0 UNITS=msec RANGE:  0 - 5,689 MSEC
S:PUWID PULSE WIDTH
  T,A,N=17,4,0 UNITS=msec RANGE:  0 - 5,689 MSEC

This is the time during which the pulse is actually done.  During this
time,  the pulse waveform, scaled in time by PULSE WIDTH and scaled in
height by the pulse level, is output.  The output is done not  to  the
normal QXR channel but to a special channel devoted to pulsing.



S:PIENAB PING ENABLE
  T,A,N=18,7,0 UNITS=none RANGE:  0 - 1
S:PUENAB PULSE ENABLE
  T,A,N=17,7,0 UNITS=none RANGE:  0 - 1

This is a way to enable (set to one) and disable (set to zero) pulsing
without  changing  the other parameters.  If pulsing is disabled using
this device, the correct numbers of pulse events are still expected by
the  software.   The  software  even  calculates  ideal beam as if the
pulses were going to occur!  (This is done in order to avoid a  change
of  slope  when pulsing is re-enabled.) The only effect of this device
being set to zero is that when the pulse event  actually  occurs,  the
pulse  waveform  is  not output (QXR and BKR are decremented for PULSE
DEAD TIME).



S:ENDPLV END PULSE LEVEL
  T,A,N=17,10,0 UNITS=Amps RANGE:  0 - 250 AMPS

QXR FAST SPILL DATA BASE DEVICES                              Page B-5


The end pulse has a level like all the other pulses.  But it does  not
get  initialized  to the PULSE START LEVEL and it does not learn using
PULSE LEARNING RATE and PULSE ERROR GAIN.  It  is  set  to  END  PULSE
LEVEL  and remains at that value until END PULSE LEVEL is changed by a
user.



S:ENDPTH END PULSE THRESHOLD
        setting T,A,N=17,11,0
        reading T,A,N=19,15,0
        UNITS=Volts
        RANGE:  0 - 10 V

The end pulse is done only if the beam intensity at the  time  of  the
end pulse event is less than this END PULSE THRESHOLD.

     The END PULSE THRESHOLD is normalized.  That is, the  setting  is
divided  by  the QXR DC BEAM GAIN and the resulting value is the value
actually used by the microprocessor.  This  normalized  value  is  the
reading.



S:MAXPU MAXIMUM PULSE INTENSITY
  reading T,A,N=19,17,0 UNITS=Volts RANGE:  0 - 10 V
  setting T,A,N=17,12,0 UNITS=Volts RANGE:  0 - 16 V

Each pulse (including the end pulse) is  done  only  if  the  absolute
desired  intensity  for  the  pulse  is  less  than  the MAXIMUM PULSE
INTENSITY.   The  absolute  desired  intensity  for  each   pulse   is
calculated  at  the  start  of  the  spill  by multiplying the percent
desired intensities (provided by the user via  GAS  commands)  by  the
actual  intensity in the machine.  Note that because there is only one
MAXIMUM PULSE INTENSITY applied  to  several  pulses  with  (possibly)
different  desired  intensities,  it  can  happen that only the larger
pulses will be thwarted by this restriction in any given spill.

     The MAXIMUM PULSE INTENSITY is normalized.  That is, the  setting
is  divided  by  the  QXR  DC BEAM GAIN and the resulting value is the
value actually used by the microprocessor.  This normalized  value  is
the reading.




S:ABPURR ABORTED PULSE RET RATE
  T,A,N=17,13,0 UNITS=% RANGE:  0 - 100 %

If an abort occurs during a pulse's  PULSE  DEAD  TIME,  the  software
assumes  that  QXR  might  have  caused the abort and should back off.
Therefore, rather than do the regular learning, the  pulse  level  for
this  pulse  is  decreased  by  multiplying  it  by  the ABORTED PULSE
RETention RATE.  If the pulse really is causing the abort,  it  should
eventually stop because its level will be reduced after every cycle.

QXR FAST SPILL DATA BASE DEVICES                              Page B-6


S:PULPAR PULSE PARABOLA LENGTH
  T,A,N=17,14,0 UNITS=msec RANGE:  0 - 45,511 MSEC

After each pulse (except the end  pulse),  the  ideal  beam  decreases
parobolically  for PULSE PARABOLA LENGTH.  This parabola is similar to
the parabola at the start of the spill.  Note that another pulse event
is  not  allowed during the parabolic ideal beam.  Any such event will
be ignored!  (The reason for this is that it would  be  impossible  to
calculate  the  entire  ideal  beam  signal  with incomplete parobolic
segments.)















                              APPENDIX C

                     QXR SYSTEM DATA BASE DEVICES



S:QXRGAS GAS ERRORS FOR QXR

        Bit     Priority        Message

        0       7               QXR MICRO UMQ OVRFLOW
        1       7               QXR MICRO BAD EOP INT
        2       7               QXR MICRO BAD SET CMD
        3       7               QXR MICRO UNEXPD HINT
        4       7               QXR MICRO BAD STD STRING
        5       7               QXR MICRO ILLEGAL SET


These are the standard GAS errors applied to QXR  in  this  data  base
device.

QXR SYSTEM DATA BASE DEVICES                                  Page C-2


S:QXRSYS SYSTEM EVENTS FOR QXR

        Bit     Priority        Message

        0       10              (S) GINT W/O INT BIT SET
        1       10              (M) GINT W/O INT BIT SET
        2       13              CODE DOWNLOAD SUCCESSFUL 
        3       13              CODE DOWNLOAD FAILED
        4       13              CODE DOWNLOAD REQUESTED
        5       7               (S) PERIODIC TASK RETRIG
        6       7               (M) PERIODIC TASK RETRIG
        7       8               AUTO DC BEAM GAIN SAT
        8       10              (S) BAD INTERRUPT
        9       10              (M) BAD INTERRUPT
        10      7               LINK NOT READY
        11      0               ABORT
        12      8               TOTAL PULSE % TOO BIG
        13      7               LINK READBACK BAD (NAF)
        14      7               LINK READBACK BAD (VALUE)
        15      9               BAD MBIP DETECTED
        16      9               BAD SBIP DETECTED
        17      7               (S) ATTD STATE CHG FAILED
        18      7               (M) ATTD STATE CHG FAILED
        19      9               LINK READBACK BAD (AGG)
        20      9               LINK READBACK BAD (HIGH)
        21      10              (S) BAD EXCEPTION
        22      10              (M) BAD EXCEPTION
        23      0               TEST NOTEWORTHY EVENT
        24      7               TOO FEW PINGS FOR SPILL
        25      7               TOO MANY PINGS FOR SPILL
        26      7               TOO FEW PULSES FOR SPILL
        27      7               TOO MANY PULSES FOR SPILL
        28      7               NO PULSE.br;S: DISABLED
        29      7               NO PULSE.br;S: L NOT FINAL
        30      7               NO PULSE.br;S: EST TOO BIG
        31      7               NO END PULSE: TOO BIG


QXR SYSTEM DATA BASE DEVICES                                  Page C-3


S:MSTATE MASTER'S CURRENT STATE
reading T,A,N=27,2,0 UNITS=none RANGE:  0 - 31
S:SSTATE SLAVE'S CURRENT STATE
reading T,A,N=28,2,0 UNITS=none RANGE:  0 - 31

Each processor's current state can be  read  using  these  parameters.
They can even be plotted!