Dan Brown has created a script which starts and stops the frequency and intensity noise lines 47636. Unfortunately, with this script the rest of the commissioning team did not have control over the lines.
Today I made a guardian called AWG_LINES out of his script. It's in /opt/rtcds/userapps/trunk/isc/h1/guardian/AWG_LINES.py.
All it does is turn off and on the lines while correctly starting, stopping, and clearing the injection testpoints.
There are two states that matter: IDLE and INJECTING.
IDLE is nominal, no injections are enabled, and this is the start this guardian should be in during observing.
INJECTING should have all the lines enabled, and is good for our commissioning tasks right now. I will set up ISC_LOCK such that the lines are turned on in NOMINAL_LOW_NOISE. This will have to be changed for the run. I haven't had a chance to properly vet this guardian so I am leaving it out for now.
More lines can be added to the SET_UP_INJECTIONS state if desired.
EDIT: I just tested this guardian, it works as expected. Now ISC_LOCK requests 'INJECTING' every time it reaches NOMINAL_LOW_NOISE.
The injections were still going as TJ was trying to lock after his lockloss. For now, I have turned off the excitation enable buttons, but the guardian is still trying to send in the lines.
The AWG_LINES guardian didn't go through its STOP_INJECTING state when we lost lock, although TJ has checked that the loaded version of the ISC_LOCK guardian should have requested it to do so.
I forced the AWG_LINES guardian to go through STOP_INJECTING a few times, and it looks like it was happy to clear the LSC output matrix element (it also should have turned off some enable buttons, but I already had those off). I ask it to log what awgs it thinks it is running, and it thinks that there are no lines left alive. However, there certainly are lines still alive.
For now, with the excitation inputs disabled, we should be okay. I have also commented out of NomLowNoise the command to have the new guardian start sending in lines. We need this guardian to be checked, including the stopping of injections, before we let it back in to ISC_LOCK.
Operators - If you are having trouble locking, the symptom of these injections is that you can lock DRMI fine, but you can't get to RF_DARM. If that's true, copy the following 3 lines into a terminal:
cdsutils write LSC-MOD_RF9_AM_EXCITATIONEN 0cdsutils write LSC-REFL_SERVO_COMEXCEN 0cdsutils write PSL-ISS_SECONDLOOP_EXCITATION_GAIN 0