Differences between revisions 41 and 112 (spanning 71 versions)
Revision 41 as of 2016-10-12 11:41:47
Size: 5741
Comment:
Revision 112 as of 2017-07-26 16:00:10
Size: 10294
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
<<TableOfContents(2)>>
Line 4: Line 5:

|| Name || Serial # || IP address || Location ||
|| Center || 52A0101E || 10.68.140.1 || Center digital room in Mine ||
|| X end || 52A0112B || 192.168.10.4 (TBC) || X end station, on a AED rack ||
|| Y end || || || ||
|| Mozumi Station ||52A002A0 || 10.68.11.10 || Control Room ||
||Name ||Serial # ||IP address ||Location ||Connected to ||
||Center ||52A0101E ||10.68.140.1 ||Center digital room in Mine ||Relay1, dr, outdr ||
||X end ||52A0112B ||--(192.168.10.4)-- 192.168.10.2 (local)<<BR>>10.68.10.209 ||X end station, on a AED rack ||1F EXC, 2F EXC, Racks ||
||Y end ||52A0107C ||192.168.10.5 (local)<<BR>>10.68.10.229 ||Top of EY1 rack || 1F EYC, 2F EYC, Racks ||
||Mozumi Station ||52A002A0 ||10.68.11.10 ||Control Room ||SVR ||
||Yend 2F ||52A01115 ||192.168.11.16 (local)<<BR>>10.68.10.230 ||Y end 2F area (EYV) || ||
||X500m (PX) ||52A01117 ||10.68.140.2 ||GIF Area || ||

== 中継器リスト Relay station list ==
||Name ||Connected to ||Serial # ||Location ||
||Relay1 ||Relay2, center ||529A13E8 ||Location ||
||Relay2 ||Relay3, imc, ioo, mcrack, pr2, prm, psl ||529A1401 ||Location ||
||Relay3 ||ixa ||529A1853 ||By IXA clean booth / Cryomachine room door ||
||Relay4 ||crydr ||529A1855 ||Location ||
||Relay5 ||iya ||529A186A ||Location ||
Line 14: Line 23:
Line 16: Line 24:

|| Name || Serial # || Location ||
|| mc rack || 52C61128 || MC Rack ||
|| ioo || 52C610D7 || IOO Rack ||
|| pr2 || 52C61227 || PR2 Rack ||
|| prm || 52C61226 || PRM Rack ||
|| psl || 52C61518 || Entrance of the PSL enclosure||
|| ixa || 52C61506 || Around IXA duct ||
|| iya || 52C61505 || Around IYA duct ||
|| crydr || 52C6122A || 低温機械室 ||
||Name ||Serial # ||Location || koki # ||
||mc rack ||52C61128 ||MC Rack ||1 ||
||ioo ||52C610D7 ||IOO Rack ||6 ||
||pr2 ||52C61227 ||PR2 Rack ||7 ||
||prm ||52C61226 ||PRM Rack ||8 ||
||ixa ||52C61506 ||Around IXA duct ||10 ||
||iya ||52C61505 ||Around IYA duct ||11 ||
Line 28: Line 34:

|| Name || Serial # || Location ||
|| out dr ||52C61234 || Outside of the mine digital room||
|| dr ||52C61234 || Inside of the mine digital room||
|| center ||52C61128 || On the wall close to the BS booth||
|| imc || 52C610DB || On the big white shelf close to the IMC and PSL||
||Name ||Serial # ||Location || koki # ||
||out dr ||52C61234 ||Outside of the mine digital room || 2 ||
||dr ||52C61234 ||Inside of the mine digital room ||3 ||
||center ||52C61128 ||On the wall close to the BS booth ||4 ||
||imc ||52C610DB ||On the big white shelf close to the IMC and PSL ||5 ||
||crydr ||52C6122A ||低温機械室 tent1 ||12 ||
||crydr2 ||52C6122E ||低温機械室 tent2 ||13 ||
||psl ||52C61518 ||Entrance of the PSL enclosure ||9 ||
||psl2 || 52C61A2C ||In front of PSL's airconditioner || 19 ||

