Proceedings of the 19th Annual Meeting of Particle Accelerator Society of Japan
October 18 - 21, 2022, Online (Kyushu University)

PASJ2022 FRP023

KEK 入射器におけるビーム位置表示ソフトウェアの現状
PRESENT STATUS OF BEAM POSITION DISPLAY SOFTWAREAT KEK INJECTOR LINAC
工藤拓弥#, A), 佐藤政則 B), 宮原房史 B), 草野史郎 A)
Takuya Kudou #, A), Masanori SatohB), Fusashi MiyaharaB), Shiro KusanoB)A)
Mitsubishi Electric System & Service Co., LtdB)High Energy Accelerator Organization (KEK), Accelerator Laboratory

Abstract
The KEK electron/positron linac provides the beams of different energies to four storage rings. The beam position andbunch charge can be measured by the beam position monitor with the four strip-line type electrodes. The measured beam
information is displayed on GUI using Python/Tkinter or Python/Qt. In this paper, we present the status of beam position
display software in detail. Some future improvement plans are also reported.

1.

はじめに

KEK の電子陽電子入射器（以下、入射器）は、4 つの異なるリング(SuperKEKB HER/LER, PF, PF-AR) へ電子および陽電子ビームを供給している。供給するビームの位置、バンチ電荷量は約 100 台の非破壊型ビーム位置モニタ(BPM) により計測され、ビーム軌道およびエネルギーフィードバックシステムに使用している。また、これらのビーム情報は同一ショットでの同期計測がおこなわれたうえ、全ショットが記録されている。ビーム位置表示ソフトウェアにより表示されるこれらの情報は、ビームの異常監視およびビーム調整をおこなううえで、極めて重要な役割を担っている。本稿では、ビーム位置表示ソフト
ウェアの現状について報告する。

2.

BPM システム概要

入射器では、安定したビーム運転のために数々のビームモニタを使用しており、BPM は最重要ビームモニタの一つである。入射器では約 100 台のストリップライン型四電極 BPM を設置しており、これにより算出したビーム位置情報は、日々のビーム調整や各種のフィードバックシステムに使用している。
BPM データ収集系は、VME を基盤として構築されており、CPU MVME5500、RAS ボード、イベントレシーバ(EVR)、4 信号入力の BPM 信号処理ボードから構成されている。信号処理ボード 1 枚につき、BPM 1 台分の信号取得および演算処理をおこなっている BPM 信号処
理ボードは入射器クライストロンギャラリーに設置された
23 台の VME クレート内に設置され、約 100 台の BPM信号を処理する。ビームのタイミング、電荷量は入射先リングにより異なるが、イベントレシーバが受信するビームモード情報を元に、BPM 信号処理ボードのアッテネータ設定値、トリガディレイ値を変更することにより対応している。
制 御 用 ソ フ ト ウ ェ ア は 、 リ ア ル タ イ ム OS で あ る
VxWorks 6.8.3 上で動作する、Experimental Physics andIndustrial Control System (EPICS) を 用 い た 、___________________________________________

Input/Output Controller (IOC) と し て 構 築 さ れ て い る 。
BPM 信号処理ボードで演算したビーム位置データを、VME バス経由で読み出しており、入射器の最大ビーム繰り返しである 50 Hz での演算、読み出しも問題無く処理できる。ビーム位置、電荷量など処理した情報はEPICS process variable (PV)に格納され、読み出すことが可能である。

3.

ビーム位置同期計測システム

ビームパルスごとの位置変動を相関解析する場合には、それぞれのデータが同一ビームショットのデータであることが不可欠である。しかしながら、入射器の最大ビーム繰り返しは 50 Hz であり、ネットワーク遅延が発生する可能性がある EPICS Channel Access（CA）でのデータ取得では、同じパルスのデータである保証がない。そこで入射器では、ビームショット ID を使用して同期を保証する BPM 同期計測システムを EPICS IOC として開発し運用している。
ビームショット ID とは、50 Hz で更新されるイベントシステムのパルスを識別するための ID であり、イベントジェネレータ（EVG）から、全 EVR に配信される。BPM データ
収集系 VME は、EVR で受信したビームショット ID と配下の BPM のデータを格納した Waveform 型 PV を生成する。同期計測 IOC は、全 23 箇所の BPM データ収集系 VME から取得した PV のビームショット ID を突き合わせ、同期が保証された全 BPM の水平・垂直方向ビーム位置、バンチ電荷量のデータを格納する単一のWaveform 型 PV を生成する。同様の仕組みで、RF モニタ、パルスマグネットの同期データも生成しており、これらのデータは全ショットをファイルに記録している[1]。50 Hzでビームを出し続けた場合のデータサイズは、1 日で約20 GB になるが、効率よく読み出すためファイルを細かく分けて保存している。このデータを使用し、BPM、RF モニタ、パルスマグネットの相関解析も可能となっている。

