Size: 5336
Comment:
|
Size: 4302
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 20: | Line 20: |
sudo supervisorctl start rem_ioc | sudo supervisorctl start rem_test |
Line 51: | Line 51: |
3.$(location)_db.shに値を渡して実行することで各チャンネル名にcaputしている。 | 3.$(location)_rb.shに値を渡して実行することで各チャンネル名にcaputしている。 |
Line 56: | Line 56: |
==== 1.温度計プログラムを修正してビルドする ==== . {{{ cd /kagra/rem/data/src/ }}} . {{{ cp rem_Yend1f.c rem_$(Location).c }}} . {{{ vim rem_$(Location).c }}} |
|
Line 67: | Line 57: |
==== 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.親機からデータを受け取るためのディレクトリを作成する ==== |
==== 1.親機からデータを受け取るためのディレクトリを作成する ==== |
Line 97: | Line 65: |
==== 5.supervisorの設定をする ==== | ==== 2.supervisorの設定をする ==== |
Line 110: | Line 78: |
command=/kagra/rem/data/bin/rem_$(Location) | command=/kagra/rem/data/bin/rem_Template /kagra/rem/data/$(Location)/ /kagra/rem/archive/$(Location)/ /kagra/rem/data/bin/rem_$(Location)_rb.sh |
Line 117: | Line 85: |
==== 6.supervisorを再起動する ==== . {{{ sudo supervisorctl reload }}} |
==== 3.supervisorを再起動する ==== . {{{ sudo supervisorctl reload }}} |
Line 124: | Line 94: |
cd /opt/rtcds/kamioka/k1/target/k1rack/db/ | cd /opt/rtcds/kamioka/k1/target/k1rem |
Line 127: | Line 97: |
vim(or emacs) example_rack.db | vim(or emacs) k1remApp/Db/rem.substitutions |
Line 129: | Line 99: |
Line 132: | Line 103: |
——————————example_rack.db——— grecode(ai,”K1:PEM-TEMPERATURE_FIELD_子機名”) { 省略 } grecode(ai,”K1:PEM-HUMIDITY_FIELD_子機名”) { 省略 } ———————————————————————————— |
{場所, 子機名} |
Line 144: | Line 106: |
ioc をスタートさせる | ===== コンパイル ===== {{{ make }}} ===== ioc をスタートさせる ===== |
Line 147: | Line 114: |
sudo supervisorctl restart rem_ioc | sudo supervisorctl restart rem_test |
Line 158: | Line 125: |
example_rack.db に追加したチャンネル名を書き足す | 追加したチャンネル名を書き足す |
Line 178: | Line 145: |
vim(or emacs) rem_center_db.sh | vim(or emacs) rem_$(Location)_rb.sh |
Line 183: | Line 150: |
———————————————————rem_center_db(and? or? rb).shの編集の仕方——— | ———————————————————rem_$(Location)_rb.shの編集の仕方——— |
Line 185: | Line 152: |
ここでいう13は子機番号なので、EPICSのチャンネル名と共に適宜変更すること。 elif [ $1 -eq 13 ] && [ $rtn -eq 0 ]; then caput K1:PEM-TEMPERATURE_FIELD_CRYDR2 $2 caput K1:PEM-HUMIDITY_FIELD_CRYDR2 $3 |
子機番号と$(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 |
Line 192: | Line 165: |
script をスタートさせる . {{{ sudo supervisorctl restart rem_$(location) }}} ファイル _rb.sh とか _db.sh とかあるけど、 restart rem_center のみで OK |
REM (Rack Environmental Monitor) スクリプトの起動・設定方法
・REMプログラムを起動する前に下記の確認が必要
1.REMのEPICSを起動していること
確認方法
ps -ef | grep ./st.cmd
起動していなければ下記の手順で起動する
EPICS ioc を走らせるマシンへログイン
ssh k1script
ioc をスタートさせる
sudo supervisorctl start rem_test
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.EPICSにチャンネルを追加する
cd /opt/rtcds/kamioka/k1/target/k1rem
vim(or emacs) k1remApp/Db/rem.substitutions
下記の内容を追加する
{場所, 子機名}
コンパイル
make
ioc をスタートさせる
sudo supervisorctl restart rem_test
2.DAQにチャンネルを追加
chans cd daq gedit K1EDCU_REM.ini
追加したチャンネル名を書き足す
[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_$(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/