40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log  Not logged in ELOG logo
Entry  Wed May 23 13:57:11 2012, Jenne, Bureaucracy, General, 40m Meeting Action Items 
    Reply  Wed May 23 20:41:37 2012, Suresh, Bureaucracy, General, 40m Meeting Action Items: Tip-tilts : cabling and electronics  
    Reply  Thu May 24 01:17:13 2012, Den, Update, CDS, PMC autolocker 
       Reply  Sun Jun 24 23:42:31 2012, yuta, Update, Computer Scripts / Programs, PMC locker 
          Reply  Mon Jun 25 21:54:52 2012, Den, Update, Computer Scripts / Programs, PMC locker 
             Reply  Tue Jun 26 00:52:18 2012, yuta, Update, Computer Scripts / Programs, PMC locker 
                Reply  Thu Sep 19 18:48:24 2013, rana, Update, Computer Scripts / Programs, PMC locker pmc.png
                   Reply  Thu Sep 19 21:15:44 2013, rana, Update, Computer Scripts / Programs, PMC locker Untitled.pdf
Message ID: 6670     Entry time: Thu May 24 01:17:13 2012     In reply to: 6667     Reply to this: 6863
Author: Den 
Type: Update 
Category: CDS 
Subject: PMC autolocker 

Quote:

 

  • SCRIPT
    • Auto-locker for PMC, PSL things - DEN

 I wrote auto-locker for PMC. It is called autolocker_pmc, located in the scripts directory, svn commited. I connected it to the channel C1:PSL-PMC_LOCK.  It is currently running on rosalba. MC autolocker runs on op340m, but I could not execute the script on that machine

op340m:scripts>./autolock_pmc
./autolock_pmc: Stale NFS file handle.

I did several tests, usually, the script locks PMC is a few seconds. However, if PMC DC output has been drift significantly, if might take longer as discussed below.

The algorithm:

       if autolocker if enabled, monitor PSL-PMC_PMCTRANSPD channel
       if TRANS is less then 0.4, start locking:
               disengage PMC servo by enabling PMC TEST 1
               change PSL-PMC_RAMP unless TRANS is higher then 0.4 (*)
               engage PMC servo by disabling PMC TEST 1
       else sleep for 1 sec
 

(*) is tricky. If RAMP (DC offset) is specified then TRANS will be oscillating in the range ( TRANS_MIN, TRANS_MAX ). We are interested only in the TRANS_MAX. To make sure, we estimate it right, TRANS channel is read 10 times and the maximum value is chosen. This works good.

Next problem is to find the proper range and step to vary DC offset RAMP. Of coarse, we can choose the maximum range (-7, 0) and minimum step 0.0001, but it will take too long to find the proper DC offset. For that reason autolocker tries to find a resonance close to the previous DC offset in the range (RAMP_OLD - delta, RAMP_OLD + delta), initial delta is 0.03 and step is 0.003. It resonance is not found in this region, then delta is multiplied by a factor of 2 and so on. During this process RAMP range is controlled not to be wider then (-7, 0).

The might be a better way to do this. For example, use the gradient descent algorithm and control the step adaptively. I'll do that if this realization will be too slow.

I've disabled autolocker_pmc for the night.

ELOG V3.1.3-