ID |
Date |
Author |
Type |
Category |
Subject |
2913
|
Tue May 11 18:58:49 2010 |
rana | HowTo | Electronics | Marconi phase noise measurement setup | Just a little while ago, at 2330 UTC on 5/11, I swapped the phase noise setup to use another Marconi - this time its the 3rd one from the top beating with the 4th one from the top (2nd from the bottom).
After a little while, I swapped over to beat the 33 w/ the 199. I now have all the measurements. For the measurement of the last pair, I inserted BALUN 1:1 transformers on the outputs of both signal generators'.
This last pair appears to be the quietest of the 3 and also has less lines. The lines are mainly at high frequency and are harmonics of 120 Hz. Probably from the Sorensen switching supplies in the adjacent rack.
I double checked that the 10 MHz sync cable was NOT plugged in to any of these during this and that the front panel menu was set to use the internal frequency standard. In the closed loop case, the beat frequency between the 33/199 pair changes by less than ~0.01 Hz over minutes (as measured by calibrating the control signal).
|
2914
|
Wed May 12 02:21:56 2010 |
rana | HowTo | Electronics | Marconi phase noise measurement setup | Finally got the 3-cornered-hat measurement of the IFRs done. The result is attached.
s12, s23, & s31, are the beat signals between the 3 signal generators.
s1, s2, & s3 are the phase noise of the individual generators made by the following matlab calculation:
%% Do the hat
s1 = sqrt((s12.^2 + s31.^2 - s23.^2) / 2);
s2 = sqrt((s12.^2 + s23.^2 - s31.^2) / 2);
s3 = sqrt((s31.^2 + s23.^2 - s12.^2) / 2);
As you can see, there is now an estimate of the individual noises. We can do better by doing some fitting of the residuals.
The real test will be to replace the noise one here with the good Wenzel oscillator and see how well we can estimate its noise. If the 11 MHz crystals don't show up, I can just try this with the 21.5 MHz one for the PSL. |
2951
|
Wed May 19 14:36:46 2010 |
Aidan | HowTo | Phase Camera | Phase Camera algorithm and stuff | I had a think about the algorithm we might use for the phase camera measurement. MATLAB has an fft function that will allow us to extract the data that we need with a single command.
We record a series of images from a camera and put them into a 3D array or movie, image_arr, where the array parameters are [x-position, y-position, time], i.e. a 2D slice is a single frame from the camera. Then we can do an FFT on that object with the syntax, f3D = fft(image_arr, [ ], 3), which only does the FFT on the temporal components. The resulting object is a 3D array where each 2D slice is an 2D array of amplitude and phase information across the image for a single temporal frequency of the movie.
So if we recorded a movie for 1s where the sample rate is 58Hz, then the 1st frame of f3D is just a DC image of the movie, the 2nd frame are the complex 1Hz components of the movie, etc all the way up to 29Hz.
Suppose then that we have a image, part of which is being modulated, e.g. a chopper wheel rotating at 20 or 24Hz, or a laser beam profile which contains a 1kHz beat between a sideband and a reference beam. All we have to do is sample at at least twice that modulation frequency, run the command in MATLAB, and then we immediately get an image which contains the phase and magnitude information that we're interested in (in the appropriate 2D slice o the FFT).
As an example, I recorded 58 frames of data from a camera, sampling at 58Hz, which was looking at a spinning chopper wheel. There was a white sheet of paper behind the wheel which was illuminated from behind by a flashlight. The outer ring was chopping at 24Hz and the inner ring was chopping at 20Hz. I stuck all the images into the 3D array in MATLAB, did the transformation and picked out the DC, 20Hz and 24Hz signals. The results are shown in the attached PDFs which are:
- phase_camera_DC_comp.pdf - a single image from the camera and the DC component (zoomed in) of the FFT
- phase_camera_F1_comp.pdf - the magnitude and phase information of the 20Hz component of the FFT
- phase_camera_F2_comp.pdf - the magnitude and phase information of the 24Hz component of the FFT (this PDF contains a typo that says 25Hz).
- load_raw_data.m - the MATLAB routine that loads the saved data from the camera and does the FFT
You can, and I have, run the MATLAB engine from C directly. This will allow you to transfer the data from the camera to MATLAB directly in memory, rather than via the disk, but it does need proper memory allocation to avoid segmentation faults - that was too frustrating for me in the short term. In this case, the 58 frames were recorded to a file as a contiguous block of data which I then loaded into MATLAB, so it was slower than it might've otherwise been. Also the computer I was running this on was a bit of a clunker so it took a bit of time to do the FFT.
The data rate from the camera was 58fps x (1024 x 1024) pixels per frame x 2 bytes per pixel = 116MB per second. If we were to use this technique in a LIGO phase camera, where we want to measure a modulation which is around 1kHz, then we'd need a sample rate of at least 2kHz, so we're looking at at least a 30x reduction in the resolution. This is okay though - the original phase camera had only ~4000 spatial samples. So we could use, for instance, the Dalsa Falcon VGA300 HG which can give 2000 frames per second when the region of interest is limited to 64 pixels high. |
2955
|
Thu May 20 10:06:56 2010 |
Aidan | HowTo | Phase Camera | Phase Camera- raw data video |
|
2982
|
Tue May 25 16:32:26 2010 |
kiwamu | HowTo | Electronics | front ends are back | [Alex, Joe, Kiwamu]
Eventually all the front end computers came back !! 
There were two problems.
(1): C0DCU1 didn't want to come back to the network. After we did several things it turned the ADC board for C0DCU1 didn't work correctly.
(2): C1PEM1 and C0DAQAWG were cross-talking via the back panel of the crate.
(what we did)
* installed a VME crate with single back panel to 1Y6 and mounted C1PEM1 and C0DAQAWG on it. However it turned out this configuration was bad because the two CPUs could cross-talk via the back panel.
* removed the VME crate and then installed another VME crate which has two back panels so that we can electrically separate C1PEM1 and C0DAQAWG. After this work, C0DAQAWG started working successfully.
* rebooted all the front ends, fb40m and c1dcuepics.
* reset the RFM bypath. But these things didn't bring C0DCU1 back.
* telnet to C0DCU1 and ran "./startup.cmd" manually. In fact "./startup.cmd" should automatically be called when it boots.
* saw the error messages from "./startup.cmd" and found it failed when initialization of the ADC board. It saids "Init Failure !! could not find ICS"
* went to 1Y7 rack and checked the ADC. We found C0DCU1 had two ADC boards, one of two was not in used.
* disconnected all two ADCs and put back one which had not been in used. At the same time we changed the switching address of this ADC to have the same address as the other ADC.
* powered off/on 1Y7 rack. Finally C0DCU1 got back.
* burtrestored the epics to the last Friday, May 21st 6:07am |
3000
|
Thu May 27 10:30:32 2010 |
kiwamu | HowTo | Green Locking | PSL setup for green locking | I leave notes about a plan for the green locking especially on the PSL table.
(1) open the door of the MC13 tank to make the PSL beam go into the MC. Lock it and then optimize the alignment of the MC mirror so that we can later align the incident beam from the PSL by using the MC as a reference.
(2) Remove a steering mirror located just after the PMC on the PSL table. Don't take its mount, just take only the optic in order not to change the alignment .
(3) Put an 80% partial reflector on that mount to pick off ~200mW for the doubling . One can find the reflector on my desk.
(4) Put some steering mirrors to guide the transmitted beam through the reflector to the doubling crystal. Any beam path is fine if it does not disturb any other setups. The position of the oven+crystal should not be changed so much, I mean the current position looks good.
(5) Match the mode to the crystal by putting some lenses. The optimum conversion efficiency can be achieved with beam waist of w0~50um (as explained on #2735).
(6) Align the oven by using the kinematic mount. It takes a while. The position of the waist should be 6.7 mm away from the center of the crystal (as explained on #2850). The temperature controller for the oven can be found in one of the plastic box for the green stuff. After the alignment, a green beam will show up.
(8) Find the optimum temperature which gives the best conversion efficiency and measure the efficiency.
(7) Align the axis of the PSL beam to the MC by steering the two mirrors attached on the periscope. |
3017
|
Sun May 30 17:51:04 2010 |
kiwamu | HowTo | PEM | Allegra dataviewer | I found the dataviewer didn't work only on Allegra. This thing sometimes happened as described in the past entry.
I rebooted Allegra, then the problem was fixed.
|
3070
|
Fri Jun 11 22:09:58 2010 |
valera | HowTo | CDS | foton | It appears that foton does not like the unstable poles, which we need to model the transfer functions.
But one can try to load the filters into the front end by generating the filter file e.g.:
#
# MODULES DARM_ASDC
#
################################################################################
### DARM_ASDC ###
################################################################################
# SAMPLING DARM_ASDC 16384
# DESIGN DARM_ASDC
### ####
DARM_ASDC 0 21 6 0 0 darm 1014223594.005454063416 -1.95554205062071 0.94952075557861 0.06176931505784 -0.93823068494216
-2.05077577179611 1.05077843532639 -2.05854170261687 1.05854477394411
-1.85353637553024 0.86042048250739 -1.99996540107622 0.99996542454814
-1.93464836371852 0.94008893626414 -1.89722830906561 0.90024221050918
-2.04422931770060 1.04652211283968 -2.01120153956052 1.01152717233685
-1.99996545575365 0.99996548582538 -1.99996545573320 0.99996548582538
Unfortunately if you open and later save this file with foton it will strip the lhp poles. |
3085
|
Fri Jun 18 13:42:52 2010 |
Koji | HowTo | General | Update your work | All SURFs (and all others as always) are supposed to post the update of your status on the elog.
In fact, I already heard that Sharmila had been working on the serial connection to TC-200 and made some results. All of us like to hear the story. |
3114
|
Thu Jun 24 11:16:32 2010 |
Sharmila, Rana and Kiwamu | HowTo | VAC | Inspection of the BS (sorry, no sounds) | |
3118
|
Fri Jun 25 01:28:33 2010 |
Dmass | HowTo | SVN | SVN woes | I am trying to get an actual complete install of the 40m svn on my machine. It keeps stopping at the same point:
I do a
svn checkout --username svn40m https://nodus.ligo.caltech.edu:30889/svn /Users/dmass/svn
A blah blah blah many files
...
A /Users/dmass/svn/trunk/medm/c1/lsc/C1LSC_ComMode.adl.28oct06
svn: In directory '/Users/dmass/svn/trunk/medm/c1/lsc'
svn: Can't copy '/Users/dmass/svn/trunk/medm/c1/lsc/.svn/tmp/text-base/C1LSC_MENU.adl.svn-base' to '/Users/dmass/svn/trunk/medm/c1/lsc/.svn/tmp/C1LSC_MENU.adl.tmp.tmp': No such file or directory
I believe I have always had this error come up when trying to do a full svn install. Any illumination is welcome.
|
3123
|
Sat Jun 26 05:02:04 2010 |
rana | HowTo | SVN | SVN woes |
Quote: |
I am trying to get an actual complete install of the 40m svn on my machine. It keeps stopping at the same point:
|
I have always seen this when checking out the 40m medm SVN on a non-Linux box. I don't know what it is, but Yoichi and I investigated it at some point and couldn't reproduce it on CentOS. I think its some weirdness in the permissions of tmp files. It can probably be fixed by doing some clever checkin from the control room.
Even worse is that it looks like the whole 'SVN' mantra has been violated in the medm directory by the 'newCDS' team. It could be that Joe has decided to make the 40m a part of the official CDS SVN, which is OK, but will take some retraining on our part. |
3193
|
Mon Jul 12 11:20:56 2010 |
Gopal | HowTo | COMSOL Tips | Intrusions (Negative Extrusions) | For the sake of future users, I have decided to periodically add tips and tricks in using COMSOL that I have figured out, most probably after hours of circuitous efforts. They will always be listed under the new COMSOL Tips category.
Today's topic: Intrusions
COMSOL has a very user-friendly interface for taking objects from 2D to 3D using the "extrusion" feature. But suppose one wants to design an object which contains screw holes or some other indentation. I've found that creating "punctures" in COMSOL is either impossible or very complicated.
Instead, COMSOL encourages users to always "add" to the object. In other words, one must form the lowest level first, then build layers sequentially on top using new work plane and boolean difference operators. This will probably be a bit clearer with an example:
1) First, create the planar projection in a work plane:

2) Extrude the first layer only in the regular fashion:

