40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 28 of 330  Not logged in ELOG logo
ID Date Author Type Categoryup Subject
  16597   Wed Jan 19 14:41:23 2022 KojiUpdateBHDSuspension Status

Is this the correct status? Please directly update this entry.


LO1 [Glued] [Suspended] [Balanced] [Placed In Vacuum] [OSEM Tuned] [Damped]
LO2 [Glued] [Suspended] [Balanced] [Placed In Vacuum] [OSEM Tuned] [Damped]
AS1 [Glued] [Suspended] [Balanced] [Placed In Vacuum] [OSEM Tuned] [Damped]

AS4 [Glued] [Suspended] [Balanced] [Placed In Vacuum] [OSEM Tuned] [Damped]
PR2 [Glued] [Suspended] [Balanced] [Placed In Vacuum] [OSEM Tuned] [Damped]
PR3 [Glued] [Suspended] [Balanced] [Placed In Vacuum] [OSEM Tuned] [Damped]
SR2 [Glued] [Suspended] [Balanced] [Placed In Vacuum] [OSEM Tuned] [Damped]


Last updated: Thu Jan 20 17:16:33 2022

  16598   Wed Jan 19 16:22:48 2022 AnchalUpdateBHDPR2 transmission calculation updated

I have further updated my calculation. Please find the results in the attached pdf.

Following is the description of calculations done:


Arm cavity reflection:

Reflection fro arm cavity is calculated as simple FP cavity reflection formula while absorbing all round trip cavity scattering losses (between 50 ppm to 200 ppm) into the ETM transmission loss.

So effective reflection of ETM is calculated as

r_{\rm ETMeff} = \sqrt{1 - T_{\rm ETM} - L_{\rm RT}}

r_{\rm arm} = \frac{-r_{\rm ITM} + r_{\rm ETMeff}e^{2i \omega L/c}}{1 - r_{\rm ITM} r_{\rm ETMeff}e^{2 i \omega L/c}}

The magnitude and phase of this reflection is plotted in page 1 with respect to different round trip loss and deviation of cavity length from resonance. Note that the arm round trip loss does not affect the sign of the reflection from cavity, at least in the range of values taken here.


PRC Gain

The Michelson in PRFPMI is assumed to be perfectly aligned so that one end of PRC cavity is taken as the arm cavity reflection calculated above at resonance. The other end of the cavity is calculated as a single mirror of effective transmission that of PRM, 2 times PR2 and 2 times PR3. Then effective reflectivity of PRM is calculated as:

r_{\rm PRMeff} = \sqrt{1 - T_{\rm PRM} - 2T_{\rm PR2} - 2T_{\rm PR3}}

t_{\rm PRM} = \sqrt{T_{\rm PRM}}

Note, that field transmission of PRM is calculated with original PRM power transmission value, so that the PR2, PR3 transmission losses do not increase field transmission of PRM in our calculations. Then the field gain is calculated inside the PRC using the following:

g = \frac{t_{\rm PRM}}{1 - r_{\rm PRMeff} r_{\rm arm}e^{2 i \omega L/c}}

From this, the power recycling cavity gain is calculated as:
G_{\rm PRC} = |g|^2

The variation of PRC Gain is showed on page 2 wrt arm cavity round trip losses and PR2 transmission. Note that gain value of 40 is calculated for any PR2 transmission below 1000 ppm. The black verticle lines show the optics whose transmission was measured. If V6-704 is used, PRC Gain would vary between 15 and 10 depending on the arm cavity losses. With pre-2010 ITM, PRC Gain would vary between 30 and 15.


LO Power

LO power when PRFPMI is locked is calculated by assuming 1 W of input power to IMC. IMC is assumed to let pass 10% of the power (L_{\rm IMC}=0.1). This power is then multiplied by PRC Gain and transmitted through the PR2 to calculate the LO power.

P_{\rm LO, PRFPMI} = P_{\rm in} L_{\rm IMC}G_{\rm PRC}T_{\rm PR2}

Page 3 shows the result of this calculation. Note for V6-704, LO power would be between 35mW and 15 mW, for pre-2010 ITM, it would be between 15 mW and 5 mW depending on the arm cavity losses.

The power available during alignment is simply given by:
P_{\rm LO, align, PRM} = P_{\rm in} L_{\rm IMC} T_{\rm PRM} T_{\rm PR2}

P_{\rm LO, align, no PRM} = P_{\rm in} L_{\rm IMC} T_{\rm PR2}

If we remove PRM from the input path, we would have sufficient light to work with for both relevant optics.


I have attached the notebook used to do these calculations. Please let me know if you find any mistake in this calculation.

Attachment 1: PR2transmissionSelectionAnalysis.pdf
PR2transmissionSelectionAnalysis.pdf PR2transmissionSelectionAnalysis.pdf PR2transmissionSelectionAnalysis.pdf PR2transmissionSelectionAnalysis.pdf
Attachment 2: PR2_Trans_Calc.ipynb.zip
  16599   Wed Jan 19 18:15:34 2022 YehonathanUpdateBHDAS1 resurrection

Today I suspended AS1. Anchal helped me with the initial hanging of the optics. Attachments 1,2 show the roll balance and side magnet height. Attachment 3 shows the motion spectra.

The major peaks are at 668mHz, 821mHz, 985mHz.

For some reason, I was not able to balance the pitch with 2 counterweights as I did with the rest of the thin optics (and AS1 before). Inserting the weights all the way was not enough to bring the reflection up to the iris aperture that was used for preliminary balancing. I was able to do so with a single counterweight (attachment 4). I'm afraid something is wrong here but couldn't find anything obvious. It is also worth noting that the yaw resonance 668mHz is different from the 755mHz we got in all the other optics. Maybe one or more of the wires are not clamped correctly on the side blocks?

The OSEMs were pushed into the OSEM plate and the plates were adjusted such that the magnets are at the center of the face OSEMs. The wires were clamped and cut from the winches. The SOS is ready for installation.

Also, I added a link to the OSEM assignments spreadsheet to the suspension wiki.

I uploaded some pictures of the PEEK EQ stops, both on the thick and thin optics, to the Google Photos account.

Attachment 1: AS1_roll_balance2.png
AS1_roll_balance2.png
Attachment 2: AS1_magnet_heigh2.png
AS1_magnet_heigh2.png
Attachment 3: FreeSwingingSpectra.pdf
FreeSwingingSpectra.pdf
Attachment 4: IMG_6324.JPG
IMG_6324.JPG
  16602   Thu Jan 20 01:48:02 2022 KojiUpdateBHDPR2 transmission calculation updated

IMC is not such lossy. IMC output is supposed to be ~1W.

