Differences between revisions 88 and 125 (spanning 37 versions)
Revision 88 as of 2017-04-26 14:36:04
Size: 9401
Comment:
Revision 125 as of 2019-01-29 18:41:23
Size: 276
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Rack Environmental Monitor =
<<TableOfContents(2)>>
= Temperature and Humidity Monitor System =
Line 4: Line 3:
== 親機リスト 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 || ||
[[Overview|概要]]
Line 13: Line 5:
== 中継器リスト 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 ||
[[ItemList|物品リスト]]
Line 21: Line 7:
[[HowTos|設定方法]]
Line 22: Line 9:
== 子機リスト 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 ||
[[KAGRA/Subgroups/DGS/Projects/Rem/OSX|おんどとり設定 on MacOS]]
Line 33: Line 11:

=== 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 ||

=== Outside ===
||fanhut || ||ファン小屋 ||

== 在庫リスト ==
||Name ||Number of stock ||
||親機 ||1 ||
||中継機 ||5 ||
||中継機電源 ||10 ||
||バッテリ付き子機 ||32 ||
||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(監視ディレクトリ)に相当<<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
[[KAGRA/Subgroups/DGS/Projects/Rem/History|History of battery change]]

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