Differences between revisions 1 and 12 (spanning 11 versions)
Revision 1 as of 2018-01-19 11:58:32
Size: 5048
Comment:
Revision 12 as of 2021-09-07 13:14:27
Size: 3904
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

<<TableOfContents(3)>>
Line 3: Line 6:
==== 1.REMのEPICSを起動していること ==== ==== 1.REMのEPICSチャンネルが登録されていること ====
Line 7: Line 10:
 ps -ef | grep ./st.cmd  caget K1:PEM-TEMPERATURE-{LOCATION}
Line 10: Line 13:
===== 起動していなければ下記の手順で起動する =====
EPICS ioc を走らせるマシンへログイン

 . {{{
 ssh k1script
}}}

ioc をスタートさせる

 . {{{
 sudo supervisorctl start rem_ioc
}}}
登録されていなかれば下記手順にそってk1sdfmanageを編集する
Line 51: Line 43:
3.$(location)_db.shに値を渡して実行することで各チャンネル名にcaputしている。 3.$(location)_rb.shに値を渡して実行することで各チャンネル名にcaputしている。
Line 56: Line 48:
==== 1.温度計プログラムを修正してビルドする ====
 . {{{
cd /kagra/rem/data/src/
}}}
 . {{{
cp rem_Yend1f.c rem_$(Location).c
 }}}
 . {{{
vim rem_$(Location).c
 }}}
Line 67: Line 49:
==== 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 57:
==== 5.supervisorの設定をする ==== ==== 2.supervisorの設定をする ====
Line 110: Line 70:
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 77:
==== 6.supervisorを再起動する ====
 . {{{ sudo supervisorctl reload }}}
==== 3.supervisorを再起動する ====
 . {{{
sudo supervisorctl reload
}}}
Line 122: Line 84:
==== 1.EPICSにチャンネルを追加する ====
 . {{{
cd /opt/rtcds/kamioka/k1/target/k1rack/db/
}}}
==== 1.k1sdfmanageにチャンネルを追加する ====
PEMブロックに追加する
TEMPERATUREをはじめ5個のブロックがあるので全てに追加すること

===== コンパイル =====
Line 127: Line 90:
vim(or emacs) example_rack.db make k1sdfmanage
Line 130: Line 93:
===== 下記の内容を追加する =====
 . {{{
——————————example_rack.db———
grecode(ai,”K1:PEM-TEMPERATURE_FIELD_子機名”)
{
省略
}
grecode(ai,”K1:PEM-HUMIDITY_FIELD_子機名”)
{
省略
}
————————————————————————————
===== インストールとDAQリスタート =====

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

 {{{
make install-k1sdfmanage
Line 144: Line 101:
==== 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 ###)
}}}
gurdianからDAQリスタート
Line 171: Line 108:
vim(or emacs) rem_center_db.sh vim(or emacs) rem_$(Location)_rb.sh
Line 176: Line 113:
———————————————————rem_center_db.shの編集の仕方——— ———————————————————rem_$(Location)_rb.shの編集の仕方———
Line 178: Line 115:
ここでいう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 185: Line 128:
 
Line 199: Line 143:

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

・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/

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