Check list for real time system

Real time systemを動かすために、どのようなモジュール、サービス、ソフトなどが必要かはここに書いてある。


Simple check list

  1. medmに数字が出て、その数字が変化しているか? [How to check]

    • 症状: 数字が出ない
      • 原因: epics IOCが立ち上がっていない。 [解決策]

      • 原因: mbufが走っていないためepics IOCが起動できない。 [解決策]

      • 原因: caRepeaterが起動していない。 [解決策]

      • 原因: clientのネットワーク設定がうまくいっていない。[解決策:ネットワーク設定を注意深く見る。特にdefault gatewayがおかしいとping等は通ってもepicsの数字がでないことがある。また、ifconfigで見てbroadcastが最後の3桁以外が255になっているときも、この様な現象が起きる。]
    • 症状: 数字が出ても0のまま動かない
      • 原因: burtが0のままである。[解決策]

      • 原因: real time moduleが走っていない。 [解決策]

    • 症状: 数字が出て、0以外の数が表示されているが、数字が動かない
      • 原因: 最初のADCにtiming信号が入っていない -> 65536Hz, 0-5V square wavesがADCにきちんと入力されているかチェック。

  2. dataviewerで現在、及び過去のデータが見えるか? [How to check]

    • 症状: channel名が出てこない:
    • 症状: DAQ channel名は見えるがTP channelが一つも出てこない:
      • 原因: masterファイルに問題がある[解決策]

    • 症状: 現在のデータも過去のデータも見えない:
    • 症状: 現在のデータは見えるが、過去のデータが見えない:
    • 症状: 過去のデータは見えるが、現在のデータが見えない:
      • 原因: DAQ networkのどこかが切れている。[解決策の例:data concentratorやndsのresolve.confが間違っていないか調べる。]
    • 症状: Fastチャンネルの現在のデータを選択するとdataviewerの画面が出ないが、過去のデータは画面は出るが値は0のまま。Slowチャンネルはデータがきちんと見える。
      • 原因: mx_streamが動いていない。RT PC上でps -ef | grep mx等してチェック。
    • 症状: データは見えるが、数十秒で止まる。
    • 症状: diagguiではデータが見えるのに、dataviewerでは

      Error in obtaining chan info.
      Connecting....connect(); errno=111
      というメッセージが出て、channel名が出てこない:
      • 原因: dataviewerのバージョンがRTSのバージョンに比べて古い、もしくはLinuxのカーネルとバージョンがあっていない->RTSのバージョンに一致したdataviewerをビルドしてインストールする。[How to install]

  3. diaggui(DTT)で現在、及び過去のデータが見えるか? [How to check]

    • 症状: channel名が出てこない:
    • 症状: DAQ channel名は見えるがTP channelが一つも出てこない:
      • 原因: masterファイルに問題がある[解決策]

    • 症状: dataviewerではchannel名が出てくるのに、diagguiでは出てこない:
      • diag -iでチェック

        desktop1:burt>diag -i
        Diagnostics configuration:
        awg 22 0 192.168.11.100 822095894 1 192.168.11.100
        awg 88 0 192.168.11.100 822095960 1 192.168.11.100
        nds * * 127.0.0.1 8088 * 127.0.0.1
        nds * * 192.168.11.100 8088 * 192.168.11.100
        tp 22 0 192.168.11.100 822091798 1 192.168.11.100
        tp 88 0 192.168.11.100 822091864 1 192.168.11.100
        ndsのところがmaster等となっていないことを確認。
      • 原因: /opt/rtcds/kamioka/k1/target/gds/param/diag_K.confの設定が間違っている。
    • 症状: synchronization errorがでる:
      • 原因: real time PCの計算機自身の時間と、real time software上の時間がずれてしまっている。->real time PCを再起動。

    • 症状: time outになってしまう:
      • 原因: real time PCとdiagguiを走らせているclient PCの内部時間がずれている。->client PCのntpが動いていているか確認。時刻を合わせる。

    • 症状: 現在のデータも過去のデータも見えない:
    • 症状: 現在のデータは見えるが、過去のデータが見えない:
    • 症状: 過去のデータは見えるが、現在のデータが見えない:
      • 原因: DAQ networkのどこかが切れている。


上記項目がおかしい場合、まず試すこと

  1. mbuf及び、real time moduleは動いているか?

    controls@standalone ~ $ lsmod
    Module                  Size  Used by
    k1vex                9455730  0
    k1x01                9198550  1 k1vex
    mbuf                    7317  10 k1vex,k1x01
    とmbufが動いていて、モジュールとしてIOCとreal time model(ここでは一例としてk1vex及びk1x01)が走っているか?
    • mbufは/etc/rc.localから呼び出されている。
    • RT model等は/opt/rtcds/kamioka/k1/scripts/startk1vex等から呼び出されている(startスクリプトの一例)。これをたどっていくと、何が起動されているかが分かる。ここも参照するといい。

      • /opt/rtcds/kamioka/k1/target/k1vex/scripts/startupK1rtを見ると、insmodコマンドでRT modelをLinuxカーネルのmoduleとして起動していることが分かる。ログが/opt/rtcds/kamioka/k1/target/k1vex/logs/log.txtに書かれているので、見る。
      • 起動できない原因の一つが、現在走っているlinuxカーネルと違うバージョンのカーネルの元でbuildされた可能性がある。その場合現在走っているカーネルで再ビルドしなくてはならない。

        • 現在のカーネルのバージョンはuname -aで分かる。
      • /opt/rtcds/kamioka/k1/target/k1vex/k1vexepics/burt以下にログがたまっているとうまくRT moduleが立ち上がらないことが確認されている。その場合、そこにあるログを全て削除し、cd ..で一つ上がってsudo chown root:root burtとしておくと次回からはうまく立ち上がるようになるはずである。
      • それでもRT moduleが走らない場合、matlabで.mdlファイルを開いて、左上の方にあるモデルを定義しているboxのオプションをよく見るといい。例えば、Dolphin RFMが無いのにpciRFM=1が設定されていると、RT moduleをinsmodするところで Unknown sumbol in module というエラーで読み込めなくなる。


More check list


Model building test

  1. Client Workstation上でMatlabが立ち上がるか?
  2. modelをbuildできるか?
  3. 再起動で問題なく動くか?


動作の挙動がおかしい

KAGRA/Subgroups/DGS/Manual/CheckList (last edited 2016-11-14 14:38:02 by TakahiroYamamoto)