4023
Comment:
|
9694
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
== Quick Information == * Directory for library files . /opt/rtcds/userapps/release/vis/'''common'''/models * Directory for real-time front-end models . /opt/rtcds/userapps/release/vis/'''k1'''/models == Concept == 1サスペンションに2つのモデル * TypeCを除く、すべてVISのモデルは、TowerとPayloadの2つのモデルに分けた。 * 例外として、TypeCにはTowerモデルはなく、Payloadのみである。 |
== コンセプト == * メンテナンスの手間を減らすために、各サスペンションで使うステージのブロックは共通化する。 * 共通化で生じたステージブロックの不要な入出力は終端処理しておく。 * サスペンションモデルは”制御方法の違い"ごとに、ブロックを分ける。 == サスペンションモデル == 防振装置の役割に応じて、サスペンションのRTモデルを2つに分ける。 * まず、LIGOの防振がSEIとSUSで分かれているように、KAGRAも分ける。 * 慣習に従って、TowerとPayloadの2つのRTモデルに分ける。 * ただし、例外として、Type-CはPayloadのみにする。 |
Line 17: | Line 18: |
* Towerモデルはすべて共通にする。例えば、Type-BpはIPを持たないし、TypeBはBFダンパーを持たないが、同じモデルを使う。一応、物理的に存在しないものはモデル内では終端処理しているため、制御に影響はない。一見無駄に思えるが、TypeAでつかったDiagguiファイルが、チャンネルエラーを返すことなく、そのまま流用できるので、メリットは大きい。 * (追記:やっぱりTypeBpにはIPがないので、BFのセンサーコレクションが必要になるかもしれないので、将来はTOWER_MASTER.mdlにPREISOLATOR、BFDAMPER、としてモデルブロックを分けたほうがいいかも。) |
* TowerはLIGOのSEIに相当し、Pre-isolator、BFダンパー、GASを含むモデル。 * Towerモデルは、1種類のブロックを用意する。 * (追記:TypeA,B,Bpでタワー部分の制御方法が違うので、3種類にするかもしれない。) |
Line 21: | Line 23: |
* Payloadモデルは、4種類用意する。それらはTypeA、TypeBとBp、TypeCのIMC、TypeCのOMCで使われる。 * Type-A用のモデルは、MN、IM、TMを含む。 * Type-BとBp用のモデルは、IM、TMを含む。 * Type-CのIMC用のモデルは、TMだけを含み、TMのセンサーにはOptiical Leverを使う。 * Type-CのOMC用のモデルは、TMだけを含み、TMのセンサーにはOSEMを使う。 |
* PayloadはLIGOのSUSに相当し、BF以下の振り子を含むモデル。 * Payloadモデルは、4種類のブロックを用意する。 * Type-A用のモデル * Type-BとBp用のモデル * Type-CのIMC用のモデル * Type-CのOMC用のモデル |
Line 51: | Line 53: |
||optic ||Towerモデル ||Payloadモデル ||Status || | ||optic ||Towerモデル ||Payloadモデル ||備考 || |
Line 55: | Line 57: |
||ITMY ||??? ||TYPEA_MASTER/TYPEA_PAYLOAD_MASTER_EMPTY ||CRYOで使用中の為修正は待ち状態 || ||BS ||TYPEB_MASTER/TYPEB_TOP_MASTER_shutdown ||TYPEB_MASTER/TYPEB_PAYLOAD_shutdown ||改修作業で使用中の為修正は待ち状態(とりあえず2月上旬まで) || ||SRM ||PI ||TYPEB_MASTER/TYPEB_PAYLOAD_shutdown ||[2] || ||SR2 ||PI ||TYPEB_MASTER/TYPEB_PAYLOAD_shutdown ||[2] || ||SR3 ||TYPEB_MASTER/TYPEB_TOP_MASTER_shutdown ||TYPEB_MASTER/TYPEB_PAYLOAD_shutdown || [3] || ||PRM ||PI ||PAYLOAD_MASTER/PAYLOAD_MASTER ||完了 || ||PR2 ||PI ||PAYLOAD_MASTER/PAYLOAD_MASTER ||完了 || ||PR3 ||PI ||TYPEBP_MASTER/TYPEBPMASTER_PAY ||PAYLOADだけ前のバージョン || ||MCI || || TYPEC_MASTER/IMC || ||MCE || || TYPEC_MASTER/IMC || ||MCO || || TYPEC_MASTER/IMC || ||IMMT1 || || TYPEC_MASTER/IMC || ||IMMT2 || || TYPEC_MASTER/IMC || ||OMMT1 || || TYPEC_MASTER/OMC || ||OMMT2 || || TYPEC_MASTER/OMC || ||OSTM || || TYPEC_MASTER/OMC || ||TMSX || || Disabled library link: VIS_TMS_LIB/TMS_VIS || ||TMSX || || VIS_TMS_LIB/TMS_VIS || [2] リンクを解除して、個別にIMとTMをPAYLOAD_MASTER.mdlから参照している。BIO再検討待ち、PAYLOAD_MASTERへ置き換え予定 [3] 改修作業で使用中の為修正は待ち状態 |
||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 ||TYPEB_MASTER/<<BR>>TYPEB_PAYLOAD_shutdown ||[2] || ||SR2 ||PI ||TYPEB_MASTER/<<BR>>TYPEB_PAYLOAD_shutdown ||[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 ||完了 || ||TMSX || VIS_TMS_LIB/TMS_VIS||--- ||[4,6] || ||TMSX || VIS_TMS_LIB/TMS_VIS||--- || [6]|| * [1] CRYで使用中の為、修正は待ち状態(2月上旬?まで) * [2] リンクを解除して、個別にIMとTMをPAYLOAD_MASTER.mdlから参照している。BIOがTypeBとBpで統一されていないため、PAYモデルを使いたいができない。 * [3] 改修作業で使用中の為修正は待ち状態 * [4] リンクを解除している。 * [5] PR3はしばらく触らない方針。 * [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 モデルが起動したら次の作業を行う。 }}} 別途[[https://gwdoc.icrr.u-tokyo.ac.jp/DocDB/0124/E2012415/001/AutoBuild.html|AutoBuild]]も使えます。 4.SDFの設定 {{{ [sitemap]-[VIS]-[VIS_OVERVIEW] CHANS NOT FOUND がある場合:[SDF RESTORE SCREEN]-[LOAD TABLE]を押す CHANS NOT INITがある場合:[MON]([ACCEST]を含む)にして、[CONFIRM]を押す }}} 5.Trippe Monitorが赤の場合 {{{ [sitemap]-[VIS]-[VIS_OVERVIEW] - [Trippe]-[WD],[DK]を押す 押しても緑にならない場合は、WDに引っ掛かっている為、対象のEPICSチャンネルの閾値等へ値を設定する必要があると思われます。 }}} 6.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]を押す }}} 7.Fotonファイルの編集とロード モデルを2つに分割する場合は別途手順が必要 {{{ [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 Fileから対象のK1VISxxx.txtを選択 [File]ボタンを赤くなったら編集が必要、色が変わらなければ作業不要 赤の場合はFotonファイルをテキストエディタで開き、新、旧のモデルファイルで同じ意味を持つフィルタは名称の変更を、該当しない場合は削除する。 $ emacs K1VISxxx.txt 赤で無くなるまで続ける。 }}} 8.[sitemap]-[CDS]-[CDS}からGDSを開き[COEFF LOAD]を押す 9.新規モデル、またはモデル削除の際は、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行セットで編集すること。不要になっても削除せず#にてコメントアウトにしておく。(他の人が見てわかるように) }}} 10.Fotonファイルを/opt/rtcds/userapps/release/vis/k1/fotonfilesへコピー 11.不必要なファイルを削除 === トラブルシュート === モデル間でSHMEMが共通の場合 {{{ この場合2回makeが必要になるケースがあります。エラーになった場合再度makeする。 ex. $ make k1visXXXt エラーが出る $ make k1visXXXp もう一度makeをする $ make k1visXXXt }}} 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を使わないRFMとかのモデルのみ。Dolphinを使うPCの場合は、坑内で作業して再起動する必要があります。 nslookupでIPを見つける ex. $ nslookup k1ey1 とか このIPアドレスを使いブラウザでアクセスしてみる。その際のIPアドレスは次のように3番目を99にする ex. 10.68.10.221 ならば10.68.99.221にしてブラウザで表示 ユーザー名、パスワードはCDSへ問い合わせ Resetを押してみる。 あとは祈る。起動しなければ構内作業へ。 }}} |
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のすべてのサスペンション
各サスペンションのモデル整備状況
2020/12/24 更新
optic |
Towerモデル |
Payloadモデル |
備考 |
ETMX |
PI |
CRY |
完了 |
ETMY |
PI |
CRY |
完了 |
ITMX |
PI |
CRY |
完了 |
ITMY |
TYPEA_MASTER/ |
TYPEA_MASTER/ |
[1] |
BS |
TYPEB_MASTER/ |
TYPEB_MASTER/ |
[3] |
SRM |
PI |
TYPEB_MASTER/ |
[2] |
SR2 |
PI |
TYPEB_MASTER/ |
[2] |
SR3 |
PI |
PAY |
[3] |
PRM |
PI |
PAY |
完了 |
PR2 |
PI |
PAY |
完了 |
PR3 |
PI |
TYPEBP_MASTER/ |
[5] |
MCI |
--- |
IMC |
完了 |
MCE |
--- |
IMC |
完了 |
MCO |
--- |
IMC |
完了 |
IMMT1 |
--- |
IMC |
完了 |
IMMT2 |
--- |
IMC |
完了 |
OMMT1 |
--- |
OMC |
完了 |
OMMT2 |
--- |
OMC |
完了 |
OSTM |
--- |
OMC |
完了 |
TMSX |
VIS_TMS_LIB/TMS_VIS |
--- |
[4,6] |
TMSX |
VIS_TMS_LIB/TMS_VIS |
--- |
[6] |
- [1] CRYで使用中の為、修正は待ち状態(2月上旬?まで)
- [2] リンクを解除して、個別にIMとTMをPAYLOAD_MASTER.mdlから参照している。BIOがTypeBとBpで統一されていないため、PAYモデルを使いたいができない。
- [3] 改修作業で使用中の為修正は待ち状態
- [4] リンクを解除している。
- [5] PR3はしばらく触らない方針。
- [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 モデルが起動したら次の作業を行う。
別途AutoBuildも使えます。
4.SDFの設定
[sitemap]-[VIS]-[VIS_OVERVIEW] CHANS NOT FOUND がある場合:[SDF RESTORE SCREEN]-[LOAD TABLE]を押す CHANS NOT INITがある場合:[MON]([ACCEST]を含む)にして、[CONFIRM]を押す
5.Trippe Monitorが赤の場合
[sitemap]-[VIS]-[VIS_OVERVIEW] - [Trippe]-[WD],[DK]を押す 押しても緑にならない場合は、WDに引っ掛かっている為、対象のEPICSチャンネルの閾値等へ値を設定する必要があると思われます。
6.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]を押す
7.Fotonファイルの編集とロード
モデルを2つに分割する場合は別途手順が必要
[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 Fileから対象のK1VISxxx.txtを選択 [File]ボタンを赤くなったら編集が必要、色が変わらなければ作業不要 赤の場合はFotonファイルをテキストエディタで開き、新、旧のモデルファイルで同じ意味を持つフィルタは名称の変更を、該当しない場合は削除する。 $ emacs K1VISxxx.txt 赤で無くなるまで続ける。
8.[sitemap]-[CDS]-[CDS}からGDSを開き[COEFF LOAD]を押す
9.新規モデル、またはモデル削除の際は、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行セットで編集すること。不要になっても削除せず#にてコメントアウトにしておく。(他の人が見てわかるように)
10.Fotonファイルを/opt/rtcds/userapps/release/vis/k1/fotonfilesへコピー
11.不必要なファイルを削除
トラブルシュート
モデル間でSHMEMが共通の場合
この場合2回makeが必要になるケースがあります。エラーになった場合再度makeする。 ex. $ make k1visXXXt エラーが出る $ make k1visXXXp もう一度makeをする $ make k1visXXXt
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を使わないRFMとかのモデルのみ。Dolphinを使うPCの場合は、坑内で作業して再起動する必要があります。 nslookupでIPを見つける ex. $ nslookup k1ey1 とか このIPアドレスを使いブラウザでアクセスしてみる。その際のIPアドレスは次のように3番目を99にする ex. 10.68.10.221 ならば10.68.99.221にしてブラウザで表示 ユーザー名、パスワードはCDSへ問い合わせ Resetを押してみる。 あとは祈る。起動しなければ構内作業へ。