OPERATION STATUS OF EPICS IOC WORKS ON VARIOUS SYSTEMSIN KEKB ACCELERATOR CONTROL SYSTEM
Takuya Nakamura∗ A) , Kazuro FurukawaB) , Tatsuro NakamuraB) , Kenji YoshiiA) , Tomohiro AoyamaA) , Tomohiro OkazakiC)A)
Mitsubishi Electric System and Service Co.,Ltd., 2-8-8 Umezono, Tsukuba, Ibaraki, 305-0045
B)High Energy Accelerator Research Organization (KEK), 1-1 Oho, Tsukuba, Ibaraki, 305-0801
C)
East Japan Institute of Technology Co.,Ltd., 1-4-22 Minatomachi, Tsuchiura, Ibaraki, 300-0034
Abstract
At the KEKB, many accelerator equipments are controlled by EPICS based control system. EPICS(ExperimentalPhysics and Industrial Control System) is a toolkit to construct control systems. At the time of KEKB operation started,EPICS IOC(Input Output Controller) could execute on VxWorks OS only. So we use VME computers with VxWorks OSas IOC. However, recently, EPICS IOC is able to execute on multi-platform, for example, Linux, Windows and Mac OS
X. We introduced EPICS IOC which worked in not only VME computer with VxWorks but also Linux PC, PLC CPU withLinux and Windows-based Oscilloscope. In this paper, we will present status of EPICS IOC works on various systems inKEKB.

KEKB 加速器制御における様々なシステムでの EPICS IOC 運用の現状
1.

はじめに

KEKB 加速器では、EPICS(Experimental Physics andIndustrial Control System)[1] と呼ばれる実験用機器を制御するソフトウェアを使用して加速器の運転制御を行っている。EPICS は米国の Los Alamos 国立研究所、および Argone 国立研究所によって開発が開始されたネット
ワーク分散型の制御システムを構築するためのツールキットである。制御対象となる機器は、IOC(Input OutputController) と呼ばれる制御用計算機に直接、または GPIB、CAMAC、PLC(Programable Logic Controller) などのフィールドバスを経由して接続される。
KEKB の運転開始時、現場の機器を制御するコント
ローラ (IOC) として VME 計算機を使用し、その計算機でEPICS を実行するための OS として VxWorks を採用した。しかし近年 EPICS の開発が進み、IOC は VxWorksだけでなく様々な OS 上で動作するようになってきており、Linux や Windows をインストールした PC の上で、一つのソフトウェアとして EPICS IOC を動作させる事が可能となった。ハードウェアの制御を必要としない場合や、機器を直接 PC に接続せずにネットワークを介して制御を行う場合、PC の一つのプロセスとしてEPICS IOC を動作させる事が出来る。KEKB では現在
VME 計算機の他に、Linux PC、Windows をベースとしたオシロスコープ、Linux を OS として採用した PLC のCPU といった様々なシステム上での EPICS IOC の運用を進めている。これらのシステムでは、VXI-11 プロトコルを使用した測定機器制御、SNMP プロトコルによるデータ収集、asyn モジュールを使用したメッセージ通信、BPM データの波形処理、PLC モジュールによるビームマスク装置の制御といった目的で使用している。
ここでは、KEKB リング、及び BT(Beam Transport) において、KEKB 制御グループが運用している様々なシステムでの EPICS IOC の事例について報告する。

∗ E-mail: < nakataku @ post.kek.jp >2.

VME 計算機