The critical coupling condition is G_PRC = 1/T_PRM = 17.7. If we really have L_arm = 50ppm, we will be very close to the critical coupling. Maybe we are OK if we have such condition as our testing time would be much longer in PRMI than PRFPMI at the first phase. If the arm loss turned out to be higher, we'll be saved by falling to undercoupling.
When the PRC is close to the critical coupling (like 50ppm case), we roughly have Tprc x 2 and Tarm to be almost equal. So each beam will have 1/3 of the input power i.e. ~300mW. That's probably too much even for the two OMCs (i.e. 4 DCPDs). That's OK. We can reduce the input power by 3~5.

Quote:

LO Power

LO power when PRFPMI is locked is calculated by assuming 1 W of input power to IMC. IMC is assumed to let pass 10% of the power (L_{\rm IMC}=0.1).

 

  16603   Thu Jan 20 12:10:51 2022 YehonathanUpdateBHDAS1 resurrection

I was wondering whether I should take AS1 down to redo the wire clamping on the side blocks. I decided to take the OpLev spectrum again to be more certain. Attachments 1,2,3 show 3 spectra taken at different times.

They all show the same peaks 744mHz, 810mHz, 1Hz. So I think something went wrong with yesterday's measurement. I will not take AS1 down for now. We still need to apply some glue to the counterweight.

Attachment 1: FreeSwingingSpectra.pdf
FreeSwingingSpectra.pdf
Attachment 2: FreeSwingingSpectra_div_20mV.pdf
FreeSwingingSpectra_div_20mV.pdf
Attachment 3: FreeSwingingSpectra_div_50mV.pdf
FreeSwingingSpectra_div_50mV.pdf
  16604   Thu Jan 20 16:42:55 2022 PacoUpdateBHDAS4 OSEMs installation - part 2

[Paco]

Turns out, the shifting was likely due to the table level. Because I didn't take care the first time to "zero" the level of the table as I tuned the OSEMs, the installation was b o g u s. So today I took time to,

a) Shift AS4 close to the center of the table.

b) Use the clean level tool to pick a plane of reference. To do this, I iteratively placed two counterweights (from the ETMX flow bench) in two locations in the breadboard such that I nominally balanced the table under this configuration to zome reference plane z0. The counterweight placement is of course temporary, and as soon as we make further changes such as final placement of AS4 SOS, or installation of AS1, their positions will need to change to recover z=z0.

