9361
Comment:
|
23604
|
Deletions are marked like this. | Additions are marked like this. |
Line 50: | Line 50: |
== 各サスペンションのモデル整備状況 == 2020/12/24 更新 ||optic ||Towerモデル ||Payloadモデル ||備考 || ||ETMX ||PI ||CRY ||完了 || ||ETMY ||PI ||CRY ||完了 || ||ITMX ||PI ||CRY ||完了 || ||ITMY ||TYPEA_MASTER/<<BR>>TYPEA_TOWER_MASTER ||TYPEA_MASTER/<<BR>>TYPEA_PAYLOAD_MASTER_EMPTY ||[1] || ||BS ||TYPEB_MASTER/<<BR>>TYPEB_TOP_MASTER_shutdown ||TYPEB_MASTER/<<BR>>TYPEB_PAYLOAD_shutdown ||[3] || ||SRM ||PI ||PAY ||[2] || ||SR2 ||PI ||PAY ||[2] || ||SR3 ||PI ||PAY || [3] || ||PRM ||PI ||PAY ||完了 || ||PR2 ||PI ||PAY ||完了 || ||PR3 ||PI ||TYPEBP_MASTER/<<BR>>TYPEBPMASTER_PAY ||[5] || ||MCI ||--- || IMC ||完了 || ||MCE ||--- || IMC ||完了 || ||MCO ||--- || IMC ||完了 || ||IMMT1 ||--- || IMC ||完了 || ||IMMT2 ||--- || IMC ||完了 || ||OMMT1 ||--- || OMC ||完了 || ||OMMT2 ||--- || OMC ||完了 || ||OSTM ||--- || OMC ||完了 || |
== RTM Status == 2021/04/05 updated ||optic ||Tower ||Payload ||Memo || ||ETMX ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visetmxt/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visetmxp/webview.html#1|CRY]] ||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15611|#15611]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15641|#15641]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15672|#15672]] || ||ETMY ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visetmyt/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visetmyp/webview.html#1|CRY]] ||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15611|#15611]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15641|#15641]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15662|#15662]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15669|#15669]] || ||ITMX ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visitmxt/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visitmxp/webview.html#1|CRY]] ||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15611|#15611]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15641|#15641]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15675|#15675]] || ||ITMY ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visitmyt/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visitmyp/webview.html#1|CRY]] ||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16217|#16217]] || ||BS ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visbst/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visbsp/webview.html#1|PAY]] ||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r= 16447|#16447]] || ||SRM ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vissrmt/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vissrmp/webview.html#1|PAY]] ||[[https://klog.icrr.u-tokyo.ac.jp/?r=15632|#15632]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15641|#15641]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15660|#15660]] || ||SR2 ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vissr2t/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vissr2p/webview.html#1|PAY]] ||[[https://klog.icrr.u-tokyo.ac.jp/?r=15632|#15632]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15641|#15641]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15937|#15937]] || ||SR3 ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vissr3t/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vissr3p/webview.html#1|PAY]] ||[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=15632|#15632]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15938|#15938]] || ||PRM ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visprmt/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visprmp/webview.html#1|PAY]] ||[[https://klog.icrr.u-tokyo.ac.jp/?r=15632|#15632]] ,[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15636|#15636]] ,[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15641|#15641]] ,[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15652|#15652]] ,[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15659|#15659]] || ||PR2 ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vispr2t/webview.html#1|PI]]||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vispr2p/webview.html#1|PAY]] ||[[https://klog.icrr.u-tokyo.ac.jp/?r=15632|#15632]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15636|#15636]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15641|#15641]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15677|#15677]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15938|#15938]] || ||PR3 ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vispr3t/webview.html#1|PI]] ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vispr3p/webview.html#1|PAY]] ||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15636|#15636]], [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=15641|#15641]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r= 16391 |#16391]] || ||MCI ||--- ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vismci/webview.html#1|IMC]]||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16234|#16234]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16261|#16261]] || ||MCE ||--- ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vismce/webview.html#1|IMC]] ||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16234|#16234]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16261|#16261]] || ||MCO ||--- || [[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1vismco/webview.html#1|IMC]] ||[[http://klog.icrr.u-tokyo.ac.jp//osl/?r= 16234|#16234]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16261|#16261]] || ||IMMT1 ||--- ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visimmt1/webview.html#1|IMC]] || [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16234|#16234]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16261|#16261]] || ||IMMT2 ||--- ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visimmt2/webview.html#1|IMC]] || [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16234|#16234]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16261|#16261]] || ||OMMT1 ||--- ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visommt1/webview.html#1|OMC]] || [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16252|#16252]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16262|#16262]] || ||OMMT2 ||--- ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visommt2/webview.html#1|OMC]] || [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16252|#16252]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16262|#16262]] || ||OSTM ||--- ||[[https://gwdet.icrr.u-tokyo.ac.jp/~controls/modelview/k1visostm/webview.html#1|OMC]] || [[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16252|#16252]],[[http://klog.icrr.u-tokyo.ac.jp//osl/?r=16262|#16262]] || |
Line 74: | Line 74: |
||TMSX || VIS_TMS_LIB/TMS_VIS||--- || [6]|| * [1] CRYで使用中の為、修正は待ち状態(2月上旬?まで) |
||TMSX || VIS_TMS_LIB/TMS_VIS||--- ||[6] || |
Line 78: | Line 77: |
* [5] PR3はしばらく触らない方針。 | |
Line 83: | Line 81: |
1.mdl、Foton、DAQファイルを一旦バックアップ | 1.既存モデル編集時のみ:mdl、Foton、DAQファイルを一旦バックアップ |
Line 124: | Line 122: |
モデルの再起動時に条件を満たせば次のコマンドを使用して時間短縮が行えます。 [条件]SDFのK1:FEC-xxx_SDF_DIFF_CNTが0の時 cd /opt/rtcds/userapps/release/cds/common/scripts ./restart_slave_model.sh [モデル名] iopの場合は、コマンドが異なるので要注意です。 |
|
Line 128: | Line 132: |
4.SDFの設定 | 4.新規のモデルの場合のみ次の手順を実施する K1:FEC-xx_BURT_RESTOREを0から1に変更 {{{ 新規のモデルファイルの場合は caput K1-FEC-xx_BURT_RESTORE 1 が成功するまで設定を行う。チャンネルがないなどでエラーになった場合は設定できるまで繰り返す。 Shell Scriptで実施すると便利。 while: do caput K1-FEC-xx_BURT_RESTORE 1 sleep 0.5 done }}} K1:FEC-xx_STATE_WORDの状態確認 {{{ sitemap-CDS-CDS-!refreshを押下してモデル名が表示されるまでしばらく待つ(1min)。 1.sitemap-CDS-CDSのモデル名のボタンを押下して K1xxx_GDS_TP.adlを表示 2.STATE WORD-FEが赤表示の場合はモデルを再起動して caput K1-FEC-xx_BURT_RESTORE 1を再度実施する。 FE-NETが赤,DCが白抜きは現状では無視して良い。 }}} SDF(safe.snap)を新規に作成 {{{ 1.sitemap-CDS-CDSのモデル名のボタンを押下して K1xxx_GDS_TP.adlを表示 2.SDF TABLE-SDF SAVE SCREENを開く SAVE TABLE OR EPICS DB: EPICS DB TO FILE FILE OPTINS SELECTION: SAVE AS SAVE AS FILE NAME: safe SAVE FILEボタンを押下して、safe.snapを保存する。 3.SDF RESTORE SCREEN-LOAD TABLEを押下してsafe.snapを読み込む }}} mx_streamにモデルを登録して再起動 {{{ FE-NET(K1:FEC-xxx_FB_NET_STATUS)が赤の場合行います。 1.k1bootにログインしてrtsystabを編集 $ ssh k1boot $ sudo emacs /diskless/root/etc/rtsystab モデルを適当なところへ追加 2.mx_streamの再起動 sitemap-DAQ Status-!mx_streamを押下、ログを見て更新されているか確認 うまく行かない場合は手動でmx_streamを再起動する $ ssh k1xxx(RTCPCへログイン) $ sudo /etc/init.d/mx_stream restart }}} 5.SDFの設定 |
Line 134: | Line 187: |
5.Trippe Monitorが赤の場合 | 6.Trippe Monitorが赤の場合 |
Line 140: | Line 193: |
6.GDSが赤の場合 | 7.GDSが赤の場合 |
Line 152: | Line 205: |
[sitemap]-[CDS]-[CDS]のCFCの隣の黄土色のボタンから[Admin only]-[start awgtpan]を押す }}} 7.Fotonファイルの編集とロード モデルを2つに分割する場合は別途手順が必要 |
[sitemap]-[CDS]-[CDS]のCFCの隣の黄土色のボタンから[Admin only]-[start awgtpan]を押す [CFC]が赤(黄)色の場合 DAQされているチャンネルがモデルにない時に発生します。 例えば、モデルのインストール(make XXXとmake installXXX)まで完了して、再起動(startXXX)せずにDAQを再起動すると発生します。 この場合は、モデルの再起動(startXXX)のみを行えば改善します。 }}} 8.Fotonファイルの編集とロード モデルを2つに分割する場合のみ次の手順を実施 safe.snapを分割したモデルに適用する方法 |
Line 170: | Line 229: |
Fotonファイルの確認 |
|
Line 180: | Line 241: |
8.[sitemap]-[CDS]-[CDS}からGDSを開き[COEFF LOAD]を押す 9.新規モデル、またはモデル削除の際は、DAQへの登録、削除が必要 |
9.[sitemap]-[CDS]-[CDS}からGDSを開き[COEFF LOAD]を押す 10.新規モデル、またはモデル削除の際は、DAQへの登録、削除が必要 |
Line 192: | Line 253: |
}}} 10.Fotonファイルを/opt/rtcds/userapps/release/vis/k1/fotonfilesへコピー 11.不必要なファイルを削除 |
修正後はDAQを再起動する }}} 11.Fotonファイルを/opt/rtcds/userapps/release/vis/k1/fotonfilesへコピー 12.不必要なファイルを削除 |
Line 197: | Line 261: |
モデル間でSHMEMが共通の場合 {{{ この場合2回makeが必要になるケースがあります。エラーになった場合再度makeする。 |
==== ビルドエラー ==== IPCx component (3) K1:xxx not found in IPCx parameter file /opt/rtcds/kamioka/k1/chans/ipc/K1.ipc {{{ モデル間でSHMEMが共通の場合、参照先をビルドするとエラーになります。その場合2回makeをする必要になるケースがあります。エラーになった場合再度makeすると改善します。 相互参照している場合、4回ビルドが必要になるかもしれません。 |
Line 201: | Line 267: |
k1visitmytとk1bisitmypの2つのモジュールがあり、K1:VIS-ITMY_ISC_MN_OUTがPayloadに定義されていてそれをTower側で使おうとして先にTowerをビルドすると次のエラーが発生します。これはK1.ipcにまだ定義がない為発生するのでこれを避けるためには、PayloadをビルドしてからTowerをビルドします。 ### IPCx component (3) K1:VIS-ITMY_ISC_MN_OUT not found in IPCx parameter file /opt/rtcds/kamioka/k1/chans/ipc/K1.ipc ***ERROR: The following IPCx RECIVER module(s) not found in the file /opt/rtcds/kamioka/k1/chans/ipc/K1.ipc: K1:VIS-ITMYP_ISC_MN_OUT ***ERROR: Aborting (this code can only automatically and IPCx SENDER modules) |
|
Line 206: | Line 278: |
}}} | }}} Faild to perse the MDL file merging referrences at SystemXX. {{{ 1つのファイルの中で名称が被ると発生します。 例えばPAYLOAD_MASTERでMN,IMとか単純な名称をつけてCRYO_PAYLOAD_MASTERの中でMN,IMをLibrary linkで名称を変更せずに使用するとSystemMNとかSystemIMのエラーが発生します。 Library linkする場合、元の名称は_(アンダースコア)なしの長めの名称にして、使用時に名称を変更することが必要です。 }}} ERROR: IPCx type mis-match for IPCx component K1:xxx IRFM0 : IRFM0 vs. IRFM1 {{{ このエラーはcdsIPCx_RFMが使用されているが、参照元の定義がない場合に出ます。 参照元の名前がある場合は、参照先で参照元で定義されたcard番号等が記述を間違っている可能性があるので確認してみる。 分からなければ参照元をコピーして再度参照先に貼り付けると直ります。 }}} Couln’t find a signal XXX in the bus Available signals:YYY1,YYY2 {{{ XXXにあるYYY1,YYY2が見つからない。 例えばADC Selectorなどで名前を変更忘れなど???とか表示されている場合に発生するエラーです。 該当する名称の見直し、またはつけ直しをすることで解消できます。 }}} Processing output port #XX name=YYYY Disconnected output port {{{ port #XX name=YYYYがその先接続がない時に出力されます。 接続先を確認、Terminateする等の修正が必要です。 }}} *** ERROR: Can't find a Goto for a From XXX *** ERROR: The Goto must be in the same subsystem {{{ Fromラベルはあるが、対応するGotoラベルがない時に発生するエラーです。 From、Gotoラベルが必要なのか不要なのか見直しを行いましょう。 }}} Part XXX needs a single MUX input, detected Filt {{{ cdsMuxMatrixとcdsFiltやラベルで繋げようとすると発生します。 cdsMuxMatrixの両端にMux, Demuxを配置して接続すると解消します。 }}} Bad DAQ channel rate specified: xxx, 16 {{{ DAQの最低レートは32のようです。 #DAQ Channels定義を見直す必要があります。 }}} [[https://git.ligo.org/cds/advligorts/-/blob/master/src/epics/util/lib/Parser3.pm|Parser3.pm#L.1436]] K1:XXX-YYY Died at /opt/rtcds/rtscore/tags/advLigoRTS-3.1.1/src/epics/util/fmseq.pl line 1330. {{{ EPICSチャンネル自体を、DAQ Channelsに記述した場合にこのエラーが発生します。 この場合は不要なので削除すると直ります。 }}} ==== SDF ==== モデルを新規に作成したがSDF SAVE SCREENのSAVE FILEボタンを押しても保存されない {{{ モデルファイルの名称にepicsを含めるとSAVE FILEボタンが押せなくなります。 ex. k1sdfepics.mdlとかはNGです。 この場合は名称を変更しましょう。 }}} ==== Guardian ==== CONNECTION ERROR, see SPM DIFFS for dead channel. EZCA CONNECTION ERROR: Could not connect to channel. {{{ Guardianの中で使っているEPICSチャンネルをモデルから削除した、またはモデルに追加していない為見つからないエラーです。 前者の場合は、Guardian側の修正が必要になる。後者の場合は、モデル側の修正が必要です。 }}} ==== DAC ==== iopモデルのDACが赤になる {{{ [sitemap]-[CDS]-[CDS} k1iopXXXのDACが赤の場合に考えられる不具合 1.Timing jumpでDACが打刻タイミング見失うパターン 2.IO chassis内ケーブルの接触不良 3.DAC故障 4.ケーブル回りをメンテした場合も発生するかもしれない(2021-11-02) [対策] 上記1,4はモデル再起動 iop以外killk1visXXX,iopをstartk1iopXXX,iop以外をstartk1visXXX 2,3ならば再起動では治らないので修繕が必要 }}} OVERFLOWのカウンタが0ではない {{{ 瞬間的なものでモデル立ち上げ時かスクリプトでの自動測定関連であれば問題なし 発生し続けている場合は別問題 }}} ==== DAQ ==== DAQチャンネルのデータレート毎の個数などが知りたい。 {{{ /opt/rtcds/rtscore/release/src/epics/util/iniChk.plを /opt/rtcds/kamioka/k1/chans/daq配下のファイルを指定して確認できる。 例: $ chans $ cd daq $ /opt/rtcds/rtscore/release/src/epics/util/iniChk.pl K1VISPRMT.ini }}} ==== その他 ==== |
Line 224: | Line 408: |
この手順で試して良いのはDolphinを使わないRFMとかのモデルのみ。Dolphinを使うPCの場合は、坑内で作業して再起動する必要があります。 nslookupでIPを見つける |
DolphinありのFEの場合は、1と2を実施 DolphinなしでRFMとかのFEは2から実施 1.該当するFEのDolphinをDisableする コマンドラインでsitemapを開いてログが見られるようにする。 注意:後述する[!dxadmin]の状況で赤丸の表示になっているのは道連れになってDisableされているので再度Disableはしないこと! $ sitemap [sitemap]-[CDS]-[Dolphin]を開く [README]を読む [!dxadmin]を開いて状況を確認する。 該当するFEのスクリプトを実行する ex.[!k1pr2]、パスワードはいつもの この時、他のFEも道連れになることがある。 この場合は、坑内で復旧作業が必要です。 2.RFMとかのモデルのみはここから実施 nslookupでIPを見つける。またはWIKIからIPを探す。 |
Line 227: | Line 426: |
このIPアドレスを使いブラウザでアクセスしてみる。その際のIPアドレスは次のように3番目を99にする | このIPにログインして再起動を試す。 $ sudo shutdown -r now ログインできない場合は、このIPアドレスを使いブラウザでアクセスしてみる。 その際のIPアドレスは次のように3番目を99にする |
Line 231: | Line 434: |
あとは祈る。起動しなければ構内作業へ。 }}} |
あとは祈る。起動しなければ坑内作業へ。 }}} == 参考 == [[https://dcc.ligo.org/LIGO-T080135|LIGO-T080135: AdvLigo CDS Realtime Code Generator (RCG) Application Developer’s Guide]] [[https://dcc.ligo.org/public/0001/T080135/005/LIGO-T080135-v5.pdf|LIGO-T080135: Real-time Code Generator (RCG) Application Developer’s Guide]] [[https://dcc.ligo.org/public/0092/T1200291/001/LIGO-T1200291-v1.pdf|LIGO-T1200291: Real-time Code Generator (RCG) Software Component Overview]] [[https://dcc.ligo.org/public/0118/T1500115/005/LIGO-T1500115-v5.pdf|LIGO-T1500115: Real-time Code Generator (RCG) SDF Software]] |
Real Time Model Development
Contents
コンセプト
- メンテナンスの手間を減らすために、各サスペンションで使うステージのブロックは共通化する。
- 共通化で生じたステージブロックの不要な入出力は終端処理しておく。
- サスペンションモデルは”制御方法の違い"ごとに、ブロックを分ける。
サスペンションモデル
防振装置の役割に応じて、サスペンションのRTモデルを2つに分ける。
- まず、LIGOの防振がSEIとSUSで分かれているように、KAGRAも分ける。
- 慣習に従って、TowerとPayloadの2つのRTモデルに分ける。
- ただし、例外として、Type-CはPayloadのみにする。
Towerモデル
- TowerはLIGOのSEIに相当し、Pre-isolator、BFダンパー、GASを含むモデル。
- Towerモデルは、1種類のブロックを用意する。
- (追記:TypeA,B,Bpでタワー部分の制御方法が違うので、3種類にするかもしれない。)
Payloadモデル
- PayloadはLIGOのSUSに相当し、BF以下の振り子を含むモデル。
- Payloadモデルは、4種類のブロックを用意する。
- Type-A用のモデル
- Type-BとBp用のモデル
- Type-CのIMC用のモデル
- Type-CのOMC用のモデル
ファイル
ライブラリモデル (/opt/rtcds/userapps/release/vis/common)
- ./VIS_LIB.mdl : 共通で使うブロックを置く場所。
- たくさんあるので省略。
- ./TOWER_MASTER.mdl
- ./PI(旧TOWER_MASTER) : TypeA,B,Bp用
- PAYLOAD_MASTER.mdl
- ./CRY(旧CRYOPAYLOAD_MASTER) : TypeA用
- ./PAY(旧PAYLOAD_MASTER) : TypeB,Bp用
- ./IMC(旧TYPEC_MASTER/IMC) : IMCの3つ,IMMT1,2用
- ./OMC(旧TYPEC_MASTER/OMC) : OSTM,OMMT1,2用
サスペンションモデル (/opt/rtcds/userapps/release/vis/k1)
- ./
- k1vis{optics}t.mdl : TypeA,B,Bpのすべてのサスペンション
- k1vis{optics}p.mdl : TypeA,B,Bpのすべてのサスペンション
- k1vis{optics} : TypeCのすべてのサスペンション
RTM Status
2021/04/05 updated
optic |
Tower |
Payload |
Memo |
ETMX |
|||
ETMY |
|||
ITMX |
|||
ITMY |
|||
BS |
|||
SRM |
|||
SR2 |
|||
SR3 |
|||
PRM |
|||
PR2 |
|||
PR3 |
|||
MCI |
--- |
||
MCE |
--- |
||
MCO |
--- |
||
IMMT1 |
--- |
||
IMMT2 |
--- |
||
OMMT1 |
--- |
||
OMMT2 |
--- |
||
OSTM |
--- |
||
TMSX |
VIS_TMS_LIB/TMS_VIS |
--- |
[4,6] |
TMSX |
VIS_TMS_LIB/TMS_VIS |
--- |
[6] |
- [4] リンクを解除している。
- [6] スケジュールにはTMSをやる時間がないが、一応モデルの場所は把握しておく。ほとんど触っていないし中身も知らない。
モデル編集
作業の流れ
1.既存モデル編集時のみ:mdl、Foton、DAQファイルを一旦バックアップ
$ userapps /opt/rtcds/userapps/release $ cd vis/common/models または cd vis/k1/models 編集するモデルファイルのコピーを作成しておく(編集前の比較用) $ chans /opt/rtcds/kamioka/k1/chans K1VISxxx.txt : Foton File $ cd daq/ /opt/rtcds/kamioka/k1/daq K1VISxxx.ini : DAQ File
2.MATLAB(mdlファイル)の編集
Terminalを開き $ matlab &
新規モデルの場合は、DCU ID、CPUを他のモデルと重複しない番号に変更
3.ビルド前の確認
[sitemap]-[VIS]-[VIS_OVERVIEW] サスペンションはSAFEにすること。 SDFが0であること。 GDSがオールグリーンであること。
3.RealTimeModelのPCへログイン、make ,make install,startを行う
[sitemap]-[CDS]-[CDS]でPC名を確認 $ ssh k1xx (ex.k1EX1) ビルドフォルダへ移動 $ cdscode make実行 $ make k1visXXX install実行 $ make install-k1visXXX モデルの再起動 $ startk1visXXX モデルの再起動時に条件を満たせば次のコマンドを使用して時間短縮が行えます。 [条件]SDFのK1:FEC-xxx_SDF_DIFF_CNTが0の時 cd /opt/rtcds/userapps/release/cds/common/scripts ./restart_slave_model.sh [モデル名] iopの場合は、コマンドが異なるので要注意です。 モデルが起動したら次の作業を行う。
別途AutoBuildも使えます。
4.新規のモデルの場合のみ次の手順を実施する
K1:FEC-xx_BURT_RESTOREを0から1に変更
新規のモデルファイルの場合は caput K1-FEC-xx_BURT_RESTORE 1 が成功するまで設定を行う。チャンネルがないなどでエラーになった場合は設定できるまで繰り返す。 Shell Scriptで実施すると便利。 while: do caput K1-FEC-xx_BURT_RESTORE 1 sleep 0.5 done
K1:FEC-xx_STATE_WORDの状態確認
sitemap-CDS-CDS-!refreshを押下してモデル名が表示されるまでしばらく待つ(1min)。 1.sitemap-CDS-CDSのモデル名のボタンを押下して K1xxx_GDS_TP.adlを表示 2.STATE WORD-FEが赤表示の場合はモデルを再起動して caput K1-FEC-xx_BURT_RESTORE 1を再度実施する。 FE-NETが赤,DCが白抜きは現状では無視して良い。
SDF(safe.snap)を新規に作成
1.sitemap-CDS-CDSのモデル名のボタンを押下して K1xxx_GDS_TP.adlを表示 2.SDF TABLE-SDF SAVE SCREENを開く SAVE TABLE OR EPICS DB: EPICS DB TO FILE FILE OPTINS SELECTION: SAVE AS SAVE AS FILE NAME: safe SAVE FILEボタンを押下して、safe.snapを保存する。 3.SDF RESTORE SCREEN-LOAD TABLEを押下してsafe.snapを読み込む
mx_streamにモデルを登録して再起動
FE-NET(K1:FEC-xxx_FB_NET_STATUS)が赤の場合行います。 1.k1bootにログインしてrtsystabを編集 $ ssh k1boot $ sudo emacs /diskless/root/etc/rtsystab モデルを適当なところへ追加 2.mx_streamの再起動 sitemap-DAQ Status-!mx_streamを押下、ログを見て更新されているか確認 うまく行かない場合は手動でmx_streamを再起動する $ ssh k1xxx(RTCPCへログイン) $ sudo /etc/init.d/mx_stream restart
5.SDFの設定
[sitemap]-[VIS]-[VIS_OVERVIEW] CHANS NOT FOUND がある場合:[SDF RESTORE SCREEN]-[LOAD TABLE]を押す CHANS NOT INITがある場合:[MON]([ACCEST]を含む)にして、[CONFIRM]を押す
6.Trippe Monitorが赤の場合
[sitemap]-[VIS]-[VIS_OVERVIEW] - [Trippe]-[WD],[DK]を押す 押しても緑にならない場合は、WDに引っ掛かっている為、対象のEPICSチャンネルの閾値等へ値を設定する必要があると思われます。
7.GDSが赤の場合
[sitemap]-[VIS]-[VIS_OVERVIEW]-[GDS] [IPC]が赤 [Diag Reset]を押す [DAQ LOAD]に差分がある場合は押す。 [DC] -[Status]が0x2000の場合はDAQの再起動を行う -[Status]が0xbadの場合、 [CDS]-[DAQ Status]-[!mx_stream]を押す [AWG]が赤の場合 [sitemap]-[CDS]-[CDS]のCFCの隣の黄土色のボタンから[Admin only]-[start awgtpan]を押す [CFC]が赤(黄)色の場合 DAQされているチャンネルがモデルにない時に発生します。 例えば、モデルのインストール(make XXXとmake installXXX)まで完了して、再起動(startXXX)せずにDAQを再起動すると発生します。 この場合は、モデルの再起動(startXXX)のみを行えば改善します。
8.Fotonファイルの編集とロード
モデルを2つに分割する場合のみ次の手順を実施
safe.snapを分割したモデルに適用する方法
[sitemap]-[VIS]-[VIS_OVERVIEW]-[SDF] 元のモデルのsafe.snapファイルをsafeold.snapにリネーム 新規モデルで 1.[SDF SAVE SCREEN]-[FILE OPTIONS SELECTION]を[SAVE AS]にして[SAVE AS FILENAME]へ[safe]にする 2.[SDF RESTORE SCREEN]からsafe.snapを[LOAD TABLE] 3.NOT INITは全て[MON]-[CONFIRM] 4.safeold.snapを[LOAD TABLE] 5.[SETTING]-[REVERT]-[CONFIRM] 6.safe.snapを選択[LOAD TABLE] 7.全て[ACCEPT]-[CONFIRM]
Fotonファイルの確認
Fotonファイルの整合性の確認 $ foton Fileから対象のK1VISxxx.txtを選択 [File]ボタンを赤くなったら編集が必要、色が変わらなければ作業不要 赤の場合はFotonファイルをテキストエディタで開き、新、旧のモデルファイルで同じ意味を持つフィルタは名称の変更を、該当しない場合は削除する。 $ emacs K1VISxxx.txt 赤で無くなるまで続ける。
9.[sitemap]-[CDS]-[CDS}からGDSを開き[COEFF LOAD]を押す
10.新規モデル、またはモデル削除の際は、DAQへの登録、削除が必要
/opt/rtcds/kamioka/k1/target/fb へ移動 $ target $ cd fb masterファイルを編集 $ emacs master /opt/rtcds/kamioka/k1/chans/daq/K1XXX.ini /opt/rtcds/kamioka/k1/target/gds/param/tpchn_xxx.par の2行セットで編集すること。不要になっても削除せず#にてコメントアウトにしておく。(他の人が見てわかるように) 修正後はDAQを再起動する
11.Fotonファイルを/opt/rtcds/userapps/release/vis/k1/fotonfilesへコピー
12.不必要なファイルを削除
トラブルシュート
ビルドエラー
IPCx component (3) K1:xxx not found in IPCx parameter file /opt/rtcds/kamioka/k1/chans/ipc/K1.ipc
モデル間でSHMEMが共通の場合、参照先をビルドするとエラーになります。その場合2回makeをする必要になるケースがあります。エラーになった場合再度makeすると改善します。 相互参照している場合、4回ビルドが必要になるかもしれません。 ex. k1visitmytとk1bisitmypの2つのモジュールがあり、K1:VIS-ITMY_ISC_MN_OUTがPayloadに定義されていてそれをTower側で使おうとして先にTowerをビルドすると次のエラーが発生します。これはK1.ipcにまだ定義がない為発生するのでこれを避けるためには、PayloadをビルドしてからTowerをビルドします。 ### IPCx component (3) K1:VIS-ITMY_ISC_MN_OUT not found in IPCx parameter file /opt/rtcds/kamioka/k1/chans/ipc/K1.ipc ***ERROR: The following IPCx RECIVER module(s) not found in the file /opt/rtcds/kamioka/k1/chans/ipc/K1.ipc: K1:VIS-ITMYP_ISC_MN_OUT ***ERROR: Aborting (this code can only automatically and IPCx SENDER modules) $ make k1visXXXt エラーが出る $ make k1visXXXp もう一度makeをする $ make k1visXXXt
Faild to perse the MDL file merging referrences at SystemXX.
1つのファイルの中で名称が被ると発生します。 例えばPAYLOAD_MASTERでMN,IMとか単純な名称をつけてCRYO_PAYLOAD_MASTERの中でMN,IMをLibrary linkで名称を変更せずに使用するとSystemMNとかSystemIMのエラーが発生します。 Library linkする場合、元の名称は_(アンダースコア)なしの長めの名称にして、使用時に名称を変更することが必要です。
ERROR: IPCx type mis-match for IPCx component K1:xxx IRFM0 : IRFM0 vs. IRFM1
このエラーはcdsIPCx_RFMが使用されているが、参照元の定義がない場合に出ます。 参照元の名前がある場合は、参照先で参照元で定義されたcard番号等が記述を間違っている可能性があるので確認してみる。 分からなければ参照元をコピーして再度参照先に貼り付けると直ります。
Couln’t find a signal XXX in the bus
Available signals:YYY1,YYY2
XXXにあるYYY1,YYY2が見つからない。 例えばADC Selectorなどで名前を変更忘れなど???とか表示されている場合に発生するエラーです。 該当する名称の見直し、またはつけ直しをすることで解消できます。
Processing output port #XX name=YYYY
Disconnected output port
port #XX name=YYYYがその先接続がない時に出力されます。 接続先を確認、Terminateする等の修正が必要です。
*** ERROR: Can't find a Goto for a From XXX
*** ERROR: The Goto must be in the same subsystem
Fromラベルはあるが、対応するGotoラベルがない時に発生するエラーです。 From、Gotoラベルが必要なのか不要なのか見直しを行いましょう。
Part XXX needs a single MUX input, detected Filt
cdsMuxMatrixとcdsFiltやラベルで繋げようとすると発生します。 cdsMuxMatrixの両端にMux, Demuxを配置して接続すると解消します。
Bad DAQ channel rate specified: xxx, 16
DAQの最低レートは32のようです。 #DAQ Channels定義を見直す必要があります。
K1:XXX-YYY
Died at /opt/rtcds/rtscore/tags/advLigoRTS-3.1.1/src/epics/util/fmseq.pl line 1330.
EPICSチャンネル自体を、DAQ Channelsに記述した場合にこのエラーが発生します。 この場合は不要なので削除すると直ります。
SDF
モデルを新規に作成したがSDF SAVE SCREENのSAVE FILEボタンを押しても保存されない
モデルファイルの名称にepicsを含めるとSAVE FILEボタンが押せなくなります。 ex. k1sdfepics.mdlとかはNGです。 この場合は名称を変更しましょう。
Guardian
CONNECTION ERROR, see SPM DIFFS for dead channel.
EZCA CONNECTION ERROR: Could not connect to channel.
Guardianの中で使っているEPICSチャンネルをモデルから削除した、またはモデルに追加していない為見つからないエラーです。 前者の場合は、Guardian側の修正が必要になる。後者の場合は、モデル側の修正が必要です。
DAC
iopモデルのDACが赤になる
[sitemap]-[CDS]-[CDS} k1iopXXXのDACが赤の場合に考えられる不具合 1.Timing jumpでDACが打刻タイミング見失うパターン 2.IO chassis内ケーブルの接触不良 3.DAC故障 4.ケーブル回りをメンテした場合も発生するかもしれない(2021-11-02) [対策] 上記1,4はモデル再起動 iop以外killk1visXXX,iopをstartk1iopXXX,iop以外をstartk1visXXX 2,3ならば再起動では治らないので修繕が必要
OVERFLOWのカウンタが0ではない
瞬間的なものでモデル立ち上げ時かスクリプトでの自動測定関連であれば問題なし 発生し続けている場合は別問題
DAQ
DAQチャンネルのデータレート毎の個数などが知りたい。
/opt/rtcds/rtscore/release/src/epics/util/iniChk.plを /opt/rtcds/kamioka/k1/chans/daq配下のファイルを指定して確認できる。 例: $ chans $ cd daq $ /opt/rtcds/rtscore/release/src/epics/util/iniChk.pl K1VISPRMT.ini
その他
DAQの増減があった場合は、DAQの再起動(DAQ Kill)を行う必要があるが、[DAQ_KILL]のまま[RUN_TEST]に復帰しない場合の復帰手順
[sitemap]-[CDS]-[DAQ Status]-[SYS_DAQ]を押下 [RUN_TESTS]になっている状態から[DAQ_KILL]を選択 その際、OPが[EXEC]になっていなければ先に[EXEC]に変更 上記[DAQ_KILL]状態で止まっていて、[SPM DIFFS]がある場合は、次の手順で[DAQ_KILL]を行う必要があります。 特にDAQチャンネルを削除した場合に発生します。 OP:[EXEC]→[STOP]に変更、[LOAD]を押す、[all]を押して、[MANUAL]に変更して[RUN_TESTS]にする。 [RUN_TESTS]になったら[AUTO]に戻して、[STEP]から[EXEC]に変更する。 ここで[DAQ_KILL]を選択。 (RUN_TESTにならない、DAQが0xbadのままならば[!mx_stream]を押してみる。)
RealTimeModelのPCが落ちた場合の復旧方法
DolphinありのFEの場合は、1と2を実施 DolphinなしでRFMとかのFEは2から実施 1.該当するFEのDolphinをDisableする コマンドラインでsitemapを開いてログが見られるようにする。 注意:後述する[!dxadmin]の状況で赤丸の表示になっているのは道連れになってDisableされているので再度Disableはしないこと! $ sitemap [sitemap]-[CDS]-[Dolphin]を開く [README]を読む [!dxadmin]を開いて状況を確認する。 該当するFEのスクリプトを実行する ex.[!k1pr2]、パスワードはいつもの この時、他のFEも道連れになることがある。 この場合は、坑内で復旧作業が必要です。 2.RFMとかのモデルのみはここから実施 nslookupでIPを見つける。またはWIKIからIPを探す。 ex. $ nslookup k1ey1 とか このIPにログインして再起動を試す。 $ sudo shutdown -r now ログインできない場合は、このIPアドレスを使いブラウザでアクセスしてみる。 その際のIPアドレスは次のように3番目を99にする ex. 10.68.10.221 ならば10.68.99.221にしてブラウザで表示 ユーザー名、パスワードはCDSへ問い合わせ Resetを押してみる。 あとは祈る。起動しなければ坑内作業へ。
参考
LIGO-T080135: AdvLigo CDS Realtime Code Generator (RCG) Application Developer’s Guide
LIGO-T080135: Real-time Code Generator (RCG) Application Developer’s Guide
LIGO-T1200291: Real-time Code Generator (RCG) Software Component Overview