185■ 談話室「加速器の運転制御を通じて学ぶ EPICS 入門講習会」報告 ∗東京工業大学 ゼロカーボンエネルギー研究所

林﨑 規託hayashizaki.n.aa@m.titech.ac.jp
KEK 加速器研究施設

帯名 崇takashi.obina@kek.jp2023 年 (令和 5 年) 5 月 23 日

1

はじめに

Experimental Physics and Industrial Control System(EPICS) 入門講習会は高エネルギー加速器研究機構の主催により過去に複数開催されているが，2019 年度以降は開催されていなかった。そこで，高エネルギー加速器研究機構「加速器科学総合育成事業」の支援を受けプンソースのソフトウェアであり，無料でダウンロードして利用できることから [3]，いつでも始められる反面，その使い方については独学せざるを得ず，研究や仕事での必要性や，何らかの目的意識がないと，ハードルが高く感じられるかもしれない。

講習会の開催趣旨て，全国の大学院生や若手研究者を中心に参加者を募り，

3

2023 年 3 月 2∼3 日に「加速器の運転制御を通じて学ぶEPICS 入門講習会」を開催したので報告する。

出して連携させることで，その安定運転や高品質なビー新型コロナウイルスの拡大防止対策にも留意しながら，

2

EPICS について

EPICS は加速器や物理実験装置などの制御システムを構築するためのネットワーク分散環境向け制御アプ

加速器制御は，各機器がもっている性能を十分に引きム加速を実現するとともに，人や機器の保護も含む安全管理においても重要な役割を担っている。したがって，加速器システムの大小にかかわらず，ハードウェアと制御は不可分な関係にあるが，逆にハードウェアに左右される部分もある。

大型加速器施設と異なり，一時的な現場制御で完結しリケーション開発フレームワークであり，大型加速器施てしまう場合も多い大学などでは，加速器の遠隔制御やEPICS を用いたシステムでは，Channel Access (CA)

クは普及しておらず，その教育や研究に取り組む機会は設を中心に数多くの研究施設で利用されている [1, 2]。という通信プロトコルを使って，作業者が操作する上位層の Operator Interface (OPI) から，Ethernet などのEPICS などの制御アプリケーション開発フレームワー比較的少ないと思われる。そこで，全国の大学院生や若手研究者を中心に参加者を募って，加速器の運転制御とネットワークを介して，デバイス層で実際のハードウェEPICS の基礎・実習を組み合わせた講習会を開催する

み書きしたり，IOC 間での通信がおこなわれたりする。

制御を通じて加速器の仕組みや奥深さも学んでもらい，アを制御している Input/Output Controller (IOC) を読

IOC の中にはレコードという制御点 (入出力点) があり，ここから生成されるプロセス変数 (PV) の名前さ

え知っていれば，制御点がどれだけあっても，ネットワークやハードウェアを意識せずに制御することが可能である。また，IOC に常駐するデータベースは EPICS

Database と呼ばれるレコードの集合であり，レコードの連携によって複雑な制御が実現される。EPICS はオー∗ この記事は許可を得て，加速器 Vol. 20, No. 2, 2023 から転載した。https://www.pasj.jp/kaishi/cgi-bin/kaishi_info.cgi

ことで，その入り口のハードルを下げるとともに，運転今後我が国において加速器科学にかかわる人材を育成したいと考えた。

286

講習会の準備と開催

44.1

準備

2022 年 6 月より対面とオンラインを併用して準備を進めた。開催時期は秋頃と春休みの時期を検討し，大学院生の参加のしやすさや，高エネルギー加速器研究機構

その後も，山田氏，佐々木氏，杉村氏による講義や実習が，途中休憩を取りながら続いた。実習は，softIoc コマ
ンドを利用した EPICS Database の作成，EPICS IOCによる外部ハードウェア制御として図 2 の機材構成でLED を点灯させる内容であった。の加速器マシンタイムなどを考慮し，2023 年 3 月 2∼3日の二日間とした。また，施設見学と参加者持参パソコンの実習対応準備のため，それらの希望者については，

3 月 1 日午後より参加してもらうことになった。

