Reports until 18:47, Wednesday 27 April 2016
H1 ISC (ISC)
craig.cahillane@LIGO.ORG - posted 18:47, Wednesday 27 April 2016 - last comment - 19:15, Wednesday 27 April 2016(26837)
Changed conditions on switching on/off offsets while locking
C. Cahillane, J. Driggers, S. Dwyer

There was an issue where during lock acquisition at the stage ENGAGE_SOFT_LOOPS, there was a filter (FM2) that was occasionally not being switched 'OFF' automatically by guardian for the filter modules ASC-DSOFT_P and ASC-CSOFT_P. 
In the Guardian code ISC_library.py, there is a function called FM_limit_checker_decorator(FM, sign, action, onstate, offstate) which takes in a filter module FM and changes the state to onstate under certain conditions and to offstate otherwise.  (action specifies the filter 'FM2', sign affects the conditions)

The issue was that FM_limit_checker_decorator always read in FM+'_OFFSET' value, even when the offset filter was flipped off.  I adjusted the FM_limit_checker_decorator code to check if the offset filter was flipped off before populating the FM+'_OFFSET' value.  This is why the code worked when the offset was 0, but could fail if the offset had value but was flipped off.

Comments related to this report
craig.cahillane@LIGO.ORG - 19:15, Wednesday 27 April 2016 (26838)ISC
C. Cahillane, J. Driggers, S. Dwyer

I also altered the function FM_limit_checker_decorator such that it checks if it's already in a state before changing to a state.
If the filter is already 'ON', and we want to turn it 'ON', it will do nothing.  Similarly for 'OFF' states.
This removed four annoying Guardian log messages.