DEVELOPMENT OF EMBEDDED EPICS ON F3RP61-2LA)

Jun-ich Odagiri , Kazuro Furukawa
C)

A)

B)

A)

, Kiichi Kameda , Norihiko Kamikubota ,A)

B)

B)

Misaki Komiyama , Hidetoshi Nakagawa , Toshiki Natsui , Hidehito Shiratsu ,A)D)

Masahito Tomizawa , Akito Uchiyama , Noboru Yamamoto
A)

A)

High Energy Accelerator Research Organization (KEK)
1-1 Oho, Tsukuba, Ibaraki, 305-0801
B)

Yokogawa Electric Corporation
2-9-32, Nakamachi, Musashino, Tokyo, 180-8750
C)

RIKEN Nishina Center for Accelerator-Based Science
2-1, Hirosawa, Wako, Saitama, 351-0198
D)

SHI Accelerator Service Ltd. (SAS)
1-17-6, Ohsaki, Shinagawa, Tokyo, 141-0032
Abstract
Control systems of modern accelerators, such as KEKB, J-PARC and RIBF adopt many Programmable Logic
Controllers (PLCs). They are supervised by Input/Output Controllers (IOCs) of Experimental and Industrial Control
System (EPICS) with being controlled and monitored through Ethernet connections. In this type of control system, theadoption of Ethernet as a field-bus reduces the work load for the development of device/driver support modules ofEPICS. On the other hand, having controllers (PLCs) under yet another controller (IOC) doubles the work load for theimplementation of the front-end application software. In order to solve the problem by unifying those two layers offront-end controllers, we developed an embedded EPICS system on F3RP61-2L, a CPU module running Linux that canwork with a base module and I/O modules for FA-M3 PLCs. We found that the IOC-core program can be built and run
on the CPU without any modifications in the original source program. This paper describes details of the embedded
EPICS system and possible applications of the new type of IOC for the control system of accelerators in operation andunder construction.

F3RP61-2Lをターゲットとした組込みEPICSの開発
このようなシステム構成を採る場合、フロントエ
ンド・コントローラとしての自立性を確保しようと
KEKB, J-PARC, RIBFといった最先端の加速器制すれば、制御ロジックの大部分をPLC上のラダー・御システムにおいては、多数のPLCが採用されていプログラムで実装することになる。その結果、IOCる。現在、これらのPLCはイーサネットを介しては、その上位に位置するChannel Access (CA)クライIOCに接続され、IOCの監視下でフロントエンド・アントと、その下位に位置するPLCとの間にあってコントローラとしての役割を果たしている。フィー
単に両者を仲介する役割を担うことになる。実際、
ルド・バスをイーサネットに統一することで、PLCを使用する制御システムでは、IOC上で実行さEPICSのデバイス/ドライバ・サポートの大部分を機れるコア・プログラムに備わった豊富な機能を十分種に依存しない形で実装することが可能になったこに利用していない場合が多い。これは既存のソフトとは制御ソフトウェア開発のコストの軽減に大きくウェア資源の有効利用という観点からは好ましいこ寄与している[1]。と で は な い 。 ま た 、 EPICS の プ ロ グ ラ ミ ン グ
ところで、IOCは、その名が示すとおり、元来、（EPICSランタイム・データベース、EPICSシーケ
それ自身がフロントエンド・コントローラとしてのンサの開発）と、ラダー・プログラムの開発という、役割を持つものであり、EPICSが開発された当初は、 2つの異なるプログラミング技術の習得を要するこ
もっぱらVMEバスにより接続されたアナログ、デとによるラーニング・コストの増加にも繋がっていジタルの各種I/OモジュールとCPUモジュールがIOCる。この問題を解決するためには、VMEやPCに拘の実体であった。（イーサネットをフィールド・バらず、最もフロントエンドに位置するコントローラスとして使用する場合には、PCもIOCとして使用さ上で、直接、IOCコア・プログラムを実行することれることが多くなった。）ところが、IT技術の進歩が望ましい。近年、PLCのモジュールの1つとして、により、IOCの下に、IOCとほぼ同等の機能を持つReal-time Operating System (RTOS)上でC言語等によPLCが使用されるようになったため、制御システムり開発されたアプリケーションを実行することが可のフロントエンド部分が二層化したことになる。
能なモジュールが市販されるようになった。その中