3) Add a new work plane which is offset in the z-direction to the deepest point of the intrusion.

4) Now, create the shape of the intrusion in this new work plane.

5) Use the Boolean "Difference" to let COMSOL know that, on this plane, the object has a hole.

6) Extrude once more from the second work plane to complete the intrusion.

|
3194
|
Mon Jul 12 12:16:50 2010 |
Dmass | HowTo | COMSOL Tips | Intrusions (Negative Extrusions) | An entry on the 40m wiki page might serve you better, and be easier to sift through once all is said and done |
3233
|
Thu Jul 15 23:51:47 2010 |
Mr. Maric | HowTo | SUS | Levitate me if you can | You guys must work harder.
|
3291
|
Mon Jul 26 11:15:23 2010 |
Gopal | HowTo | COMSOL Tips | Pictures from Transfer Function Tutorial on the Wiki | The attached pictures give a brief overview of my transfer function measurement procedure in COMSOL. For more details, please see the Wiki.







|
3296
|
Tue Jul 27 11:24:53 2010 |
josephb | HowTo | Computer Scripts / Programs | killdataviewer script | I placed a script for killing all instances of the dataviewer program on the current computer in /cvs/cds/caltech/scripts/general/. Its called killdataviewer. This is intended to get rid of a bunch of zombie dataviewer processes quickly. These processes get into this bad state when the dataviewer program is closed in any way other than the graphical menu File -> Exit option.
Its contents are very simple:
#/bin/bash
kill `ps -ef | grep dataviewer | grep -v grep | grep -v killdataviewer | awk '{print $2}'` |
3336
|
Fri Jul 30 17:54:55 2010 |
steve | HowTo | VAC | How to stop and start slow pumpdown |
Quote: |
Bob and Steve closed BS chamber with the help of the manual Genie lift and the pump down started. The PSL shutter was closed and manual block was placed in the beam path. High voltage power supplies were checked to be off.
Pumping speed ~ 1 Torr/min was achieved at 1/8 of a turn opened roughing valve RV1
|
We are at 370 Torr at 9 hrs of pumping. RV1 is opened to ~ 3/8 turn orifice. We are using one roughing pump RP3 and butterfly valve is in place.
How to stop: 1, close RV1 by torque wheel 2, close V3 from MEDM screen 3, turn off RP3 roughing from MEDM screen 4, disconnect metal hose to oily pump
after butterfly valve. This KF-45 O-ring seal should be kept clean 5, place/close 45 mm cover blanks at the end of the hose and and on the 5" nipple.
How to start: 1, remove blanks from hose and nipple 2, reconnect roughing pump hose to RV1 nipple 3, turn on PR3 4, open V3 5, open RV1 by wrench to ~3/8
6, fine tune RV1 opening to 1 Torr/min
ESSENTIAL: one operator has to be present when oilly roughing pump is connected to the vac. envelope |
3338
|
Fri Jul 30 22:07:42 2010 |
Koji | HowTo | VAC | How to stop and start slow pumpdown | Kiwamu and Koji
The rough pumping was stopped at 230mmTorr. We are going to resume the pumping tomorrow morning.
- RV1 was closed with torque wheel.
- V3 was closed from MEDM
- RP3 wss stopped from MEDM
- The quick coupling to RP3 was disconnected.
Quote: |
How to stop: 1, close RV1 by torque wheel 2, close V3 from MEDM screen 3, turn off RP3 roughing from MEDM screen 4, disconnect metal hose to oily pump
after butterfly valve. This KF-45 O-ring seal should be kept clean 5, place/close 45 mm cover blanks at the end of the hose and and on the 5" nipple.
How to start: 1, remove blanks from hose and nipple 2, reconnect roughing pump hose to RV1 nipple 3, turn on PR3 4, open V3 5, open RV1 by wrench to ~3/8
6, fine tune RV1 opening to 1 Torr/min
ESSENTIAL: one operator has to be present when oilly roughing pump is connected to the vac. envelope
|
|
3407
|
Thu Aug 12 11:59:31 2010 |
kiwamu | HowTo | CDS | set up ntp daemom | (sad story)
When I was working on a new front end machine c1sus, I found that make command didn't run and gave the following message.
"make:warning:clock skew detected.Your build may be incomplete"
This was caused by a clock difference between the nfs (nodus) and the terminal machine (c1sus).
I had to set up ntp daemon to synchronize them. Here is a procedure to set up it
(how to)
- log in to a front end machine
ssh c1sus
- enable the ntp daemon
sudo ntsysv
- configure the ntpd
vi (emacs) /etc/ntp.conf
- below is the contents I wrote on ntp.conf
server 192.168.113.200 minpoll 4 maxpoll 4 iburst
driftfile /var/lib/ntp/drift
- let the daemon run
sudo service ntpd start
- check it if it's running
ntpq -p |
3491
|
Mon Aug 30 23:21:36 2010 |
rana | HowTo | PSL | 2W NPRO Mount designed with emachineshop.com software | To test out this website - emachineshop.com, Jenne and I are designing some of the mounts for the new beam height.