2.1 VME 計算機の概要
KEKB 加速器の制御システムには EPICS が採用され、KEKB の運転開始当初から現在まで運用されている [2] 。KEKB の制御システム構築にあたって、現場側の計算機に VME のシングルボードコンピュータを使用し、そこで EPICS IOC を動作させる方針となった。当時の EPICS のバージョンは 3.13 であり、現場側計算機で IOC を動作させるため、VME 計算機の OS としてVxWorks が採用された。この時の主な構成は、CPU がPPC6750(PowerPC6750)、VxWorks のバージョンが 5.3、
EPICS のバージョンが 3.13.1 となった。また PPC6750
以外にも、PPC6603(PowerPC6603) や SYS68K 系列のCPU なども少数使用された。VME 計算機には様々なモジュールが設置され、中でも他のフィールドバスと接続するインターフェースボードが多く使用された。KEKBの制御においては、VME 計算機と CAMAC、GP-IB、Arcnet、VXI、Modbus+、シリアル通信などのフィールドバスとを接続し、各種機器の制御を行った (図 1)。またインターフェースボード以外にも、ADC、DAC ボードやタイミング信号制御ボードなどの様々なモジュールが使用された (表 1)。こういったモジュールを組み込んだ VME 計算機が KEKB 加速器の各所の制御室に設置され、様々な加速器コンポーネントの制御を行っている。運転開始当初から 100 台程度使用されており、加速器の運転状況に応じて新設・撤去が行われ、現在では111 台の VME 計算機を運用している。
2.2

新しい EPICS の導入

KEKB 加速器に Crab 空洞のインストールが行われる事となり、Crab 空洞付近の軌道制御を行うステアリング電磁石が追加されることとなった。この電磁石の電源制御は、従来の電源制御に用いていた Arcnet による制御ではなく、PLC による制御を行う事となった。VME 計算機と PLC の間の通信には、ネットワークを介して PLCの制御を行う netDev[3] と呼ばれるソフトウェアを採用

表 1: KEKB VME 計算機の各モジュールの使用状況
VME Module Type

使用枚数

CAMAC Interface

35 枚

GP-IB Interface

74 枚

Arcnet Interface

60 枚

VXI Interface (MXI 1,2)

28 枚

Modbus+ Interface

年 9 月から運転環境に導入され、トラブル無く正常に運用を行う事ができた。その後各種モジュールの入ったVME 計算機についても更新作業を行い、下記に挙げる制御が新構成の VME 計算機へと移行している。

• KEKB 全周の BPM 測定データの処理• 衝突点付近の BPM 測定• 入射ビームの Bucket Selection• 放射線モニターデータ読み出し• BPM、Magnet 電源制御用タイミング信号制御• ビームアボート信号制御• Belle ステータス信号制御• Beam Transport の真空制御• KEKB 同時入射に対応したセプタム電磁石へのトリガー信号制御

5枚

RAS

107 枚

ADC

26 枚

DAC

6枚

Event Timing Transmitter

5枚

Event Timing Receiver

24 枚

Timing Delay (TD4V)

72 枚

更新作業はその後も継続的に行われ、現在 11 台の VME
計算機が新構成へと更新されている (表 2、図 2)。また、より制御処理速度の速い MVME4100 の利用や、新
しい VxWorks version 6.7 の動作の検証も進めており、SuperKEKB においてはこれらの構成も含められるように検討している。
表 2: KEKB VME 計算機の CPU 使用状況
CPU Type

使用枚数

Motorola MVME5500

11 枚

Force PowerPC6750

90 枚

Force PowerPC6603

7枚

Force SYS68K CPU-64D

9枚

Force SYS68K CPU-40

2枚

図 1: VME 計算機外観。CAMAC、Modbus+、GP-IB、Arcnetのインターフェースモジュールが設置されている。

する事となった。ただし、当時の netDev はサポート対象が EPICS 3.14 へと移っており、今後の運用や維持管理の点から EPICS 3.14 の導入が検討されるようになった。また EPICS 3.14 は VxWorks 5.4 以降のバージョンで動作するため、VxWorks OS の更新も必要となった。
そこでこの IOC については、CPU PPC6750、VxWorks5.4、EPICS 3.14.8 という構成で運用する事となった。この新しい構成の IOC は、Crab 空洞の導入に先立ち 2005
年 9 月から運用を開始し、実際の加速器運転において正常な動作を確認した。

2.3

CPU と EPICS の更新

長らく PPC6750 と EPICS 3.13.1 という構成を主として運用を続けていたが、PPC6750 のメーカーサポート終了や、CPU の性能向上の要求などを受け、全体的なVME 計算機システムの更新が必要とされるようになってきた。そこで新しい CPU と EPICS を使用した構成への更新が検討された。CPU には Motorola 社の MVME5500を採用し、VxWorks のバージョンは 5.5.1 を使用する。
また EPICS のバージョンは 3.14.9 を基本として、新しい構成への更新作業を開始した [4] 。更新作業の初めは、
CPU 以外のモジュールが入っていない VME 計算機が対象とされた。この新しい構成の VME 計算機は 2007

