Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)

MADOCA 互換の簡易データ収集システム MyCC の開発
DEVELOPMENT OF MYCC FOR A SIMPLE DATA ACQUISITION SYSTEMCOMPATIBLE WITH MADOCA.
丸山 俊之 A)、福井 達 B)、広野 等子 C)、山鹿光裕 B)C)
Toshiyuki Maruyama #,A), Toru Fukui B), Toko Hirono C), Mitsuhiro Yamaga B)C)A)
Nippon Gijutsu Center Co.,Ltd.
B)
RIKEN Harima InstituteC)
Japan Synchrotron Radiation Research Institute

Abstract
MADOCA framework is adopted in the SACLA control system. Data acquisition process is included in MADOCAframework. The data acquisition system is designed as extremely stable and scalable system. However, the knowledgeof MADOCA and many procedures are needed in order to start the data acquisition. Therefore, we developed MyCollector Client (MyCC) that is an easy-to-start data acquisition system with the same interface of MADOCA. MyCC
is a simple system composed of MADOCA compatible data collector client program, MADOCA compatible database
API, MyDAQ2, and signal registration tools. A control system with MyCC can use the control program and signal
registration data of the SACLA control system. Data collected by MyCC can migrate to the database of the SACLAcontrol system. MyCC was adopted to a control system for a test environment of SACLA accelerator and is working
satisfactorily.
機器構成の変更が頻繁なシステムへの適用が難しい。
1. はじめにそこで、MADOCA と互換インターフェースを持った簡易データ収集システムである
My Collector
SPring-8 Angstrom Compact Free Electron Laser
Client(MyCC)システムを開発した。
(SACLA)の制御フレームワークには Message And
Database Oriented Control Architecture (MADOCA)が採用されている[1]。MADOCA で作成された機器制 2. MyCC システムについて御プログラムである Equip Manager(EM)およびデー MyCC システムは以下の特徴を持つ。
タ収集プログラム(Poller/Collector)は、制御機器の信 SACLA の実機システムで動作している EM や号情報の書かれた信号登録リストをもとに VME コ
Poller/Collector をそのまま利用することができンピュータで動作する。Poller で取得したデータはる。
Collector Server(CS) と い う プ ロ セ スで 収集され、
 SACLA で使用されている信号管理リストを書
Collector Client(CC)というプロセスに送られる。CCき換えるだけでデータ収集が開始できる。
は受け取ったデータをリレーショナルデータベース
 MADOCA データベース API を使用している制に保存する。そして蓄積されたデータはデータベー
御用 GUI アプリケーションは、ソースコード
ス API を使用して取得することや、Web ブラウザでを改変することなく再リンクのみで動作させるグラフ表示することができる。MADOCA は Springことができる。
8 で長年の動作実績があり、スケーラビリティが非 データベースの知識がなくてもデータ収集シス常に高く、動作も安定している。
テムの構築が比較的簡単に行える。
SACLA では 2012 年 3 月の供用開始時点で約 4.5
 MADOCA で提供されている Web 表示機能と同万点の信号がデータベースに登録されており、1 秒じようにグラフ表示ができる。また数カ月とから 60 秒の周期で各制御機器からデータを収集し、いった長期間のデータであってもレスポンスよ
１日に約 3.5GB の信号データが蓄積される。今後はくグラフ表示できる。
ビームラインの追加や SACLA の高度化等に伴い、 グラフからインタラクティブに表示時間が変更
さらに約 4 万点以上の信号が登録される見込みであできる。
り[2]、今後、短い停止期間で加速器やビームラインを増設するためには、テストスタンドで新しい機器 2.1 MyCC システムの構成
MyCC システムは、(1) MADOCA データ収集クラの制御プログラムを事前に準備したり、機器のテストや制御プログラムの開発を効率よく行うことが重 イアント互換の MyCC データ収集プロセス、(2)信要となる。しかし、MADOCA データベースは高度 号登録ツール、(3)MADOCA 互換データベース API、
[3]な運転にも対応できるよう、複雑に構成されている (4)データ保存/Web 表示システムの MyDAQ2 (拡張ため、システムの構築や信号登録などデータ収集を 版)で構成されている。MyCC のシステム構成を開始するまでの手順が多く、テストスタンドなどの Figure.1 に示す。
________________________________________#t.maru.sp8@gmail.com- 746 -

Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)