c) Install OSEMs until I was happy with the damping. ** Here, I noticed the new suspension screens had been misconfigured (probably c1sus2 rebooted and we don't have any BURT), so quickly restored the input and output matrices.


SUSPENSION STATUS UPDATED HERE

  16605   Thu Jan 20 17:03:36 2022 AnchalSummaryBHDPart IV of BHR upgrade - SR2 OSEM tuned.

The main issue with SR2 OSEMs, now that I think of it, was that the BS table was very inclined due to the multiple things we removed (including counterweights). Today the first I did was level the BS table by placing some counterweights in the correct positions. I placed the level in two directions right next to SR2 (clamped in its planned place), and made the bubble center.

While doing do, at one point, I was trying to reach the far South-West end of the table with the 3x heavy 6" cylindrical counterweight in my hand. The counterweight slipped off my hand and fell from the table. See the photo in attachment 1. It went to the bottommost place and is resting on its curved surface.

This counterweight needs to be removed but one can not reach it from over the table. So to remove it, we'll have to open one of the blank flanges on the South-west end of BS chamber and remove the counterweight from there. We'll ask Chub to help us on this. I'm sorry for the mistake, I'll be more careful with counterweights in the future.

Moving on, I tuned all the SR2 OSEMs. It was fairly simple today since the table was leveled. I closed the chamber with the optic free to move and damped in all degrees of freedom.


Photos: https://photos.app.goo.gl/CQ6VouSB1HX2DPqW6


SUSPENSION STATUS UPDATED HERE

Attachment 1: DJI_0144.JPG
DJI_0144.JPG
  16607   Thu Jan 20 17:34:07 2022 KojiUpdateBHDV6-704/705 Mirror now @Downs

The PR2 candidate V6-704/705 mirrors (Qty2) are now @Downs. Camille picked them up for the measurements.

To identify the mirrors, I labeled them (on the box) as M1 and M2. Also the HR side was checked to be the side pointed by an arrow mark on the barrel. e.g. Attachment 1 shows the HR side up

Attachment 1: PXL_20220120_225248265_2.jpg
PXL_20220120_225248265_2.jpg
Attachment 2: PXL_20220120_225309361_2.jpg
PXL_20220120_225309361_2.jpg
  16608   Thu Jan 20 18:16:29 2022 AnchalUpdateBHDAS4 set to trigger free swing test

AS4 is set to go through a free swinging test at 10 pm tonight. We have used this script (Git/40m/scripts/SUS/InMatCalc/freeSwing.py) reliably in the past so we expect no issues, it has a error catching block to restore all changes at the end of the test or if something goes wrong.

To access the test, on allegra, type:

tmux a -t AS4

Then you can kill the script if required by Ctrl-C, it will restore all changes while exiting.

  16609   Thu Jan 20 18:41:55 2022 AnchalSummaryBHDSR2 set to trigger free swing test

SR2 is set to go through a free swinging test at 3 am tonight. We have used this script (Git/40m/scripts/SUS/InMatCalc/freeSwing.py) reliably in the past so we expect no issues, it has a error catching block to restore all changes at the end of the test or if something goes wrong.

To access the test, on allegra, type:

tmux a -t SR2

Then you can kill the script if required by Ctrl-C, it will restore all changes while exiting.

 

  16610   Fri Jan 21 11:24:42 2022 AnchalSummaryBHDSR2 Input Matrix Diagonalization performed.

The free swinging test was successful. I ran the input matrix diagonalization code (/opt/rtcds/caltech/c1/Git/40m/scripts/SUS/InMAtCalc/sus_diagonalization.py) on theSR2 free-swinging data collected last night. The logfile and results are stored in /opt/rtcds/caltech/c1/Git/40m/scripts/SUS/InMAtCalc/SR2 directory. Attachment 1 shows the power spectral density of the DOF basis data (POS, PIT, YAW, SIDE) before and after the diagonalization. Attachment 2 shows the fitted peaks.


Free Swinging Resonances Peak Fits
  Resonant Frequency [Hz] Q A
POS 0.982 340 3584
PIT 0.727 186 1522
YAW 0.798 252 912
SIDE 1.005 134 3365

LO1 New Input Matrix
  UL UR LR LL SIDE
POS
1.09
0.914
0.622
0.798
-0.977
PIT
1.249
0.143
-1.465
-0.359
0.378
YAW
0.552
-1.314
-0.605
1.261
0.118
SIDE
0.72
0.403
0.217
0.534
3.871

The new matrix was loaded on SR2 input matrix and this resulted in no control loop oscillations at least. I'll compare the performance of the loops in future soon.

 

Attachment 1: SR2_SUS_InpMat_Diagnolization_20220121.pdf
SR2_SUS_InpMat_Diagnolization_20220121.pdf
Attachment 2: SR2_FreeSwingData_PeakFitting_20220121.pdf
SR2_FreeSwingData_PeakFitting_20220121.pdf
  16612   Fri Jan 21 14:51:00 2022 KojiUpdateBHDV6-704/705 Mirror now @Downs

Camille@Downs measured the surface of these M1 and M2 using Zygo.

Result of the ROC measurements:M1: ROC=2076m (convex)M2: ROC=2118m (convex)
Here are screenshots. One file shows the entire surface and the other shows the central 30mm.
Attachment 1: M1.PNG
M1.PNG
Attachment 2: M1_30mm.PNG
M1_30mm.PNG
Attachment 3: M2.PNG
M2.PNG
Attachment 4: M2_30mm.PNG
M2_30mm.PNG
  16613   Fri Jan 21 16:40:10 2022 AnchalUpdateBHDAS4 Input Matrix Diagonalization performed.

The free swinging test was successful. I ran the input matrix diagonalization code (/opt/rtcds/caltech/c1/Git/40m/scripts/SUS/InMAtCalc/sus_diagonalization.py) on the AS4 free-swinging data collected last night. The logfile and results are stored in /opt/rtcds/caltech/c1/Git/40m/scripts/SUS/InMAtCalc/AS4 directory. Attachment 1 shows the power spectral density of the DOF basis data (POS, PIT, YAW, SIDE) before and after the diagonalization. Attachment 2 shows the fitted peaks.


Free Swinging Resonances Peak Fits
  Resonant Frequency [Hz] Q A
POS 1.025 337 3647
PIT 0.792 112 3637
YAW 0.682 227 1228
SIDE 0.993 164 3094

LO1 New Input Matrix
  UL UR LR LL SIDE
POS
0.844
0.707
0.115
0.253
-1.646
PIT
0.122
0.262
-1.319
-1.459
0.214
YAW
1.087
-0.901
-0.874
1.114
0.016
SIDE
0.622
0.934
0.357
0.045
3.822

The new matrix was loaded on AS4 input matrix and this resulted in no control loop oscillations at least. I'll compare the performance of the loops in future soon.

 

Attachment 1: AS4_SUS_InpMat_Diagnolization_20220121.pdf
AS4_SUS_InpMat_Diagnolization_20220121.pdf
Attachment 2: AS4_FreeSwingData_PeakFitting_20220121.pdf
AS4_FreeSwingData_PeakFitting_20220121.pdf
  13   Thu Oct 25 00:01:21 2007 ranaSoftware InstallationCDSGEO DV => LIGO DV
Martin Hewitson of GEO600 fame has modified the cool GEO DV
to work with the LIGO NDS system with some NDS advice from Rolf (who's over in Germany this week).

I've moved it onto the 40m CDS system and installed it on the AdhikariLab computer named 'django'. It worked immediately.

I modified the main .m file to include the 40m's NDS server. When you run it you have to include the path to the NDS
client written by Ben Johnson.

The attached is a screenshot of it working on a Mac; it looks as cool on Linux.

Its installed in /cvs/cds/caltech/apps/ligoDV/. In matlab you navigate to that directory and then
type addpath('/cvs/cds/caltech/apps/linux/UNIX_NDS_Client_beta2/') to add the NDS client.
On the Solaris machines, type type addpath('/cvs/cds/caltech/apps/solaris9/UNIX_NDS_Client_beta2/') instead.

Then type ligoDV to start it up. Then click away and have fun.

In the example I've selected
C1:PEM-BS_ACC_EAST_Z
and plotted its specgram.

Big grin
Attachment 1: Picture_1.png
Picture_1.png
  28   Mon Oct 29 23:25:42 2007 tobinSoftware InstallationCDSframes mounted
I mounted the frames directory on mafalda and linux3. It's intentionally not listed in the /etc/fstab so that an fb crash won't prevent the controls machines from booting. The command to mount the frames directory is:

mount fb40m:/frames/frames /frames
  144   Fri Nov 30 11:22:22 2007 ajwSummaryCDSGEO DV => LIGO DV

Quote:
Martin Hewitson of GEO600 fame has modified the cool GEO DV
to work with the LIGO NDS system with some NDS advice from Rolf (who's over in Germany this week).

I've moved it onto the 40m CDS system and installed it on the AdhikariLab computer named 'django'. It worked immediately.

I modified the main .m file to include the 40m's NDS server. When you run it you have to include the path to the NDS
client written by Ben Johnson.

The attached is a screenshot of it working on a Mac; it looks as cool on Linux.

Its installed in /cvs/cds/caltech/apps/ligoDV/. In matlab you navigate to that directory and then
type addpath('/cvs/cds/caltech/apps/linux/UNIX_NDS_Client_beta2/') to add the NDS client.
On the Solaris machines, type type addpath('/cvs/cds/caltech/apps/solaris9/UNIX_NDS_Client_beta2/') instead.

Then type ligoDV to start it up. Then click away and have fun.

In the example I've selected
C1:PEM-BS_ACC_EAST_Z
and plotted its specgram.

Big grin


Download and installation instructions, as well as a few examples for use
can be found here (typical lsc username and password):

https://www.gravity.phy.syr.edu/dokuwiki/doku.php?id=ligodv:home
https://www.gravity.phy.syr.edu/dokuwiki/doku.php?id=ligodv:downloading_the_ligodv_software
  170   Wed Dec 5 19:25:07 2007 ranaDAQCDSDMF
I made a database file on C1AUX called dmf.db. It has 9 DMF EPICS channels which are also trended
so that one can now write data to those channels from a DMF Monitor and the data will be records.

New channels:
[C1:DMF-SEIS_1]
[C1:DMF-SEIS_2]
[C1:DMF-SEIS_3]
[C1:DMF-LINE_1]
[C1:DMF-LINE_2]
[C1:DMF-LINE_3]
[C1:DMF-MC_1]
[C1:DMF-MC_2]
[C1:DMF-MC_3]

I added these to C1AUX because it doesn't do much and can be booted without having much effect.
(it controls Mech Shutters, Video, and Illuminators. It used to also do the EO Shutter but I
removed that from its startup.cmd and it will no longer load those records).
  270   Fri Jan 25 21:36:40 2008 ranaUpdateCDSmDV / channel issues
Fri Jan 25 21:30:00 2008

As it turns out, the residual problem with the mDV stuff was not to do with our button pushing episode but instead fallout from the 'turning off of the computers' during the water leak caused by the rain and construction.

The /frames partition from fb0 (the FrameBuilder) is not mounted to the control machines via vfstab; it does not remount on bootup. I originally did this because Ben Johnson and Dave Barker had warned me that during a power outage, fb0 may not come up right away. This could make the control room machines hang up for awhile. I elected to have the mount be by hand.

So the thing to do is to put the mount command into the cold start procedures (Andrey). Its in an old elog entry of mine from Feb '07.
  278   Sun Jan 27 21:44:48 2008 ranaUpdateCDSSeismic BLRMS on Matlab
I wrote a matlab script to produce band limited RMS trends from our accelerometers. It mimics the code written
by Ed Daw which makes the seismic FOMs at the sites.

Here's how it works:
  • Use mDV to get data by reading directly from frames.
  • Use the Matlab pwelch function to produce a power spectrum of the channels.
  • Use the Matlab find function and rms.m to get the RMS in user-defined frequency bands.
  • Makes a tdswrite command string which writes all the values to EPICS channels.
  • The EPICS channels are just a list of simple names in a database file.
  • The channel names are (will be) added to the C0EDCU.ini file so that its all trended.

The code is in the mDV/extra/C1 directory; its ~20 lines of code (excluding comments and spaces).

Next up is to add more DMF trend channels to the database and upgrade the code to use a .conf file
instead of hardcoded channel names. We should also evaluate if the bands I used are appropriate for the 40m;
I just used Ed's choices (0.1-0.3, 0.3-1, 1-3, 3-10, and 10-30 Hz).

In the medium term, we should make this compiled (like what RW did with the linetracker), and explore if we
want it to write values faster than 1/minute.
Attachment 1: seisBLRMS.m
% Seismic BLRMS Monitor
%
%
%
% RA 08-01-26

% 0 for no messages, 1 for debugging
debug_flag = 1;

% ------------ Build channel list
... 82 more lines ...
  356   Tue Mar 4 19:14:09 2008 ranaConfigurationCDSTDS & SVN
Matt, Rob, Rana

Today we added the TDS software to the 40m SVN repo.

First we rationalized things by deleting all the old TDS directories and taking
the tds_mevans dir and making it be the main one (apps/linux/tds).

We also deleted all of the TDS directories in the project area. It is now very
likely that several scripts will not work.
We're going to have the teething
problems of repointing everything to the nominal paths (in the apps areas).

Finally we did:
svn import tds https://40m.ligo.caltech.edu/svn/40m/tds --username rana

to stick it in. To check it out do:
svn checkout https://40m.ligo.caltech.edu/svn/40m/tds --username rana

We'll get a couple of the O'Reilly SVN books as well to supplement our verion control knowledge.
Unitl then you can use the SVN cheat sheets available at:
http://www.digilife.be/quickreferences/quickrefs.htm
  383   Sun Mar 16 17:03:32 2008 robConfigurationCDSASS code change

I've updated the ass.mdl file in the directory:

/cvs/cds/caltech/users/alex/cds/advLigo/src/epics/simLink/

to get us started in the adaptive PEM noise subtraction.

After several iterations of remote help from Alex, the code compiles and runs, receives signals from the LSC, PEM, and MC2, and communicates with the suspension controllers. I've also adapted the .par file from the code generator, but haven't got the testpoints working with the new ASS code. There are no MEDM screens yet, and Matt's adaptive filter code has not been installed (there's a matrix as a placeholder).

Putting in the adaptive code should be simple, building the MEDM screens tedious, and getting the testpoints working uncertain. I noticed that the new testpoint.par file starts at a different channel number than the previous (working) version, which is strange. I probably have a script somewhere to change all these numbers by a constant offset, but I don't know if that's the actual problem--maybe stuff just needs to be rebooted.

The code receives as input the first 24 channels from the PEM ADCU, the eight suspension control signals from the LSC, and the output of the MCL filter from MC2. It outputs to the MCL filter input of each suspension (except MC2).
  394   Sat Mar 22 22:39:02 2008 mevansSummaryCDSDirect Form 2 filters are bad
Here I show a comparison between the filter algorithm currently used in LIGO (Direct Form II), and an alternative algorithm designed to reduce numerical noise. The input signal is

x = sin(2 * pi * t) + 1e-9 * sin(2 * pi * (fs / 4) * t);

where fs = 16384 is the sample rate. The filter is a 4th order notch at 1Hz (f_poles = f_zeros = 1Hz, Q_poles = 1, Q_zeros = 1e6). It is clear that the DF2 algorithm produces a noise floor that is, for this simple filter, 1e-11 / rtHz smaller than the input drive amplitude (see plots). That should probably be scary given how many second-order-sections we run our signals through. The low-noise form does a somewhat better job. The low-noise algorithm has the same memory and computational requirements as DF2, and our CDS guys have the code in hand. I suggest we start testing soon.

(The code is included below. You will need my Matlab library to run the top level test script.)
Attachment 1: low-noise_filtering.png
low-noise_filtering.png
Attachment 2: low-noise_zoom.png
low-noise_zoom.png
Attachment 3: FiltRT.zip
  459   Tue Apr 29 21:09:12 2008 ranaDAQCDSFE Filters
These are new FE filters for downsampling and upsampling. We will be going from native hardware sampling rates of 64k down to 32k, 16k, and 2k.

The attached plot shows these filters. They are 3dB ripple, 40 dB stopband, 4th order elliptic filters in which I have moved the zeros around
into good places (e.g. to the Nyquist frequency).

I'm also attaching the .txt file containg the filter coefficients and the design strings. The filters are called x2, x4, and x32, for the
D2, D4, and D32 downsampling, respectively.
Attachment 1: fefilters.jpg
fefilters.jpg
Attachment 2: fefilters.txt
# FILTERS FOR ONLINE SYSTEM
#
# Computer generated file: DO NOT EDIT
#
# MODULES ULYAW
#
################################################################################
### ULYAW                                                                    ###
################################################################################
# SAMPLING ULYAW 65536
... 28 more lines ...
  1782   Thu Jul 23 07:34:45 2009 AidanUpdateCDSAdded C2 MEDM screens to 40m SVN.

 

See Adhikari eLOG entry: http://nodus.ligo.caltech.edu:8080/AdhikariLab/194

  1801   Tue Jul 28 18:32:21 2009 KojiUpdateCDSRCG work

Peter and Koji,

We are constructing a setup for the new 40m CDS using Realtime Code Generator (RCG).
We are trying to put simulated suspensions and test suspension controllers on a different processors of megatron
in order to create a virtual control feedback loop. Those CDS processes are communicating
each other via a shared memory, not via a reflective memory for now.

After some struggles with tremendous helps of Alex, we succeeded to have the communication between the two processes.
Also we succeeded to make the ADC/DAC cards recognized by megatoron, using the PCI express extension card replaced by Jay.
(This card runs multi PCI-X cards on the I/O chasis.)

Next steps:
- Establish a firewall between the 40m network and megatron (Remember this)
- Make DTT and other tools available at megatron
- Try virtual feedback control loops and characterize the performance
- Enable reflective memory functionalities on megatron
- Construct a hybrid system by the old/new CDSs
- Controllability tests using an interferometer


Note on MATLAB/SIMULINK
o Each cdsIPC should have a correct shared memory address spaced by 8 bytes. (i.e. 0x1000, 0x1008, 0x1010, ...)

Note on MEDM
o At the initial state, garbage (e.g. NaN) can be running all around the feedback loops. They are invisible as MEDM shows them as  "0.0000".
To escape from this state, we needed to disconnect all the feedback, say, by turning off the filters.

Note on I/O chasis
o We needed to pull all of the power plugs from megatron and the I/O chasis once so that we can activate
the PCI-e - PCI-X extension card. When it is succeeded, all (~30) LEDs turn to green.

  2045   Fri Oct 2 18:04:45 2009 robUpdateCDSDTT no good for OMC channels

I took the output of the OMC DAC and plugged it directly into an OMC ADC channel to see if I could isolate the OMC DAC weirdness I'd been seeing.  It looks like it may have something to do with DTT specifically.

Attachment 1 is a DTT transfer function of a BNC cable and some connectors (plus of course the AI and AA filters in the OMC system).  It looks like this on both linux and solaris.

Attachment 2 is a transfer function using sweepTDS (in mDV), which uses TDS tools as the driver for interfacing with testpoints and DAQ channels. 

Attachment 3 is a triggered time series, taken with DTT, of the same channels as used in the transfer functions, during a transfer function.  I think this shows that the problem lies not with awg or tpman, but with how DTT is computing transfer functions. 

 

I've tried soft reboots of the c1omc, which didn't work.   Since the TDS version appears to work, I suspect the problem may actually be with DTT.

Attachment 1: omc_dac_dtt.png
omc_dac_dtt.png
Attachment 2: omc_dac_sweepTDS.png
omc_dac_sweepTDS.png
Attachment 3: omc_dac_dtt_ts.png
omc_dac_dtt_ts.png
  2173   Tue Nov 3 12:47:01 2009 KojiConfigurationCDS1Y9 Rack configuration update

For the CDS upgrade preparation I put and moved those stuff at the rack 1Y9:

Placed 1Y9-12 ADC to DB44/37 Adapter LIGO D080397

Placed 1Y9-14 DAC to IDC Adapter LIGO D080303

Moved the ethernet switch from 1Y9-16 to 1Y9-24

Wiki has also been updated.

  2181   Thu Nov 5 16:24:59 2009 KojiUpdateCDSETMY CDS test stuff

Joe, Peter, Jay, Koji, Rana

We put the new CDS stuff at Y end 1Y9 rack.

Items

  • megatron
  • wireless router
  • IO chasis (black)
  • Extention cable (between megatron & IO chasis)
  • 1 ADC card
  • 1 DAC card
  • 1 BIO card
  • The adapter box for ADC
  • The adapter box for DAC
  • The adapter box for BIO
  • 2x IDC-DB37 cable for the ADC box - AA chasis
  • 1x IDC cable for the DAC box - Pentek
  • 1x DB cable for the BIO box
  • 1x +/-15V cable for the BIO box
  2233   Wed Nov 11 01:33:52 2009 peteUpdateCDSRCG ETMY code update

 I've added the side coil to the model controller and plant, and the oplev quad to the model controller and plant.  After the megatron wipe, the code now lives in /home/controls/cds/advLigo/src/epics/simLink.  The files are mdc.mdl (controller) and mdp.mdl (plant).  These RCG modules go at 16K with no decimation (no_oversampling=1 in the cdsParameters block) so hopefully will work with the old (16K) timing.

I've loaded many of the filters, there are some eft to do.  These filters are simply copied from the current frontend.  

Next I will port to the SUS module (which talks to the IO chassis).  This means channel names will match with the current system, which will be important when we plug in the RFM.

  2243   Wed Nov 11 20:46:07 2009 peteUpdateCDSRCG ETMY phase I update

The .mdl code for the mdc and mdp development modules is finished.  These modules need more filters, and testing.  Probably the most interesting piece left to do is putting in the gains and filters for the oplev model in mdp.  It might be OK to simply ignore oplevs and first test damping of the real optic without them.   However, it shouldn't be hard to get decent numbers for oplevs, add them to the mdp (plant) module, and make sure the mdc/mdp pair is stable.  In mdp, the oplev path starts with the SUSPIT and SUSYAW signals. Kakeru recently completed calibration of the oplevs from oplev cts to radians:   1403  .  From this work we should find the conversion factors from PIT and YAW to oplev counts, without making any new measurements.  (The measurements wouldn't be hard either, if we can't simply pull numbers from a document.)  These factors can be added to mdp as appropriate gains.

I've also copied mdc to a new module, which I've named "sas" to address fears of channel name collisions in the short term, and replaced the cpu-to-cpu connections with ADC and DAC connections.  sas can be the guy for the phase I ETMY test.  When we're happy with mdc/mdp, we hopefully can take the mdc filter file from chans, replace all the "MDC" strings with "SAS", and use it.

  2259   Thu Nov 12 17:24:29 2009 Koji, Joe, PeterConfigurationCDSETMY CDS test started

We started the test of the new CDS system at ETMY.

The plan is as follows:
We do the ETMY test from 9:30 to 15:00 at ETMY from Nov 12~17. This disables the ETMY during this period.
From 15:00 of the each day, we restore the ETMY configuration and confirm the ETMY work properly.


Today we connected megatron to the existing AA/AI modules via designated I/F boxes. The status of the test was already reported by the other entry.

During the test, c1iscey was kept running. We disabled the ETMY actuation by WatchDog. We did not touch the RFM network.

After the test we disconnected our cables and restored the connection to ICS110B and the AI/AA boards.

The WatchDog switches were released.

The lock of the ETMY was confirmed. The full interferometer was aligned one by one. Left in the full configuration with LA=off.

  2471   Sun Jan 3 08:23:39 2010 ranaConfigurationCDSautoburt.pl 'fixed' for post 2009 years

Tobin & Keith pointed out in the LLO ilog that there was a code bug in the autoburt.pl script for autoburts.

I edited the autoburt.pl script so that it will work from now until 2099 (by which time we may no longer be using this version of perl):

nodus:autoburt>diff autoburt.pl~ autoburt.pl
234c234
<     $thisyear = "200".$timestamp[5];
---
>     $thisyear = "20".$timestamp[5];

The autoburt has not been working ever since 11PM on New Year's eve.

I ran it by hand and it seems to run fine. I noticed along the way that it was running on op340m (our old Sun Blade 150 machine). The autoburt.pl was pointing at /cvs/cds/bin/perl

which is Perl v5.0. I changed it to use '/usr/bin/env' and now points at '/usr/bin/perl' which is perl 5.8. It runs fine with the new perl:

op340m:scripts>time perl /cvs/cds/scripts/autoburt.pl >> /cvs/cds/caltech/logs/autoburtlog.log
5.37u 6.29s 2:13.41 8.7%

Also ran correctly, via cron, at 9AM.

  2640   Thu Feb 25 15:49:05 2010 AlbertoAoGCDSNew IO Chassis for the new CDS
Yesterday Kiwamu and I went to Downs to take all the available parts of the IO chassis that Gary and I had put together over there.
 
We've got only 3 of the 5 that we need for the Upgrade. The other 2 are currently being used for some other purpose in Downs labs.
 
I'm not sure about what each chassis has supposed to contain. They all also look different from each other.
Anyway, it looks like there should be a sort of motherboard and an IO Chassis Interface Board (DCC# D0902029) in each of them. The IO Chassis Interface Board is just a board with a bunch of PCI slots.
 
This is what the 3 chassis that we've got yesterday have:
Chassis 1
- 1 very big "motherboard"
- power supply
Chassis 2
- small motherboard
- IO Interface Board (DCC# D0902029)
- power supply
Chassis n.3
- "Dolpjin" motherboard
- IO Interface Board
- power supply
 
Apparently 2 of these 3 chassis are still missing their IO interface boards,
 
Also all chassis are still missing all the connections to powering, fans, LEDs, power and reset buttons. It's not clear how these connections should be. Gary didn't know it either.
  2824   Wed Apr 21 11:32:31 2010 josephbUpdateCDS40m CDS hardware update and software requests

This is mostly a reminder to myself about what I discussed with Jay and Alex this morning.

The big black IO chassis are "almost" done.  Except for the missing parts.  We have 2 Dolphin, 1 Large and 1 Small I/O Chassis due to us.  One Dolphin is effectively done and is sitting in the test stand.  However, 2 are missing timing boards, and 3 are missing the boards necessary for the connection to the computer.  The parts were ordered a long time ago, but its possible they were "sucked to one of the sites" by Rolf (remember this is according to Jay).  They need to either track them down in Downs (possibly they're floating around and were just confused by the recent move), get them sent back from the sites, or order new ones (I was told by one person that the place they order from them notoriously takes a long time, sometimes up to 6 weeks.  I don't know if this is exaggeration or not...).  Other than the missing parts, they still need to wire up the fans and install new momentary power switches (apparently the Dolphin boards want momentary on/off buttons).  Otherwise, they're done.

We are due another CPU, just need to figure out which one it was in the test stand.

6 more BIO boards are done.  When I went over the plans with Jay, we realized we needed 7 more, not 6, so they're putting another one together.  Some ADC/DAC interface boards are done.  I promised to do another count here, to determine how many we have, how many we need, and then report that back to Jay before I steal the ones which are complete.  Unfortunately, he did not have a new drawing for the ASC/vertex wiring, so we don't have a solid count of stuff needed for them.  I'll be taking a look at the old drawings and also looking at what we physically have.

I did get Jay to place the new LSC wiring diagram into the DCC (which apparently the old one never was put in or we simply couldn't find it).  Its located at: https://dcc.ligo.org/cgi-bin/private/DocDB/ShowDocument?docid=10985

I talked briefly with Alex, reminded him of feature requests and added a new one:

1) Single part representing a matrix of filter banks

2) Automatic generation of Simulated shared memory locations and an overall on/off switch for ADC/DACs

3) Individual excitation and test point pieces (as opposed to having to use a full filter bank).  He says these already exist, so when I do the CVS checkout, I'll see if they work.

 

I also asked where the adl default files lived, and he pointed me at ~/cds/advLigo/src/epics/util/

In that directory are FILTER.adl, GDS_TP.adl, MONITOR.adl.  Those are the templates.  We also discovered the timing signal at some point was changed from something like SYS-DCU_ID to FEC-DCU_ID, so I basically just need to modify the .adl files to fix the time stamp channel as well.  I basically need to do a CVS checkout, put the fixes in, then commit back to the CVS.  Hopefully I can do that sometime today.

I also brought over 9 Contec DO-32L-PE boards, which are PCIe isolated digital output boards which do into the IO chassis.  These have been placed above the 2 new computers, behind the 1Y6 rack.

 

  2826   Wed Apr 21 16:48:38 2010 josephbUpdateCDSHardware update

Alberto and myself went to downs and acquired the 3rd 4x processor (Dual core, so 8x cores total) computer.  We also retrieved 6 BIO interface boards (blue front thin boxes), 4 DAC interface boards, and 1 ADC interface boards.  The tops have not been put on yet, but we have the tops and a set of screws for them.  For the moment, these things have been placed behind the 1Y6 rack and under the table behind the 1Y5 rack

.irwin.jpg

The 6 BIO boards have LIGO travelers associated with them: SN LIGO-S1000217 through SN LIGO-S1000222.

  2849   Tue Apr 27 11:16:13 2010 josephbConfigurationCDSWiki page with CDS .mdl names, shared memory allocation

I've added a new page in the wiki which describes the current naming scheme for the .mdl model files used for the real time code generator.  Note, that these model names do not necessarily have to be the names of the channels contained within.  Its still possible to make all suspension related channels start with C1:SUS- for example.  I'm also allocating 1024 8 byte channels for shared memory address space for each controller and each simulated plant.

The wiki page is here

Name suggestions, other front end models that are needed long term (HEPI is listed for example, even though we don't have it here, since in the long run we'd like to port the simulated plant work to the sites) are all welcome.

  2860   Thu Apr 29 14:37:16 2010 josephbUpdateCDSNew Channel Name to Memory Location file

Awhile back we had requested a feature for the RCG code where a single file would define a memory location's name as well as its explicit hex address.  Alex told me it had been implemented in the latest code in SVN.  After being unable to find said file, I went back and talked to him and Rolf.  Rolf said it existed, but had not been checked into the SVN yet. 

I now have a copy of that file, called G1.ipc.  It is supposed to live in /cvs/cds/caltech/chans/ipc/ , so I created the ipc directory there.  The G1.ipc file is actually for a geo install, so we'll eventually make a C1.ipc file.

The first couple lines look like:

# /cvs/cds/geo/chans/ipc/G1.ipc
[default]
ipcType=SHMEM
ipcRate=2048
ipcNum=0
desc=default entry

[G1:OMC-QPD1P]
ipcType=SHMEM
ipcRate=32768
ipcNum=0
desc=Replaces 0x2000
#[G1:OMC-NOTUSED]
#ipcType=SHMEM
#ipcRate=32768
#ipcNum=1

[G1:OMC-QPD2P]
ipcType=SHMEM
ipcRate=32768
ipcNum=1
desc=Replaces 0x2008

 

There are also section using ipcType IPC:

[G1:SUS-ADC_CH_24]
ipcType=PCI
ipcRate=16384
ipcNum=1
desc=Replaces 0x20F0
[G1:SUS-ADC_CH_25]
ipcType=PCI
ipcRate=16384
ipcNum=2
desc=Replaces 0x20F0

 

Effectively the ipcNum tells it which memory location to use, starting with 0x2000 (at least thats how I'm interpreting it.  Every entry of a given ipcType has a different ipcNum which seems to be correlated to its description (at least early on - later in the file many desc= lines repeat, which I think means people were copy/pasting and got tired of editing the file.  Once I get a C1.ipc file going, it should make our .mdl files much more understandable, at least for communicating between models.  It also looks like it somehow interacts with the ADCs/DACs with ipcType PCI, although I'm hoping to get a full intro how to use the file tomorrow from Rolf and Alex.

  2861   Thu Apr 29 15:48:47 2010 josephbUpdateCDSNew CDS overview diagram in wiki

I've added a diagram in the wiki under IFO Upgrade 2009-2010->New CDS->Diagram section Joe_CDS_Plan.pdf (the .svg file I used to create it is also there).  This was mostly an exercise in me learning inkscape as well as putting out a diagram with which lists control and model names and where they're running.

A direct link is: CDS_Plan.pdf

  2871   Mon May 3 15:39:39 2010 josephbUpdateCDSDaily Downs update

Talked with Jay briefly today.  Apparently there are 3 IO chassis currently on the test stand at Downs and undergoing testing (or at least they were when Alex and Rolf were around).  They are being tested to determine which slots refer to which ADC, among other things. Apparently the numbering scheme isn't as simple as 0 on the left, and going 1,2,3,4, etc.  As Rolf and Alex are away this week, it is unlikely we'll get them before their return date.

Two other chassis (which apparently is one more than the last time I talked with Jay), are still missing cards for communicating between the computer and the IO chassis, although Gary thinks I may have taken them with me in a box.  I've done a look of all the CDS stuff I know of here at the 40m and have not seen the cards.  I'll be checking in with him tomorrow to figure out when (and if) I have the the cards needed.

  2872   Mon May 3 16:53:27 2010 josephbUpdateCDSUpdated lsc.mdl and the ifo plant model with memory locations

I've updated the LSC and IFO models that Rana created with new shared memory locations.  I've used the C1:IFO- for the ifo.mdl file outputs, which in turn are read by the lsc.mdl file.  The LSC outputs being lsc control signals are using C1:LSC-.  Optics positions would presumably be coming from the associated suspension model, and am currently using SUP, SPX, and SPY for the suspension plant models (suspension vertex, suspension x end, suspension y end).

I've updated the web view of these models on nodus.  They can be viewed at: https://nodus.ligo.caltech.edu:30889/FE/

I've also created a C1.ipc file in /cvs/cds/caltech/chans/ipc  which assigns ipcNum to each of these new channels in shared memory.

  2877   Tue May 4 13:14:43 2010 josephbUpdateCDSlsc.mdl and ifo.mdl to build (with caveats)

I got around to actually try building the LSC and IFO models on megatron.  Turns out "ifo" can't be used as a model name and breaks when trying to build it.  Has something to do with the find and replace routines I have a feeling (ifo is used for the C1, H1, etc type replacements throughout the code).  If you change the model name to something like ifa, it builds fine though.  This does mean we need a new name for the ifo model.

Also learned the model likes to have the cdsIPCx memory locations terminated on the inputs if its being used in a input role (I.e. its bringing the channel into the model).  However when the same part is being used in an output role (i.e. its transmitting from the model to some other model), if you terminate the output side, it gives errors when you try to make.

Its using the C1.ipc file (in /cvs/cds/caltech/chans/ipc/) just fine.  If you have missing memory locations in the C1.ipc file (i.e. you forgot to define something) it gives a readable error message at compile time, which is good.  The file seems to be being parsed properly, so the era of writing "0x20fc" for block names is officially over.

  2885   Thu May 6 11:34:35 2010 robUpdateCDSlsc.mdl and ifo.mdl to build (with caveats)

Quote:

I got around to actually try building the LSC and IFO models on megatron.  Turns out "ifo" can't be used as a model name and breaks when trying to build it.  Has something to do with the find and replace routines I have a feeling (ifo is used for the C1, H1, etc type replacements throughout the code).  If you change the model name to something like ifa, it builds fine though.  This does mean we need a new name for the ifo model.

Also learned the model likes to have the cdsIPCx memory locations terminated on the inputs if its being used in a input role (I.e. its bringing the channel into the model).  However when the same part is being used in an output role (i.e. its transmitting from the model to some other model), if you terminate the output side, it gives errors when you try to make.

Its using the C1.ipc file (in /cvs/cds/caltech/chans/ipc/) just fine.  If you have missing memory locations in the C1.ipc file (i.e. you forgot to define something) it gives a readable error message at compile time, which is good.  The file seems to be being parsed properly, so the era of writing "0x20fc" for block names is officially over.

 I suggest "ITF" for the model name.

  2895   Fri May 7 14:51:04 2010 josephbUpdateCDSWorking on meta .mdl file scripts

I'm currently working on a set of scripts which will be able to parse a "template" mdl file, replacing certain key words, with other key words, and save it to a new .mdl file.

For example  you pass it the "template" file of scx.mdl file (suspension controller ETMX), and the keyword ETMX, followed by an output list of scy.mdl ETMY,  bs.mdl BS, itmx.mdl  ITMX, itmy.mdl ITMY, prm.mdl PRM, srm.mdl SRM.  It produces these new files, with the keyword replaced, and a few other minor tweaks to get the new file to work (gds_node, specific_cpu, etc).  You can then do a couple of copy paste actions to produce a combined sus.mdl file with all the BS, ITM, PRM, SRM controls (there might be a way to handle this better so it automatically merges into a single file, but I'd have to do something fancy with the positioning of the modules - something to look into).

I also have plans for a script which gets passed a mdl file, and updates the C1.ipc file, by adding any new channels and incrementing the ipcNum appropriately.  So when you make a change you want to propagate to all the suspensions, you run the two scripts, and have an already up to date copy of memory locations - no additional typing required.

Similar scripts could be written for the DAQ screens as well, so as to have all the suspension screens look the same after changing one set.

  2903   Mon May 10 17:47:16 2010 josephbSummaryCDSFinished

So I finished writing a script which takes an .ipc file (the one which defines channel names and numbers for use with the RCG code generator),  parses it, checks for duplicate channel names and ipcNums, and then parses and .mdl file looking for channel names, and outputs a new .ipc file with all the new channels added (without modifying existing channels). 

The script is written in python, and for the moment can be found in /home/controls/advLigoRTS/src/epics/simLink/parse_mdl.py

I still need to add all the nice command line interface stuff, but the basic core works.   And already found an error in my previous .ipc file, where I used the channel number 21 twice, apparently.

Right now its hard coded to read in C1.ipc and spy.mdl, and outputs to H1.ipc, but I should have that fixed tonight.

  2908   Mon May 10 20:33:29 2010 KojiSummaryCDSFinished

This IPC stuff looks really a nice improvement of CDS.

Please just maintain the wiki updated so that we can keep the latest procedures and scripts to build the models.

Quote:

So I finished writing a script which takes an .ipc file (the one which defines channel names and numbers for use with the RCG code generator),  parses it, checks for duplicate channel names and ipcNums, and then parses and .mdl file looking for channel names, and outputs a new .ipc file with all the new channels added (without modifying existing channels). 

The script is written in python, and for the moment can be found in /home/controls/advLigoRTS/src/epics/simLink/parse_mdl.py

I still need to add all the nice command line interface stuff, but the basic core works.   And already found an error in my previous .ipc file, where I used the channel number 21 twice, apparently.

Right now its hard coded to read in C1.ipc and spy.mdl, and outputs to H1.ipc, but I should have that fixed tonight.

 

  2911   Tue May 11 16:38:16 2010 josephb,rana,rolfUpdateCDSCDS questions and thoughts

1) What is c1asc doing?  What is ascaux used for?  What are the cables labeled "C1:ASC_QPD" in the 1X2 rack really going to?

2) Put the 4600 machine (megatron) in the 1Y3 (away from the analog electronics)  This can be used as an OAF/IO machine.  We need a dolphin fiber link from this machine to the IO chassis which will presumably be in 1Y1, 1Y2 (we do not currently have this fiber at the 40m, although I think Rolf said something about having one).

3) Merge the PSL and IOOVME crates in 1Y1/1Y2 to make room for the IO chassis.

4) Put the LSC and SUS machines into 1Y4 and/or 1Y5 along with the SUS IO chassis.  The dolphin switch would also go here.