図 2: CPU MVME5500 へと更新した VME 計算機。CAMACインターフェースモジュール、Shared Memory モジュールを動作させている。

3.

LINUX 計算機

EPICS 3.13 では、IOC は VxWorks OS でのみ動作していたが、EPICS 3.14 になると様々な OS に対応するようになった。現在では VxWorks の他に、RTEMS、Solaris、Windows、Linux、Mac OS X といった OS 上でも、ソフトウェアとして EPICS IOC を動作させる事ができる。
これらの中でも Linux OS については、他の OS に比べて導入や保守が容易であるといった利点がある。計算機とハードウェアを直接接続する必要が無い場合や、データ処理などのソフトウェアの動作だけを行う場合には、IOC の OS として Linux を選択する事は非常に有効である。KEKB 制御グループでは次に挙げる通り、主にネットワークを介した機器の制御を行っている。
• SNMP プロトコルを利用した機器情報データの収集• VXI-11 プロトコルを利用した機器制御• EPICS asyn モジュールを使用したメッセージ通信による機器制御
EPICS 3.14 の初期のバージョンでは 1 台の計算機で 1個の EPICS IOC プロセスしか実行できなかったが、最近のバージョンでは複数の IOC プロセスを実行する事ができる。KEKB 制御グループでは Hewlett-Packard 社の Blade Server 計算機を運用しており、その内 Linux をインストールした 2 台の計算機上で合計 11 プロセスのIOC を運用している (表 3、図 3)。

4.

組み込み EPICS

4.1

PLC CPU F3RP61

加速器制御システムにおいては、機器の制御に PLCがよく用いられている。KEKB 加速器でも様々な分野で PLC が使用されており、VME 計算機と接続されて制御されている。この構成では制御のロジックが VME 計算機と PLC の両側に分散し、開発や保守が行いにくいという点がある。
現在 PLC の CPU モジュールとして、リアルタイムOS を搭載した物が市場で入手可能となっている。その中でも横河電機株式会社製の PLC の CPU F3RP61 では、OS として Linux を選択する事ができる (表 4)。この F3RP61 の Linux で IOC を動作させる事で、PLC をEPICS IOC として運用する事が可能となる [5] 。EPICSの拡張機能である sequencer を用いる事で、従来の PLCCPU(シーケンス CPU) で実行していたラダープログラ
ムと同様のシーケンス制御を行う事ができる。これにより制御ロジックを EPICS 側に集約させる事ができ、開発や保守が容易になる利点が生まれる。F3RP61 の EPICS
IOC はビームマスク制御 [6] (図 4)、パルス四極電磁石の電源制御の運用に使用され、2008 年 9 月から現在まで安定した動作を実現している。
表 4: F3RP61-2L 仕様

表 3: Blade Server の Linux 計算機の仕様
Linux 計算機 1

Linux 計算機 2

Dual-Core Intel
Xeon 5160 3GHz (x2)

Dual-Core Intel
Xeon 5160 3GHz

Memory

4GB2GBOSRed Hat EnterpriseLinux ES release 4

CentOS 4.5

EPICS version

3.14.93.14.11

Number ofIOC(s)1 process10 processes

CPUCPUPPC 533MHz

Memory128MB

Network

100BaseTX x 2InterfaceUSB, IEEE1394, CF, PCI, serial,I/O Bus for FA-M3 Module Interface

Linux kernel

2.6.24.3 base

図 4: ビームマスク制御用の F3RP614.2
図 3: Blade Server 計算機外観。OS に Linux を使用している。

