Presentation is loading. Please wait.

Presentation is loading. Please wait.

GEM検出器用DAQ-Middleware

Similar presentations


Presentation on theme: "GEM検出器用DAQ-Middleware"— Presentation transcript:

1 GEM検出器用DAQ-Middleware
2010年8月4日 素核研エレクトロニクスシステムグループ 安 芳次

2 大下さんのトラぺ

3 Architecture of DAQ-Middleware
DAQ-Operator System Interface Control Panel Logger Gatherer Dispatcher Monitor Readout modules Online histogram

4 GEM用Gathererコンポーネント データフォーマット(1フレーム、10バイト) データの流れ
unsigned int timeU; unsigned int timeL; unsigned char Xdata; unsigned char Ydata; データの流れ コネクションが確立すると、GEM側からデータが垂れ流しにやってくる

5 SiTCPとは(復習) SiTCP FPGA 高速データ転送 ユーザ回路 使い方が簡単 TCPサーバに見える 内田さんから FIFOメモリ
理論限界値付近で 安定して転送可能 ユーザ回路 FPGA ソケット プログラミングで通信 メモリ読み書き回路でTCP通信 使い方が簡単

6 プログラミングの実際(Gatherer)
一回しか呼ばれない 繰り返し呼ばれる configureコマンド時 daq_configure() { システム構成パラメータの設定 ::NVList* paramList; paramList = m_daq_service0.getCompParams(); parse_params(paramList); } startコマンド時 daq_start() { set_condition(); 実験条件パラメータの設定 connect_modules(); SiTCPモジュールへの接続                 データは流れ始める stopコマンド時 daq_stop() { disconnect_modules();  SiTCPモジュールの切り離し                    データの流れは止まる RUNNING state時 daq_run() { stopコマンドが来ているか、    終了条件が成立しているか?    チェックする  以前のOutPortへの転送が成功していなかったら    転送を試みる  複数のSiTCPモジュールからのデータを待つ  到着したデータを読み出す  読み出したデータをフォーマットする  フォーマットされたデータをOutPortに転送する  転送に成功したら取得イベント数をインクリメントする }

7 Monitorコンポーネント with ROOT
ROOTとはCERNで開発された解析表示用ツール ヒストグラムやGUIばかりでなくTreeと呼ばれるデータコンテナが強力 DAQ-MiddlewareのMonitorコンポーネントで積極的に利用している 下記に英語・日本語のUserGuideがある

8 プログラミングの実際(Monitor) 一回しか呼ばれない 繰り返し呼ばれる configureコマンド時 startコマンド時
daq_configure() { システム構成パラメータの設定 ::NVList* paramList; paramList = m_daq_service0.getCompParams(); parse_params(paramList); } startコマンド時 daq_start() {キャンバスとヒストグラムの定義 TCanvas* m_canvas = new TCanvas(“myc”,…); TH2F* m_hist = new TH2F(“h3”, … ); stopコマンド時 daq_stop() { m_hist->Draw(“colz”); m_canvas->Update(); m_canvas->Modified(); RUNNING state時 daq_run() { InPortからデータを読み出す  タイムアウトやstopコマンドが来ているかどうかを  チェックする  また、フェータルエラーかどうかもチェック | if(isEvent) {  イベントデータが正しく到着したら、データをFillする m_hist->Fill(x,y); } if((m_loop%100))==0) {  定期的にヒストグラムを表示 m_hist->Draw(“colz”); m_canvas->Update();

9 まとめ GEM検出器用DAQ-Middlewareを紹介した
特に、GEM用GathererコンポーネントとROOTを用いたMonitorコンポーネントについて詳しく解説した GEM検出器用DAQ-MiddlewareのGatherer, MonitorはすでにJ-PARC, MLFで利用されている


Download ppt "GEM検出器用DAQ-Middleware"

Similar presentations


Ads by Google