Reports until 15:35, Monday 16 May 2016
H1 SUS
jeffrey.kissel@LIGO.ORG - posted 15:35, Monday 16 May 2016 - last comment - 13:39, Tuesday 17 May 2016(27223)
Model Prep for Individual Coil Driver Switching of HSTS M3 Stages
J. Kissel, B. Weaver
Work Permit: #5880
FRS Ticket: #5489
Integration Issue: #FRS 5506
ECR: E1500045

As a band-aid solution to the ganged-coil-driver-state-switching-lock-losses-during-acquisition, recently identified to be PRM (see LHO aLOG 27158), we're going to modify the M3 stage of the HSTS's library part to have individual control over coil switching similar to what was done with the M2 stage of the Beam Splitter some time ago (see E1500045).

Because of the breakdown of suspension-type library parts, we must changes to
/opt/rtcds/userapps/release/sus/common/models/
HSTS_MASTER.mdl
MC_MASTER.mdl
and instead of copying the un-library-parted BSFM_MASTER M2 COILOUTF bank, we created a new library part to be copied into the HSTS_ and MC_MASTER_M3 stages, called
/opt/rtcds/userapps/release/sus/common/models/FOUROSEM_COILOUTF_MASTER_INDIVIDUAL_CTRL.mdl
We've confirmed that these updated models compile, and they've been committed to the userapps repo.

We'll work on MEDM screens tomorrow morning, once we've compiled the updated models and we have new channels. There will be some settings (namely the coil driver state settings) that will be lost from the channel name switch, so we'll make sure to replace those in the SDF system accordingly. We'll also make our best attempt EVER at preserving the alignment of these SUS after the restart.

Images attached to this report
Comments related to this report
betsy.weaver@LIGO.ORG - 15:39, Monday 16 May 2016 (27225)

Here are some screen captures of the HSTS BIO and EULER2OSEM matricies which we will be incorporated into new MEDM screens tomorrow.

Images attached to this comment
jeffrey.kissel@LIGO.ORG - 13:39, Tuesday 17 May 2016 (27239)
J. Kissel, B. Weaver, [J. Betzwiser remotely]

As usual, we were only able to find bugs in the above SUS model changes for individual coil driver state switching after we'd finished making the MEDM screen modifications. 

After checking the coil driver compensation functionality after the model changes, we were immediately reminded that the STATE MACHINE logic for those HSTSs stages which have modified TACQ drivers is different from those stages without modification. The beam splitter M2 stage -- which we'd used as an example for the new infrastructure -- which uses an unmodified TACQ driver, where as the recycling-cavity HSTS's (PRM PR2 SRM and SR2 -- at H1 at least) have both their M2 and M3 TACQ drivers modified for extra actuation range. Once we reminded ourselves which suspensions had which drivers modified, we found it best to create a new library part in the 
/opt/rtcds/userapps/release/sus/common/models/STATE_BIO_MASTER.mdl
library capable of individual coil state switching library that uses the correct compensation switching code for the modified driver. It's obscure, but it's as simple as copying over the existing INDIVIDUAL_CTRL block, then changing 
inline TACQ $SUS_SRC/CD_STATE_MACHINE.c
to
inline TACQ_M2 $SUS_SRC/CD_STATE_MACHINE.c
in each of the cdsFunctionCall block.

I've attached screenshots of the updated STATE_BIO_MASTER library and the innards of the parts inside. Note that I've 
- changed the names of the library blocks associated with the TACQ drivers at the top level to better differentiate between the differences. 
- made the inline function call visible under the cdsFunctionCall block (right-click > Properties ... > Block Annotation tab > double click on "Description" block property token to add to the list of things for annotation > hit OK) so that the difference in the code call is obvious without digging into the properties.

These new library blocks (and the renamed existing blocks for the unmodified driver) were hooked up to the HSTS master models according to their arrangement of TACQ driver modifications: [For H1 ONLY see E1400369 and E1200931]
HSTS_MASTER   MC1, MC3               No TACQ Driver Mods

MC_MASTER     MC2                    M2 stage driver modified

RC_MASTER     PRM, PR2, SRM, SR2     Both M2 and M3 stages modified

Also, for convenience, remember you can find details of the modification in L1200226, but in summary, the modified driver is a factor of 10 stronger than an unmodified driver (and there's no longer frequency response in the output impedance network, which is why the digital compensation has to change).
Also, also, the state machine diagrams that outline how the digital compensation works with the analog driver state can be found in T1100507

These updated models have been committed to the sus/common/models/ directory of the userapps repo, so one needs not do anything different than the above update instructions to receive the bug fix. Since the distinction between whether no, one, or two of an HSTS's TACQ drivers are modified is made at the top-level of the model, i.e. by which of the HSTS_, MC_, or RC_MASTER blocks are used, there shouldn't be a need to change any top-level stuff at LLO to receive this model update. Just update that sus/common/model/ corner of the repo, and recompile, re-install, and re-start.
Images attached to this comment