=== Center Booth ===
||Name ||Serial # ||Location || koki # ||
||pr booth ||52C6199F || PR booth || 15 ||
||mcf booth || 52C619A0|| mcf booth || 16 ||
||bs booth || 52C61A27|| bs booth || 17 ||
||pslbooth ||52C61A29 ||PSL clean area || 18 ||
Line 38: Line 53:
||  Name    || Serial #  || Location ||
|| EX1 || || Xend, DGS rack ||
|| EXC1F ||52C6199E   || X end, EXC clean booth 1F ||
|| EXC2F || 52C614D9  || X end, EXC clean booth 2F ||
|| EXA || || X end, EXA. Not used or not registered to the base station ||
||Name ||Serial # ||Location ||
||ex1 || ||Xend, DGS rack ||
||exc1f ||52C6199E ||X end, EXC clean booth 1F ||
||exc2f ||52C614D9 ||X end, EXC clean booth 2F ||
||exa ||52C61A03 ||X end, EXA. ||
||old exa || ||Sealed in the EXA metal rack and not accessible.
Not used or not registered to the base station ||

=== X Mid (500m) ===
||Name ||Serial # ||Location ||
||px1 ||52C61A00 ||Special DGS rack (not online yet) ||
||field_px ||52C61A22 ||In Field (not online yet)||
Line 46: Line 66:
|| Name || Serial # || Location ||
|| No name yet || 52C61A1E || Yamamoto san installed ||
|| EY1 || || ||
|| EXC || || ||
||Name ||Serial # ||Location || Koki # ||
|| ey1 || 52C614D8 || EY0 rack || 1 ||
|| eyc1f || 52C614DC || Yend clean booth 1F|| 2 ||
|| eyc2f || 52C61A1E || Yend clean booth 2F|| 3 ||
|| eya || 52C61A01 || iKAGRA EYA booth || 4 ||

=== Y end 2F ===
||Name ||Serial # ||Location ||
|| eyv1 || 52C61A2B || EY1 (2F) rack ||
|| eyv2 || 52C61A17 || EY2 (2F) rack ||
|| eyvbooth || 52C61A02 || EY 2F clean booth ||
Line 53: Line 80:
|| Name || Serial # || Location ||
|| SVR || 52C61229 || Mozumi server room rear ||
||Name ||Serial # ||Location ||
||SVR ||52C61229 ||Mozumi server room rear ||

=== Outside ===
||Name ||Serial # ||Location || koki # ||
||fanhut ||52C61A04 ||ファン小屋 || 14 ||


== 在庫リスト ==
||Name ||Number of stock ||
||親機 ||1 ||
||中継機 ||5 ||
||中継機電源 ||10 ||
||バッテリ付き子機 ||27 ||
||probeのみ ||7 ||
||バッテリ ||21 ||

