Proceedings of the 1st Annual Meeting of Particle Accelerator Society of Japanand the 29th Linear Accelerator Meeting in Japan (August 4 - 6, 2004, Funabashi Japan)

Beam-monitor Software at the KEK 60-MeV Proton Linac
M.Takagi1,A), S.YoshidaA), N.KamikubotaB),
K.FurukawaB), N.YamamotoB), J.OdagiriB), J.ChibaB), T.KatohB), S.SatohC)
A)
Kanto Information Service (KIS)
8-21, Bunkyo, Tsuchiura, Ibaraki, 300-0045
B)High Energy Accelerator Research Organization (KEK)
1-1, Oho, Tsukuba, Ibaraki, 305-0801
C)
Japan Atomic Energy Research Institute (JAERI)
2-4, Shirane, Tokai, Ibaraki, 319-1195
Abstract
At the KEK 60MeV proton linac, measurements of beam current (SCT), beam energy (FCT), and beam position(BPM) are performed by using a commercial measurement product (WE7000). The software for data acquisition has
been developed based on the EPICS toolkit. The applications for data display has been developed by using Python
script language. In this article, the present status of beam monitor software is reported.

KEK60MeV陽子リニアックのビームモニタソフトウェア
１．はじめにロセスを繰り返す。
図１に、IOCとWEのネットワーク構成を示した。

J-PARC(Japan Proton Accelerator ResearchComplex)入射用陽子リニアックの60MeVまでの初段部（通称｢60MeV｣）は、KEKで建設され、2002年度からビームコミッショニングが始まっている[1] [2]。
EPICS(Experimental Physics and IndustrialControl System)は、分散型のリアルタイム制御システムを開発するソフトウェアツールキットである。
90年代はじめにANLおよびLANLで加速器を対象に開発が始まり、現在ではKEKBなどの多くの大型加速器施設でも採用されるに至っている [3]。J-PARCの制御システムも、EPICSをベースに開発が進んでいる[4] [5]。
J-PARC加速器では、ビームモニタおよびRFシステ
ムなどの波形モニタの遠隔観測が必須である。KEK
では、Ethernet通信型のWEを低コストなネットワー
クベース波形取り込みinterfaceと考え、EPICS制御
図１:機器構成とパケット量・CPU負荷の状況システムに取り込むためのデバイスドライバ整備を進めてきた [6] [7]。今年は、開発したデバイスドライ
VME の CPU に は 、 Advanet の PowerPC ボ ー ドバを使って、ビーム電流(SCT)、エネルギー(FCT)、(Advme7501-300MHz)を2台使用している [8] 。波形のビーム位置(BPM)測定のためのソフトウェアを開発
観 測 に は 、 WE の オ シ ロ ス コ ー プ で あ る WE7111 モ
した。
ジュール(100MS/s-1ch)を使用している。左側のIOCがMEBT部のWE(3ステーション-22モジュール)を、右
２．ビームモニタソフトウェアの現状側のIOCがDTL1部のWE(1ステーション-8モジュール)を担当している。合計4台のWEが、5Hzのトリガーで2.1 データ収集システム同期され波形の観測を行っている。
現在は、WEを利用してビーム電流(SCT)、エネル
WE の 制 御 は IOC(VME-VxWorks) 上 で 動 作 す る
ギー(FCT)、ビーム位置(BPM)の測定を行っている。
EPICS Runtime データベースから行われ、(a)測定開ビーム電流の測定は、WEから読み込んだ波形デー
始コマンド発行、(b)WEトリガ受信、(c)測定終了確
タの指定した2点の電圧値の差から電流値を計算し認、(d)EPICSレコードへの波形データ読み込み、(e)ている。エネルギーの測定は、2つの波形データか波形データの加工および代表値の計算、の5つのプ
1E-mail: mtakagi@post.kek.jp555

Proceedings of the 1st Annual Meeting of Particle Accelerator Society of Japanand the 29th Linear Accelerator Meeting in Japan (August 4 - 6, 2004, Funabashi Japan)

らエネルギー値を計算している。ビーム位置も同様に、2つの波形データからビーム位置を計算している。
図２は、ギャラリーに設置されたMEBT部用のWEの写真である。左側のラックの中央部に設置されたWEと右側上部のWEがBPM、右側下部のWEがSCTとFCTの波形観測を行っている。

ラ ム 言 語 で あ る 。 EPICS レ コ ー ド 値 のRead/Write/Monitor は 、 KEKB で 作 成 さ れ た
Python/CAモジュールを利用して行っている[9]。
図３は、BPM用のPythonパネルである。WEで観測された波形データの生データ、差分をとった波形データ、計算したビーム位置の値が表示されている。
パネル下部のグラフには、全8台分のBPMのビーム位置を並べて表示している。WEへの基本的な設定は、画面右部のメニューから変更できるようになっている。

図２：ギャラリーに設置されたWE7000
2.2 ネットワークトラフィック量とCPU負荷
図1のIOC内の数字はCPUの負荷を、赤矢印はネットワークトラフィック量をそれぞれ示している。
ビームコミッショニング時のCPU負荷は、MEBT側
図３:ビーム位置モニタ用のパネルが54%程度でDTL側が17%程度である。この差は、単純に制御するWEの数の差によるものである。
図４は、ビーム位置データの変化を時系列で表示
WEからIOCへのネットワークトラフィック量は、したものである。
MEBT側で2Mbps程度である。このトラフィックの大部分は、観測した波形データである。1つのモジュールが2byte*1000点のデータを5Hzで送っているので、22モジュールある事を考えると、妥当な数字である。
IOCからのパケットが、MEBT側で9-10Mbps程度になっているのは、複数のデータ表示系アプリケーションに対して波形データを送っているためである。
Ethernetを経由した波形モニタの場合、大量のパケットをネットワークに流してしまう事になる。そのため、WEのパケットがスイッチングハブで区切られた狭い範囲内でのみやりとりされ、ネットワーク全体に影響を与えないように機器の配置を行っている。
2.3 データ表示系アプリケーション
データ表示系アプリケーションの開発は、当初、EPICS標準の制御パネル作成ツールであるdm2kを利用して行われていた。dm2kは、Windowに部品を貼り付け、EPICSレコード名を指定するだけで容易にパネルの作成を行うことができるツールである。しかし、グラフ表示機能の充実や拡張性の高さなどの理由から、現在はPythonを利用して表示系アプリケーションの作成を行っている。PythonはKEKBの運転用パネルの作成にも多く利用されているプログ