4.

ビーム位置情報表示ソフトウェア

4.1

ビーム現在位置表示ソフトウェア# kudoh@post.kek.jp

BPM データ収集系で取得した水平・垂直方向ビーム- 961 -

Proceedings of the 19th Annual Meeting of Particle Accelerator Society of Japan
October 18 - 21, 2022, Online (Kyushu University)

PASJ2022 FRP023位置、バンチ電荷量の表示には、Python/Tkinter を用いて開発されたパネルを使用している（Fig. 1）。プロット部には Python megawidget ライブラリに含まれている BLTグラフを使用し、Python および EPICS PV 間の通信には、KEKB 計画のために開発された PythonCA モジュールを用いている。本パネルは、現在値表示に加え、ある時点で取得したリファレンスデータの表示、現在値とリファレンスデータとの差分表示が可能であり、精密なビーム軌道調整に役立っている。また、本パネルの画像を運転日誌に添付する場合があるが、ビーム運転概況がわかるように、ビーム繰り返しなどの情報も併せて表示している。近年、各リングはトップアップ入射をおこなっており、入射時間が 1 秒に満たず、本パネルで表示できない場合があった。そのため、電荷量がしきい値を超えた場合のみ表示を更新する機能も実装している。

4.3

ビーム位置同期計測システムにより全ショットのデータが記録されるようになったが、データ抽出、プロット部などをプログラミングする必要があり、関係者以外には敷居が高かった。そこで、このデータを対象とする可視化ツー
ルを Python/Tkinter を用いて開発した。本ソフトウェアは、Python 用グラフ描画ライブラリである Matplotlib を使用しており、時系列プロット、ヒストグラム、散布図のプロットが可能である。BPM に関しては、水平・垂直方向ビーム位置での 2 次元ヒストグラムのプロットも可能である（Fig. 3）。
これにより、ビームが斜めに変動している様子が捉えやすくなった。

Figure 1: Beam orbit panel developed by Python/Tkinter.
4.2

ビーム位置情報解析ソフトウェア

Figure 3: 2D histogram drawn with Matplotlib.

ビーム現在位置高速表示ソフトウェア

ビーム位置表示ソフトウェアに使用している BLT グラ
フは表示更新速度が遅いため、入射器の最大ビーム繰り返しである 50 Hz での描画はできなかった。そこで、Python GUI ライブラリである PyQtGraph を用いた高速表示ソフトウェアを開発し使用している（Fig. 2）。PyQtGraph
は描画速度に優れており、50 Hz での描画も問題なく動作している。
開発当初は、高速描画してもユーザの眼が追い付かず有益な情報は得られないのではとの声もあったが、パルスごとの変動の様子がリアルタイムでわかるため、いくつかの不具合発見に役立てることができた。

また、散布図は、選択した 1 つのデータを X 軸、BPM、RF モニタ、パルスマグネットの全データを Y 軸としてまとめてプロットし、相関が強い箇所の背景色を変化させる（Fig. 4）。まとめてプロットすることにより、プロットの漏れを防ぎ、操作時間の短縮を図っている。この機能により、パルスごとの速いビーム変動の原因特定、ビーム変動発生位置の絞り込みを速やかにおこなうことが可能となった。実際にこの機能を用いて、パルスマグネットやクライストロンの出力変動に起因したビーム変動を発見することができた。

Figure 2: Beam orbit panel developed by PyQtGraph.

Figure 4: Scatter plot drawn with Matplotlib.

- 962 -

Proceedings of the 19th Annual Meeting of Particle Accelerator Society of Japan
October 18 - 21, 2022, Online (Kyushu University)

PASJ2022 FRP023

