#www-server:/usr/www/docs/Divisions/np1/tamidaq/info/daq_manual.txt.v1.0 miho:~tamii/daq/manual/daq_manual.txt.v1.0 RCNP Data Acqusition System Users Guide ver 0.8.1 08-MAR-1997 by A. Tamii ver 0.8.2 26-MAR-1997 by A. Tamii ver 0.8.3 27-MAR-1997 by A. Tamii ver 0.8.4 28-MAR-1997 by A. Tamii ver 0.8.5 04-APR-1997 by A. Tamii ver 0.8.6 05-APR-1997 by A. Tamii ver 0.8.7 12-APR-1997 by A. Tamii ver 0.8.8 19-JUN-1997 by A. Tamii ver 0.8.9 25-JUN-1997 by A. Tamii ver 0.9.0 11-JUL-1997 by A. Tamii ver 0.9.1 16-JUL-1997 by A. Tamii ver 1.0.0 17-JUL-1997 by A. Tamii ver 0.8.9 JUN-1997 DEC4100 Work Group をデータ収集系に用いる作業、および muse の機 能を mari に移し変える作業を行ないました。これに伴い、本文の内容 を変更しました。 ver 0.9.0 JUL-1997 BLP のデータ収集に用いていた VME が、VME02 から VME04 に変更され ました。また、2nd Level Trigger の設定用に用いていた VME が VME04 から VME05 に変更されました。 ver 1.0.0 JUL-1997 全体を校正しなおし、version 1.0 としました。 0) 序 RCNP データ収集システムについて説明します。データ収集システムは 96年6月以来段階的に大幅な変更を行なっています。以前に書かれた マニュアルは、現在のデータ収集システムに整合しない部分が多々ある ことに御留意下さい。 以下の内容 I) 概略 II) 回路設定 III) 回路確認 III) 回路系再立上げ IV) データ収集系初期設定 V) 回路系再立上げ VI) データ収集系の立ち上げ VII) 回路系のトラブルシューティング VIII) データ収集系のトラブルシューティング IX) ランの進行 X) データのバックアップ XI) 補遺 I) 概略 1) 序 昨今の計算機環境の急激な発展により、マルチプロセスのOS(オペレー ティングシステム)の使用が一般的になってきました。マルチプロセスの 環境では、複数のプロセスを同時に動作させ、互いに強調して全体の仕事 を行なうようにすることができます。 データ収集システムも例外ではなく、マルチプロセス化により比較的単 純な個々のプロセスを寄せ集め、全体として複雑な作業を行わせるな方式 が主流になっています。 以下に RCNP におけるデータ収集システムの大まかな概念を示しますが、 この個々のプロセスがどういう作業をするプロセスなのか、互いにどうや って協調関係を成り立たせているのか、全体としてどういう動作をするの かを把握することが、データ収集システムを理解する上で大切な基礎とな ります。 2) 各プロセスの役割 以下に主なプロセスの動作内容についてまとめます。各プロセスの詳細につ いては、補遺 (XI) を参照してください。 [MARI/MIHO UNIX 上のプロセス] errlog ... 各プロセスのステータスメッセージを受け取り、表示・ 保存をするプロセス。 router ... データの集配をおこなうプロセス。 rfm_router ... Reflective Memory からデータを受け取り、router に 渡すプロセス。 router_save ... router からデータを受け取り、保存するプロセス。 router_tcp ... 外部からのネットワーク接続要求に応答するデーモンプ ロセス。 tcp_router ... ネットワークを通じてデータを受け取り、router に渡す プロセス。 router_scaler .. スケーラ情報を表示するプロセス。 router_builder . オンラインイベントビルダ。router からデータを受け取 り、ビルドしたデータを別の router に渡す。 [VME 上のプロセス] collector ... データ収集プロセス。主にユーザや他システム上のプロ セスからのコマンドを受け付けを担当する。データ収集 の実際の作業は j11ctrl が行う。 j11ctrl ... データ収集子プロセス。ハードウェア的な外部とのやり 取りを担当し、データを Reflective Memory に書き出す。 3) プロセス作業の全体図 図 I.1 を参照して下さい。 II) 回路設定 実験前の回路変更、回路設定に関する手順を示します。 1) 電源の投入 以下の回路に電源を投入する必要があります。 1. Grand Raiden 系の回路 ・ VME06 ... GR 系メイン VME (通常は ON のまま) ・ CAMAC ... GR 系 CAMAC クレート Xilinx の入るメインクレートの他、GR VDC 用 3377 の入 るクレート2台(VDC の下)も忘れずに電源投入する。 ・ NIM-BIN ... GR トリガー系の NIM-BIN 一式。ファンの電源も入れる。 ・ Pre-Amp ... GR VDC Pre-Amplifier の電源および Threshold 電源。 Pre-Amp 関係の電源を切ったまま回路調整をすると、 3377系に多くのデータが流れ込みトラブルと誤認する可能 性がある。 2. LAS 系の回路 ・ VME01 ... LAS 系メイン VME (通常は ON のまま) ・ CAMAC ... LAS 系 CAMAC クレート メインクレートの他、LAS 3377 の入るクレート2台も忘 れずに電源投入する。 ・ NIM-BIN ... LAS トリガー系の NIM-BIN 一式。ファンの電源も入れる。 ・ Pre-Amp ... LAS VDC Pre-Amplifier の電源および Threshold 電源。 Pre-Amp 関係の電源を切ったまま回路調整をすると、 3377系に多くのデータが流れ込みトラブルと誤認する可能 性がある。 3. BLP 系の回路 ・ VME02 ... BLP 系メイン VME (通常は ON のまま) ・ CAMAC ... BLP 系 CAMAC クレート ・ NIM-BIN ... BLP トリガー系の NIM-BIN 一式 4. 2nd Level 系の回路 ・ CAMAC ... 2nd Level 系 CAMAC クレート、PCOS CAMAC クレート(6台) ・ NIM-BIN ... 2nd Level 系 NIM-BIN 一式 ・ Pre-Amp ... FPP MPWC Pre-Amplifier の電源および Threshold 電源。 Pre-Amp 関係の電源を切ったまま回路調整をすると、 PCOS 系に多くのデータが流れ込みトラブルと誤認する可能 性がある。 (注)Reflective Memory による光転送のため、VME01、VME02、VME06のクレート は実験の種類に関わらず電源が入っている必要があります。 2) CAMAC 回路接続の確認 最初に CAMAC 回路が VME に正しく接続されていることを確認します。 GR の場合を例に以下に解説します。以下の作業例は VME06 で行なっています。 1. K2917 ドライバがロードされていることを確認する。 (K2917 ドライバはシステムブート時に自動ロードされるように設定しました) GR6> modules k2917, k2917drv などが表示されればドライバがロードされています。 存在しない場合は、 GR6> k2917load により、ドライバをロードする必要があります。 次に 3922 (Crate Controler) のステータスを読むことで、カマックファン クションが通っていることを確認します。 GR6> nfa 30 1 0 エラーが表示されなければ、正常です。上記はクレート0に対しての確認 ですが、他にも繋がっているクレートが存在すれば、同様にカマックファン クションのテストをします。例えばクレート 6、7(VDC-3377 用)の場合 は、 GR6> nfa 30 1 0 6 GR6> nfa 30 1 0 7 を実行します。 ※ CAMAC クレート番号 は 3922 (クレートコントローラ)のフロントパネル で設定します。標準設定番号は、 主クレート ... 0 J11 用 ... 1, 2, etc. MWDC 用 ... 5 VDC-3377 用 ... 6, 7 です。 エラーが発生した場合の対処方は、 a) k2917 ドライバが存在しないというメッセージが出た場合。 k2917 ドライバが存在しません。 GR6> k2917load により、ドライバをロードし、 GR6> modules により、ドライバが存在することを確認してください。 b) k2917 が他のユーザによりロックされているというメッセージが出る。 何らかの理由により、k2917 がロックされたままになっています。 GR6> k2917unlock のコマンドでロックを強制解除してください。 c) その他のエラーが出る場合。 ・ 3922 のフロントパネルのスイッチがオフラインになっている場合が あります。この状態ではカマックファンクションを発行することがで きません。オンラインに戻してからもう一度試してみてください。 ・ 3922 のバスグラントが正しく繋がってない場合、カマックファンク ションを使うことができません。3922 フロントパネルの 3922 Request --> 3922 GrantIn のケーブルを接続してください。 (このケーブルはカマックバスのアービトレーションのための情報を 伝達します。カマッククレート内のモジュール(3922やJ11)がバスの リクエストを出した場合、クレートコントローラ のリクエストアウト プットからシグナルが出ます(Request)。これを最初に受け取る (GrantIn)モジュール(この場合3922)にバス使用の優先権がありま す。3922 がバスリクエストを出していない場合、次のモジュール (J11など)に優先権を渡します。(GrantOut)) ・ K2917 と 3922 を繋ぐケーブルや、3922 間のケーブルの接続を繋ぎ変 えた場合には正しく動かなくなることがあります(特にケーブル長が 長い場合)。接続されている全ての CAMAC の電源を切り、再び全ての 電源を入れてください。その後もう一度試してください。 ・ k2917 と 3922 および、3922 間のケーブルの接続に問題がないか調べ てください。また、Daisy Chain の最後にターミネータが接続されて いることを確認してください。 ・ ケーブルを別のケーブルと交換してみてください。k2917 に一台だけ 接続して試して見てください。正しく動作している別の VME に接続 してみてください。K2917、3922 を交換してみてください。 ・ 1台の k2917 に繋がっている3922の数が多いとき(4台以上)、ケー ブルが長いときには正しく動作しないことがあります。実験の条件から 考えて正しく動作する解を選んでください。特に DMA 転送を行う時に は(j11 のデータ転送、Xilinx のダウンロード)エラーが発生しやす くなります。 3) Xilinx トリガ回路の初期設定 次に Xilinx トリガ回路の初期設定を行います。 (詳しくはトリガ回路関係のマニュアルを見て下さい。) 1. Xilinx トリガ回路イニシャライズファイルの設定。 VME06 にログインします。イニシャライズ用のファイルは /h0/rcmds の ディレクトリにあるので、そのディレクトリに移動します。 GR6> cd /h0/rcmds すでにトリガイニシャライズファイルが存在する場合には、そのファイルを triginit という名前でコピーします。 例えば、GR+FPP の設定の場合には、triginit_grfpp を使用するので、 GR6> del triginit GR6> copy trig/triginit_grfpp triginit とします。 存在しない場合は、編集して作る必要があります。 Xilinx トリガ回路のカマックファンクションによる初期設定ファイルの 設定をします。 すでにファイルが存在する場合には、そのファイルを inittrig_slct という名前でコピーします。 例えば、GR+FPP の設定の場合には、inittrig_slct_grfpp を使用するの で、 GR6> del inittrig_slct GR6> copy trig/inittrig_slct_grfpp inittrig_slct とします。 存在しない場合は、編集して作る必要があります。 GR6> emacs triginit_slct Xilinx トリガ回路の詳細と初期設定については、別のマニュアルを参考に して下さい。 2. トリガ回路のイニシャライズ トリガ回路をイニシャライズします。 GR6> triginit 3. 正しくダウンロードできない時 open でエラーが出る場合 a) ダウンロードするファイルのオープンに失敗しています。triginit の 中身を見てダウンロードすべきファイル名を確認し、ファイルが存在する ことを確認してください。 CAMAC ファンクションの発行ですぐにエラーが出る場合。 b) まず、シングルカマックファンクションをテストしてください (II.2参照)。 c) FPGA のモジュールが CAMAC クレートに正しいステーションにささってい ることを確認してください。詳細は triginit の中身を見てください。 d) クレート番号があっていることを確認してください。FPGA の入るメインク レートのクレート番号は通常0です。詳細は、triginit の中身を見てくだ さい。 クレート番号は 3922 のフロントパネルで設定します。 ダウンロード中に途中で(確率的に)エラーが発生する。 e) カマックファンクションの通りが不安定です。何度か実行してみてうまく いかない場合には、k2917 から 3922 への接続を変更する必要があります。 多くの(〜4台以上)クレートを繋いでいる場合や、ケーブルが長い場合 にはこの症状が出ることがあります。実験の制約から考えてどの 3922 を どの VME に接続するか、解を見つけて下さい。 3) 3377 (VDC 読み出し系)の初期設定 GR 3377 の初期設定について説明します。LAS 3377 の初期設定は同様の作業を VME01 において行ってください。 1. 3377 に繋がっている VME にログインする。 通常は、GR 3377 は VME06 に、LAS 3377 は VME01 に繋がっていますが、実 験条件によっては変更することもあります。 2. k2917 から 3377 のクレートの 3922 に正しく接続されていることを確認す る。 シングルカマックファンクションによりテストするのが最も簡単でしょう。 3377 の入るクレートのクレート番号は6、7に決められているので、 GR6> nfa 30 1 0 6 GR6> nfa 30 1 0 7 を実行してください。エラーが出るときには接続に問題があるかもしれま せん。II.2 の説明に従ってチェックしてください。 3. 3377 と FCET をイニシャライズする。 LeCroy 3377 は Xilinx 社の FPGA を基にした Drift Chamber 用 Multi-hit TDC です。使用する前に、FPGA に回路をダウンロードするイニシャライズ 操作を正しく行わなければ動作しません。 また、FCET は LeCroy 2366 Universal Logic Unit を基に RCNP において 開発された回路です。各イベント毎にヘッダ、イベントカウンタのデータを 挿入し、インプットレジスタとしての機能も持っています。 次のコマンドを実行してください。 (3377 のイニシャライズは必ずトリガを止めた状態で行ってください) GR6> 3377init このコマンドは、 a) FCET 回路のダウンロードおよび初期設定 b) 3377 のイニシャライズ の作業を行ないます。(LAS MWDC の場合は 3377init_mwdc を実行) FCET が存在しない場合など、3377 のイニシャライズのみを行いたい場合に は、 GR6> init3377 を実行します。(LAS MWDC の場合は init3377_mwdc を実行) パラメータの設定変更ができますが、通常はデフォルト値で良いでしょう。 パラメータがこれで良いかという質問に y で答えてください。 イニシャライズが正しく終了したようであれば、再度イニシャライズするか という質問に n で答え、プログラムを終了して下さい。 現在の 3377 の標準設定は、GR では Common input mode: Common Stop Word format: Single Word Skip header if no data words: Yes Event buffer mode: Single Event Readout port: ECL Leading/trailing edge recording: Leading Only Resolution: 1.0 nsec Measure Pause Interval (MPI): 3.2 usec Max number of hits per channel: 1 Max full scale time: GR-VDC, LAS-MWDC の場合 1023 nsec LAS-VDC の場合 1535 nsec Offset time: GR-VDC, LAS-MWDC の場合 0 nsec LAS-VDC の場合 512 nsec Request delay setting: 0 usec となっています。 各 Module ID の設定は、GR VDC は TDC C N MID GR Front VDC X-00 7 1 0x00 (必ずヘッダを返す) GR Front VDC X-01 7 2 0x01 GR Front VDC X-02 7 3 0x02 GR Front VDC X-03 7 4 0x03 GR Front VDC X-04 7 5 0x04 GR Front VDC X-05 7 6 0x05 GR Front VDC U-00 7 8 0x20 GR Front VDC U-01 7 9 0x21 GR Front VDC U-02 7 10 0x22 GR Front VDC U-03 7 11 0x23 GR Front VDC U-04 7 12 0x24 GR Front VDC U-05 7 13 0x25 GR Front VDC U-06 7 14 0x26 GR Rear VDC X-00 6 1 0x40 GR Rear VDC X-01 6 2 0x41 GR Rear VDC X-02 6 3 0x42 GR Rear VDC X-03 6 4 0x43 GR Rear VDC X-04 6 5 0x44 GR Rear VDC X-05 6 6 0x45 GR Rear VDC U-00 6 8 0x60 GR Rear VDC U-01 6 9 0x61 GR Rear VDC U-02 6 10 0x62 GR Rear VDC U-03 6 11 0x63 GR Rear VDC U-04 6 12 0x64 GR Rear VDC U-05 6 13 0x65 GR Rear VDC U-06 6 14 0x66 GR FCET 6 15 (FCET: Header=0xBBBB) GR Rear VDC Dummy 6 16 0xFF (必ずヘッダを返す、現在未使用) LAS VDC は LAS Front VDC X-00 7 1 0x80 (必ずヘッダを返す) LAS Front VDC X-01 7 2 0x81 LAS Front VDC X-02 7 3 0x82 LAS Front VDC X-03 7 4 0x83 LAS Front VDC X-04 7 5 0x84 LAS Front VDC X-05 7 6 0x85 LAS Front VDC X-06 7 7 0x86 LAS Front VDC X-07 7 8 0x87 LAS Front VDC X-08 7 9 0x88 LAS Front VDC U-00 7 10 0xA0 LAS Front VDC U-01 7 11 0xA1 LAS Front VDC U-02 7 12 0xA2 LAS Front VDC U-03 7 13 0xA3 LAS Front VDC U-04 7 14 0xA4 LAS Front VDC U-05 7 15 0xA5 LAS Front VDC U-06 7 16 0xA6 LAS Front VDC U-07 7 17 0xA7 LAS Rear VDC X-00 6 1 0xC0 LAS Rear VDC X-01 6 2 0xC1 LAS Rear VDC X-02 6 3 0xC2 LAS Rear VDC X-03 6 4 0xC3 LAS Rear VDC X-04 6 5 0xC4 LAS Rear VDC X-05 6 6 0xC5 LAS Rear VDC X-06 6 7 0xC6 LAS Rear VDC X-07 6 8 0xC7 LAS Rear VDC X-08 6 9 0xC8 LAS Rear VDC U-00 6 10 0xE0 LAS Rear VDC U-01 6 11 0xE1 LAS Rear VDC U-02 6 12 0xE2 LAS Rear VDC U-03 6 13 0xE3 LAS Rear VDC U-04 6 14 0xE4 LAS Rear VDC U-05 6 15 0xE5 LAS Rear VDC U-06 6 16 0xE6 LAS Rear VDC U-07 6 17 0xE7 (必ずヘッダを返す) LAS FCET 6 18 (FCET: Header=0xBBBB) LAS MWDC は LAS MWDC X-00 5 1 0x90 (必ずヘッダを返す) LAS MWDC X-01 5 2 0x91 LAS MWDC X-02 5 3 0x92 LAS MWDC X-03 5 4 0x93 LAS MWDC Y-00 5 5 0xD0 LAS MWDC Y-01 5 6 0xD1 となっています。3377 用 FCET のヘッダの値は 0xBBBB です。 イニシャライズが途中で失敗するときは、再度イニシャライズしてみてくだ さい。 何度試しても失敗する場合には、同じ VME に繋がる全ての CAMAC クレート の電源を一度切り、再び電源を入れて、再度イニシャライズしてみてくださ い。 それでも成功しない場合には、VME からのカマックファンクションの通信に 問題があると思われます。II.2 の各項をチェックして見てください。 なお、1台の k2917 に繋がっている3922の数が多いとき(特に4台以上の 時)、ケーブルが長いときには正しく動作しないことがあります。3377 へ のカマックファンクションの発行が必要なのはイニシャライズの時のみです。 現在繋がっている VME から制御することを諦めて、別の VME から制御する 方法を考えてみてください。 3) FERA の初期設定 GR FERA の初期設定について説明します。LAS FERA の初期設定は同様の作業を VME01 にて行ってください。 1. FERA に繋がっている VME にログインする。 通常は、GR FERA は VME06 に、LAS FERA は VME01 に繋がっていますが、 実験条件によっては変更することもあります。 2. k2917 から FERA のクレートの 3922 に正しく接続されていることを確認す る。 シングルカマックファンクションによりテストするのが最も簡単でしょう。 FERA の入るクレートのクレート番号は通常 0 ですので、 GR6> nfa 30 1 0 0 (最後の0がクレート番号を表す。) を実行してください。エラーが出るときには接続に問題があるかもしれませ ん。II.2 の説明に従ってチェックしてください。 3. FERA と FCET をイニシャライズする。 このデータ収集系では FERA のデータを ECL バスから読み出します。FERA を正しく初期設定しないと、読み出しを行なうことが出来ません。 また、FCET は LeCroy 2366 Universal Logic Unit を基に RCNP において 開発された回路です。各イベント毎にヘッダ、イベントカウンタのデータを 挿入し、インプットレジスタとしての機能も持っています。 次のコマンドでを実行してください。 GR6> ferainit このコマンドは、 a) 各 FERA のステータスワードの設定 b) 各 FERA のペデスタル値の設定 c) FCET のダウンロードおよび初期設定 (GR のみ) の作業を行ないます。 a) は実際には ferainit_ecl を実行することによって行なわれます。 ステータスワードの設定値は /h0/gr/nfa/ferainit_ecl に入っています。 通常 FERA のステータスワードは ・ OFS: Overflow Suppression ... 1 (=Yes) ・ CLE: CAMAC LAM Enable ... 0 (=No) ・ CSR: CAMAC Sequentail Readout ... 0 ・ CCE: CAMAC Data Compression ... 0 ・ CPS: CAMAC Pedestal Subtraction ... 0 ・ EEN: ECL Port Enable ... 1 ・ ECE: ECL Data Compression ... 1 ・ EPS: ECL Pedestal Subtraction ... 1 ・ VSN: GR -FERA #1 0x01 GR -FERA #2 0x02 GR -FERET #1 0x81 GR -FERET #1 0x82 LAS-FERA #1 0x11 LAS-FERET #1 0x91 の様に設定されています。 b) は実際には ferapede_ecl を実行することによって行なわれます。 ペデスタルの設定値は /h0/gr/nfa/ferapede_ecl に入っています。 c) は XilinxLoad のプログラムを用いて FCET プログラムのダウンロードを 行なっています。 FERA 用 FCET のヘッダの値は 0xCCCC です。 イニシャライズが途中で失敗する場合は、同じ VME に繋がる全ての CAMAC クレートの電源を一度切り、再び電源を入れて、再度イニシャライズしてみ てください。 それでも成功しない場合には、VME からのカマックファンクションの通信に 問題があると思われます。II.2 の各項をチェックして見てください。 なお、1台の k2917 に繋がっている3922の数が多いとき(特に4台以上の 時)、ケーブルが長いときには正しく動作しないことがあります。FERA へ のカマックファンクションの発行が必要なのはイニシャライズの時と、ペデ スタル値を変更するときのみです。現在繋がっている VME から制御すること を諦めて、別の VME から制御する方法を考えてみてください。 4) PCOS の初期設定 (FPP を使う時) GR PCOS の初期設定について説明します。以下の作業は FPP を使う時のみ必要 です。 1. PCOS に繋がっている VME にログインする。 RDTM が入っているクレートに接続している VME にログインして下さい。通常は VME06 に接続している GR のメインクレート(Crate#0)のステーション 18 に RDTMを置きます。 RDTM は PCOS III Controler (LeCroy 2738)から LeCroy Bus を通して送られ てくるデータを ECL に変換して転送するハンドメイドの回路で、RCNP におい て開発されました。データ転送時に各イベント毎にヘッダワードとイベントカ ウンタを付加する機能や、2nd Level Trigger の判断が終るまでデータ転送を 待たせる機能があります。また、CAMAC Function による PCOS III Controler へのアクセスもサポートしています。 2. k2917 から RDTM のクレートの 3922 に正しく接続されていることを確認す る。 シングルカマックファンクションによりテストするのが最も簡単でしょう。 RDTM の入るクレートのクレート番号は通常 0 ですので、 GR6> nfa 30 1 0 0 (最後の0がクレート番号を表す。) を実行してください。エラーが出るときには接続に問題があるかもしれませ ん。II.2 の説明に従ってチェックしてください。 3. RDTM から各 PCOS に LeCroy Bus のフラットケーブル(50pin)が正しく Daisy Chain 接続されていることを確認して下さい。 4. PCOS - Delay&Latch (LeCroy 2731A)のイニシャライズをする。 次のコマンドでを実行してください。 GR6> pcosinit このコマンドは、 a) 各 Delay&Latch の Logical Address の設定 b) 各 Delay&Latch の Delay 値の設定 c) 各 Delay&Latch の Threshold 値の設定 の作業を行ないます。 a) の標準設定値は、/h0/gr/nfa/jul97.addr に記録されています。 これ以外のファイルを用いる場合は、/h0/rcmds/pcosinit を編集 することにより設定ファイル名を変更して下さい。 Logical Address の標準設定値は以下のようになっています。 MWPC PCOS N Log. Addr. DUMMY PCOS#2 17 0x180 MWPC-X1 PCOS#0 1-13 0x000-00C MWPC-X2 PCOS#1 1-13 0x020-02C MWPC-U3 PCOS#2 1-16 0x0C0-0CF MWPC-V3 PCOS#3 1-16 0x140-14F MWPC-U4 PCOS#4 1-22 0x0E0-0F5 MWPC-V4 PCOS#5 1-22 0x160-175 b) 各 Delay&Latch の Delay 値の設定 pcosinit_2 を実行することにより、変更します。 値を変更する時は、/h0/rcmds/pcosinit_2 を編集して下さい。 c) 各 Delay&Latch の Threshold 値の設定 pcosinit_3 を実行することにより、変更します。 値を変更する時は、/h0/rcmds/pcosinit_3 を編集して下さい。 イニシャライズが途中で失敗する場合は、同じ VME に繋がる全ての CAMAC クレートの電源を一度切り、再び電源を入れて、再度イニシャライズしてみ てください。 それでも成功しない場合には、VME からのカマックファンクションの通信に 問題があると思われます。II.2 の各項をチェックして見てください。 5) J11 の初期設定 (J11 を使う場合のみ) J11 の初期設定について説明します。以下の作業は 崩壊粒子検出器用など J11 を使う実験でのみ必要です。 以下の説明は J11 を使用するクレートが1台である場合です。 1. 回路設定 J11 のクレートにクレートコントローラ(3922)をさし、GR のメイン VME (VME06) または LAS のメイン VME (VME01) に繋がっている メイン CAMAC クレート (Crate#0)から Daisy Chain にて Crate#1 として接続します。 J11 はステーション 22 に入れます。 フロントパネル: 3922 Request -> 3922 GrantIn のケーブル(II.2.c 参照)の他、 3922 GrantOut -> J11 GrantIn のケーブルを接続する必要があります。 バックパネル: カマッククレートの裏にまわり、3922 -> J11 の 40pin フラットケーブル を接続して下さい。3922 には3つの接続ポートがありますが、裏から見て 2つ見える左側のポートから、J11 のバックパネルのポートに接続します。 2. J11 のクレートに繋がっている VME にログインしてください。 3. J11 のクレートの 3922 に正しく接続されていることを確認する。 シングルカマックファンクションによりテストするのが最も簡単でしょう。 J11 の入るクレートのクレート番号は通常 1 ですので、 GR6> nfa 30 1 0 1 (最後の1がクレート番号を表す。) を実行してください。エラーが出るときには接続に問題があるかもしれま せん。II.2 の説明に従ってチェックしてください。 3. /h0/rcmds/j11init を編集し、j11 にダウンロードするファイルを設定して 下さい。j11load に対する引数 /h0/gr/cmc/xxxx0.cmc がファイル名です。 ダウンロードするファイルは実験によって異なります。ダウンロードファイ ルの作成方法については(補遺 XI.E)を参照して下さい。 4. J11 にプログラムをダウンロードする。 GR6> j11init を実行して下さい。 ダウンロードが途中で失敗する場合は、同じ VME に繋がる全ての CAMAC クレートの電源を一度切り、再び電源を入れて、再度イニシャライズして みてください。 それでも成功しない場合には、VME からのカマックファンクションの通信 に問題があると思われます。II.2 の各項をチェックして見てください。 また、(II.5.2) のケーブル接続をもう一度確認して下さい。 J11 のフロントパネルの INT1, INT2 にケーブルがささっている場合、J11 にインタラプトをかけつづけていることによりダウンロードに失敗している 可能性があります。INT1, INT2 は TTL レベルで、Ground の時インタラプ トが発生します。 ^^^^^^^^^^^ ケーブルの先のクレートの電源が切れているなどの時には、インタラプトが 入力され続けている状態になるので注意して下さい。この場合は、INT1, INT2 のケーブルを抜いた状態でダウンロードを試してみて下さい。 なお、1台の k2917 に繋がっている3922の数が多いとき(特に4台以上の 時)、ケーブルが長いときには正しく動作しないことがあります。Daisy Chain によって繋がっている 3922 の数を減らすことを検討してみてくだ さい。 6) メモリーモジュールへの接続変更 IV.5 の表に従って各系列を VME 上のメモリモジュールに接続します。 メモリモジュールは CES 社の High Speed Memory (HSM, 別名 Triple Port Memory)と LeCroy社の Memory (LRMEM) の2種類のものを用いて います。 VME06 のクレートは 4台の HSM と6台の LRMEM を装備しています。 左から各2台づつをペアとし、5つの系統を構成しています。 VME06 ┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐┌─┐ │ ││ ││ ││ ││L ││L ││L ││L ││L ││L │ │H ││H ││H ││H ││R ││R ││R ││R ││R ││R │ │S ││S ││S ││S ││M ││M ││M ││M ││M ││M │ │M ││M ││M ││M ││E ││E ││E ││E ││E ││E │ │ ││ ││ ││ ││M ││M ││M ││M ││M ││M │ └─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘└─┘ └─┘ └─┘ └─┘ └─┘ └─┘ 系統1 系統2 系統3 系統4 系統5 HSM (High Speed Memory), HSM, LRMEM (LeCroy MeMory メモリモジュールへの接続変更は以下の3つに関して行なう必要がありま す a) Write Strobe Input (WSI) b) Write Acknowledge Output (WSO) c) ECL Data Cable a) の Write Strobe Input の変更は VME06 の上の NIM-BIN で3台並んだ 4-fold FIFO モジュールの最も左のモジュールにて行ないます。 上から5つのチャンネルが5系統に対応しています。 FIFO FIFO FIFO ┌───┐┌───┐┌───┐ │WSI-1 ││ ││ │ │WSI-2 ││ ││ │ │WSI-3 ││ ││ │ │WSI-4 ││ ││ │ │WSI-5 ││ ││ │ │WAI-1 ││WAI-4 ││ │ │WAI-2 ││WAI-5 ││ │ │WAI-3 ││ ││ │ └───┘└───┘└───┘ WSI の入力先はこの FIFO への入口で変更します。 b) の Write Acknowledge Output は上図のように FIFO から出力されて おり、GDG に繋がっています。WAO の出力先はその GDG の出力の所で変更 します。 ^^^^^^^^^^^^^^^^^ III)回路確認 実験前の回路調整の手順を示します。 調整前の準備として、 a) II) の回路設定 b) IV) のデータ収集系設定 の2つを先に行う必要があります。 b) を省略する場合は、(GR6 の Window は2つ必要) mari> rfm_init GR6> rinit GR6> collector 2 mari> rfm_read -2 >/dev/null GR6 > rstart 1, (LAS の場合は、GR6> (VME06) でなく GR1> (VME01) 上で行う) を行ってください。rfm_read は Reflective Memory の中身を読み出すダミーの プロセスです。 1) パルサシグナルを入れる まず、パルサを作ります。 レートは最初はあまり上げず、現実的な値(100 cps から 1 kcps 程度)、 ゲートは幅は 50ns くらいが良いでしょう。 パルサを回路に入れる場所として主に次の2つの方法が使われます。 a) Photomultiplier から最初にシグナルの入る Divider に、 Photomultiplier からのシグナルの代わりにパルサを入れる。 b) FPGA Trigger 回路へのシグナルの入り口 の ECL-NIM 回路にパルサを入れ る、 b) の方法はてっとり早く回路調整する場合によく用います。 一方、ADC/TDC のタイミング調整をする場合は、a) の方法を用いる必要があり ます。 (p,2p)、崩壊粒子測定などのコインシデンス実験の回路調整の場合などには、 それぞれのカウンタ系に正しくタイミングを調整したパルサを作って送る必要 があります。 この場合回路調整の手順としては、各カウンタ系、コインシデンスの順で進め ます。 ((p,2p)の場合、GRの調整、LASの調整、コインシデンスの調整の順番) 2) FERA 系の確認 FERA 系の回路の確認をします。正常動作のときのシグナルをタイミングを 図 III.1 に示します。 a) FERA 系へトリガが出ていることを確認する。 トリガー系から FERA 系に入るトリガシグナルは、FERA 系の各 TFC への Start シグナル(ECL)です。FERA へのゲートは TFC からの出 力を用いています。 b) FPGA から出ている FERA 回路系の Busy をチェックする。 Busy が 20 〜 30us 程度であれば、正常に動作していると期待出来ます。 Busy が異常に長いときには FERA 回路系に問題があります。 c) FERA から Request シグナルが出ていることを確認する。 Request が出ていない場合、次の原因が考えられます。 1. トリガが FERA に正しく伝わっていない。 通常トリガは TFC (LeCroy 4303) のスタートに入力し、TFC のゲート出 力を FERA のゲートに入力しています。 ・ TFC に正しくスタート入力が入っていること ・ TFC のゲート出力が正しく出ており、FERA に入力されていること を確認してください。ECL Probe を使うと手軽に確認できます。 TFC がロックして Gate が出ないという症状が過去にありました。 TFC の Test 入力に一度何かシグナルを入れると、その後正常動作す るようになります。 2. FERA/FCET のイニシャライズが正しく行われていない。 ・ 再度イニシャライズを行う。 イニシャライズの時に設定値を読み出しているので、注意してチェッ クして下さい。 3. Fast Clear が FERA に正しく伝わっていない。 FERA は毎イベント後に Fast Clear を入れなければ次のイベントの取得 を行いません。 ・ Fast Clear が正しく FERA に入力されていることを確認してくださ い。 ・ Fast Clear のタイミングが、タイムアウトした時(正常動作時は Request が終わった時)であることを確認してください。 4. FERA/FCET 内のケーブリングが正しく行われていない。 ・ FERA Bus の接続 ・ Daisy Chain パスの接続 を確認してください。必要があれば、ECL Probe 等を用いて Daisy Chain パスがどこまで伝わっているか確認してください。 d) FERA に Fast Clar が入力されていることを確認する。 FERA は毎イベント後に Fast Clear を入れなければ次のイベントの取得を 行いません。 ・ Fast Clear が正しく FERA に入力されていることを確認してください。 ・ Fast Clear のタイミングが、タイムアウトした時(正常動作時は Request が終わった時)であることを確認してください。 e) FERA から WSO が出力されていることを確認する。 WSO は Write Strobe Output の略で、FERA からのデータ転送要求です。 FERA から Request が出力されている場合、WSO は出力されているはずです。 出力されていない場合は、FERA Bus のケーブリングの問題が、回路の故障 などが考えられます。 正常動作の場合、WSO は最初3つが続けて現れ、10 usec 程度後に 一群のシグナルが連続して現れます。最初の3つは FCET が出力している 3ワード(ヘッダ、カウンタ、インプットレジスタ)で、その後に 遅れて出てくるワードが FERA のデータ転送を表しています。 f) FERA に WAI が入力されていることを確認する。 WAI は Write Acknowledge Input の略で WSO に答えてバッファメモリ系 から返されます。 WSO に対して WAI がない場合は、バッファメモリまたはデータ収集系の 問題であると考えられます。 データ収集系の立上げを確認してください。 (?参照) g) FERA の Daisy Chain パスを確認する。 Request が存在し、WSO/WAI が存在するということは、FERA バス中で前 (FERA ドライバに近い方)にあるモジュールの何台かは正しく動いていると いうことを意味していますが、まだ FPGA の出す FERA 系の Busy が長い 場合には、Request を出しているにも関わらず、転送できていないモジュ ールが存在ということになります。 FPGA の出す Busy が正常な長さになり、WSO/WAI が正しく受け渡されている場 合(WSO/WAIの数は、データのワード数を表しています)、FERA 系は正しく動 作していると考えられます。 IV) データ収集系初期設定 97年7月より DAQ 用 Workgroup として kasuga (DEC4100) が導入されまし た。 以下のデータ収集系の作業は kasuga 上で group account を用いた場合を想 定しています。 実験前のデータ収集系の初期設定作業について説明します。 1) group account を申請する。 まず実験用のグループアカウントを取得して下さい。 詳しくは、www の加情II のページを参照して下さい。 不明な点は加情IIグループにご相談下さい。 2) kasuga のアカウント上に必要なファイルをコピーする。 kasuga> ~tamii/daq/bin/daqsetup を実行して下さい。コピーされるファイルは主に DAQ 用の実行プログラム です。 3) ファイルの編集 (kasuga) 一部編集が必要なファイルが存在します。 kasuga> mule ~/daq/bin/daq を実行し、7行目付近にある以下の行 set EXP="template_97jul" の "" 内を実験に即した適切な名前に変更して下さい。 4) 次に mari 上で必要なファイルを編集します。 mari にログインし、 mari> emacs ~/daq/bin/daq を実行し、11行目付近にある以下の行 set EXP="xxxxxxxx" の "" 内を実験に即した適切な名前に変更して下さい。 3) で設定した名前と同じ名前にするのが一般的です。 次に mari> emacs ~/.rhosts で、kasuga 上の group account の名前を設定して下さい。 例えば、e96 が group account 名であれば、 kasuga e96 kasuga.rcnp.osaka-u.ac.jp e96 kasuga-np1 e96 kasuga-np1.rcnp.osaka-u.ac.jp e96 の4行を追加します。 5) VME 上でのデータ収集プログラム j11ctrl を変更します。 GR 用の VME06 には以下のファイルが用意されています。 ファイル名 実験内容 HSM1 2 LRMEM1 2 3 --------------------------------------------------------------------- j11ctrl_gr_97apr GR 標準実験 GFERA G3377 j11ctrl_grfpp_97apr GR + FPP GFERA G3377 GPCOS j11ctrl_grssd_97apr GR + J11 GFERA G3377 j11ctrl_p2p_97apr GR + LAS GFERA LFERA G3377 L3377 j11ctrl_p2pfpp_97apr GR + LAS + FPP GFERA LFERA G3377 L3377 GPCOS j11ctrl_p2pg_97apr (p,2pγ) GFERA LFERA G3377 L3377 まずVME06 にログインして下さい。 次にプログラムファイルが存在するディレクトリに移動します。 GR06> cd /h0/rcmds 現在のファイルを消去します。 GR06> del j11ctrl 新しいファイルをコピーします。例えば、GR 標準実験の場合は GR06> copy j11ctrl_gr_97apr j11ctrl として下さい。 V) 回路系再立上げ 以下に(電源再投入後の)回路系の初期化の手順を示します。電源投入後などに 以下の作業を行う必要があります。 1. Xilinx トリガ回路、Buffer Change 回路の設定 VME-GR のウィンドウにて GR6> triginit を実行して下さい。 2. FERA/FERET 回路の設定 VME-GR のウィンドウにて GR6> ferainit を実行して下さい。 3. 3377 回路の設定 3377 に繋がっている VME は実験セットアップによって異なります。 本実験においては、 VME02 上で GR2> 3377init を実行して下さい。 VI)データ収集系の立ち上げ 以下にデータ収集システムを、初期状態から立ち上げる手順を示します。 0. データ収集系が動作していた状態から、再度一から立ち上げたい場合には、 ・ アナライザ等、TCP/IP にて接続しているプロセスを全て終了させる。 ・ コンソールにて、DAQ -> End 、次に DAQ -> Exit を選択する。 ・ 関与する VME を全てリセットする。 をまず、行なって下さい。 1. 外部ホストからの X アクセスを許可する。 mari など Workstation コンソール上で DAQ を起動する時は、外部から の X アクセスを許可するため、 % xhost + を実行して下さい。X 端末では、通常実行する必要はありません。 2. kasuga にログインする。 各実験アカウントで、ログインして下さい。 3. データ収集系制御プログラム(以下、コンソール)を立ち上げる。 kasuga> daq mcp * mcp は master control program の略です。 ・ コンソールプログラムには、開発中の為使用できない機能があります。 ・ コンソールプログラムはいくつ起動しても構いません。また、いつ終了 しても、データ収集系には影響しません。 4. GR 制御用 VME (VME06 = 192.168.2.166)にログインする。 コンソールから Window -> VME -> GR を選択する。 username: gr password: ... ・ VME06 は 西実験室内 Grand Raiden 回路系の中央下にあります。 ・ VME は OS/9 と呼ばれる オペレーティングシステムで動いています。 OS/9 については、計数室奥にあるマニュアルを参照して下さい。 (マニュアルは1部しかありません。必ず元の場所に戻して下さい。) ログイン後に GR6> rdefs を実行して下さい。 ・ rdefs はデータ収集システムに必要な環境変数の設定をしています。 上記の作業を2回おこなって、2つのウィンドウを開けて下さい。 1つは Collector の起動用、1つは ランの制御用です。 5. ドライバーのインストール ドライバは起動時に自動ロードされるように設定しました。以下の 作業は不要です。 GR6> modules k2917/k2917drv が表示されないとき GR6> k2917load rmb5576/rmb5576drv が表示されないとき GR6> rmb5576load 6. ドライバーの初期化 VME-GR のウィンドウで、 GR6> rinit を実行して下さい。確認のメッセージに y で答えて下さい。 ・ このコマンドは Reflective Memory Driver の初期化を行ないます。 VME をリセットしたときなど、起動後(ドライバがロードされた時) に一度だけ実行する必要があります。 7. データ収集システムの初期化を行う。 コンソールから DAQ -> Init を選択して下さい。 このコマンドは以下の作業を自動的に行ないます。 1) 全リフレクティブメモリの内容の初期化 2) エラーメッセージウィンドウ (errlog) の起動 (kasuga, mari の両方) 3) データ収集系に必要なバックグラウンドプログラムの起動 ・ データ収集用 TCP/IP デーモンなど (注)このコマンドは全てのシステムに関わる初期化を行なうため、 注意して使用して下さい。必要な時以外は決して使わないで下 さい。誤って使用してしまった場合は、このマニュアルに記載 されているデータ収集系立ち上げの作業を最初から行なう必要 があります。 (正常動作する場合はこの項目の以下の作業は不要です) 1) により、VME 上で走っている Collector などのプログラムは ハングアップします。 2) で起動される errlog には、データ収集系に関する様々な情報 が表示、記録されます。注意深く見るようにして下さい。データ収集系 に異常が起きた場合には、異常の原因を示唆するメッセージが errlog に記載されていることがよくあります。特にプロセスが異常終了した というメッセージに注意して下さい。 3)で データ収集用 TCP/IP デーモンを立ち上げます。このデーモン は外部から(特にアナライザ)のデータの転送要求に答えるプロセスです。 errlog に tcp_d が終了したというメッセージが出ていないことを確認し て下さい。異常終了している場合には、デーモンが使用しようとしている TCP/IP のポートが既に占有されています。外部から mari や kasuga の データ収集系に接続しているプロセス(特にアナライザ)を全て終了し、 mari 上の router_tcp という名前のプロセスを mari> ps -fu quser | grep router_tcp kasuga> ps -fu e96 | grep router_tcp (e96 の部分にはグループアカウント名が入る) のコマンドにより発見して、 mari/kasuga> kill -HUP process_id により、すべて終了させて下さい。ネットワーク上に残っているパケット がすべて消えるまで(5分間)待った後、システムはポートを解放します。 コンソールから、DAQ->Exit を実行し、再び DAQ->Init を実行して下さい。 まだ、tcp_d が異常終了する場合には、外部に mari/kasuga に接続している (接続しようとしている)プロセスが残っていると思われます。これを、 全て発見、終了させることが出来ない場合には、ホストをリブートするしか 手がありません。 8. J11 (崩壊粒子検出器用)の イニシャライズ J11 を使用する場合は、 VME-GR の ウィンドウで、 GR6> j11init を実行して下さい。 9. Collector の起動 VME-GR のウィンドウで、 GR6> procs を実行し,collector および j11ctrl がすでに存在していない事を確認 して下さい.存在する時は同時に表示される Id を用いて GR6> kill Id により,プロセスを消去した後, GR6> rfm_init_buf_2 を実行して下さい. ・ j11ctrl を強制終了した時は、reflective memory 上のバッファが ロックされたままになっている可能性があります。rfm_init_buf_2 は、このリフレクティブメモリ上のバッファを解放します。 GR6> collector 2 により,collector を起動して下さい.エラーが表示される時は 他の VME-GR のウィンドウから GR6> rend (確認に y で答える)を実行し、collector は終了させた後、上記の procs から作業を繰り返して下さい。 ・ Colletor プロセスはキーボードシグナルによって止められないように なっているため,他の VME-GR のウィンドウから、rend コマンドを実 行することによってプロセスを止めます。このコマンドによって止まら ない場合にはプロセスを強制終了(kill)する必要があります。 ・ Collector を止めると、mari 上のリフレクティブメモリ読みだしプロ セス(rfm_router)が終了します。初期立ち上げ以外で、必要があって Collector を終了させた場合は、コンソールから DAQ -> End を実行 した後、DAQ -> Start を実行して下さい(10. 参照)。初期立ち上げ 時には、項目 10. にて、この作業を行ないます。 10. kasuga/mari 上のデータ収集システムの起動 コンソールから、DAQ -> Start を選択して下さい。 このコマンドは以下のプロセスを自動的に起動します。 [mari上] ・ router -r GR ... GR のローデータ分配プロセス ・ router -r BLP ... BLP のローデータ分配プロセス ・ rfm_router 2 GR ... Reflective Memory から router-GR にデータを転送する プロセス ・ rfm_router 4 BLP ... Reflective Memory から router-BLP にデータを転送する プロセス [kasuga 上] ・ router -r GR ... GR のローデータ分配プロセス ・ router -r BLP ... BLP のローデータ分配プロセス ・ router -r BLD ... GR のビルド後のデータの分配プロセス ・ tcp_router mari2 quser GR GR ... mari の router-GR からデータを受けとり、kasuga 上の router-GR にデータを渡すプロセス ・ tcp_router mari2 quser BLP BLP ... mari の router-BLP からデータを受けとり、kasuga 上の router-BLP にデータを渡すプロセス ・ router_builder -r GR BLD ... オンラインイベントビルダ。router-GRからデータを受け とりビルドして、router-BLD に渡す。 正しく起動しない(errlog に異常終了のメッセージが出る)時は、 コンソールから DAQ -> End を選択した後、再び DAQ -> Start を 選択して下さい。 ・ DAQ -> End を実行すると、データ保存プロセスや、外部から mari 収集系への接続プロセス(アナライザなど)との接続が切れます。 DAQ -> Start によって Builder の Window が自動的に表示されます。 誤って Builder を止めてしまった場合には、 mari> daq builder を実行して、起動し直して下さい。 11. Recorder ウィンドウの起動 コンソールから Window -> Recorder を選択して下さい。 Recorder のウィンドウが表示されます。 Recorder のウィンドウで、データを保存するディレクトリにあらかじめ 移動して下さい。 12. Scaler ウィンドウの起動 コンソールから Window -> Scaler を選択して下さい。 Scaler のウィンドウが表示されます。 ・ DAQ -> End を実行すると、Scaler ウィンドウは自動的に消えます。 ビームラインポラリメータを使用する場合はさらに以下の設定が必要です。 13. BLP 制御用 VME (VME04 = 192.168.2.164)にログインする コンソールから Window -> VME -> BLP を選択する。 username: gr password: ... ・ VME04 は 西実験室内 BLP 回路系の上部にあります。 上記の作業を2回おこなって、2つのウィンドウを開けて下さい。 1つは Collector の起動用、1つは ランの制御用です。 14. ドライバーのインストール ドライバは起動時に自動ロードされるように設定しました。 15. ドライバーの初期化 VME-BLP のウィンドウで、 GR4> rinit を実行して下さい。確認のメッセージに y で答えて下さい。 16. Collector の起動 VME-BLP のウィンドウで、 GR6> procs を実行し,collector および j11ctrl がすでに存在していない事を確認 して下さい.存在する時は同時に表示される Id を用いて GR6> kill Id により,プロセスを消去した後, GR6> rfm_init_buf_4 を実行して下さい. ・ j11ctrl を強制終了した時は、reflective memory 上のバッファが ロックされたままになっている可能性があります。rfm_init_buf_4 は、このリフレクティブメモリ上のバッファを解放します。 GR6> collector 4 により,collector を起動して下さい.エラーが表示される時は 他の VME-GR のウィンドウから GR6> rend (確認に y で答える)を実行し、collector は終了させた後、上記の procs から作業を繰り返して下さい。 End. これでデータ収集系の立ち上げ作業が終了しました。外部のアナライザ 等のプロセスから、kasuga/mari に接続が可能です。 VII) 回路系のトラブルシューティング 現在のところ項目はありません。 VIII を参考にしてください。 VIII)データ収集系のトラブルシューティング 以下にデータ収集系のトラブルの解決方法を、各症状に分けて解説します。 1)データが流れていないように思われる。 どこまでデータが流れているのかを確認するのが先決です。 1. ビームは出ているか。 F.C. カレント等で、ビームが出ていることを確認して下さい。 2. ランはスタートしているか。 マックのランがスタートしているか、VME で rstart をしているか を確認して下さい。 3. トリガがない。 マックのスケーラで、イベントリクエスト(トリガ)があるかどうか を確認して下さい。 トリガが来ていない場合は、 ・ トリガシンチレータの電圧が落ちている。 → 電圧をかける。 ・ Trigger 回路がハングアップしている。 → Trigger 回路のイニシャライズをする。(→ V.1) などの理由が考えられます。 4. トリガはあるが、アクセプトがない。 マックのスケーラで、イベントアクセプトがあるかどうかを確認して 下さい。 トリガはあるが、アクセプトがない場合、 ・ データ収集系がハングアップしている。 ・ フロー制御により、データ収集系が止まっている。 の2つが考えられます。次の手順で問題箇所を見つけて下さい。 VME-GR の Collector のメッセージを確認する。 a) Pending Buffer Transfer のメッセージが出ている。 Collector は正常に動いているが、フロー制御によりデータ収集 が止まっていると考えられます。 コンソールから、DAQ -> End を選択し、その後 DAQ -> Start を実行して下さい(この過程でデータ保存プロセス、およびア ナライザとの通信が切れます)。 Collector が Pending 状態から回復した場合、router の動作 が異常で止まっていたか、保存プロセスなどの router に接続 しているプロセスの動作が異常で、フロー制御をかけてデータ 収集系を止めていたと考えられます。Disk がオーバーフローし ているなどの問題があれば解決してから、アナライザ、データ 保存プロセスなどを立ち上げなおし、データ収集を再開して下 さい。 b) i=100, j=100 のようなメッセージが出ている。 j11 が落ちているため、タイムアウト動作を起こしています。 以下の手順で収集系を立ち上げ直して下さい。 ・ VME-GR のウィンドウにて、 GR6> rend を実行し(確認に y で答える)、Collector を止める。 ・ GR6> procs にて、collector, j11ctrl が走っていないことを確認する。 走っている場合は kill process_id でプロセスを止め、 GR6> rfm_init_buf_2 でロックされているリフレクティブメモリのバッファを解放 する。k2917 がロックされている可能性があるので、 GR6> k2917unlock を行なっておく。 ・ J11 のプログラムをダウンロードしなおす。 GR6> j11init ・ Collector を再起動する。 GR6> Collector 2 別の VME-GR のウィンドウにて、 GR6> procs を実行し、collector と j11ctrl が動作していることを 確認して下さい。正しく動作しない場合、 i) リフレクティブメモリ上のバッファ構造が破壊され ている。 ii) リフレクティブメモリの光転送に異常がある などが考えられます。i) の場合は データ収集系を最初から 立ち上げ直して下さい。ii) については、(VII.1.4.d) を参 照して下さい。 ・ 上記の過程により、mari 上の rfm_router が止まるため、 mari 上のデータ収集プロセスを走らせ直す。 DAQ -> End をした後、 DAQ -> Start ・ 上記の過程により、データ保存プロセスとアナライザとの 接続が切れるので、必要があれば両者を走らせ直す。 ・ 以後、データ収集を続ける。 頻繁に J11 が落ちる場合、ダウンロードしている J11 のプログ ラムに誤りがあるか、J11 と Data 収集系を繋ぐ回路に誤りがあ ると考えられます。 一般に Collector から DMA Check Count = ... というようなメッセージが表示される場合、トリガが来てはいけ ないタイミングにトリガが入っていると推測できます(Veto に 穴がある。) c) 特にメッセージが出ていない。 VME-GR のウィンドウにて、 GR6> procs を実行し、collector および j11ctrl が存在することを確認して 下さい。存在しない場合には、VIII.4.b に従って立ち上げ直して 下さい。 d) リフレクティブメモリ光転送の確認 次の方法でリフレクティブメモリ転送用の光ファイバケーブルの 接続の異常や、ケーブルの異常を検出します。 現在 リフレクティブメモリの光ループは以下のように繋がって います ┌→ MARI → VME01(LAS) → VME06(GR) ─┐ └───────────────────┘ 1. VME01 → VME06 を調べます。 VME01 にログインし、 GR1> push 10007000 12345678 を実行します。10007000 はリフレクティブメモリ上の適当な メモリ番地を表しています。12345678 はどんな数値でもかま いません。このコマンドは指定されたメモリ番地に指定された 数値を書き込むものです。 次に VME06 にログインし、 GR6> dumpmem 10007000 10 を実行します。このコマンドは指定されたメモリ番地から指定 された長さをダンプします。 10007000: 12 34 56 78 64 5f 7d 5f aa ba aa 38 54 4d 5d 5d のように出力され、10007000 番地に 12345678 の数値が書き込 まれていることが確認できます。 他の数値でも試してみてください。書き込んだ数値が正しく読み 出せるようであれば、VME01 から VME06 へのデータ転送は正常 に行なわれていると考えられます。 2. VME06 → VME01 を調べます。 GR6> push 10070000 9abcdef0 GR1> dumpmem 10070000 10 10070000: 9a bc de f0 8f ff 9f ff af ff bf ff cf ff df ff のように 10070000 番値に 9abcdef0 の数値が読み出せるようで あれば、VME06 → VME01 の転送は成功しています。 3. MARI でのデータ読み出し mari> rfm_dump 70000 10 により VME の 10070000 番値に対応するデータを読み出すことが できます。 現在の所 MARI 側からデータを書き込むコマンドは用意されていま せん。 注)一度もデータ書き込みを行なっていないメモリ番値は、各 VME や mari の電源 ON 時の値を保持しています。このようなメモリ番値 については各ホスト上での同じ番値のメモリ内容が異なるのは正 常です。 5. イベントアクセプトがある場合。 どこまでデータが流れているかを確認するのが、問題解決の早道です。 a) mari> router_dump GR を実行して(止める時は Control+C)、データが表示される場合、 mari 上の router-GR までデータが来ています。 router との接続に失敗したというメッセージが表示される場合は router-GR が止まっています。コンソールにて DAQ -> End を 行なったのち、VI.10 の立ち上げ手順を実行して下さい。 接続に成功したが、データが表示されない場合には、トリガ回路 の間引き率が非常に低いため、イベントをアクセプトしているが ほとんどのイベントが不要なものであるとして捨てている、とい うことが考えられます。トリガ回路の設定を確認して下さい。 b) kasuga> router_dump GR を実行して(止める時は Control+C) データが表示される場合、 kasuga 上の router-GR までデータが来ています。 router との接続に失敗したというメッセージが表示される場合は kasuga 上の router-GR が止まっています。コンソールにて DAQ -> End を行なったのち、VI.10 の立ち上げ手順を実行して下さ い。 接続に成功したが、データが表示されない場合には、mari の router-GR から kasuga の router-GR の通信に失敗している (kasuga 上の 'tcp_router mari2 GR GR'のプロセス)と考えら れます。コンソールにて DAQ -> End を行なったのち、VI.10 の 立ち上げ手順を実行して下さい。 b) kasuga> router_dump BLD を実行して(止める時は Control+C)、データが表示される場合、 kasuga 上の router-BLD までデータが来ています。 router との接続に失敗したというメッセージが表示される場合は router-BLD が止まっています。コンソールにて DAQ -> End を 行なったのち、VI.10 の立ち上げ手順を実行して下さい。 接続に成功したが、データが表示されない場合には、 a) イベントビルダが止まっている。 b) イベントビルドに失敗しているため、データが捨てられて いる。 などが、考えられます。Builder のウィンドウを見て頻繁にエラ ーメッセージが出ているようであれば、b) の症状です。 (→ VIII.2 を参照) Builder のウィンドウが見つからない時、あるいはエラーが表示 されないときは Builder を止めて(Builder のウィンドウで Control+C を入力する)、 kasuga> daq builder を実行し、再び kasuga> router_dump BLD でデータが流れているか確認して下さい。 c) データを保存しているファイルの大きさが増えない。 Disk がオーバーフローしている可能性があります。 kasuga> df -k にて、Disk 容量を確認して下さい。 Disk 容量がある場合は、何らかの原因で保存プロセスが終了し てしまったということが、考えられます。 errlog で、Recorder プロセスが終了したというメッセージが 出ていないか、確認して下さい。 この場合、Recorder ウィンドウにて、 kasuga> run end を実行(IX.2.3)した後、 kasuga> run xxxx (IX.1.1 参照 xxxx にはランナンバーを入れる)を実行し、以下の コマンドでファイルサイズが増えて行くことを確認して下さい。 kasuga> ls -l d) アナライザにデータが来ない。 アナライザを立ち上げ直して、データが来ているかどうか、 接続に失敗したというメッセージが出ていないか確認して下さ い。 次に、 kasuga> tcp_dump kasuga e96 BLD を実行し(終了は Control+C, e96 の所にはグループアカウン ト名を入れる)、データが表示されるかどうかを確認して下さ い。 データが表示される場合、アナライザにデータが転送されない のは、ネットワークかアナライザかのいずれかに原因があると 考えられます。 データが表示されない場合、router-BLD までデータが来てい ないと考えられます。VIII.1.5.b を参照して下さい。 接続に失敗したというメッセージが出る場合、kasuga のデータ 収集用 TCP/IP デーモンが止まっていると考えられます。 (VI.7)を参照して、デーモンを立ち上げ直して下さい。 2)イベントビルダからエラーメッセージが出る 1. Event number is inconsistent のエラーが出る。 イベントビルドにおいて、1ブロック中のイベント数が一致して いないというエラーメッセージです。 エラーメッセージからどの系統(J11, FERA, FCET, ...)のブロ ックのイベント数に問題があるのか確認して下さい。 (J11 Scaler ブロックに関してはイベント数0は正しい動作です) 原因として考えられるのは、トリガー系や回路における誤りです。 a) パルサによって再現するようであれば、パルサチェックを行ないます。 ・ トリガー系が各系列に関して、実際に異なる数のトリガを出し ている。 → スケーラーに各系統のトリガを入れて、値を確認してみる。 → Xilinx トリガー回路の誤り、設定の誤りである可能性がある。 特に一度外に出してから Delay をかけて戻している場合 (p2pなど)には、Delay タイミングをきっちり設定しないと 時々ロストすることがあります。 ・ NIM 回路の不安定な動作により、時々トリガが伝送されていな い。 → NIM ビンの電源や、AC の電圧に異常はないか調べる。 → 異常なパルスを出している回路がないか調べる。 → ケーブル(接続)の異常により、トリガがロストしていたこ とがありました。 ・ FCET/FERA/3377 などの動作に不安定なところはないか、故障 回路が交じっていないかを調べる。 → 3377 過去に REN/PASS が正しく繋がっていない(ECL の片 ピンだけ繋がっていた)という原因により、不安定な動作を 引き起こしたことがあります。3377 の全数の半分だけを使っ てみるなどの調べ方が考えられます。 ・ トリガだけでなく、Fast Clear が時々入っていない、あるいは 時々異常なタイミングで入っているということがないか。 → Fast Clear が異常に早く入っていたため、データが転送され ていなかったという例がありました。 → FERA/FERET 系統は毎イベントごとに Fast Clear を入れない と次のイベントのコンバージョンを行ないません(FERAのデー タが流れなくなる)ので注意して下さい。 ・ FCET に異常がある。 → FCET をはずしてみると、正しく動作する可能性があります。 (FCET がなくても、ビルダは正しく動作します) → VME 上の FCET のプログラムが壊れていたといことが過去に ありました。(HD の問題と思われる) b) パルサで再現しない場合、2パルサの OR を使ってみる、ソース とシンチを用いたランダムパルスを使ってみるなどの方法があり ます。ランダムパルスで再現する場合、 ・ Veto のかかり方に問題がある可能性がある。 → 短いダブルパルスや、ちょうど Veto の落ちかけに別のパル スが入るようなダブルパルスをパルサーで作成し、入れて調 べてみる。 ランダムパルスで発生しない場合、 ・ 全取り込み、シングル間引き、全コインシデンス、一部コインシ デンスなどの回路で試してみる。 ・ セカンドレベルトリガを用いている場合、セカンドレベルをシミ ュレートする回路を使ってみる。常に同じタイミングで入るよう にしてみる。常にアクセプト、常にリジェクトにして試してみる。 c) フロー制御がかかっていると思われる場合(Collector で Pending が瀕出する場合) ・ フロー制御がかかったときに、イベント数がずれる可能性があり ます。 → トリガレートを異常に高くして試してみる。 d) ビームを用いないと再現しないと思われる場合。 ・ 3377 などにおいて、多くのチャンネルが同時に鳴った時に異常が 起きているということが考えられます。 → VDC にパルサを入れて、多チャンネルを同時に鳴らしてみる → 3377 のクレート電源に余裕があるか、NIM 回路の電源に余 裕があるかを調べてみる。 d) その他 (VIII.2.2 参照) 2. Unknown block format のエラーが出る。 まず、 kasuga> router_dump GR を用いて、各ブロックの最初のデータを調べ、どのブロック(系列)に 異常があるのかを調べます。データフォーマットについて熟知している 必要があります。 以下のような原因が考えられます。 a) HSM や LeCroy の Buffer Memory への ECL フラットケーブルが 正しく接続されていない。 ・ 外れている。 ・ 別の系列のものと入れ違っている。 ・ 上下入れ違っている。 b) Write Strobe とのタイミングが狂っている。 回路を大幅に変更い限り発生しません。 Write Strobe と ECL のデータケーブルのデータのタイミングを ECL Probe を使ってみることで、確認できます。 → FERA/FERET 系統では、Write Strobe に Delay を入れて (〜 100ns)充分遅らせることで正しくデータが入るかどうか 確認することができます。しかし、3377 系統はたれながし モードでデータをとっているため、この方法を用いることは できません。 c) High Speed Memory のデータがずれるバグが発生している。 High Speed Memory には回路のバグが存在していると考えています。 あるきっかけにより、各ブロックの先頭に来るべきデータが、常に先 頭からある一定ワード後から入るようになる。 この症状が発生した場合、対処方法は VME をリセットする(電源を 切る必要はない)ことしかありません。 この症状は以下の経験的な対処方法によって解決することが出来ます。 ・ HSM の VETO(Inhibit) 入力は使わない。(常にVETO解除) ・ HSM に入る WSI のシグナルは、GDG を用いた一定長のパルス を用いる(100ns 程度を用いている。HSM の Max 周波数 10 MHz を越えると問題が発生すると考えられます) d) その他 ・ LeCroy の Buffer Memory とのハンドシェイクミス LeCroy の Buffer Memory が返す Write Acknowlege は非常に短い パルス(!)です。長距離伝送する場合には、ゲート幅を広げないと ロストする可能性があります。短距離でも GDG を通すことを推奨 します。 ・ LeCroy の Buffer Memory の ECL 入力インピーダンスは通常の半分 になっています。High Speed Memory の WSI と ECL 入力のインピ ーダンスはジャンパ/抵抗の差し替えにより可変です。 インピーダンスが正しく合っていないと、反射をおこして予期せぬ データが入る可能性があります。 3) デッドタイムが異常に大きい a) トリガレートが高い場合には、イベント当たりのデッドタイムから計算 して、正しいデッドタイムであるかどうか、確認して下さい。 HSM/LeCroy Memory 系列のデッドタイム 10 〜 30 us/event J11 系列のデッドタイム 100 〜 500 us/event Fast Clear Event のデッドタイム 〜 2 us/event 2nd Level Reject Event のデッドタイム 5 〜 10 us/event b) フロー制御がかかっていないかどうか、確認して下さい。 Collector から Pending Buffer Transfer というメッセージが出る時 は、後方のシステムからフロー制御が発生しています。 Disk がオーバーフローしていないか、などを確認して下さい。 (VIII.1.3.a を参照) c) パルサによるチェックを行ないます。 各系列の Busy シグナル(?.? 参照)をチェックし、上記の a) 項の デッドタイムと比較して合理的であるかどうかを判断します。 異常のある系列が発見された場合、 1. その系列の Request(FERA/J11/RDTM) or Stop(3377) シグナルは来 ているかをチェックします。 i) 来ていない時 以下の項目をチェックします。 ・ ゲート/トリガは正しく配送されているか ・ 正しくイニシャライズされているか ・ Fast Clear は配送されているか (FERA/FERET は毎イベント収集後に F.C. を入れないと、次の イベントをとりません) ・ 回路が故障していないか。(交換してみる) ii) 来ているとき、 以下の項目をチェックします。 ・ Write Strobe は出ているか。出ているときは、Memory モジュ ール側から、Aknowledge が返っているか。 現在 3377 はハンドシェイクモードではなく、たれ流しモード (自分自身の Write Strobe に Delay をかけて自分の Acknowlege に入れる)を用いています。 ・ FCET へのトリガは正しく配送されているか。 ・ REN/PASS は正しく接続されているか。 繋がっているように見えても正しくピンに刺さっていない場合 があります。 → 方法のピンだけが繋がっていない場合、時々シグナルの伝送 に失敗するというような不安定な症状を起こします。 過去にこれが原因で問題が生じたことが多々ありますので、 充分注意をして下さい。 3) 3377 のデータに異常がある 97年6月より GR-VDC と LAS-MWDC に関しては 3377 を FERA モード で使用することに成功しています。今後は以下の症状は解決されているも のと期待されます。 [97年6月以前] 現在 3377 はマルチイベントモードで使用していますが、本来はシン グルイベントモード(FERA コンパチブルモード)で使用すべきものです。 マルチイベントモードで使用している弊害として、何らかの原因により イベントが読み出されなかったモジュールがある場合、そのイベントが スタックされてしまって、次のイベントから 3377 相互で読み出している イベントが異なるという症状が起きることがあります。この症状は一度 発生すると以後3377のイニシャライズをするまで回復しません。 アナライザで見た場合、相互のイベント情報がずれるため、焦点面で の粒子軌道が異常に広がって見える、あるいはシンチレータなど他の検 出器による位置データとの相関がなくなるという症状が起きます。 一度データがずれ始めた場合、解決するには、3377 をイニシャライズ しなおすしかありません。現在、GR のイベントに関してはほとんどイベ ントがずれない状態で、データを取り続けることができますが、LAS の データに関してはある頻度でずれが発生するという状況です。原因と解 決方法については現在調査中ですが、基本的にはシングルイベントモード で取れるようにするというのが正しい解決方法であると考えられます。 イベントのずれの発生は、大量のワイヤヒットが同時発生する確率と相 関しているように思われます。 対応策としては、現在のところ、常にデータをモニタしてチェックし、 異常が発生すればイニシャライズをして再開するということしかありま せん。チェックの方法として、各 3377 のモジュールが持つイベントカ ウンタが1イベント内で一致していることを確認する方法と、シンチレ ータなどの、他の検出器との相関を常にモニターするという方法が考え られ、実際に用いられています。 3377 のデータの異常として、過去には、2nd Level Trigger からの 判断結果をある一定の時間ウィンドウに限ると頻度が下がる、というよ うな症状もありました。3377の機能から確率的に起きる場合ばかりでは なく、トリガー系の誤動作によって引き起こされる可能性もあることは、 念頭においておく必要があります。 IX)ランの進行 1) ランの開始 次の手順でランを開始します。 1. データ保存プロセスの起動 Recorder ウィンドウで、 mari> df -k . のコマンドで、ディスクの空き容量を確認して下さい(単位は KByte)。次に、 mari> run xxxx のコマンドで、データ保存プロセスを起動して下さい。xxxx には ランナンバーの数字を入れます。データはカレントディレクトリに 保存されます。 mari> ls -l で、新しいファイルができていることを確認して下さい。 2. ランのスタート VME-GR のウィンドウで、 GR6> rstart run_number, "comment" を実行して下さい。run_number には ランの番号を,comment には コメント文を入れて下さい。 3. アナライザのスタート アナライズをスタートさせます。 4. マックのスタート マックの Start ボタンを押します。データ収集が開始します。 2) ランの終了 次の手順でランを終了して下さい. 1. マックのストップ マックの Stop ボタンを押します. スケーラの値は自動的に印刷されます。 2. ランのストップ VME-GR のウィンドウで、 GR6> rstop を実行して下さい. 3. データ保存プロセスの終了。 Recorder ウィンドウで、 mari> run end を実行して下さい。 4. アナライザヒストグラムの保存 X) データのバックアップ (8mm/DLT) 1) ディスクの残り容量を見るコマンドは, mari> df -k です.単位は KByte です.ディスクの残り容量が小さくなりすぎ ないように注意して下さい. 2) データのコピー方法 (8mmテープの場合) 1. 新しい8mmテープを 計数室内 IO-Station の rmt2 のドライブ に入れ、点滅が終わるまで待つ. 2. コピーしたいファイルをひとつのディレクトリに集める. (mkdir や mv を使って下さい.) (データを消去しないように十分注意して下さい。) 3. io-station の 8mm ドライブをロックします。 kasuga> mtlock io-station-rc /dev/rmt2h 4. io-station の 8mm ドライブのロックを確認します。 kasuga> mtlock -l io-station-rc 正常動作していれば、以下のようなメッセージが表示されます。 io-station-rc 使用状況 ----------------------------------------------- rmt0 : FREE rmt1 : FREE rmt2 : 1997-07-17 02:26:16 e96 rmt2h rmt3 : FREE rmt4 : FREE 5. 現在のディレクトリ以下にあるファイルを,次のコマンドで 8mmテープにコピーできます. kasuga> gtar cvf io-station-rc:/dev/rmt2h . 6. 8mmテープを内容を確認します. kasuga> gtar tvf io-station-rc:/dev/rmt2h 7. 現在のディレクトリに8mmテープ上のファイルを読み込むには 以下のコマンドを使って下さい. kasuga> gtar xvf io-station-rc:/dev/rmt2h 8. io-station の 8mm ドライブのロックを解除します。 (使用後は他のユーザのため必ず解除して下さい。) kasuga> mtlock -r io-station-rc /dev/rmt2h 9. 取り出したテープにはラベルを付け、Write Protect の操作をし て下さい。 注)8mm テープ1巻に入れるデータの量は2GB以下が良いでしょう. 2) データのコピー方法 (DLTの場合) 1. 新しい DLT テープを 計数室内 IO-Station の rmt3 のドライブ に入れ、点滅が終わるまで待つ。 2. コピーしたいファイルをひとつのディレクトリに集める. (mkdir や mv を使って下さい.) (データを消去しないように十分注意して下さい。) 3. io-station の DLT ドライブをロックします。 kasuga> mtlock io-station-rc /dev/rmt3h 4. io-station の DLT ドライブのロックを確認します。 kasuga> mtlock -l io-station-rc 正常動作していれば、以下のようなメッセージが表示されます。 io-station-rc 使用状況 ----------------------------------------------- rmt0 : FREE rmt1 : FREE rmt2 : FREE rmt3 : 1997-07-16 10:00:00 e96 rmt3h rmt4 : FREE 5. 現在のディレクトリ以下にあるファイルを,次のコマンドで DLT テープにコピーできます. kasuga> gtar cvfb io-station-rc:/dev/rmt3h 100 . 6. DLT テープを内容を確認します. kasuga> gtar tvfb io-station-rc:/dev/rmt3h 100 7. 現在のディレクトリに DLT テープ上のファイルを読み込むには 以下のコマンドを使って下さい. kasuga> gtar xvfb io-station-rc:/dev/rmt3h 100 8. io-station の DLT ドライブのロックを解除します。 (使用後は他のユーザのため必ず解除して下さい。) kasuga> mtlock -r io-station-rc /dev/rmt3h 9. 取り出したテープにはラベルを付け、Write Protect の操作をし て下さい。 XI)補遺 Contents A) 各プロセスの詳細 B) 各コマンドの詳細 C) VME 上の Editor の使い方 D) その他 VME/OS9 使用の留意点 E) J11 ダウンロードプログラムの作成 A) 各プロセスの詳細 1. mari (Solaris 2.3), miho (OSF1) 上のプロセス ・ errlog データ収集系の各プロセスのステータスメッセージを受け取り、画面に表示す るとともにログファイルに書き出す。データ収集システムの各プロセスの中で、 最初に立ちあげる必要がある。 データ収集系に異常が起きた場合には、errlog に異常の原因が記録されてい ることが多い。実験中は注意して見る必要がある。 Usage: errlog [file] file ... ログファイルの名前。指定しなかった場合には、ログを残さ ない。 ・ rfm_router Reflective Memory からデータを受け取り、router に渡す。Reflective Memory ドライバが動作しているホスト(mari)のみで使用可能。 Usage: rfm_router rfm_buf# router rfm_buf# ... reflective memory 上のバッファ番号 router ... router の名前 ・ router router を起動する。router はデータ配送の仲介をするプロセス。 データのブロック構造は保存される。ブロックのサイズは任意であるが、 shared memory の大きさに制限される。 router を終了させるには、control+C 入力するか、router_send コマンド を利用する。 Usage: router [-r] name -r ... 既に shared memory が存在する場合、消去して再度作り直 す。 name ... router の名前。4文字以下の文字列。大文字小文字を区別 する。 ・ router_dump router からデータを受け取り、先頭のデータをダンプする。control+C で止める。 Usage: router_dump router [size] router ... router の名前 size ... 1ブロック当たりのダンプするデータサイズ。ワード単位。 16進指定。デフォルトは8ワード。 ・ router_cat routerからデータを受け取り、内容を標準出力に書き出す。routerにはサン プリングで接続するので、データの流れには影響を与えない。control+Cで 止める。 Usage: router_cat router [file] router ... routerの名前 file ... file名を指定すると、内容をファイルに保存する。 ・ router_save routerからデータを受け取り、ファイルに保存する。routerには非サンプリ ング接続をするので、データの保存が滞った場合は、データ収集系にフロー 制御をかける。control+Cで止める。 Usage: router_save router [file] router ... routerの名前 file ... file名。指定しない場合は、標準出力に書き出す。 ・ router_scaler router からデータを受け取り、スケーラ情報を表示する。通常はビルド後の データに接続する。 Usage: router_scaler router [file] router ... routerの名前 file ... スケーラ情報を保存するファイル名。指定しない場合は保 存しない。 ・ router_builder [-r] router_1 router_2 オンライン用イベントビルダ。router_1 からデータを受け取り、イベント ビルドしたデータを router_2 に渡す。オンライン用イベントビルダはサン プリングで動作する。 Usage: router_send router command router ... routerの名前 command ... router に発行するコマンド。 term --- 終了 stat --- ステータスを表示させる。 ・ router_tcp データ収集系の TCP/IP 接続デーモンプロセス。外部からのネットワーク接続 要求を監視し、要求があれば子プロセスを起動して router との仲介をする。 立ち上げ時にシステムの Wellknown ポートのデータベースを検索し、DAQDATA のポーと番号を取得する。取得に失敗した場合は、デフォルトのポート番号 (1126)を使用する。 Usage: router_tcp Note: データ収集系用のポートが既に占有されている場合、router_tcp はエ ラーメッセージを出力して終了する。この場合は、ポートを占有して いるプロセス(既に走っている router_tcp のプロセスとアナライザな ど外部から接続しているプロセス)を全て終了させると、5分後に自動 的にポートが開放されるので、その後再び router_tcp を起動させる と良い。 ・ tcp_router ネットワークを通じてデータ収集系にアクセスし、local な router にデー タを受け渡すプロセス。接続先ホストで router_tcp が走っている必要があ る。 Usage: tcp_router [-p port] host user router_1 router_2 -p ... 接続先のポート番号を指定する。指定しない場合は、シス テムのデータベースから検索する。 host ... 接続先ホスト名 user ... 接続先のユーザ名(接続先ホストで router を立ちあげた user 名) router_1 ... 接続先の router の名前 router_2 ... データを受け渡す local な router の名前 ・ tcp_dump ネットワークを通じてデータ収集系にアクセスし、各ブロックの先頭のデー タをダンプする。router_dump のネットワーク版。接続先ホストで router_tcp が走っている必要がある。 Usage: tcp_dump [-p port] host user router -p ... 接続先のポート番号を指定する。指定しない場合は、シス テムのデータベースから検索する。 host ... 接続先ホスト名 user ... 接続先のユーザ名(接続先ホストで router を立ちあげた user 名) router ... 接続先の router の名前 ・ tcp_cat ネットワークを通じてデータ収集系にアクセスし、データを標準出力に書き 出す。router_cat のネットワーク版。接続先ホストで router_tcp が走って いる必要がある。router にはサンプリング接続をするので、データの流れに は影響を与えない。 Usage: tcp_cat [-p port] host user router -p ... 接続先のポート番号を指定する。指定しない場合は、シス テムのデータベースから検索する。 host ... 接続先ホスト名 user ... 接続先のユーザ名(接続先ホストで router を立ちあげた user 名) router ... 接続先の router の名前 ・ tcp_save ネットワークを通じてデータ収集系にアクセスし、データをファイルに書き 出す。router_save のネットワーク版。接続先ホストで router_tcp が走っ ている必要がある。router には非サンプリング接続をするので、ネットワ ークの速度低下などによりデータの転送が遅れた場合には、データ収集系に フロー制御がかかる。 Usage: tcp_save [-p port] host user router [file] -p ... 接続先のポート番号を指定する。指定しない場合は、シス テムのデータベースから検索する。 host ... 接続先ホスト名 user ... 接続先のユーザ名(接続先ホストで router を立ちあげた user 名) router ... 接続先の router の名前 file ... 保存するファイルの名前。指定しない場合は、標準出力 に書き出す。 B) 各コマンドの詳細 1. mari (Solaris 2.3), miho (OSF1) 上のコマンド ・ rfm_init 光ファイバで接続されている全 Reflective Memory の内容を初期化し、 Reflective Memory 上にバッファ構造を構築する。 Reflective Memory が搭載されているクレート(VME を含む)の電源を 切った場合 MARI上で実行する必要がある (リセットボタンによりリセットした場合は不要)。 (注)このコマンドを実行した後は、VME/MARI 上の Reflective Memory に接続する全てのプロセス(VME 上を含む)を立ち上げ直す必要が ある。 Usage: rfm_init Note: 確認のメッセージが出るので、y で答える。 ・ router_send router 対してコマンドを発行する。 Usage: router_send router command router ... 対象とする router の名前 command ... router に発行するコマンド。 term --- 終了 stat --- ステータスを表示させる。 ・ router_write ファイルからデータを読み込み、router にデータを書き込む。ファイル 中のブロック構造は1ブロック16KBの固定長であると仮定する。 Usage: router_write router [file] router ... 書き込む router の名前 file ... 読み込むデータファイル名。省略した場合は、標準入力 から読み込む。 ・ event_builder オフラインイベントビルダ。ファイルからデータを読み込み、標準出力に 書き出す。全データを処理する(サンプリングしない)。 event_builder は全ての実験に対応するように Upper Compatible に改良 しています。実験に依存する特殊事情(回路が正しく動作しなかったため、 ビルダで対応することによって問題を吸収した等)がない場合には、基本 的に同じ event_builder でビルドできます。 Usage: event_builder [-b blk_size] [file] blk_size ... ビルド後のデータのブロックサイズを KB 単位で指定す る。省略した場合は、32 KB を使用する。Output Buffer Overflow などのエラーメッセージが出るときは、この ブロックサイズを調整する必要がある。なお、アナライザ はビルドしたときのブロックサイズを知っていなければな らない。 file ... ビルドすべきローデータのファイル名。省略した場合は 標準入力から読み込む。 1. VME 上のコマンド 以下のコマンドは全て、/h0/rcmds のディレクトリに存在します。 ・ modules k2917 ドライバと rmb5576 ドライバがロードされているかどうかをチェ ックするコマンド(バッチファイル)。 Usage: modules ・ k2917load Kinetic 2917 K-Bus Interface Board のドライバをロードする。 VME ブート時に自動的にロードするので、通常は実行不要。 (バッチファイル) Usage: k2917load ・ rmb5576load VMIC Reflective Memory 5576 ドライバをロードする。 VME ブート時に自動的にロードするので、通常は実行不要。 Usage: rmb5576load ・ rinit Reflective Memory ドライバを初期化する。VME ブート時に一度だけ実 行する必要がある。 mari 上のコマンド rfm_init とは異なり、ドライバを初期状態にするの みで、Reflective Memory 上のバッファ構造には触れない。 Usage: rinit Note: 確認のメッセージが出るので、y で答える。 ・ k2917unlock K2917 ドライバが他プロセスによりロックされている場合、これを強制的 に解除する。 Usage: k2917unlock ・ k2917reset K2917 モジュールにハードウェアリセットをかける。 ・ nfa シングルカマックファンクションを発行する。k2917 ドライバがロードさ れている必要がある。 Usage: nfa N F A [data] [C] N ... CAMAC クレートステーション番号 F ... CAMAC ファンクション番号 A ... CAMAC サブアドレス data ... 書き込みデータ。F=16-23 の時のみ指定する。 通常に入力すると10進表記、x1234 のように最初に x をつけて入力すると16進表記、o1234 のように最初に o を付けて入力すると8進表記と解釈する。 データ長は 16bit。24bit カマックファンクションを発 行したい場合は nfa24 を使用する。 C ... クレート番号。省略すると、0 を使用する。 ・ nfa24 24bit シングルカマックファンクションを発行する。k2917 ドライバが ロードされている必要がある。 Usage: nfa N F A [data] [C] N ... CAMAC クレートステーション番号 F ... CAMAC ファンクション番号 A ... CAMAC サブアドレス data ... 書き込みデータ。F=16-23 の時のみ指定する。 通常に入力すると10進表記、x1234 のように最初に x をつけて入力すると16進表記、o1234 のように最初に o を付けて入力すると8進表記と解釈する。 データ長は 24bit。16 bit カマックファンクションを発 行したい場合は nfa16 を使用する。 C ... クレート番号。省略すると、0 を使用する。 ・ collector コレクタプロセスを立ちあげる。子プロセスとして j11ctrl を起動する。 j11ctrl は実験の種類に依存する正しいプログラムを用いなければなら ない。 collector を終了させるには、rend を使用する。 Usage: collector buf# [ncrate] buf# ... Refletive Memory 上のバッファ番号。 ncrate ... J11 が存在するクレートの数。通常は0。 ・ j11ctrl VME と外部のトリガシステム・バッファメモリとのやりとりを行い、デ ータを Reflective Memory に書き込む。j11ctrl の名前は旧システムの 名前を引き継いでいるもので、j11 が存在しない場合でも用いる。 j11ctrl は collector から自動起動されるので、直接立ちあげる必要は ない。 ・ rstart ランをスタートさせる。 Usage: rstart [run#], "comment" run# ... ランナンバー。省略すると前回のランナンバーの次の 値が用いられる。コンマ"," は省略できない。 comment ... ランのコメント。必ずしも "" で括る必要はないが、 特殊記号(>;*など)をコメントに使った場合にエラーが 出る可能性がある。 Note: 確認のメッセージが出るので、y で答える。 ・ rstop ランを終了する。 ・ rend collector を終了させる。 Usage: rend Note: 確認のメッセージが出るので、y で答える。 C) VME 上の Editor の使い方 現在 VME は 680x0 CPU、OS9 の構成で使用しています。 Editor として emacs を使用しています。UNIX の emacs 基本的には同じで すが、若干使い方のことなる部分があります。 ・ Editor の 起動方法 GRx) emacs または、 GRx) emacs file_name で起動します。 ・ Editor の終了 C+x C+c (C+x は Control キーを押しながら x キーを押すことを意味する) で終了します。 編集されたファイルがある場合は、編集内容を放棄して良いかどうかを ^^^^^^^^ 聞いて来ます(Unix では保存するかどうかを聞いてくる)。 保存する場合には n と答えてから、下の保存方法を実行して下さい。 ・ 編集内容を保存して終了 M+z (M+z は ESC キーを押してから z キーを押すことを意味する。ESC キーが存在しない時は、Control+[ で ESC の代用ができる) ・ 編集内容の保存 C+x C+w file_name で、ファイル名を指定して内容保存を行ないます。 ・ カーソルの移動 通常は→キーで移動できますが、移動できない場合は、 → ... C+f ← ... C+b ↑ ... C+p ↓ ... C+n のキーを用いて下さい。 ・ ファイルを開く C+x C+f file_name でファイルを開きます。 D) その他 VME/OS9 使用の留意点 ・ ファイルを実行可能にする 他の VME から ftp によりコマンドをコピーしてきた状態では、まだ 実行は出来ません。 以下のコマンドにより、実行可能ファイルに変更します。 (UNIX の chmod にあたる) GRx) attr -rwe file_name read(r), write(r), execute(e) の許可を与えることになります。 ・ DAQ 用コマンドファイルの場所 /h0/rcmds のディレクトリに存在します。 ・ ソースファイル VME 関係のソースファイルは、現在全て VME02 上に存在し、VME02 上でコンパイル/リンクを行なっています。 Directory 構造 /h0/GR ... User GR の Home Directory /h0/GR/BIT ... Xilinx Down Load ファイル /h0/GR/CMC ... J11 Down Load ファイル /h0/GR/NFA ... カマックファンクション定義ファイル /h0/GR/CAMAC ... DAQ コマンドソース一般 /h0/GR/CAMAC/RMB ... Reflective Memory 関連 /h0/GR/CAMAC/K2917 ... K2917 関連 (以下は K2917以下の Directory) 2ndLevel ... Second Level 関連 3377 ... 3377 関連 4299 ... 3377 関連 DEV ... K2917 Driver DRV ... K2917 Driver 用ライブラリ Header ... K2917 関連 Header ファイル J11 ... J11 関連 MLU ... MLU 関連 PCOS ... PCOS 関連 TOOLS ... K2917 を用いるコマンド一般 XLINX ... Xilinx 関連 E) J11 ダウンロードプログラムの作成 J11 のプログラムは現在 rcnpm2 (VAX) において行なっています。 これは J11 のコンパイラであr RSX-11 が VAX 上でなければ動か ないためです。 rcnpm2 に ログインして下さい。 username: quser password: .... sub directory を聞かれるので、tamii と答えてください。 Input your (group's) name. (Used for subdirectory.): tamii DAQ mode に入るかどうかを聞かれるので、n と答えてください。 Are you going to use Q-system in DAQ mode? [Y/N(def.)]: n つぎに J11 の ディレクトリに入って下さい。 rcnpm2> cd j11 (VMS の本来のコマンドを使うのであれば set default [.j11]) 目的ごとに J11 以下のディレクトリを分けています。 新しい目的で J11 のプログラムを作るのであれば、目的に応じた 名前のディレクトリを作成して下さい。例えば misc という名前 であれば、 rcnpm2> mkdir misc (VMS の本来のコマンドを使うのであれば、create/directory [.misc]) rcnpm2> cd misc 古いファイルを参考にプログラムを作成しはじめるのが良いでしょう。 例として、BLP のプログラムをコピーしてきます。 rcnpm2> copy [-.blp]xblp2.mac misc.mac コンパイルしてみます。 rcnpm2> j11bld misc コンパイルには約2分ほどの時間がかかります。 質問に以下のように答えて下さい。 GOING TO BUILD TASKS? (ANSWER YES OR NO) : y NEED ASSEMBLER LIST? : y NEED LINKAGE MAP? : y ... この間数分 ... GOING TO GENERATE BYTE-SWAPPED CMC FILES? (ANSWER YES OR NO) : y コンパイル後 misc0.cmc というファイルが作成されています。 これが J11 の Download プログラムです。 misc.mac を編集して J11 のプログラムを作成します。 詳しくは RSX-11 のマニュアルなどを参考にして下さい。 プログラムが完成すれば、VME に転送します。 rcnpm2> ftp vme06 username: gr password: .... ftp> cd cmc ftp> bin ftp> put misc0.cmc ftp> quit これで転送が終了しました。 VME 上のコマンドファイルを編集し、download プログラムが misc0 で あることを指定します。 VME06 にログインし、以下のコマンドを実行して下さい。 GR6> emacs /h0/rcmds/j11init j11load /h0/gr/cmc/hermes0.cmc * (4He,tp) 97/JAN のようにダウンロードプログラムが指定されている行があります。 過去のコマンドは先頭に * をつけることでコメントアウトし、 自分のプログラムがロードされるように込まんどを追加します。 *j11load /h0/gr/cmc/hermes0.cmc * (4He,tp) 97/JAN j11load /h0/gr/cmc/misc0.cmc * MISC 97/JUL ファイルを保存して終了します(ESC+Z)。 GR6> j11init のコマンドによりプログラムをダウンロードできます(VI.8)。