=== Y end ===
||Name ||Serial # ||Location || Koki # ||
|| old exc || 52C614Da || Back in Storage || N/A ||
Line 57: Line 102:
=== ・REMスクリを起動する前に下記の確認が必要 === === ・REMプログラムを起動する前に下記の確認が必要 ===
Line 60: Line 105:
Line 63: Line 109:
Line 70: Line 117:
ioc をスタートさせるスクリプトのあるディレクトリへ移動

 . {{{
 cd /opt/rtcds/kamioka/k1/target/k1rack/iocBoot/iock1rack
}}}
Line 79: Line 120:
./st.cmd  sudo supervisorctl start rem_ioc
Line 85: Line 126:
 ftp 172.16.34.56 ###ユーザーIDとパスワードは問い合わせてください###
}}}

 . {{{
 cd /tmp/ #温度計の親機で設定したディレクトリを指定
 ftp 10.68.10.10
}}}

 . {{{
 cd /kagra/rem/data/$(location)
Line 97: Line 138:
=== ・REMスクリプトの起動方法 ===
 . {{{
cd /opt/rtcds/userapps/release/rem/common/script/
}}}
 . {{{
bash rem.sh
}}}

=== ・REMスクリプトの大まかな流れ ===
 . {{{
FTPサーバに接続する
FTPサーバの/tmp/に存在するすべてのXMLファイルをLocalサーバの/tmp/に転送する
FTPサーバの/tmp/に存在するすべてのXMLファイルを削除する
Localサーバの/tmp/に存在するすべてのXMLファイルを/opt/rtcds/userapps/release/rem/common/script/xml/に移動する
        //バックアップのため、Localサーバの/xml/にXMLファイルを保存する
FTPサーバの接続を切る
Localサーバの/tmp/に存在するXMLファイルを読み込む(XMLに記載されている各子機の温度、湿度を抽出)
抽出した値をTextファイルに書き込む
Textファイルを読み込み、EPICSに値を登録する
上記の動作を1分間隔で繰り返す
}}}
=== ・REMプログラムの起動方法 ===
 . {{{
sudo supervisorctl start $(location)
}}}

=== ・REMプログラムの大まかな流れ ===
 . {{{
1.温度計の親機がk1nfsの/kagra/rem/data/$(location)にデータをFTP転送する。
2.ディレクトリに存在するXMLファイルを解析する。
---
XMLファイルは<num>で括られた数字が子機番号となっている。(一番最初のnumはグループ番号となっているため注意)
<value>で括られている数字は温度と湿度となっている。
---
3.$(location)_db.shに値を渡して実行することで各チャンネル名にcaputしている。
4.上記の動作を1分間隔で繰り返す
}}}

=== ・親機を追加した場合 ===
==== 1.温度計プログラムを修正してビルドする ====
 . {{{
cd /kagra/rem/data/src/
}}}
 . {{{
cp rem_Yend1f.c rem_$(Location).c
 }}}
 . {{{
vim rem_$(Location).c
 }}}

==== 2.ディレクトリの場所の指定をする ====
===== 下記の内容を編集する =====
 . {{{
#define xml_dir "/kagra/rem/data/Yend1f/"
#define archive_dir "/kagra/rem/archive/Yend1f/"
#define exe_command "bash /kagra/rem/data/bin/rem_Yend1f_db.sh"

===== 下記のように編集する =====
#define xml_dir "/kagra/rem/data/$(Location)/"
#define archive_dir "/kagra/rem/archive/$(Location)/"
#define exe_command "bash /kagra/rem/data/bin/rem_$(Location)_db.sh"
}}}

==== 3.ビルドする ====
なんかエラー出るが無視する
 . {{{
gcc rem_$(Location).c -o rem_$(Location)
 }}}
 . {{{
cp rem_$(Location) ../bin/
 }}}

==== 4.親機からデータを受け取るためのディレクトリを作成する ====
 . {{{
mkdir /kagra/rem/data/$(Location)/
 }}}
 . {{{
chmod 777 /kagra/rem/dara/$(Location)/
 }}}

==== 5.supervisorの設定をする ====
 . {{{
cd /etc/supervisor/
 }}}
 . {{{
sudo vim supervisord.conf
 }}}

===== 下記の内容を追加する =====
 . {{{
[program:rem_$(Location)]
user=controls
environment=PATH="/bin/:/usr/bin:/kagra/apps/epics/base/bin/linux-x86_64"
command=/kagra/rem/data/bin/rem_$(Location)
autorestart=true
autostart=true
redirect_stderr=true
stdout_logfile=/kagra/rem/log/rem_$(Location).log
}}}

==== 6.supervisorを再起動する ====
 . {{{ sudo supervisorctl reload }}}
Line 148: Line 250:
Line 149: Line 252:
 {{{
 .
{{{
Line 154: Line 258:
=> k1dc0のdaqdのリスタート k1dc0のdaqdのリスタート /!\ データを使っている人がいないか確認してから /!\

 . {{{
ssh k1dc0
ps -ef | grep daqd
kill $(daqd ###)
}}}
Line 158: Line 268:
cd /opt/rtcds/userapps/release/rem/common/script/ cd /kagra/rem/data/bin/
Line 161: Line 271:
vim(or emacs) rem.sh vim(or emacs) rem_center_db.sh
Line 166: Line 276:
———————————————————rem.shの編集の仕方———
まず,転送されてきたxmlファイルが存在するディレクトリに移動し,下記のコマンドを実行する
less RTR-500AW_52A0107C_**********.xml
その後,/numを入力.<num>0</num>のように,ハイライトされる場所がいくつかあるので見る
最初の0はグループ番号,次の1は子機の番号,次の1は子機の温度,次の2は子機の湿度なので,それをみてスクリプトを編集する
———————————————————rem_center_db.shの編集の仕方———
下記の部分をコピーして貼り付ける。
ここでいう13は子機番号なので、EPICSのチャンネル名と共に適宜変更すること。
elif [ $1 -eq 13 ] && [ $rtn -eq 0 ]; then
caput K1:PEM-TEMPERATURE_FIELD_CRYDR2 $2
caput K1:PEM-HUMIDITY_FIELD_CRYDR2 $3
Line 187: Line 298:
 cd /opt/rtcds/userapps/release/rem/common/script/
}}}
 cd /opt/rtcds/userapps/release/rem/common/scripts/
}}}

=== ・設定の半自動化スクリプト ===
「親機を追加した場合」から「子機を追加した場合」までをワンライナーで行えるようにした
(daqdのリスタートのみ、自動化から除外している)
==== 使い方 ====
{{{
/kagra/rem/data/src/Admin_rem.sh Zend1F RACK_EZ0 1
}}}


==== 補足 ====
1. 第一引数は$Location(監視ディレクトリ)に相当<<BR>>
上記例では /kagra/rem/data/Zend1F が監視ディレクトリに追加される<<BR>>
既に監視ディレクトリになっている場合何もしないので、子機設定(チャンネル名追加)のみ行いたい場合も上記コマンドOK

2. 第二引数は子機名(チャンネル名の末尾)<<BR>>
上記例では K1:PEM-TEMPERATURE_RACK_EZ0 と K1:PEM-HUMIDITY_RACK_EZ0 が追加される<<BR>>
(既に登録されているチャンネル名を指定すると何もせずエラー終了)

3. 第三引数は子機番号<<BR>>
上記例では子機番号1<<BR>>
(既に登録されている子機番号を指定すると何もせずにエラー終了)

4. 第一引数だけを与えると親機の設定までを行って終了する
{{{
/kagra/rem/data/src/Admin_rem.sh Zend1F
}}}

5. おそらくちゃんと動く


== おんどとり設定メモ ==
https://goo.gl/photos/bHgQJfxKcKDVpzuD9

Rack Environmental Monitor

親機リスト Base station list

Name

Serial #

IP address

Location

Connected to

Center

52A0101E

10.68.140.1

Center digital room in Mine

Relay1, dr, outdr

X end

52A0112B

192.168.10.4 192.168.10.2 (local)
10.68.10.209

X end station, on a AED rack

1F EXC, 2F EXC, Racks

Y end

52A0107C

192.168.10.5 (local)
10.68.10.229

Top of EY1 rack

1F EYC, 2F EYC, Racks

Mozumi Station

52A002A0

10.68.11.10

Control Room

SVR

Yend 2F

52A01115

192.168.11.16 (local)
10.68.10.230

Y end 2F area (EYV)

X500m (PX)

52A01117

10.68.140.2

GIF Area

中継器リスト Relay station list

Name

Connected to

Serial #

Location

Relay1

Relay2, center

529A13E8

Location

Relay2

Relay3, imc, ioo, mcrack, pr2, prm, psl

529A1401

Location

Relay3

ixa

529A1853

By IXA clean booth / Cryomachine room door

Relay4

crydr

529A1855

Location

Relay5

iya

529A186A

Location

子機リスト Data logger list

Center Racks

Name

Serial #

Location

koki #

mc rack

52C61128

MC Rack

1

ioo

52C610D7

IOO Rack

6

pr2

52C61227

PR2 Rack

7

prm

52C61226

PRM Rack

8

ixa

52C61506

Around IXA duct

10

iya

52C61505

Around IYA duct

11

Center Fields

Name

Serial #

Location

koki #

out dr

52C61234

Outside of the mine digital room

2

dr

52C61234

Inside of the mine digital room

3

center

52C61128

On the wall close to the BS booth

4

imc

52C610DB

On the big white shelf close to the IMC and PSL

5

crydr

52C6122A

低温機械室 tent1

12

crydr2

52C6122E

低温機械室 tent2

13

psl

52C61518

Entrance of the PSL enclosure

9

psl2

52C61A2C

In front of PSL's airconditioner

19

Center Booth

Name

Serial #

Location

koki #

pr booth

52C6199F

PR booth

 15

mcf booth

52C619A0

mcf booth

 16

bs booth

52C61A27

bs booth

 17

pslbooth

52C61A29

PSL clean area

18

X end

Name

Serial #

Location

ex1

Xend, DGS rack

exc1f

52C6199E

X end, EXC clean booth 1F

exc2f

52C614D9

X end, EXC clean booth 2F

exa

52C61A03

X end, EXA.

old exa

Sealed in the EXA metal rack and not accessible. Not used or not registered to the base station

X Mid (500m)

Name

Serial #

Location

px1

52C61A00

Special DGS rack (not online yet)

field_px

52C61A22

In Field (not online yet)

Y end

Name

Serial #

Location

Koki #

ey1

52C614D8

EY0 rack

1

eyc1f

52C614DC

Yend clean booth 1F

2

eyc2f

52C61A1E

Yend clean booth 2F

3

eya

52C61A01

iKAGRA EYA booth

4

Y end 2F

Name

Serial #

Location

eyv1

52C61A2B

EY1 (2F) rack

eyv2

52C61A17

EY2 (2F) rack

eyvbooth

52C61A02

EY 2F clean booth

Mozumi

Name

Serial #

Location

SVR

52C61229

Mozumi server room rear

Outside

Name

Serial #

Location

koki #

fanhut

52C61A04

ファン小屋

14

在庫リスト

Name

Number of stock

親機

1

中継機

5

中継機電源

10

バッテリ付き子機

27

probeのみ

7

バッテリ

21

Y end

Name

Serial #

Location

Koki #

old exc

52C614Da

Back in Storage

N/A

REM (Rack Environmental Monitor) スクリプトの起動・設定方法

・REMプログラムを起動する前に下記の確認が必要

1.REMのEPICSを起動していること

確認方法

  •  ps -ef | grep ./st.cmd

起動していなければ下記の手順で起動する

EPICS ioc を走らせるマシンへログイン

  •  ssh k1script

ioc をスタートさせる

  •  sudo supervisorctl start rem_ioc

2.温度計がFTPサーバにXMLファイルを転送していること

FTPサーバのXMLファイルは下記の手順で確認する
  •  ftp 10.68.10.10
  •  cd /kagra/rem/data/$(location)
  •  ls

.xmlファイルが存在すればOK

・REMプログラムの起動方法

  • sudo supervisorctl start $(location)

・REMプログラムの大まかな流れ

  • 1.温度計の親機がk1nfsの/kagra/rem/data/$(location)にデータをFTP転送する。
    2.ディレクトリに存在するXMLファイルを解析する。
    ---
    XMLファイルは<num>で括られた数字が子機番号となっている。(一番最初のnumはグループ番号となっているため注意)
    <value>で括られている数字は温度と湿度となっている。
    ---
    3.$(location)_db.shに値を渡して実行することで各チャンネル名にcaputしている。
    4.上記の動作を1分間隔で繰り返す

・親機を追加した場合

1.温度計プログラムを修正してビルドする

  • cd /kagra/rem/data/src/
  • cp rem_Yend1f.c rem_$(Location).c
  • vim rem_$(Location).c

2.ディレクトリの場所の指定をする

下記の内容を編集する
  • #define xml_dir "/kagra/rem/data/Yend1f/"
    #define archive_dir "/kagra/rem/archive/Yend1f/"
    #define exe_command "bash /kagra/rem/data/bin/rem_Yend1f_db.sh"
    
    ===== 下記のように編集する =====
    #define xml_dir "/kagra/rem/data/$(Location)/"
    #define archive_dir "/kagra/rem/archive/$(Location)/"
    #define exe_command "bash /kagra/rem/data/bin/rem_$(Location)_db.sh"

3.ビルドする

なんかエラー出るが無視する

  • gcc rem_$(Location).c -o rem_$(Location)
  • cp rem_$(Location) ../bin/

4.親機からデータを受け取るためのディレクトリを作成する

  • mkdir /kagra/rem/data/$(Location)/
  • chmod 777 /kagra/rem/dara/$(Location)/

5.supervisorの設定をする

  • cd /etc/supervisor/
  • sudo vim supervisord.conf

下記の内容を追加する
  • [program:rem_$(Location)]
    user=controls
    environment=PATH="/bin/:/usr/bin:/kagra/apps/epics/base/bin/linux-x86_64"
    command=/kagra/rem/data/bin/rem_$(Location)
    autorestart=true
    autostart=true
    redirect_stderr=true
    stdout_logfile=/kagra/rem/log/rem_$(Location).log

6.supervisorを再起動する

  •  sudo supervisorctl reload 

・子機を追加した場合

1.EPICSにチャンネルを追加する

  • cd /opt/rtcds/kamioka/k1/target/k1rack/db/
    vim(or emacs) example_rack.db

下記の内容を追加する
  • ——————————example_rack.db———
    grecode(ai,”K1:PEM-TEMPERATURE_FIELD_子機名”)
    {
    省略
    }
    grecode(ai,”K1:PEM-HUMIDITY_FIELD_子機名”)
    {
    省略
    }
    ————————————————————————————

2.DAQにチャンネルを追加

  • chans
    cd daq
    gedit K1EDCU_REM.ini

example_rack.db に追加したチャンネル名を書き足す

  • [K1:PEM-TEMPERATURE_$(name)]
    [K1:PEM-HUMIDITY_$(name)]

k1dc0のdaqdのリスタート /!\ データを使っている人がいないか確認してから /!\

  • ssh k1dc0
    ps -ef | grep daqd
    kill $(daqd ###)

3.スクリプトファイルを編集する

  • cd /kagra/rem/data/bin/
    vim(or emacs) rem_center_db.sh

下記の内容を追加する
  • ———————————————————rem_center_db.shの編集の仕方———
    下記の部分をコピーして貼り付ける。
    ここでいう13は子機番号なので、EPICSのチャンネル名と共に適宜変更すること。
    elif [ $1 -eq 13 ] && [ $rtn -eq 0 ]; then
    caput K1:PEM-TEMPERATURE_FIELD_CRYDR2 $2
    caput K1:PEM-HUMIDITY_FIELD_CRYDR2 $3
    ————————————————————————————

・EPICSに使用する.adlファイルの場所

  • /opt/rtcds/userapps/release/rem/common/medm/K1REM_PLOT.adl

下記のコマンドを実行してmedmを編集
  • medm &

メモ

 cd /opt/rtcds/userapps/release/rem/common/scripts/

・設定の半自動化スクリプト

「親機を追加した場合」から「子機を追加した場合」までをワンライナーで行えるようにした (daqdのリスタートのみ、自動化から除外している)

使い方

/kagra/rem/data/src/Admin_rem.sh Zend1F RACK_EZ0 1

補足

1. 第一引数は$Location(監視ディレクトリ)に相当
上記例では /kagra/rem/data/Zend1F が監視ディレクトリに追加される
既に監視ディレクトリになっている場合何もしないので、子機設定(チャンネル名追加)のみ行いたい場合も上記コマンドOK

2. 第二引数は子機名(チャンネル名の末尾)
上記例では K1:PEM-TEMPERATURE_RACK_EZ0 と K1:PEM-HUMIDITY_RACK_EZ0 が追加される
(既に登録されているチャンネル名を指定すると何もせずエラー終了)

3. 第三引数は子機番号
上記例では子機番号1
(既に登録されている子機番号を指定すると何もせずにエラー終了)

4. 第一引数だけを与えると親機の設定までを行って終了する

/kagra/rem/data/src/Admin_rem.sh Zend1F

5. おそらくちゃんと動く

おんどとり設定メモ

https://goo.gl/photos/bHgQJfxKcKDVpzuD9

KAGRA/Subgroups/DGS/Projects/Rem (last edited 2023-02-17 19:13:21 by KeikoKokeyama)