は Python/Qt を用いて開発しており、X Window システム
入射器では、アーカイバシステムで各機器の変化情 上で動作する。これらのパネルを使用するには，当然な報を記録している[2]。BPM データは、アーカイバエンジ がら、Python/Tkinter あるいは X Window システムの動作ンの速度、ディスク容量などの制限で、1 秒に 1 回に間 環境を整備する必要がある。しかしながら、利用者は居引いた情報を記録している。近年、入射ビームに起因す 室において情報を参照したい場合が多く、そのためだける SuperKEKB HER/LER のビームアボートが頻発してい に X Window システムの動作環境を整備するのは大きなるが、アーカイバの間引かれた情報からは、原因が特定 負担であった。そこで、Web ブラウザ上で動作する、ビーできないことが多かった。そこで、ビーム位置同期計測シ ム位置表示 Web アプリケーションの開発を検討している。
ステムにより全ショット記録されている履歴データを表示、 リアルタイム性の高いアプリケーションとするため、BPM
解 析 す る 、 ビ ー ム 位 置 履 歴 表 示 ソ フ ト ウ ェ ア を EPICS IOC との通信部に WebSocket を使用し、クライア
Python/Tkinter を用いて開発した（Fig. 5）。本パネルは、 ント部は Google Angular を用いて開発する予定である。
指定した時刻の全 BPM の水平・垂直方向ビーム位置、 WebSocket、Google Angular 共に入射器での開発実績
バンチ電荷量の表示に加え、指定したリファレンスデー [2, 4, 5]があるため、比較的短期間で開発できると見込ん
タの表示、現在値とリファレンスデータとの差分表示が可 でいる。
能である。
まとめ
また上記の BPM 情報表示機能に加え、リファレンス 5.
入射器では、BPM により計測されたビームの位置、バデータから、しきい値以上に変化した RF モニタ、パルスマグネットの値も表示する機能を実装した。SuperKEKB ンチ電荷量を、Python/Tkinter あるいは Python/Qt を用
ビームアボートデータベース[3]に記録されているアボー いて開発したビーム位置表示ソフトウェアで表示をおこトした瞬間のビームショット ID を基に、アボート時、もしく なっている。リアルタイムでの表示に加え、全ショットを記はその直前に変化した BPM、RF モニタ、パルスマグネッ 録している履歴データを解析することで、ビーム変動調トの箇所を本パネルにより容易に特定できるようになった。 査にも役立っている。今後も改良を続け、安定したビーム運転に寄与していきたい。
4.4

ビーム位置履歴表示ソフトウェア

参考文献

Figure 5: Beam orbit history panel developed by
Python/Tkinter.

5.

課題

5.1

BLT グラフからの移行[1] F. Miyahara et al., "Development of systems for archiving
and analyzing beam synchronous data for KEK e+/e- Linac",in these proceedings, TUPT020.
[2] I. Satake et al., "OPERATION STATUS OF ARCHIVERAPPLIANCEIN
KEK
ELECTRON/POSITRONINJECTOR LINAC", Proceedings of the 17th Annual
Meeting of Particle Accelerator Society of Japan, Online,
Sep. 2-4, 2020, FRPP25.
[3] S. Sasaki et al., "DEVELOPMENT OF TIME STAMP
RECORDING SYSTEM FOR SUPERKEKB ABORTTRIGGER SYSTEM", Proceedings of the 14th Annual
Meeting of Particle Accelerator Society of Japan, Sapporo,Japan, Aug. 1-3, 2017, TUP096.
[4] M. Satoh et al., "Magnet data management tool based on web
application for the KEK e-/e+ injector linac", in theseproceedings, TUPS045.
[5] T. Kudou et al., "DEVELOPMENT OF OPERATIONINFORMATIONDISPLAYPANELUSINGWEBSOCKET AT KEK INJECTOR LINAC", Proceedingsof the 10th Annual Meeting of Particle Accelerator Societyof Japan, Nagoya, Japan, Aug. 3-5, 2013, SUP090.

ビーム位置表示ソフトウェアの多くは、プロット部にPython megawidget ライブラリに含まれている BLT グラフを使用しているが、活発な更新はなされておらず、今後の機能追加などの可能性は低い。そのため、プロット部を BLT グラフから移行することを検討している。描画速度を求めるものは PyQtGraph に、それ以外は Matplotlibに更新する予定である。
5.2

Web アプリケーションの開発

ビーム位置表示ソフトウェアは、Python/Tkinter あるい- 963 -