(Microsoft PowerPoint - daqmiddware-overview [\214\335\212\267\203\202\201[\203h])

Similar documents
DAQ- Middleware について 千代浩司 ( せんだいひろし ) 大学共同利用機関法人高エネルギー加速器研究機構 (KEK) 素粒子原子核研究所

DAQ- Middleware の新機能と 実験への展開千代浩司 A,F 濱田英太郎 A,F 井上栄二 A,F 長坂康史 B,F 味村周平 C,F 神徳徹雄 D,F 安藤慶昭 D,F 和田正樹 E 高エネルギー加速器研究機構素粒子原子核研究所 A 広島工業大学 B 大坂大学 C 産業技術総合研究所

MLF-DAY2.dvi

ホンダにおける RT ミドルウェア開発と標準化活動 株式会社本田技術研究所基礎技術研究センター関谷眞

ユーザーズマニュアル 有線ネットワークシステム 発行日 2016 年 3 月 30 日

Jude を DSL エディタとして使う -Jude API 活用法 年 11 月 14 日稚内北星学園大学東京サテライト校浅海智晴 本日のテーマ Why Jude API What Jude API How Jude API 1

Microsoft PowerPoint - Lecture_3

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

最も一般的な手法: ファイアウォールによってノード間の MPI 通信がブロックされた場合の対応方法

WebOTXマニュアル

wpEnterpriseSvr.doc

Microsoft PowerPoint RT講習会(送付用)_ [互換モード]

Microsoft PowerPoint - Lecture_2

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

ObjectPartner Pro

メディプロ1 Javaサーブレット補足資料.ppt

DAQ-Middleware 開発環境の準備

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

CAC

ユーザーズマニュアル 有線無線通信ネットワークシステム Wi-Fi 経路情報ビューア 発行日 2017 年 3 月 30 日 公立大学法人会津大学 株式会社東日本計算センター

DAQ-Middleware講習会 コンポーネント作成方法

組込みシステムにおける UMLモデルカタログの実践研究

p...{..P01-48(TF)

Sinatra と MongoDB 今回は Sinatra で MongoDB の操作を体験してみます 進捗に合わせて ドライバから Ruby で使える便利な ORM の紹介をします

DAQ-Middleware講習会 コンポーネント作成方法

PowerPoint Presentation

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

C:\Apache Software Foundation\Apache2.2\htdocs\sample\login.html サンプルプログラム passworddisc.php <head><title> ログイン </title></head> $user=$_post['user']; $

VPN 接続の設定

S2Pradoの紹介

WESB MTOM機能ガイド

ユーザーズマニュアル 有線無線通信ネットワークシステム STP ポート状態ビューア 発行日 2017 年 3 月 30 日 公立大学法人会津大学 株式会社東日本計算センター

Delphi/400を使用したWebサービスアプリケーション

HA8000シリーズ ユーザーズガイド ~BIOS編~ HA8000/RS110/TS10 2013年6月~モデル

Microsoft PowerPoint pptx

組込み用Linuxボード,BeagleBone Blackにおける RTミドルウェアの動作と開発支援ツール

VMware Player Scientific Linux 5.x 6.x 7.x RPM

Cisco CSS HTTP キープアライブと ColdFusion サーバの連携

ASP.NET 2.0 Provider Model 概要

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

CLUSTERPRO for Linux MySQL HowTo

intra-mart Accel Platform

Cisco Hyperlocation

Oracle Application Server 10g(9

第 7 回の内容 動的な Web サイト フォーム Web システムの構成

HA8000-bdシリーズ RAID設定ガイド HA8000-bd/BD10X2

IPM Release 2.6 へのアップグ レード

Condition DAQ condition condition 2 3 XML key value


CLI Python モジュール

Łñ“’‘‚2004

プリント

アプリケーションサーバ JBoss超入門

Compatibility list: vTESTstudio/CANoe

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

Microsoft Word - PHP演習資料.doc

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

gworksctl コマンドマニュアル 2019/6/17 株式会社 GDEP アドバンス 本書は GDEP Advance gworksctl コマンドマニュアルです G-Works G-Works Deep Learning Distribution for Linux( 以下 G-Works)

HARTING OPC-UA Server for HAIIC MICA 日本語 HARTING OPC-UA Server for HAIIC MICA HARTING IT Software Development Marienwerder Str. 3, Espelkamp, Ge

Oracle9i JDeveloperによるWebサービスの構築

Microsoft Word - SE第15回.doc

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ

DAQ-Middleware $Date: 2010/08/15 00:36:51 $ DAQ-Middleware 1. DAQ-Middleware DAQ-Middleware DAQ-Middleware DAQ-Middlewar

<4D F736F F D208DCC91F088C48C8F955D89BF8F915F8DA196E5504A>

AJAXを使用した高い対話性を誇るポートレットの構築

パスワード暗号化の設定

AMT機能セットアップガイド

オープンソースなシステム管理フレームワークFunc

HMD を用いた PT カメラのインターネット遠隔操作芝浦工業大学知能機械システム研究室 HMD(Head Mounted Display) を用いた PT(Pan-Tilt) カメラのインターネット遠隔操作 ユーザマニュアル (ver1.0) 2014 年 10 月 23 日 芝浦工業大学知能機械

Microsoft PowerPoint - グリッド協議会GT4演習資料_2007_配布用

Oracle Application Server 10g( )インストール手順書

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

二次元連続動的計画法による知的画像処理システム ImageFileSelector RTC 機能仕様書 ImageFileSelectorRTC Ver.1.0 ( 株 ) 東日本計算センター 1 / 11

Kumagai09-hi-2.indd

RADIUS サーバを使用して NT のパスワード期限切れ機能をサポートするための Cisco VPN 3000 シリーズ コンセントレータの設定

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

SpringSecurity

S2BaseとZend Framework

intra-mart im-JavaEE Framework

Symantec AntiVirus の設定

ServerView with Data ONTAP-v インストール前にお読みください

PowerPoint Presentation

 

IBM SPSS Statistics - Essentials for Python: のインストール手順 Mac OS

untitled

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

システムインテグレータのIPv6対応

Visual Basic Oracle Database 11 Release 1

untitled

R76/Gaia ブリッジ構成設定ガイド

2009 Web B012-1

スライド 1

Testing XML Performance

Java (5) 1 Lesson 3: x 2 +4x +5 f(x) =x 2 +4x +5 x f(10) x Java , 3.0,..., 10.0, 1.0, 2.0,... flow rate (m**3/s) "flow

B2-Servlet-0112.PDF

スライド 1

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

Transcription:

DAQ ミドルウエアの概要 2008 年 8 月 5 6 日 DAQ 実習 -DAQ-Middleware KEK エレクトロニクスシステムグループ KEK 測定器開発室 DAQ プロジェクト安芳次

DAQ ミドルウエアの狙い 多数の計算機を使ったネットワーク分散型 D AQ ソフトウエア ソフトウエアの汎用化 国際標準ロボット技術 (RT ミドルウエア ) の利用 XML によるデータ収集パラメータの記述 複雑さの隠蔽 パッケージソフトウエア化 ( 簡単インストール ) 通信 同期 マルチスレッドなどの隠蔽 自動化による簡単操作

RT ミドルウエアとは? Object Management Group(OMG) による国際標準ロボット技術 ロボット分野に限らず 自律し協調したコンポーネントを必要とする組み込み系を含むソフトウエアのインフラを提供する 日本では産総研が標準化を主導し OpenRTM-aist パケージを開発している http://www.is.aist.go.jp/rt/openrtmaist/html/index.html

OMG のモデリング PIMレベル仕様 <<PIM>> RTM Specification < <mapping> > <<PIM> SDO model PSM に基づくインターフェース 将来的な標準化作業 <<PSM> RTM CORBA model <<PSM>> RTM EJB model <<PSM>> RTM SOAP model NE DOプロジェクトによる標準仕様 <<use>> 他のプラットフォームにおけるモデル 拡張されたインターフェース <<interface>> OpenRTM ext. interface <<interface>> OpenRTM basic interface 実装 OpenRTM-aist <<im plem ents>> Other RTM AIST による RTM 実装 PIM: Platform Independent Model PSM: Platform Specific Model 他のベンダによる実装 実現済み 未実現

RT-Component Architecture Status Command Main Thread Command/ Status Flow Status Command Data Input Data Flow Data Output 自律型モデル

DAQ ミドルウエアの特徴 DAQ Extension RTミドルウエアの上に独自のステートマシンを構築し RTミドルウエアを基にした新たなDAQ 用のベースクラスを設計 その上に コマンド ステータスを操作する Run control XML を用いた System configuration XML/HTTP プロトコルを用いた System Interface System Configuration DAQ Extension RTM

DAQ ミドルウエア構成例 WEB Server DAQ Operator XML/HTTP 通信 SiTCP TCP/IP 通信 CORBA 通信 Logger SiTCP Gatherer Dispatcher Monitor Gatherer Dispatcher Logger Monitor これらのコンポーネントは DAQOperator の指示に従い 互いに他のコンポーネントと自律協調して動作している

Run control コマンド ステータスを操作する DAQ 独自のステートマシンを持つ ステートの遷移はSystem Interfaceからのコマンドを受け取ることで実現する DAQOperator は各種 DAQ コンポーネントに対応するコマンドを実行し それらの操作する

State Machine RTM State Machine Active state Inactive state activate deactivate DAQ State Machine LOADED unconfigured configure CONFIGURED reset stop start error resume RUNNING pause Error state PAUSED

ユーザが記述すべき 主なメソッド daq_configure() - configure コマンドで構成パラメータを取得 daq_start() - start コマンドで RUN の準備 daq_run() ー daq_start() が呼ばれた後 ひたすら実行される ( このメソッドが何度も呼ばれる ) daq_pause() - pause コマンドを受けて一時データ収集を中止 daq_resume() - resume コマンド受けて一時中止していたデータ収集を再開 daq_stop() - stop コマンドを受けて RUN を終了する daq_unconfigure() - unconfigure コマンドをうけて再び configure コマンドを受け取れるようにする これらのメソッドを自分に合わせて変更しするだけでよい ただし XML のスキーマを変えるような変更の場合は 別途変更が必要

System Configuration XML 言語で記述される DAQOperator はその記述を Document Object Model(DOM) 解析する DAQOperator は解析されたパラメータを DAQ コンポーネントには 名前と値の対 (NVList) にして渡す ( コンポーネントの負担を軽減 ) これにより 汎用 DAQ コンポーネントを実現する

DAQ ミドルウエアの構成 XML ファイル <?xml version="1.0"?> <configinfo> <daqgroups> <daqgroup gid="group1"> <components> <component cid="reader0"> <hostaddr>kensdaqpc5.kek.jp</hostaddr> <hostport>50000</hostport> <instname>reader0.rtc</instname> <execpath>/home/daq/bin/readercomp</execpath> <conffile>/home/daq/rtc.conf</conffile> <startord>4</startord> <inports> </inports> <outports> <outport>reader_out</outport> </outports> <params> <param pid="monrate">100</param> <param pid="portno">1111</param> <param pid="srcaddr">127.0.0.1</param> </params> </component>

System interface メッセージは XML 言語で 通信プロトコルは HTTP で実現される Apache httpd + mod_python モジュールを使用 Python スクリプトと DAQOperator を結びつけるため ParameterClient/ParameterServer クラスを開発 (Python interface + C++ クラス )

システムインターフェイスについて 汎用 HTTP サーバ XML/HTTP XML Request / Response Parameter Server Controller DAQCommand/ Response DAQ- Component Python WEB I/F for Apache (mod_python) Parameter Client DAQ- Component REQUEST <?xml version="1.0" encoding="utf-8"?> <request> <methodname>begin</methodname> <methodparams></methodparams> </request> RESPONSE <?xml version="1.0" encoding="utf-8"?> <response> <returnvalue> <result> <status>ok</status> <message>error Reason</message> </result> </returnvalue> </response> HTTP クライアント

ParameterClient programming HTML programming mod_python programming Python interface for ParameterClient ParameterClient <form name="myform" action="/daq/daq.py/command" method="post"> <input type="text" name="cmd" size=40 maxlength=40 /> <input type="submit" value="submit" /> </form> def command(req, cmd): if not cmd: return "A required parameter is missing..." client = ParameterClient.ParameterClient("localhost", 30000) client.put("command", cmd) return "OK"

ParameterServer programming Pseudo DaqOperator+ ParameterServer int start() { cout << "this is start method" << endl; cout << "gotvalue = " << gotvalue << endl; } RTC::ReturnCode_t DaqOperator::run2() { if(server==null) { server= new ParameterServer(30000); server.bind("command", &command, start); server.bind("status", &status); server.run(); command = NOP ; } // check if(command== START ) { start 処理 } else if (command== ) { } }

開発の現状 RT ミドルウエア 産総研と共同研究を続けている DAQ ミドルウエア 全国大学 研究所向けDAQ-Middleware-1.0.0-RC のリリース (DAQ 講習会で利用しているもの ) DAQ-Middleware が J-PARC 物質 生命科学実験施設 (MLF) の 5 月末の中性子ファーストビームで 初めて本格的な実験に利用された 秋の MLF 実験に向けて DAQ-Middleware を改良中

J-PARC MLF

中性子ファーストビーム実験 スクリーンショット

まとめ DAQ ミドルエアを紹介した 国際標準ロボット技術 RT ミドルウエアを拡張したもの Run Control を開発 XML 言語を使った System configration を実現 Web サーバと連携して XML/HTTP 通信で疎結合可能な仕組みを作った 全国大学 研究所向け DAQ-Middleware-1.0.0-RC をリリース DAQ ミドルウエアは本年 5 月末の J-PARC 中性子ファーストビーム実験で初めて本格的な実験に使用