5) Figure out space in 1X3 for the LSC chassis.  Most likely option is pulling asc or ascaux stuff, assuming its not really being used.

6) Are we going to move the OMC computer out from under the beam tube and into an actual rack?  If so, where?

 

Rolf will likely be back Friday, when we aim to start working on the "New" Y end and possibly the 1X3 rack for the LSC chassis.

 

  2922   Wed May 12 12:32:04 2010 josephbConfigurationCDSModified /etc/rc.d/rc.local on megatron

I modified the /etc/rc.d/rc.local file on megatron removing a bunch of the old test module names and added the new lsc and lsp modules, as well as a couple planned suspension models and plants, to shared memory so that they'll work.  Basically I'm trying to move forward into the era of working on the actual model we're going to use in the long term as opposed to continually tweaking "test" models.

The last line in the file is now: /usr/bin/setup_shmem.rtl lsc lsp spy scy spx scx sus sup&

I removed mdp mdc mon mem grc grp aaa tst tmt.

  2923   Wed May 12 12:58:26 2010 josephbConfigurationCDSSetup fb to handle lsc, lsp models on megatron

I modified /cvs/cds/caltech/target/fb and changed the line "set controller_dcu=10" to "set controller_dcu=13" (where 13 is the lsc dcu_id number).

I also changed the set gds_server line from having 10 and 11 to 13 and 14 (lsc and lsp).

