Differences between revisions 2 and 60 (spanning 58 versions)
Revision 2 as of 2017-05-31 17:54:03
Size: 111
Editor: KokiOkutomi
Comment:
Revision 60 as of 2021-01-31 16:45:39
Size: 9369
Editor: KousekiMiyo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
=== Quick Information ===


=== Concept ===

== コンセプト ==
 * メンテナンスの手間を減らすために、各サスペンションで使うステージのブロックは共通化する。
 * 共通化で生じたステージブロックの不要な入出力は終端処理しておく。
 * サスペンションモデルは”制御方法の違い"ごとに、ブロックを分ける。

== サスペンションモデル ==
防振装置の役割に応じて、サスペンションの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/<<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 ||完了 ||
||SR2 ||PI ||PAY ||完了 ||
||SR3 ||PI ||PAY ||完了 ||
||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月上旬?まで)
 * [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


コンセプト

  • メンテナンスの手間を減らすために、各サスペンションで使うステージのブロックは共通化する。
  • 共通化で生じたステージブロックの不要な入出力は終端処理しておく。
  • サスペンションモデルは”制御方法の違い"ごとに、ブロックを分ける。

サスペンションモデル

防振装置の役割に応じて、サスペンションの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_TOWER_MASTER

TYPEA_MASTER/
TYPEA_PAYLOAD_MASTER_EMPTY

[1]

BS

TYPEB_MASTER/
TYPEB_TOP_MASTER_shutdown

TYPEB_MASTER/
TYPEB_PAYLOAD_shutdown

[3]

SRM

PI

PAY

完了

SR2

PI

PAY

完了

SR3

PI

PAY

完了

PRM

PI

PAY

完了

PR2

PI

PAY

完了

PR3

PI

TYPEBP_MASTER/
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月上旬?まで)
  • [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

 モデルが起動したら次の作業を行う。

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を押してみる。
あとは祈る。起動しなければ構内作業へ。

KAGRA/Subgroups/VIS/RealTimeModel (last edited 2024-07-17 12:43:49 by satoru.ikeda)