It took me a few hours to figure out how to do it, but the software is easy enough for simple stuff. This is a brass mount with M4 clearance holes which are countersunk and a lip so that it can be dogged down to the table.
|
3503
|
Wed Sep 1 08:36:59 2010 |
Koji | HowTo | PSL | 2W NPRO Mount designed with emachineshop.com software | 1. I can not see whether the attaching surface is flat or not.
It should have ~1mm step to avoid "the legs" of the laser at the four corners.
Otherwise we will have ~0.5mm space between the block and the laser
and will squish this gap by the screws => cause the deformation of the block and the laser.
2. The countersinks for the M4 screws can be much deeper so that we can use the existing M4 screws.
In any case, the long M4 screws are not rigid and also not common.
|
3536
|
Tue Sep 7 20:44:54 2010 |
Yoichi | HowTo | COMSOL Tips | COMSOL example for calculating mechanical transfer functions | I added COMSOL example files to the 40m svn to demonstrate how to make transfer function measurements in COMSOL.
https://nodus.ligo.caltech.edu:30889/svn/trunk/comsol/MechanicalTF/
The directory also contains an (incomplete) explanation of the method in a PDF file. |
3652
|
Tue Oct 5 16:30:00 2010 |
josephb, yuta | HowTo | CDS | Screen settings and medm screens for new system | You can find the sitemap medm screen in
/opt/rtcds/caltech/c1/medm/master
The settings for the screens were last saved by burt in the original system on Sept 29, 2010 at 11:07. So go to the
/cvs/cds/caltech/burt/autoburt/snapshots/2010/Sep/29/11:07
directory. You can grep for the channels in the files in this directory.
You can also then use the autoBurt.req file in the /opt/rtcds/caltech/c1/target/sysname/sysnameepics (c1sus/c1susepics) to backup the settings entered. Save to the /opt/rtcds/caltech/c1/target/snapshots directory for now.
|
3658
|
Wed Oct 6 11:03:51 2010 |
josephb, yuta | HowTo | CDS | How to start diaggui for right now | I'm hoping to get a proper install this week done, but for now, this a stop gap.
To start diagnostic test tools, go to rosalba. (Either sit at it, or ssh -X rosalba).
cd /opt/apps
type "bash", this starts a bash shell
source gds-env.bash
diaggui
--------- Debugging section ------
If that throws up errors, try looking with "diag -i" and see if there's a line that starts with nds. In the case last night, Alex had not setup a diagconf configuration file in the /etc/xinetd.d directory, which setups up the diagconf service under the xinit service. To restart that service (if for example the nds line doesn't show up), go to /etc/init.d/ and type "sudo xinit start" (or restart).
Other problems can include awg and/or tpman not running for a particular model on the front end machine. I.e. diag -i should show 3 results from 192.168.113.85 (c1x02, c1sus, c1mcs) at the moment , for both awg and tp. If not, that means awg and tpman need to be restarted for those.
These can be started manually by going to the front end, to the /opt/rtcds/caltech/c1/target/gds/bin/ directory, and running awgtpman -s sysname (or in the case of IOP files [c1x02, c1x03, etc], awgtpman -s sysname -4. Better is probably to run the start scripts which live /opt/rtcds/caltech/c1/scripts/ which kills and restarts all the process for you.
|
3661
|
Wed Oct 6 15:56:14 2010 |
josephb | HowTo | CDS | How to load matrices quickly and easily | Awhile ago I wrote several scripts for reading in medm screen matrix settings and then writing them out. It was meant as kind of a mini-burt just for matrices for switching between a couple of different setups quickly.
Yuta has expressed interest in having this instruction available.
In /cvs/cds/caltech/scripts/matrix/ there are 4 python scripts:
saveMatrix.py, oldSaveMatrix.py, loadMatrix.py, oldLoadMatrix.py
The saveMatrix.py and loadMatrix.py are for use with the current front end codes (which start counting from 1), where as the old*.py files are for the old system.
To use saveMatrix.py you need to specify the number of inputs, outputs, and the base name of the matrix (i.e. C1:LSP-DOF2PD_MTRX is the base of C1:LSP-DOF2PD_MTRX_0_0_GAIN for example), as well as an ouptut file where the values are stored.
So to save the BS in_matrix setting you could do (from /cvs/cds/caltech/scripts/matrix/)
./saveMatrix.py -i 4 -o 5 -n "C1:SUS-BS_TO_COIL_MTRX" -f -d ./to_coil_mtrx.txt
The -i 4 indicates 4 inputs, the -o 5 indicates 5 outputs, -n "blah blah" indicates the base channel name, -f indicates a matrix bank of filters (if its just a normal matrix with no filters, drop the -f flag), and -d ./to_coil_mtrx.txt indicates the destination file.
To write the matrix, you do virtually the same thing:
./loadMatrix.py -n "C1:SUS-PRM_TO_COIL_MTRX" -f -d ./to_coil_mtrx.txt
In this case, you're writing the saved values of the BS, to the PRM. This method might be faster if you're trying to fill in a bunch of new matrices that are identical rather than typing 1's and -1's 20 times for each matrix.
I'll have Yuta add his how-to of this to the wiki. |
3708
|
Wed Oct 13 18:01:43 2010 |
yuta | HowTo | CDS | editting all the similar medm screens | (Joe, Yuta)
Say, you want to edit all the similar medm screens named C1SUS_NAME_XXX.adl.
1. Go to /opt/rtcds/caltech/c1/medm/master and edit C1SUS_DEFAULTNAME_XXX.adl as you like.
2. Run generate_master_screens.py.
That's it!! |
3712
|
Thu Oct 14 00:54:12 2010 |
rana | HowTo | CDS | Bad PSL Quad, so I edited the SUS MEDM screens | We found today that there was some (unforgivably un-elogged) PSL-POS & PSL-ANG work today.
The wedge splitter at the end of the PSL table is so terribly dogged that it actually moves around irreversibly if you touch the post a little. Pictures have been recorded for the hall of shame. This should be replaced with a non-pedestal / fork mount.
I was so sad about the fork clamp, that I edited the SUS Master screen instead according to Joe-Yuta instructions; see attached.
There's clearly several broken/white links on there, but I guess that Yuta is going to find out how to fix these from Joe in the morning. |
3733
|
Mon Oct 18 09:01:48 2010 |
steve | HowTo | General | How not to | This BNC cable is crying for help. Please do not do this to me. It should be reported to the abused center.Throw this cable into the garbage now. |
3785
|
Tue Oct 26 12:45:20 2010 |
yuta | HowTo | CDS | making a new master file for medm screens | (Joe, Yuta)
In elog #3708, we showed how to edit all the similar medm screens easiliy.
But if there are no master files you want to edit in /opt/rtcds/caltech/c1/medm/master/ directory, you can make one.
Say, you want to edit all the similar medm screens named C1SUS_NAME_XXX.adl.
1. Copy one of C1SUS_NAME_XXX.adl to /opt/rtcds/caltech/c1/medm/master/ directory as C1SUS_DEFAULTNAME_XXX.adl.
2. Go to that directory and
sed -i 's/NAME/DEFAULTNAME/g' C1SUS_DEFUALTNAME_XXX.adl
3. Add "_XXX.adl" to file_array list in generate_master_screens.py
4. Edit C1SUS_DEFUALTNAME_XXX.adl
5. Run ./generate_master_screens.py
That's all!! |
3787
|
Tue Oct 26 16:02:55 2010 |
yuta | HowTo | CDS | things to do after making a new Simulink model | (Joe,Yuta)
Things to do after making a new Simulink model.
1. ssh c1sus, go to /opt/rtcds/caltech/c1/core/advLigoRTS/ and run
bash ./makestuff.sh c1 SYS
makestuff.sh does;
make uninstall-daq-$*
make clean-$*
make $*
make install-$*
make install-daq-$*
make install-screens-$*
sed -i 's/RO \(.*SW[12]R.*\)/\1/' /opt/rtcds/caltech/c1/target/$*/$*epics/autoBurt.req
If you don't need to re-install DAQs or screens, just run line 2,3,4, and 7 and go to step #6.
2. ssh c1sus, go to /opt/rtcds/caltech/c1/scripts/ and run
sudo ./startc1SYS
For now, you have to put "1" in "BURT Restore" in GDS screens with in 5-10 secs.
3. Now the DAQ channel numbers are changed. So, go to /cvs/cds/rtcds/caltech/c1/chans/daq/ and run
./activateDAQ.py
activateDAQ will activate the following DAQ channels for every optics with data rate 2048Hz;
ULSEN_OUT
URSEN_OUT
LRSEN_OUT
LLSEN_OUT
SDSEN_OUT
SUSPOS_IN1
SUSPIT_IN1
SUSYAW_IN1
4. Restart fb. See this wiki page.
Basically you what have to do is kill and restart daqd in fb and restart mx_streams in c1sus.
5. DONE! Burt restore if you want.
6. If you don't need to re-install DAQs or screens;
a. Go to /opt/rtcds/caltech/c1/target/c1SYS/c1SYSepics and run
sudo rmmod c1SYSfe
b. Go to /opt/rtcds/caltech/c1/target/c1SYS/bin/ and run
sudo insmod c1SYSfe.ko |
3959
|
Sat Nov 20 01:58:56 2010 |
yuta | HowTo | CDS | editting RT models and MEDM screens | (Suresh, Yuta)
If you come up with a good idea and want to add new things to current RT model;
1. Go to simLink directory and open matlab;
cd /cvs/cds/rtcds/caltech/c1/core/advLigoRTS/src/epics/simLink
matlab
2. In matlab command line, type;
addpath lib
3. Open a model you want to edit.
open modelname
4. Edit! CDS_PARTS has useful CDS parts.
open CDS_PARTS
There are some traps. For example, you cannot put cdsOsc in a subsystem
5. Compile your new model. See my elog #3787.
6. If you want to burt restore things;
cd /cvs/cds/caltech/burt/autoburt/snapshots/YEAR/MONTH/DATE/TIME/
burtgooey
7. Edit MEDM screens
cd /cvs/cds/rtcds/caltech/c1/medm
medm
8. Useful wiki page on making a new suspension MEDM screens;
http://lhocds.ligo-wa.caltech.edu:8000/40m/How_to_make_new_suspension_medm_screens |
4005
|
Thu Dec 2 00:34:32 2010 |
rana | HowTo | LSC | How Does Cavity Locking Work (answered by Nikon) | https://nodus.ligo.caltech.edu:30889/gw.swf
Dr. Koji Arai and Nikon |
4128
|
Sun Jan 9 15:50:55 2011 |
rana | HowTo | PSL | Setting the PMC gain | 
I ramped the PMC gain slider to find where it oscillates. It starts going bad at ~13 dB, so the new default gain is 7 dB to give us some margin for alignment improvements, etc.
I also fixed the TIME field in our MEDM screens by adding the following text to the C1IFO_STATE.db file which runs on c1iscaux:
grecord(stringin, "C0:TIM-PACIFIC_STRING")
{
field(DESC, "Current time and date")
field(DTYP, "EPICS IOC VAR")
field(SCAN, "1 second")
field(INP, "C1:FEC-34_TIME_STRING")
}
grecord(stringin, "C0:IFO-TIME_PACIFIC")
{
field(DESC, "Current time and date")
field(DTYP, "EPICS IOC VAR")
field(SCAN, "1 second")
field(INP, "C1:FEC-34_TIME_STRING")
}
This gets the time info from the c1ioo processor via channel access and gives it these mroe reasonable names. The first record is for backwards compatibility. The second record is a better name and we should use it in the future for all new screens. I had to reboot c1iscaux several times to figure out the right syntax, but its OK now. You have to reopen stale screens to get the field to refresh.
This avoids the previous idea of changing all of the MEDM screens. |
4159
|
Fri Jan 14 20:37:00 2011 |
kiwamu | HowTo | Green Locking | plan for this month | I summarized how we proceed our green locking in this month on the wiki.
Since step1 and 2 shown on the wiki are mostly done apparently, so we will move on to step 3-D and 3-E.
A short term target in the coming couple of days is to phase lock the VCO to the beat note.

|
4171
|
Thu Jan 20 00:39:22 2011 |
kiwamu | HowTo | CDS | DAQ setup : another trick | Here is another trick for the DAQ setup when you add a DAQ channel associated with a new front end code.
Once you finish setting up the things properly according to this wiki page (this page ), you have to go to
/cvs/cds/rtcds/caltech/c1/target/fb
and then edit the file called master.
This file contains necessary path where fb should look at, for the daqd initialization.
Add your path associated with your new front end code on this file, for example:
/opt/rtcds/caltech/c1/chans/daq/C1LSC.ini
/opt/rtcds/caltech/c1/target/gds/param/tpchn_c1lsc.par
After editing the file, restart the daqd on fb by the usual commands:
telnet fb 8088
shutdown |
4185
|
Fri Jan 21 23:17:54 2011 |
rana | HowTo | DAQ | DAQ Wiki Failure | The DAQ Wiki pages say to use port 8088 for restarting the Frame Builder. I tried this to no avail.
op440m:daq>telnet fb 8088 Trying 192.168.113.202... Connected to fb.martian. Escape character is '^]'. ^] telnet> quit Connection to fb.martian closed. op440m:daq>telnet fb 8087 Trying 192.168.113.202... Connected to fb.martian. Escape character is '^]'. daqd> shutdown OK Connection to fb.martian closed by foreign host.
Apparently, 8087 is the right port. Various elog entries from Joe and Kiwamu say 8087 or 8088. Not sure what's going on here.
After figuring this out, I activated the C1:GCV-XARM_COARSE_OUT_DAQ and C1:GCV-XARM_FINE_OUT_DAQ and set both of them to be recorded at 2048 Hz. We are loading filters and setting gains into these filter modules such that the OUT signals will be calibrated into Hz (that's why we used the OUT instead of the IN1 as there was last night). |
4194
|
Mon Jan 24 10:39:16 2011 |
josephb | HowTo | DAQ | DAQ Wiki Failure | Actually both port 8087 and 8088 work to talk to the frame builder. Don't let the lack of a daqd prompt fool you.
Here's putting in the commands:
rosalba:~>telnet fb 8088 Trying 192.168.113.202...
Connected to fb.martian (192.168.113.202). Escape character is '^]'.
shutdown
0000Connection closed by foreign host.
rosalba:~>date Mon Jan 24 10:30:59 PST 2011
Then looking at the last 3 lines of restart.log in /opt/rtcds/caltech/c1/target/fb/
daqd_start Fri Jan 21 15:20:48 PST 2011
daqd_start Fri Jan 21 23:06:38 PST 2011
daqd_start Mon Jan 24 10:30:29 PST 2011
So clearly its talking to the frame builder, it just doesn't have the right formatting for the prompt. If you try typing in "help" at the prompt, you still get all the frame builder commands listed and can try using any of them.
However, I'll edit the DAQ wiki and indicate 8087 should be used because of the better formatting for the prompt.
Quote: |
Apparently, 8087 is the right port. Various elog entries from Joe and Kiwamu say 8087 or 8088. Not sure what's going on here.
After figuring this out, I activated the C1:GCV-XARM_COARSE_OUT_DAQ and C1:GCV-XARM_FINE_OUT_DAQ and set both of them to be recorded at 2048 Hz. We are loading filters and setting gains into these filter modules such that the OUT signals will be calibrated into Hz (that's why we used the OUT instead of the IN1 as there was last night).
|
|
4271
|
Thu Feb 10 14:52:36 2011 |
Aidan | HowTo | Computers | Adding filenames in MATLAB plots | The following code is incredibly useful when creating MATLAB plots as it adds the filename of the script to the plot itself. I think it should be used for all MATLAB plots that go on the elog.
For example, I have no idea where the data/script is that was used to generate these plots.
orient landscape
xposn = 0.0;
yposn = -0.13; % you sometimes have to tweak this value depending on the page size and the number of subplots
text(xposn,yposn,[filename('fullpath'), '.m'], ...
'Units', 'normalized', ...
'Interpreter', 'none', ...
'FontSize', 6)
print('-dpdf', [filename('fullpath'), '.pdf'])
|
4432
|
Wed Mar 23 12:40:22 2011 |
Chief Recycling Officer | HowTo | Environment | Recycle stuff! | The following is a message from the LIGO 40m Chief Recycling Officer:
Please get up off your (Alignment Stabilization Servo)es and recycle your bottles and cans! There is a recycling bin in the control room. Recent weeks have seen an increase in number of bottles/cans thrown away in the regular garbage. This is not cool.
Thank you,
---L4mCRO |
4498
|
Thu Apr 7 13:12:23 2011 |
Koji | HowTo | VIDEO | Video switching tip | Long time ago, I looked at the manual of the video switcher.
http://media.extron.com/download/files/userman/Plus_Ultra_MAV_C.pdf
Here is the summary. This will be the basic of the more sophisticated switching program which may have GUI.
In principle, you can manually control the matrix via telnet. At the console machines, you can connect to the matrix using telnet
telnet 192.168.113.92
This opens TCP/IP port 23 of the specified machine. You will receive some messages.
Then type some command like:
--------------------
1*2! (connect input#1 to output#2)
1, (save the current setting into preset1)
1. (restore the setting from preset1)
--------------------
Basicaly that's all. There are many other features but I don't think we need them.
We can create a simple program with any of the language as any of the language has the capability of the TCP/IP connection.
e.g. C, Perl, Python. Tcl/Tk
Any of them are fine.
Now what we have to think about is how to implement the interface in the epics screen (or whatever).
It needs some investigation how the people is thinking as the ideal interface.
But, first of all, you should make the above three operations available as a simple UNIX command like:
videoswitch -i 192.168.113.92 1 2
videoswitch -i 192.168.113.92 -store 1
videoswitch -i 192.168.113.92 -recall 1
(There is no such command yet. These are showing what it should be!)
This can be done by a single day work and our life will be much better. |
4529
|
Fri Apr 15 02:30:24 2011 |
Koji | HowTo | VIDEO | Video switching tip | I have made a small python script to handle the video matrix.
It is too far from the perfection, but I release it as it is already useful in some extent.
The script is in the /cvs/cds/rtcds/caltech/c1/scripts/general directory.
usage:
videoswitch.py in_ch_name out_ch_name
in_ch_name is one of the followings
MC2F, IFOPO, OMCR, FI, AS_Spare, ITMYF, ITMXF, ETMYF, ETMXF,
PMCR, RCR, RCT, PSL_Spare, PMCT, ETMXT, MC2T, POP, IMCR, REFL,
MC1F, SRMF, AS, ETMYT, PRM, OMCT, Quad1, Quad2, Quad3
out_ch_name is one of the followings
Mon1, Mon2, Mon3, Mon4, Mon5, Mon6, Mon7,
ETMY, MC1, PSL1, PSL2, ETMX, MC2, CRT9,CRT10,Projector,
Quad1_1, Quad1_2, Quad1_3, Quad1_4,
Quad2_1, Quad2_2, Quad2_3, Quad2_4,
Quad3_1, Quad3_2, Quad3_3, Quad3_4
|
4801
|
Thu Jun 9 18:25:22 2011 |
kiwamu | HowTo | CDS | look back a channel which doesn' exist any more | For some purposes I looked back the data of some channels which don't exist any more. Here I explain how to do it.
If this method is not listed on the wiki, I will put this instruction on a wiki page.
(How to)
(1) Edit an "ini" file which is not associated to the real-time control (e.g. IOP_SLOW.ini)
(2) In the file, write a channel name which you are interested in. The channel name should be bracketed like the other existing channels.
example: [C1:LSC-REFL11_I_OUT_DAQ]
(3) Define the data rate. If you want to look at the full data, write
datarate = 2048
just blow each channel name.
Or if you want to look at only the trends, don't write anything.
(4) Save the ini file and restart fb. If necessary hit "DAQ Reload" button on a C1:AAA_GDS_TP.adl screen to make the indicators green.
(5) Now you should be able to look at the data for example by dataviewer.
(6) After you finish the job, don't forget to clean up the sentences that you put in the ini file because it will always show up on the channel list on dtt and is just confusing.
Also don't forget to restart fb to reflect the change. |
4813
|
Tue Jun 14 03:15:29 2011 |
Koji | HowTo | Computer Scripts / Programs | Kissel Button Generator | I have made a python script to generate the button designed by Jeff Kissel for his ISI screen.
It is currently located at the following location:
/cvs/cds/rtcds/caltech/c1/medm/c1lsc_tst/master/KisselButtonGenerator/generate_KisselButton.py
but should be relocated to somewhere appropriate.
It also uses fragmented medm files named "MATRIX*.adl_parts ".
# Jamie, could you suggest the right place?
The parameters are assigned at the beggining of the script.
This script print the result to stdout. So you need to redirect the output into a file.
e.g.
> ./generate_KisselButton.py >tmp.adl
The script should be modified such that it accepts the command line options.
It needs more python learning for me.
# Number of the column
mat_h = 20;
# Number of the row
mat_v = 10;
# horizontal pixel size of the rectangular display for each matrix element
button_width = 8;
# vertical pixel size of the rectangular display for each matrix element
button_height = 8;
replace_dict = {
# Title
'${DISPLAY_LABEL}':'ITMX_INMATRIX',
# Path of the MEDM file to be open by clicking the button
'${DISPLAY_NAME}':'/cvs/cds/rtcds/caltech/c1/medm/c1sus/master/C1SUS_ITMX_INMATRI
X_MASTER.adl',
# The channel name of the matrix element
# ($V and $H are replaced to the numbers i.e. "_3_4")
'${MATRIX_CHAN}':'C1:SUS-ITMX_INMATRIX_$V_$H'
};
|
4820
|
Wed Jun 15 00:50:11 2011 |
Koji | HowTo | Computer Scripts / Programs | Kissel Button Generator | Now the Kissel-button generator takes the command line arguments and options.
The script is fully documented by the usage message of the script itself.
It still needs the external supporting files "MATRIX*.adl_parts ".
Now the LSC screen has these buttons for the input and output matrices.
The command lines to generate those buttons are listed at the end of this entry as the examples.
>pwd
/opt/rtcds/caltech/c1/medm/c1lsc_tst/master/KisselButtonGenerator
>./generate_KisselButton.py -h
usage:
generate_KisselButton.py [options] end_row end_column matrix_ch_name
This generates an MEDM screen of a button with the style designed by
Jeff Kissel for his ISI screens. This button has a display of a matrix
elements. If the matrix element is non-zero it glows in green. Otherwise
its color is dark. Usually the button created by this script
is to be copy-pasted to other screens.
Three arguments have to be given:
end_row the number of the row at the end
end_column the number of the column at the end
matrix_ch_name the channel name of the matrix to be monitored
e.g. give C1:LSC-OUTPUT_MTRX for C1:LSC-OUTPUT_MTRX_1_1, ...
There are options prepared in order to control the parameters of the button.
example:
generate_KisselButton.py 6 6 C1:LSC-OUTPUT_MTRX
6x6 matrix for C1:LSC-OUTPUT_MTRX
options:
-h, --help show this help message and exit
--sr=START_ROW specify the starting row number for the button array.
[default: 1]
--sc=START_COLUMN specify the starting column number for the button array.
[default: 1]
--bw=BUTTON_WIDTH specify the pixel width of the small button. [default:
8]
--bh=BUTTON_HEIGHT specify the pixel height of the small button. [default:
8]
--dl=DISPLAY_LABEL specify the button label. [default: channel name]
--sn=SCREEN_NAME specify the file name of the screen opened when one
click the button. The relative or absolute path can be
included. [default: a name guessed from the channel
name. e.g. C1LSC_OUTPUT_MTRX.adl for C1:LSC-OUTPUT_MTRX]
>./generate_KisselButton.py --bw=3 --bh=4 --dl="RFPD InMTRX" 16 8 C1:LSC-PD_DOF_MTRX > rfpd_mtrx.adl
>./generate_KisselButton.py --sc=21 --bw=6 --bh=4 --dl="DCPD InMTRX" 27 8 C1:LSC-PD_DOF_MTRX > dcpd_mtrx.adl
>./generate_KisselButton.py --bw=4 --bh=4 --dl="Trig MTRX" 11 8 C1:LSC-TRIG_MTRX > trig_mtrx.adl
>./generate_KisselButton.py --bw=4 --bh=4 --dl="Out MTRX" 9 10 C1:LSC-OUTPUT_MTRX > output_mtrx.adl
|
4887
|
Sun Jun 26 18:35:16 2011 |
rana | HowTo | SUS | free swing all optics | I used scripts/SUS/freeswing-all.csh to give the optics a kick and then turn off their watchdogs and collect the free swinging data. Final script end time = 993173551. Start taking data ~ 993173751
I had to fix up the script a little: it had amateur stuff in there, such as undefined variables.
It still doesn't work that well. On the new Ubuntu workstations, pianosa, it fails by just not setting some of the EPICS variables using the EZCA stuff.
On Allegra, it failed on ~1 out of 10 commands by returning "epicsThreadOnce0sd epicsMutexLock failed" ???
On Pianosa, it sometimes says, instead, "epicsThreadOnceOsd: pthread_mutex_lock returned Invalid argument. ". Ah...now I understand?
So finally, I had to run the script on op340m to get it to actually run all of its commands. That's right; I used a 15 year old Solaris 9 Blade 150 because none of our fancy new Linux machines could do the job reliably.
Fixing our EZCA situation is a pretty high priority; if the locking scripts fail to run ~1 command every hour its going to completely derail the lock acquisition attempts.
If you want to use the IFO tonight, just run the script again on op340m again when you're done. |
4892
|
Tue Jun 28 01:18:53 2011 |
rana | HowTo | SUS | free swing all optics | Chris Wipf tells me that the EPICS Mutex Jumbo Mumbo can be overcome by upgrading our EPICS. We should get one of Jamie's assistants to get this going on one of the Ubuntu workstations. |
4903
|
Tue Jun 28 22:07:46 2011 |
Jamie | HowTo | SAFETY | Eurocrate extender card fried (ie. Jamie did a very bad thing) | IMPORTANT ELECTRONICS SAFETY LESSON TO FOLLOW
Yesterday, I fried the +15 V power supply rail on one of the Eurocrate extender cards while I was checking out the binary switching in the 1X5 rack. I will describe what I did it in the hopes that everyone else will be less stupid than me.
I wanted to monitor the voltage across a resistor on the suspension OSEM whitening board. Since I knew that both sides of the resistor would be at non-zero voltage (including possibly at the power-supply rail), I used a battery-operated scope with floating inputs, so that the scope would not try to pull the probe shield to ground. That should be OK, although not recommended, as you'll see, because you must be very careful to make sure that the scopes inputs are indeed floating.
Let's call the original signal 'A'. The trouble came when I then connected another signal (B), whose shield was connected to the ground on the whitening board, to the scope. Apparently the grounds on the scope inputs are connected, or were in the configuration I was using. When I connected the signal B, B's ground shorted A's shield to ground, which had been sitting at the +15V rail. That short circuit then fried the +15V supply line on the extender card I was using (escaping magic smoke was detected). Thankfully this only blew the extender card, and not the Eurocrate or the Eurocrate power supply or the whitening board or the scope etc, all of which would have been much worse.
The moral of the story is to be very careful when connecting power supply voltages to the shield or ground of a scope. In short, don't do it. I didn't ultimately need to, since I could have found other ways to measure the same signal.
|
4952
|
Thu Jul 7 10:25:34 2011 |
steve | HowTo | General | cleaning out refregerator | Please ask the owner unless it is rotten. Do not put food into garbage can inside. Take them outside so you are not inviting ants ! |
4953
|
Thu Jul 7 13:57:28 2011 |
steve | HowTo | SAFETY | how not to | I found baked allen keys on the top of the clean optics cabinet. Somewhat heavy box that can come down in an earthquake on our heads.
NOTHING SHOULD GO ON THE TOP OF THE CABINETS OR RACKS except small plastic boxes that storing our clean clothing. |
|