Figure 1: Configuration of MyCC system.
器グループの登録、データ収集用信号テーブルを生成する。
MyCC データ収集プロセスでは CS で収集された
これにより MyCC システムでは、SACLA の実機データを CC の代わりに直接受信できるようにした。 システムで動作している EM や Poller/Collector、信これにより MyCC2 の第一の特徴である SACLA の 号登録リストをそのまま利用してデータ収集を行う
実機システムで動作している EM や Poller/Collector ことができる。
をそのままそのまま利用できることを実現した。
CS-CC 間 は remote procedure call(RPC) を 使 っ た 2.4 MADOCA 互換データベース API について
MADOCA 独自プロトコルが使用されおり、CS-API
MADOCA では Sybase データベースに蓄積されてライブラリとして提供されている。そこで、MyCC いる収集データは、ユーザーが SQL の知識を必要ではこの API ライブラリを使い、CS から取得した とせず、信号名から最新値や期間指定などの条件で収集データを MyDAQ2 のデータ保存用メッセージ 効率よく取得できるよう、C 言語によるデータベーに 変 換 し て 、 ソ ケ ッ ト 通 信 で メ ッ セ ー ジ を ス API が整備されている。
MyDAQ2 サーバに渡して MySQL にデータを保存す
MyCC でも同様の収集データ取得用の C 言語による構成とした。
る MyCC データベース API を作成した。MyCC の第三の特徴である MADOCA データベース API を使用
2.3 信号登録ツールについてしている制御用 GUI アプリケーションが、ソース
MADOCA では、信号名や機器の制御情報、デー コードを改変することなく再リンクのみで動作でき
タ 収 集 周 期 、 機 器 グ ル ー プ な ど の 情 報 を 、 ることを実現するため、この MyCC の API は関数
OpenOffice の calc 形式の帳票である信号登録リスト 名、引数、戻り値、リターンコードが MADOCA ので管理している。さらに OpenOffice のマクロによっ データベース API と全く同じになるよう開発した。て EM や Poller の制御情報を設定する構成ファイル
これにより SACLA の運転に使用している GUI なも信号登録リストから自動的に生成することが可能 どを、デバッグ目的で MyCC システムが導入されてである。
いるテストベンチで動作させる場合、Makefile に記
MyCC システムでは同じ信号登録リストを使っ 述されているリンクライブラリを MADOCA のデーて信号情報の管理、EM、Poller の構成ファイルの生 タベース API から MyCC のデータベース API に切成ができるだけでなく、第二の特徴である SACLA り替えるだけで、MyCC システムで収集したデータで使用されている信号管理リストを書き換えるだけ にアクセスすることができるようになる。
でデータ収集を行うことを Open Office マクロで実現した。このマクロは、信号登録リストに記述され 2.5 MyDAQ2 についてているデータ収集の設定情報から MyDAQ2 の信号
MyCC ではデータ保存と Web でのデータ表示部登録コマンドを生成して、MySQL に信号情報や機 分に MyDAQ2 を採用し、MyCC システムで必要な2.2 MyCC データ収集プロセスについて- 747 -

Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)