１．はじめにで も Linux を OS と し て 搭 載 す る 横 河 電 機 社 製 のF3RP61-2L（ 図 １ ） は以下で述べるような利点を持っている。

２．IOCとしてのF3RP61‑2Lの利点
2.1 デバイス/ドライバ・サポートの簡素化

F3RP61-2Lの同一製品群として、VxWorksをOSとして採用したF3RP62シリーズが既にリリースされている。LinuxをOSとして採用したF3RP61-2Lは、ハード・リアルタイム性を有しない（応答遅延時間の最悪値を明確に示すことができない）という面に
お い て は F3RP62 に 劣 る も の の 、 ア プ リ ケ ー シ ョン・ソフトウェアの開発の効率という面においては以下に述べる理由で勝っている。VxWorksの場合は、アプリケーションの修正の度にカーネルを含めたリブートが必要である（厳密に言えば、アプリケーションのみのアンロード、再ロードも可能であるが、手間が掛かる）。これに対して、Linuxの場合は、単なるプロセスの終了と再起動で済むため、僅かな修正を加えては実行して結果を確認する、というサイクルを短時間に繰り返すことが可能である。

VME, PCなどのIOCの下に、イーサネットを介してPLCを接続する構成を採る場合、IOCがPLCとの通信に用いるEPICSのデバイス/ドライバ・サポート
は 、 時 間 の 掛 か る 遅 い I/O（ コ マ ンドの送信と受信）に対応するために非同期式を採用する必要がある。一般に非同期式のデバイス/ドライバ・サポー
トの実装には、送信要求のバッファリング機構、複2.3 完全なオープン・ソース・システムの実現
数のスレッド間での同期と排他制御の仕組などが必LinuxをOSとして採用するF3RP61-2LのBSPに含ま
要 と な る た め 、 こ れ ら の デバイス/ドライバ・サ
れる カ ー ネ ル の タ ー ゲ ッ ト 依 存 部分、各種I/Oモポートは複雑で大部になる。
ジュールにアクセスするためのドライバは、General
これに対し、F3RP61-2LをIOCとする組込みEPICS
Public License (GPL)によりソース・コードが公開さの場合、ベースモジュール上のバスを介したI/Oモれているため、EPICS Open Licenseによりソース・ジュールへのアクセスは短時間で終了するため、デコードが公開されているEPICSと合わせて、完全なバイス/ドライバ・サポートは非同期式を採ることオープン・ソースのシステムが構築されることになが可能であり、その構造が非常に単純となる。さらる。このため、不具合があった場合にも、ユーザ自に、同製品の場合のようにI/Oモジュールへのアク身が必要に応じて何処までも問題を追及することがセ ス た め の カ ー ネ ル ・ ド ラ イ バ が Board Supportできるという安心感がある。また、ユーザ自身のリPackage (BSP)の一部として提供されている場合には、 ス ク 負 担 に お い て 、 LGPL（ 部 分 的 に は GPL） に
EPICSのデバイス/ドライバ・サポートは、カーネ
従って配布されるRTAI[2]などのハード・リアルタイル・ドライバが提供するシステム・コールをラップ
ム拡張のためのパッチを利用することも可能であろう。
するだけの非常に短い関数となり、開発と保守の負担が非同期式の場合に較べて桁違いに小さくなる。
2.4 シーケンスCPUとの併用によるシステム構築
2.2 EPICSアプリケーションの開発効率の向上
F3RP61-2Lは同一のベースモジュール上で従来のシーケンスCPUと組み合わせて使用することも可能

図１：F3RP61-2L（ACEと記された電源モジュールの右隣）

である。これにより、シーケンスCPU上で実行されるラダー・プログラムによって、既に制御ロジックの実装が終わっている場合においても、これまで別途、用意されていたIOCをF3RP61-2Lに置き換えることにより、既存のハードウェア、ソフトウェア資源を無駄にすることなく再利用することが可能である。また、新たに制御システムを構築する場合には複雑なロジックはF3RP61-2Lによって、単純であるが特に高い信頼性を要求されるインタロックなどの処理はシーケンスCPUで行う、といった使用方法が可能である。

3.5 I/Oモジュールを使用した評価試験

３．IOCコア・プログラムのビルドと実行

