Differences between revisions 53 and 87 (spanning 34 versions)
Revision 53 as of 2016-10-13 13:42:16
Size: 6457
Comment:
Revision 87 as of 2017-03-15 23:59:55
Size: 9350
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

Table of contents:
Line 6: Line 4:
Line 8: Line 5:

||
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 (TBC) || X end station, on a AED rack || 1F EXC, 2F EXC ||
|| Y end || || || || ||
|| Mozumi Station ||52A002A0   || 10.68.11.10 || Control Room || SVR ||
||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 (local) ||X end station, on a AED rack ||1F EXC, 2F EXC, Racks ||
||Y end || || 192.168.10.5 (local)|| EY1 rack at Yend station || 1F EYC, 2F EYC, Racks ||
||Mozumi Station ||52A002A0 ||10.68.11.10 ||Control Room ||SVR ||
||Yend 2F || 52A01115|| 192.168.11.16|| Y end 2F area (EYV) || ||
||X500m (PX) || ? || 10.68.140.2|| GIF Area || ||
Line 16: Line 14:
|| Name || Connected to || Serial # || Location ||
|| Relay1 || Relay2, center || 529A13E8 || Location ||
|| Relay2 || Relay3, imc, ioo, mcrack, pr2, prm, psl || 529A1401 || Location ||
|| Relay3 || ixa || 529A1853 || Location ||
|| Relay4 || crydr || 529A1855 || Location ||
|| Relay5 || iya || 529A186A || Location ||
||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 24: Line 23:
Line 26: 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 ||
||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 ||
Line 38: Line 35:

||
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 ||
||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 ||
||crydr ||52C6122A ||低温機械室 tent1 ||
||crydr2 ||52C6122E ||低温機械室 tent2 ||
Line 48: Line 45:
||  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 56: Line 58:
|| Name || Serial # || Location ||
|| No name yet || 52C61A1E || Yamamoto san installed ||
|| ey1 || || ||
|| eyc || || ||
||Name ||Serial # ||Location ||
|| ey1 || 52C614D8 || EY0 rack ||
|| eyc1f || 52C614DC || Yend clean booth 1F||
|| eyc2f || 52C61A1E || Yend clean booth 2F||

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


== 在庫リスト ==
||Name ||Number of stock ||
||親機 ||1 ||
||中継機 ||5 ||
||中継機電源 ||10 ||
||バッテリ付き子機 ||33 ||
||probeのみ ||7 ||
||バッテリ ||22 ||
Line 67: Line 86:
=== ・REMスクリを起動する前に下記の確認が必要 === === ・REMプログラムを起動する前に下記の確認が必要 ===
Line 70: Line 89:
Line 73: Line 93:
Line 80: Line 101:
ioc をスタートさせるスクリプトのあるディレクトリへ移動

 . {{{
 cd /opt/rtcds/kamioka/k1/target/k1rack/iocBoot/iock1rack
}}}
Line 89: Line 104:
./st.cmd  sudo supervisorctl start rem_ioc
Line 99: Line 114:
 cd /kagra/ren/data/$(location)  cd /kagra/rem/data/$(location)
Line 107: Line 122:
=== ・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 158: Line 234:
Line 159: Line 236:
 {{{
 .
{{{
Line 165: Line 243:
 {{{
 .
{{{
Line 173: Line 252:
cd /opt/rtcds/userapps/release/rem/common/script/ cd /kagra/rem/data/bin/
Line 176: Line 255:
vim(or emacs) rem.sh vim(or emacs) rem_center_db.sh
Line 181: Line 260:
———————————————————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 202: Line 282:
 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. おそらくちゃんと動く

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 (local)

X end station, on a AED rack

1F EXC, 2F EXC, Racks

Y end

192.168.10.5 (local)

EY1 rack at Yend station

1F EYC, 2F EYC, Racks

Mozumi Station

52A002A0

10.68.11.10

Control Room

SVR

Yend 2F

52A01115

192.168.11.16

Y end 2F area (EYV)

X500m (PX)

?

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

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

Center Fields

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

crydr

52C6122A

低温機械室 tent1

crydr2

52C6122E

低温機械室 tent2

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

ey1

52C614D8

EY0 rack

eyc1f

52C614DC

Yend clean booth 1F

eyc2f

52C61A1E

Yend clean booth 2F

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

在庫リスト

Name

Number of stock

親機

1

中継機

5

中継機電源

10

バッテリ付き子機

33

probeのみ

7

バッテリ

22

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)