図４：ビーム位置のリアルタイムトレンド
2.4 測定データの履歴保存
60MeVリニアックでは、EPICS標準のアーカイバーであるChannel Archiverをレコード値の履歴保存に利用している。ビームモニタに関しては、ビーム電流値5点、エネルギー値3点、ビーム位置値10点を1Hzで記録している。また、1000点(1点2byte)の波形データ30点を1分毎に記録している。図4と同じトレ556

Proceedings of the 1st Annual Meeting of Particle Accelerator Society of Japanand the 29th Linear Accelerator Meeting in Japan (August 4 - 6, 2004, Funabashi Japan)

ンドグラフをChannel Archiverで表示した例を(吉田奨、” KEK 60MeV陽子リニアックの機器信号データ履歴[10]システム”)に示している 。

備されているが、実際の運転でのEPICSからの使用
実 績 は あ ま り な い 。 2ch-20MS/s デ ィ ジ タ イ ザ(WE7116)などの未対応モジュールのドライバ整備も今後の重要な課題の1つである。

３．今後の課題
４．まとめ
3.1 パフォーマンスの向上
現在(2004年6月時点)のビームコミッショニング
では、5Hzのトリガーで波形データの収集を行っている。しかし、将来的には25Hz、もしくは12.5Hzでのデータ収集が必要になってくる。現在のデータ収集システムでは、12.5Hzのトリガーで全ての波形データを収集する事は不可能である。原因は、WE側の反応速度の遅さであると考えている。
パフォーマンス向上のための対策としては、現時点でいくつかの方法が考えられる。((1)波形データの全チャネル一括取得機能の使用 (2)拡張UDPパケットを利用した通信モードの使用 (3)WE900（新型のWEステーション）の使用)
これらの方法によって、パフォーマンスの向上がどの程度見込めるかを検証していくことが、今後の重要な課題の1つである。

現在のビームコミッショニングにおいて、ビームモニタソフトウェアは安定に動作し、データの収集が行われいる。また、Channel Archiverによって、測定データの履歴の記録、参照が容易になった。しかし、パフォーマンスの向上やEPICS R3.14への対応、未対応モジュールのドライバ整備などの課題も依然として残されている。

参考文献

池 上 雅 紀 、 他 、”KEKに お け る J-PARCリ ニ ア ッ ク
MEBTのビームコミッショニング(I)”、Proceedings ofthe 28th Linear Accelerator Meeting in Japan、pp.297-299[2] 近 藤 恭 弘 、 他 、”KEKに お け る J-PARCリ ニ ア ッ ク
DTL1のビームコミッショニング”、本会議[3] http://www.aps.anl.gov/epics/、 およびそのリンク先[4] T.Katoh et al, ”Present Status of the J-PARC ControlSystem”, Proceedings of the ICALEPCS2003 in Korea.
3.2 EPICS R3.14への対応
URL:http://icalepcs2003.postech.ac.kr/
WEからの波形データ収集のためのソフトウェアは、 [5] 上窪田紀彦、他、”J-PARC 60MeV陽子リニアックの制御システムII”、本会議
現在、EPICS R3.13をベースに開発されている。し[6] http://www.yokogawa.co.jp/Measurement/Bu/WE7000/ 、かし、現在のEPICSの最新バージョンはR3.14である。
およびそのリンク先
今後、制御システム全体をR3.14に統一するために[7] 高 木 誠 、他、 ” ネ ッ ト ワ ー ク ベ ー ス 波 形 モ ニ タ のも、R3.14へのドライバの対応、動作テストを行っ
EPICSドライバ開発と評価”、Proceedings of the 28thていく事は重要である。
Linear Accelerator Meeting in Japan、pp.443-445
R3.14対応へのアプローチとしては、現在、PLCと[8] http://www.advanet.co.jp/product/vme/7501.htm 、 お よのアクセスなどに利用されているNetDevドライバへびそのリンク先WEを組み込むという方法も考えられる[11]。
[9] 田中学、他、”KEK加速器運転員のEPICS/PythonによるRapid Application Development”、本会議
3.3 未対応モジュール[10] 吉田奨、他、”KEK 60MeV陽子リニアックの機器信
現在のビームモニタソフトウェアにおいては、波号データ履歴システム”、本会議
形の観測に100MS/sオシロスコープ(WE7111)が使わ[11] J.Odagiri et al, ”EPICS Device/Driver Support Modules
For Network-based Intelligent Controllers”, Proceedings ofれている。しかし、今後はWE7111以外のモジュー
the ICALEPCS2003 in Korea.
ルに関してもEPICSからの制御を行う必要が出てく
URL:http://icalepcs2003.postech.ac.kr/
る 。 現 状 で は 、 100kS/s デ ィ ジ タ イ ザ (WE7271) 、[1]

10MHz関数ジェネレータ(WE7121)のドライバが準557