F3RP61-2Lの評価用ベータ・リリースは平成20年2月であった。その後、4ヶ月余りでIOCコア・プログラムの動作確認が取れたため、既に既存の加速器制御システムへの導入が決まり、そのための準備が進んでいる。
J-PARC加速器の遅い取り出し機器の制御においては、既に従来の方法（VMEをIOCとし、シーケンスCPUとイーサネットを介して通信する方法）により制御アプリケーションの実装と試験が終了している一部の電磁石電源の制御を除き、他の全てについてF3RP61-2LとFA-M3のI/Oモジュールから成るIOCを採用することが決まり、既に一部のアプリケーションの開発に着手している。特にパラメータの数が多い機器の位置決め制御において、開発効率の面での効果が期待されている。KEKB加速器制御においては、真空系のマスクの位置決め制御、パルスQ電磁石の制御への応用が検討されている。また、
RIBFにおいても一部のファラデー・カップの駆動機構の制御に採用され、既に稼動可能な状態にある[3]。

3.1 開発環境の構築
F3RP61-2L を IOC と し て 利 用 す る 場 合 、 ア プ リ
ケーションの開発はクロス・コンパイルを必要とする。開発を行うホスト計算機としては、Red Hat系のLinuxをインストールしたIntel x86系の計算機であれば特に問題はない。筆者らは、本技術の開発にCent OS 4.6, Scientific Linux 4.3等を使用した。ホス
ト計算機上での開発環境の構築は、BSPの一部として 提 供 さ れ る Embedded Linux Development Kit(ELDK)をインストーラによりセットアップするだけで済むため、容易である。
3.2 IOCコア・プログラムのビルドと実行IOCのコア・プログラムをF3RP61-2L上で実行するためには、EPICSの基本プログラムの配布パッケージに含まれるコンフィギュレーション・ファイルの中で、新たなターゲットを追加するための標準的な手続に従うことで可能である。この作業の要点
は 、 BSP に 含 ま れ る ELDKの ツ ー ル ・ チ ェ イ ン をMakefileの中に適切に指定することである。この手続を行った後、実際にビルドを試みた結果、EPICSのIOCコア・プログラムのソースには一切、修正を加えることなくビルドに成功した。また、ビルドされたコア・プログラムに基づき、EPICSの基本プログラムの配布にサンプルとして含まれるソフト・レコード（ハードウェアへのアクセスは行わない）が正常に実行されることを確認することができた。
3.4 デバイス/ドライバ・サポートの作製

これまでに評価機を用いて、AD/DAモジュールのループバック（calc型レコードによるsaw tooth波形の生成、0.1秒周期）、DI/DOモジュールのループバック（EPICSシーケンサによるON/OFF切換、0.1秒のdelay）を実行し、100時間以上の安定動作を確認した。今後、実際の加速器制御システムでの運用を行い、長期的な安定性、信頼性の確認を行う予定
である。

４．加速器制御への応用

５．結論
LinuxをOSとして採用したFA-M3用RTOSモジュー
ル、F3RP61-2L上において、EPICSのIOCコア・プログラムの動作を確認した。F3RP61-2LをIOCとして使用することにより、デバイス/ドライバ・サポートが容易に実装可能となり、また、機器制御のためのアプリケーションをより効率的に開発できるようになった。これらの利点により、本組込みEPICS技術は、現在、稼働中、または建設中の加速器制御システムへの採用が決まり、そのためのアプリケーションの開発が進められている。

前述の通り、デバイス/ドライバ・サポートの作
参考文献
成はいたって簡単であり、特筆すべきことはない。
これまでに、Analog Input, Analog Output, Binary Input, [1] J. Odagiri, et al., “Development of EPICS Device/driver
Binary Output の4種類のレコード型のデバイス・サ
Support Modules for Network-based Devices”,ポートを実装し、AD/DA, DI/DOモジュールに正常
Proceedings of the 31st Linear Accelerator Meeting inにアクセスできることを確認した。今後、Multi-bit
Japan, Sendai, Aug. 2-4, 2006
[2] https://www.rtai.org/
Binary Input, Multi-bit Binary Output, Long Input, Long
[3] M. Komiyama et al., “Application of F3RP61-2L withOutput, Waveform等のレコード型をサポートするた
Embedded EPICS for Beam Diagnostic Device Control at
めのデバイス・サポートを開発していく予定である。
RIKEN Linear Accelerator”, in this meeting.