プログラムについては，EPICS だけでなく，加速器の運転制御も盛り込んで，前述したように，加速器の仕組みも同時に学んでもらう内容とした。実習用の機材は，2018 年講習会で使用したものを基本的に再利用した。IOC 用シングルボードコンピュータとしては，今回新たに購入した Raspberry Pi 4 をメインに，前回からの Raspberry Pi 3 model B+も併用することとした。

2023 年 1 月中旬より「EPICS-Users JP 日本語情報」

Web ページに開催案内を掲載し [4]，本学会1 のメーリングリストでもアナウンスをしてもらったところ，参加者10 名以上の目標に対して，大学・研究機関・企業より14 名の参加申し込みがあった。

4.2

開催

講習会プログラムを表 1 に示す。前述の Web ページに講義・実習資料が掲載されている。初日の午前中は，

図 2: Raspberry Pi と LED が取り付けられたブレッド

ボード

初日の最後は座談会的に，上窪田氏による「EPICS導入経験」，大学院生の井上氏による OpenCV (OpenSource Computer Vision) 画像処理技術，Raspberry Pi,Web カメラを組み合わせた「大学における EPICS を用いた加速器監視システムの開発」(図 3) の話題提供があった。

全体説明の後，古川氏による加速器制御の講義よりスタートした (図 1)。

図 3: EPICS を用いた加速器監視システムの開発

図 1: 加速器制御に関する講義

最初の講義に引き続き，今回初めて EPICS や Rasp-berry Pi に触れる参加者向けに，持参したパソコンをEPICS クライアントとして使う実習がおこなわれた。
1 編集委員註: 加速器学会のこと

二日目は朝から，山田氏，佐藤氏，山本氏，帯名による講義，EPICS を使った倒立振子制御の実演 (図 4)，

CS-Studio Archiver, Stream Device, Raspberry Pi のGPIO ピンからの割り込み制御に関する実習がおこなわれ，夕方に終了した。

387

3/1(水)

3/2(木)

表 1: 「加速器の運転制御を通じて学ぶ EPICS 入門講習会」プログラム。

13:30 09:00 - 09:15
09:15 - 10:00
10:00 - 11:0011:00 - 12:00
12:00 - 13:30
13:30 - 15:00
15:00 - 17:00

3/3(金)

17:00 09:00 - 10:30
10:30 - 12:00
12:00 - 13:30
13:30 - 15:00
15:00 - 16:50
16:50 - 17:00

3 号館 1 階会議室に集合後，施設見学と参加者 PC 設定作業 (希望者のみ)
全体説明

帯名崇

制御概論と EPICS 入門

古川和朗

CS-Studio OPI

山田秀衛

実習 1:Raspberry Pi で CA Client，medm GUI休憩

帯名崇，古川和朗

DB の基礎 (SoftIOC) + 実習 2

佐々木信哉

EPICS 導入経験，討論 (座談会) 他

上窪田紀彦，井上遼 (東工大)EPICS IOC 作成 (講義 + 実習 3:LED 制御)
CS-Studio Archiver (講義 + 実習 4)
Stream Device (講義 + 実習 5)
休憩

現代制御理論入門と EPICS を使った倒立振子制御
実習 6:GPIO 割込み
まとめ杉村仁志
山田秀衛
佐藤政則
山本昇

帯名崇

林﨑規託 (東工大)，帯名崇

だきました。この紙面をお借りして厚くお礼申し上げます。

参考文献[1] 山本昇,「EPICS を巡る国際共同研究」, 加速器
Vol. 3, No. 4, 2006 (409-412)[2] 中村達郎,「EPICS を使った制御システム入門」,
加速器 Vol. 9, No. 3, 2012 (165-169)[3] http://www.aps.anl.gov/epics/
図 4: EPICS を使った倒立振子制御の実演開催を終えて5

講習会終了後，参加者にアンケート協力をお願いした「実習
ところ「EPICS を独学するよりも有益であった」
がよかった」「継続開催を希望」「休憩時間にもアドバイスや役立つ情報が得られた」など好意的な回答が多く，また「専門的な内容に特化した Advanced コースを希望」などの意見もいただいた。関係者とともに，テーマ設定も考慮しながら，毎年開催を検討していきたい。

謝辞

本講習会は高エネルギー加速器研究機構「加速器科学総合育成事業」の支援を受けて開催されました。講師や実習をサポートいただいた方々には快くご協力をいた[4] https://cerldev.kek.jp/trac/
EpicsUsersJP/wiki