The file /cvs/cds/caltech/fb/master was modified to use C1LSC.ini and C1LSP.ini, as well as tpchn_C2.par (LSC) and tpchn_C3.par (LSP)

testpoint.par in /cvs/cds/caltech/target/gds/param was modified to use C-node1 and C-node2 (1 less then the gds_node_id for lsc and lsp respectively).

Note all the values of gds_node_id, dcu_id, and so forth are recorded at http://lhocds.ligo-wa.caltech.edu:8000/40m/Electronics/Existing_RCG_DCUID_and_gds_ids

  2927   Thu May 13 15:19:44 2010 josephbUpdateCDSTrying to get lsc.mdl and lsp.mdl working

I had a chat with Alex this morning and discovered that the dcu_ids 13,14,15,16 are reserved currently, and should not be used.  I was told 9-12 and 17-26 were fine to use.  I pointed out that we will eventually have more modules than that.  His response was he is currently working on the framebuilder code and "modernizing" it, and that those restrictions will hopefully be lifted in the future although he isn't certain at this time what the real maximum gds_id number is (he was only willing to vouch for up to 26 - although the OMC seems to be currently working and set to 30).

Alex also suggested running an iop module to provide timing (since we are using adcSlave=1 option in the models).  Apparently these are x00.mdl, x01.mdl, x11.mdl files in the /home/control/cds/advLigoRTS/src/epics/simLink/ directory.  I saved x00.mdl as io1.mdl (I didn't want to use io0 as its a pain to differentiate between a zero and 'O'.  This new IOP is using gds_node=1, dcu_id=9.  I modified the approriate files to include it.

I modified /etc/rc.d/rc.local and added io1 to shmem line.  I modified /cvs/cds/caltech/target/fb/daqdrc to use dcu_id 9 as the controller (this is the new iop model dcu_id number).  In that same directory I modifed the file master by adding /cvs/cds/caltech/chans/daq/C1IO1.ini as well as uncommenting tpchn_C1 line.  I modified testpoint.par in /cvs/cds/caltech/target/gds/param to include C-node0, and modified the prognum for lsc and lsp to 0x31001003 and 0x31001005.

So I started the 3 processes with startio1, startlsc, startlsp, then went to the fb directory and started the framebuilder.  However, the model lsc.mdl is still having issues, although lsp and io1 seem to be working.  At this point I just need to track down what fundamentally is different between lsc and lsp and correct it in the lsc model.  I'm hoping its not related to the fact that we actually had a previous lsc front end and there's some legacy stuff getting in the way.  One thing I can test is changing the name and see if that runs.

 

  2932   Fri May 14 12:14:26 2010 josephbUpdateCDSNeed to track down old code for lsc system and remove them

I'm currently in the process of tracking down what legacy code is interfering with the new lsc model.

It turns out if you change the name of lsc file to something else (say scx as a quick test for example), it runs fine.  In fact, the lsc and scx GDS_TP screens work in that case (since they're looking at the same channels).  As one would expect, running them both at the same time causes problems.  Note to self, make sure the other one is killed first.  It does mean the lsc code gets loaded part way, but doesn't seem to communicate on EPICs or to the other models.  However, I don't know what existing code is interfering.  Currently going trhough the target directories and so forth.

ELOG V3.1.3-