Specifications for Orbit Stabilization Program

General Comments:

Program will run as a slot 7 application.

This implies that there is no keyboard interrupt necessary for the stabilization process.

Also, when run as slot 7 program, no screen I/O can be performed.

This program will perform no DFG restore function.

 

Operation of the program is controlled by Acnet devices:

The state device V:TORBFB will be used to set the desired state of stabilization feedback.  A setting of 1 means that stabilization will be active when the Collider is in the proper state, and a setting of 2 means that stabilization is inactive.

Stabilization becomes active when V:TORBFB = 1 AND V:CLDRST = 14.  When stabilization becomes active, the following actions are taken by the program:

Whenever the feedback transitions from inactive to active, the program starts back at the top bullet defining a new nominal orbit.  If the stabilization program runs for 10 hours, and then V:TORBFB is set to 2 and back to 1, the program will begin stabilizing to the new nominal orbit.

There must be the following Acnet devices (not yet built, and the names are not finalized) that are used for program control. 

C:ORFBSC - step cut used for correction.

C:ORFBFQ - frequency of correction (number of seconds between corrections)

C:ORFBIT - loop counter (number of corrections since becoming active)

Program Status:

There needs to be an Acnet device that shows several status bits set by the program.  This device is capable of alarming on any bit.  We will view these bits from the digital status page.  We will have to modify the bit definitions as we learn about this program.

C:ORFBST

bit meaning values
1 stabilization correction running Running/Stopped
2 BPM data valid Valid/Invalid
3 Overcurrent condition calculated OK/OC
4 Acnet setting status OK/error
5 BPM data fresh/stale
6 V:ORBFB setting on/off
7 V:CLDRST = HEP yes/no
8 V:TEVMOD = Beam mode yes/no
9    

Changing the correction elements used by the program would require a re-compile of the program.

Response to external conditions:

The corrections should stop under any of the following conditions:

  1. V:CLDRST != 14 (or other allowed values)
  2. V:TORBFB = inactive
  3. V:TEVMOD != (Colliding Beams OR Proton Only)
  4. Event $47 detected
  5. Event $4B detected

The above implies that the program needs to listen for events $47 and $4B.  It must also register for states callbacks on state devices V:TORBFB, V:CLDRST, and T:TEVMOD.  To restart stabilization under any of these conditions, V:TORBFB must be set to active, and then the other conditions for running must be met.

There must be a program log that logs:

 

Restoring conditions

Restoring DFGs will not be done by the stabilization program. Before we ramp, an ACL script triggers a copy of energy and squeeze tables from table 1 into table 7.  At the end of a store, we will use an ACL script to copy the contents of table 7 back into table 1, restoring the DFG tables to the start of ramp conditions.  The ACL scripts will also write zeroes to the second slot of the F(t) table 1 used by the stabilization program.  This will only be done for the dipoles used by the stabilization program, so if we change the program to use different dipoles, we should also change the ACL script.