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

<<TableOfContents(3)>>

=== ・REMプログラムを起動する前に下記の確認が必要 ===
==== 1.REMのEPICSチャンネルが登録されていること ====
確認方法

 . {{{
 caget K1:PEM-TEMPERATURE-{LOCATION}
}}}

登録されていなかれば下記手順にそってk1sdfmanageを編集する

==== 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)_rb.shに値を渡して実行することで各チャンネル名にcaputしている。
4.上記の動作を1分間隔で繰り返す
}}}

=== ・親機を追加した場合 ===

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

==== 2.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_Template /kagra/rem/data/$(Location)/ /kagra/rem/archive/$(Location)/  /kagra/rem/data/bin/rem_$(Location)_rb.sh 
autorestart=true
autostart=true
redirect_stderr=true
stdout_logfile=/kagra/rem/log/rem_$(Location).log
}}}

==== 3.supervisorを再起動する ====
 . {{{
sudo supervisorctl reload
}}}


=== ・子機を追加した場合 ===
==== 1.k1sdfmanageにチャンネルを追加する ====
PEMブロックに追加する
TEMPERATUREをはじめ5個のブロックがあるので全てに追加すること

===== コンパイル =====
 {{{
make k1sdfmanage
}}}

===== インストールとDAQリスタート =====

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

 {{{
make install-k1sdfmanage
}}}

gurdianからDAQリスタート

==== 3.スクリプトファイルを編集する ====
 . {{{
cd /kagra/rem/data/bin/
}}}
 {{{
vim(or emacs) rem_$(Location)_rb.sh
}}}

===== 下記の内容を追加する =====
 . {{{
———————————————————rem_$(Location)_rb.shの編集の仕方———
下記の部分をコピーして貼り付ける。
子機番号と$(name)は適宜変更すること。

if [ $1 -eq 子機番号 ] && [ $rtn -eq 0 ]; then
caput K1:PEM-TEMPERATURE_$(name) $2
caput K1:PEM-HUMIDITY_$(name) $3
caput K1:PEM-RSSI_$(name) $4
caput K1:PEM-BATT_$(name) $5
elif [ $1 -eq 1 ] && [ $rtn -eq 1 ]; then
caput K1:PEM-RSSI_$(name) $4
caput K1:PEM-STATUS_$(name) 1
————————————————————————————
}}}

 
=== ・EPICSに使用する.adlファイルの場所 ===
 . {{{
/opt/rtcds/userapps/release/rem/common/medm/K1REM_PLOT.adl
}}}

===== 下記のコマンドを実行してmedmを編集 =====
 . {{{
medm &
}}
メモ

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