機能の追加を行った。
表示用テーブルにもデータを保存する。さらに、収MyDAQ2 は様々な保守作業やユーザー実験など 集データを Web CGI がグラフ表示する際は、指定自由度の高いデータ記録をおこなうことを目的に、 された期間と画面に表示可能なデータの件数に応じJASRI 制 御 ・ 情 報 部 門 に よ っ て 開 発 さ れ た 。 て、データを間引く間隔を CGI が自動で判断する機
MyDAQ2 はデータ収録サーバである MyDAQ2 サー 能を追加した。これにより、データベースに大きなバ、MySQL、Apache、Gnuplot、そして Python ベー 負荷を与えることなく、短期間データの詳細表示やスのデータ閲覧 Web CGI で構成されている。各ソ 長期間データのトレンド表示を行うことができる。
フトウェアはオープンソースで多くの Linux ディス
2.7 MyDAQ2 の Web CGI の拡張
トリビューションに標準でインストールされており、MyDAQ2 では、グラフは Gnuplot を使用して Web
無償で利用することができるうえ、MyCC の第四の特徴であるデータベースの知識がなくてもデータ収 サーバ上の CGI で PNG 形式の画像として生成され、集システムの構築が比較的簡単に行え、簡単にセッ ブラウザで画像として表示される。しかし、固定された画像であるためグラフの値は目視で読み取るこトアップできるツールが整備されている。としかできないうえ、グラフの表示範囲を変える場
2.6 MyDAQ2 のデータ保存処理の拡張
合は再度、指定期間を入力する必要があり複雑でMADOCA では最短 1 秒周期のデータが収集され あった。ている。1 秒周期の 1 信号あたりのデータ量は、１
そこで、MyCC では Gnuplot 4.6[4] で追加された
カ月で約 260 万レコードにもなるため、定期的に HTML5 形式の出力機能を使用してグラフ表示できアーカイブプロセスが実行され、データを標準 60 るよう MyDAQ2 の Web CGI を拡張した。HTML5秒周期に間引いてアーカイブデータベースに保存す では、キャンバス要素にベクター画像としてグラフる。MyDAQ2 ではデータを間引き保存する機能は が描画されているためグラフ画像に座標データをないため、1 秒周期のデータを 1 か月程度の期間指 持っており、また java script によってマウス操作に定でグラフ表示した場合、表示に数十秒かかりデー よる処理が記述されているため、キャンバス要素上タベースにも負荷がかかっていた。のマウス位置の X/Y 値の表示やマウス操作による矩MyCC では、第五の特徴である数カ月の長期間の 形範囲を指定した拡大表示が可能となった(Figure.3)。
トレンドグラフをレスポンスの良い表示を実現する
これにより MyCC の第六の特徴である、数カ月のため、MyDAQ2 のデータ保存処理とデータベース 長期間のトレンドグラフからマウスで範囲指定した構造を拡張した(Figure.2)。
数時間の 1 秒周期の詳細なグラフを 1 秒未満で表示することができ、グラフ表示の応答性と操作性が大幅に向上した。

Figure. 3: Dynamic display of a chart.

3. テストベンチへの導入
MyCC は現在、機器構成の変更が頻繁な高周波加速系テストスタンドに導入されている。現時点ではTable 1 に示すブレードサーバ 1 台で VME コン
ピュータ 6 台、信号点数約 800 点、データ収集周期2 秒のデータ収集を行なっており、SACLA で動作していた運転用 GUI が 1 つ動いている。そして、稼働開始から約 5 ヶ月間問題なく安定して動作している。

Figure. 2: Extension of MyDAQ2 Server.
信号登録時に収集データ保存用テーブルを作成する際、同じテーブル構造のトレンドデータ表示用テーブルを作成する。MyDAQ2 は MyCC から最短 1秒周期で渡されるデータをデータ保存用テーブルに保存するのと同時に、60 秒周期でトレンドデータ- 748 -Proceedings of the 10th Annual Meeting of Particle Accelerator Society of Japan (August 3-5, 2013, Nagoya, Japan)

Table 1: MyCC server spec.

4.

H/W

DELL BL460c G7

CPUIntel Xeon 2.8GHz (12core)

Memory24GB

Storage

HDD 900GB(SAS)OS

SUSE Linux Enterprise 11(sp1)

今後について今 後 は 、 SACLA の 他 の テ ス ト ス タ ン ド に もMyCC を導入し、機器のテストやデータ収集プログラム開発の作業効率化や品質向上に活用していく。
また、SACLA の実機環境において機器やソフトウェアのトラブルが発生した際、実機から切り離してテストスタンドの MyCC で動作検証を行うなど、原因調査のためのツールとしても活用していく。
さらに、テストスタンドで蓄積した MyCC でのノウハウや追加機能を SACLA 制御系データベースシステムへも反映していく。

参考文献[1] R. Tanaka, et al., "Inauguration of the XFEL Facility,
SACLA, in SPring-8", Proceedings of ICALEPCS 2011,
Grenoble, 2011, p585-588[2] T. Hirono, et al., "MADOCA DATABASE SYSTEM WITH
DUAL SERVERS FOR SACLA", Proceedings of PASJ.
2012, p727-730[3] T. Hirono, et al., "DEVELOPMENT OF DATA LOGGINGAND DISPLAY SYSTEM, MYDAQ2", Proceedings ofPCaPAC08, Ljubljana, Slovenia, 2008, p55-57[4] Gnuplot homepage. http://www.Gnuplot.info/- 749 -