Differences between revisions 6 and 7
Revision 6 as of 2019-07-26 18:00:16
Size: 5336
Comment:
Revision 7 as of 2019-08-16 13:57:01
Size: 4283
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を再起動する ==== ==== 3.supervisorを再起動する ====
Line 124: Line 92:
cd /opt/rtcds/kamioka/k1/target/k1rack/db/ cd /opt/rtcds/kamioka/k1/target/k1rem
Line 127: Line 95:
vim(or emacs) example_rack.db vim(or emacs) k1remApp/Db/rem.substitutions
}}}
 {{{
make
Line 132: Line 103:
——————————example_rack.db———
grecode(ai,”K1:PEM-TEMPERATURE_FIELD_子機名”)
{
省略
}
grecode(ai,”K1:PEM-HUMIDITY_FIELD_子機名”)
{
省略
}
————————————————————————————
  {場所, 子機名}
Line 147: Line 109:
 sudo supervisorctl restart rem_ioc  sudo supervisorctl restart rem_test
Line 158: Line 120:
example_rack.db に追加したチャンネル名を書き足す 追加したチャンネル名を書き足す
Line 178: Line 140:
vim(or emacs) rem_center_db.sh vim(or emacs) rem_$(Location)_rb.sh
Line 183: Line 145:
———————————————————rem_center_db(and? or? rb).shの編集の仕方——— ———————————————————rem_$(Location)_rb.shの編集の仕方———
Line 185: Line 147:
ここでいう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
 18 caput K1:PEM-TEMPERATURE_$(name) $2
 19 caput K1:PEM-HUMIDITY_$(name) $3
 20 caput K1:PEM-RSSI_$(name) $4
 21 caput K1:PEM-BATT_$(name) $5
 22 elif [ $1 -eq 1 ] && [ $rtn -eq 1 ]; then
 23 caput K1:PEM-RSSI_$(name) $4
 24 caput K1:PEM-STATUS_$(name) 1
Line 192: Line 160:

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
     18 caput K1:PEM-TEMPERATURE_$(name) $2
     19 caput K1:PEM-HUMIDITY_$(name) $3
     20 caput K1:PEM-RSSI_$(name) $4
     21 caput K1:PEM-BATT_$(name) $5
     22 elif [ $1 -eq 1 ] && [ $rtn -eq 1 ]; then
     23 caput K1:PEM-RSSI_$(name) $4
     24 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/

HowToManual (last edited 2021-09-07 13:14:27 by shoichi.oshino)