Oscilloscope2009 年 12 月から KEKB 加速器への同時入射が行われるようになり、BT の BPM 測定システムの更新が必要となった。同時入射では最短 20 ミリ秒間隔でビームが切り替わるため、50Hz で動作する BPM 測定システ
ムが必要とされる。従来の VXI を使用した BPM 測定システムでは、1 回の測定に 1 秒程度の時間がかかるため同時入射には対応できない。
同 時 入 射 の た め の BPM 測 定 シ ス テ ム と し て 、
LINAC 制御グループでは Tektronix 社のオシロスコー
プ DPO7104 を使用した方式へと移行していた (表 5、図5)。DPO7104 は OS に Windows XP を使用しており、その Windows 上で EPICS IOC を動作させる事が出来る。
このオシロスコープで動作する EPICS IOC により、速い BPM 測定システムを実現している [7] 。
この LINAC 制御グループで開発された新しい BPM測定システムを、BT の BPM 測定にも採用する事となった。LINAC と BT では信号波形の処理方法が異なるため、BT 用にソフトウェアを修正して運用を開始した [8] 。
BT の 5 区間ある BPM 測定システムのうち、まずは最上流と最下流の 2 区間について新システムへの更新が行われた。
実際のビームを使用した動作試験を行った時、25Hzを超えるビーム繰り返しの時に正常動作しない事が確認された。原因調査の結果、BT では LINAC に比べてBPM の数が多く演算処理などの負荷が高くなっているため、25Hz を超えるビーム繰り返しに追従できない事が判明した。波形処理ソフトの中の BT 用 BPM 測定システムには不要な処理の削除や、不要なレコードの削除を行う事で、45∼50Hz 程度での動作が可能となった。
もしも処理速度が不足した場合にも、そのことを認識した上でトリガとデータの対応を失わないように工夫した。今後は更なるソフトウェアの改良と、残る 3 区間の更新作業を予定している。
表 5: Tektronix DPO7104 仕様
CPU

Pentium4 3.4GHz

Memory2GB

Network

Gigabit Ethernet

OS

Windows XP Professional

Ocilloscope

10GSa/sec, 8bits

図 5: Tektronix DPO7104 Oscilloscope5.

まとめと今後の課題

1998 年から 2010 年まで KEKB の運転が行われ、運転開始当初の VME 計算機による制御コントローラ (IOC)だけでなく、様々な制御システムが導入されてきている。運転開始当初に導入された制御コンポーネント、特に古い VME CPU や CAMAC 機器などは、ハードウェ
アの老朽化やメーカーのサポート終了などにより維持管理が困難になってきている。そのため新しい VME CPU
MVME5500 への移行や、CAMAC に代わる制御機器への更新を進めていく必要がある。また、KEKB のアップグレード計画により、今後新たなハードウェアやソフトウェアを用いた制御システム構築の作業が予定されている。これまでの更新作業や新システム導入作業の経験を生かし更なる経験を積み、今後の制御システムの開発、維持管理を進めていく。

参考文献[1] <http://www.aps.anl.gov/epics/>.
[2] N. Yamamoto et al., “KEKB control system: the present andthe future”, PAC’99, New York, Mar. 29 - Apr.2, 1999
[3] J. Odagiri et al., “Development of EPICS Device/driver Support Modules for Network-based Devices”, Proceedings ofthe 3rd Annual Meeting of Particle Accelerator Society ofJapan and the 31st Linear Accelerator meeting in Japan,Sendai, Aug. 2-4, 2006
[4] K. Yoshii et al., “Present Status and Upgrade of VME Computers in KEKB”, Proceedings of Particle Accelerator Society Meeting 2009, Tokai, Aug. 5-7, 2009[5] J. Odagiri et al., “Application of EPICS on F3RP61 to Accelerator Control”, Proceedings of Particle Accelerator Society
Meeting 2009, Tokai, Aug. 5-7, 2009[6] T. Nakamura et al., “Upgrading the Control System of theMovable Masks for KEKB”, Proceedings of Particle Accelerator Society Meeting 2009, Tokai, Aug. 5-7, 2009[7] M. Satoh et al., “Dvelopment of the fast BPM data acquisition system using Windows oscilloscope-based EPICS IOC”,
Proceedings of Particle Accelerator Society Meeting 2009,
Tokai, Aug. 5-7, 2009[8] T. Aoyama et al., “Upgrade of Readout System for Beam
Position Monitors in the KEKB Beam Transport Line”,
Proceedings of Particle Accelerator Society Meeting 2009,
Tokai, Aug. 5-7, 2009