Proceedings of the 12th Annual Meeting of Particle Accelerator Society of Japan
August 5-7, 2015, Tsuruga, Japan

PASJ2015 WEP107

MECHATROLINK-III 通信による SuperKEKB 用コリメータ制御システムの開発
DEVELOPMENT OF COLLIMATOR CONTROL SYSTEM FOR SUPERKEKB WITH
MECHATROLINK-III COMMUNICATION
芳藤 直樹#, A), 中村 達郎 B), 小田切 淳一 B) , 石橋 拓弥 B) , 照井 真司 B)
Naoki Yoshifuji #, A), Tatsuro NakamuraB), Jun-ichi OdagiriB), Takuya IshibashiB), Shinji TeruiB)
A)
East Japan Institute of Technology Co., Ltd.
B)
High Energy Accelerator Research Organization (KEK)

Abstract
Beam commissioning of SuperKEKB is scheduled to start in 2015. In order to achieve higher luminosity, upgrade ofmany subsystems is in progress. While control system of SuperKEKB succeeds Experimental Physics and Industrial
Control System (EPICS), hardware interfaces have been replaced with newer ones. One of them is collimator control.
Mechatrolink-III has been adopted to reduce the number of positioning modules, to improve ease of maintenance andextendibility. Driver support and device support have been developed to adapt to the modules with EPICS-based control
system. This paper describes the implementation of the collimator control of hardware and software.
チする仕組みとなっていた。新型コリメータでは垂直方向または水平方向の両側からコリメータヘッド
現在高エネルギー加速器研究機構(KEK)では 2015 が周回ビームにアプローチする。またアンテチェン[3]
年度の SuperKEKB のコミッショニング開始に向けて、 バースキームに適合した構造にもなっている 。
各サブシステムのアップグレードが進んでいる。 (Figure 2)バンチ内衝突などの原因で粒子が拡散する
EPICS[1] を ベ ー ス と し た 制 御 シ ス テ ム に つ い て も ことにより発生するビームハローの存在は、ビームロスに繋がり、電磁シャワーや中性子を発生させる。
種々の更新が行われている。
これら更新の一例としてコリメータの制御システ これにより最悪の場合、BelleII 検出器などを破損す
ムがある。SuperKEKB ではコミッショニング開始時 る可能性がある。コリメータは加速器の各機器を守る役目もある。の Phase-I ま で に 2 台 、 ま た 最 終 収 束 系

1.

はじめに(Superconducting Quadrupole magnet for Collision(QCS)) と 、 BelleII( 崩 壊 点 検 出 器 VertexDetector(VXD)なし)がインストールされる Phase-II までにまでに 17 台の新型コリメータを設置する予定となっている[2]。(Figure 1)

Figure 2: Schematic drawing of SuperKEKB typecollimator. The x-, y- and z-axis refer to horizontal andbeam axis, respectively. (cut plane: z-x)[3]Figure 1: Collimator locations in Phase-II.
コリメータは周回ビームのビームハローを削り取り、検出器のバックグラウンドを低減するための装置である。コリメータは可動のコリメータヘッドを有している。従来型では水平方向または垂直方向の片側からコリメータヘッドが周回ビームへアプロー___________________________________________# hig-yosi@post.kek.jp

今回の更新で、これまでのコリメータ制御システ
ムからハードウェアとソフトウェアの両面に改善を施した。ハードウェア面では、モータおよび、モータを制御するコントローラ上のモジュールを一新した。その 1 つに位置決めモジュールがある。このモジュールは、MECHATROLINK-III 通信[4]によりコリメータを制御する。この変更により機動性の向上、レスポンス性の向上、拡張性の向上、またハードウェア調達コストの削減ができた。ソフトウェア面
では、ハードウェアとの MECHATROLINK-III 通信を管理するドライバ・サポートと、制御対象とのイ- 781 -Proceedings of the 12th Annual Meeting of Particle Accelerator Society of Japan
August 5-7, 2015, Tsuruga, JapanPASJ2015 WEP107

ンターフェースを管理するデバイス・サポートを開 り、接続できるモータ数も 1 軸につき 1 台までのモ発した。EPICS システムで他アプリケーションにも ジュールであった。DO モジュールから位置決めモ流用可能なドライバ・サポートの開発により、今後 ジュールへ繋がっている緊急停止信号の線は、実際のソフトウェア開発における人件費の削減ができた。 はユーザインターフェースから Ethernet を介してまた機能単位のプログラムを作成したことによりメ CPU に緊急停止のリクエストが送られてくる。このンテナンス性が向上し、プログラム改修および不具 位置決めモジュールの仕様により、緊急停止を行う合発生時などの原因特定が容易になった。本稿では、 ためには外部入力による信号が必要であったため、このようなモジュール構成にしなければならなかっこのコリメータ開発の現状について報告する。
た。コリメータヘッドの現在位置について、現在位
2. 制御機器構成の更新置を取得する手段として位置決めモジュール自体に
コ リ メ ー タ 制 御 シ ス テ ム に は 横 河 電 機 社 製 もモータのステップ数から算出する機能が備わってProgrammable Logic Controllers(PLC)[5]の FA-M3 を使 いたのだが、モータのバックラッシュ等による影響用している。そしてこのコントローラの CPU として で、取得してくる位置情報にズレが生じることがあった。そのズレを補正するため、デジタルマルチF3RP61[6]モジュールを採用している。
従来の KEKB コリメータ制御機器の構成は、この メータを用いての現在位置の測定をおこなっていた。
CPU モジュール以外に、モータ制御をおこなう位置 デジタルマルチメータにはポテンショメータが接続決めモジュールの F3NC01[7]、緊急停止リクエストの され、抵抗値から現在位置を算出している。
SuperKEKB でのコリメータ制御機器の構成では、
信 号 を 発 行 す る Digital Output(DO) モ ジ ュ ー ルCPUと位置決めモジュールのみというシンプルな構[8]
F3YC16 、リミットスイッチ信号やホームスイッチ成となっている(Figure3 (b))。位置決めモジュールに
信 号 の ス テ ー タ ス を 取 得 す る Digital Input(DI) モ
は、1台で15軸の制御が可能で、インターフェース[8]ジュール F3XD16 、コリメータヘッドの現在位置[16]
測定用 Agilent 社製デジタルマルチメータ 34970A[9] が MECHATROLINK-III 通信の機能を持つ F3NC97と接続するための General Purpose Interface Bus(GPIB) を採用した。MECHATROLINK-III はターゲットへ
通 信 モ ジ ュ ー ル F3GB01[10] と い う 構 成 で あ っ た の伝送速度 100Mbps(12.5Mbyte/sec)、伝送周期 31.25(Figure 3 (a))。このとき使用した位置決めモジュール μs の高速通信が可能な通信方式である。モータ側
は 1 モジュールで 2 軸までの制御ができるものであ にも MECHATROLINK-III をインターフェースとするネットワークコンバータ NETC01-M3[17]及びモー(b) In SuperKEKB(a) In KEKB

Figure 3: Controller and peripheral device.

- 782 -Proceedings of the 12th Annual Meeting of Particle Accelerator Society of Japan
August 5-7, 2015, Tsuruga, Japan

PASJ2015 WEP107

タドライバ CRD-514KD[18]は別途必要となったが、KEKB の構成よりも多くの台数のモータ制御が可能となった。モータ 16 台までなら拡張もモータドライバ側のみの追加で対応可能となっている。モータド
ライバまでの接続は RS485 通信のため、ケーブル長が 1.2 km 程度まで取れる点もメリットとして挙げられる。モータを 16 台よりも多く拡張する場合においては、新たにネットワークコンバータが必要ではあるが、カスケード接続が可能のため、位置決めモジュールを追加購入する必要は無い。リミットス
イッチ、ホームスイッチ、緊急停止などの DI/DO もモータドライバに既に搭載されているため、PLC モジュールを別途新規に用意する必要は無くなった。
コリメータヘッドの現在位置を測定するデジタルマ
ルチメータも GPIB 通信の 34970A から Ethernet による通信が可能な Agilent 社 34972A[9]に変更した。デジタルマルチメータには 10μm 単位での位置計測する た め 、 差 動 ト ラ ン ス (Linear variable differentialtransformer(LVDT))[19] ＋差動トランス用シグナルコ
ンディショナ[20]とし、電圧値から現在位置を算出している。(Figure 4)GPIB モジュールも不要となり、また伝送速度も 1MByte/sec から 10MByte/sec 以上へ向上した。これらによりコリメータを制御するために必要なモジュール数が大幅に削減され、非常にシンプルな構成になり、新たに機器を拡張する場合の制御システムの構築も容易なものとなった。

行う F3NC97 モジュール用のドライバ・サポートと、通信相手となるモータ側の処理、オリエンタルモータ社ネットワークコンバータ NETC01-M3 とオリエンタルモータ社モータドライバ CRD-514KD に関する情報処理を行うデバイス・サポートをそれぞれ作成した。処理階層を明確に分けることで、モータの変更が必要な場合でもソフトウェアの変更が容易になり、また他システムで流用可能なソフトウェア(ソフトウェア資源の有効活用)とすることを意識した。
開発する上で、これらサポートは非同期でそれぞれ実行する仕様とした。ドライバ・サポートはデバ
イス・サポートから送信データが渡されたら、データがどんな内容であろうとターゲットとなるデバイスに送信する。また受信データがあれば、データがどんな内容であろうとデバイス・サポートへ渡す。
送受信データの内容チェックおよび編集処理は、通信相手となるデバイス固有の情報として、デバイス・サポート側で実施する。(Figure 5)

LVDTcollimator motor
Figure 4: Position of collimator motor and schaevitz
sensor.

3.

ソフトウェアの作成

3.1

基本的な方針FA-M3 コ ン ト ロ ー ラ に 搭 載 し て い る CPU モ
ジュール F3RP61 は Operating-System として Linux を採用しており、その上で EPICS のコア・プログラムを実行している。コリメータ制御システムのソフト
ウェアはこの EPICS 環境で構築している[21]。今回使用するモータを制御するためにはフィードバック制御が必要であったため、EPICS シーケンサによりこれを実現している。制御コマンド入力や結果表示等のユーザインターフェース画面には、Control System
Studio(CSS) [22]を用いた。CSS とは EPICS を標準でサポートしているユーザ画面開発用ソフトウェアである。
コリメータ用モータ制御機器とのインターフェー
ス部分の開発では MECHATROLINK-III 通信のみを

Figure 5: Software system of collimator.
3.2

EPICS での非同期処理の仕組み

ドライバ・サポートとデバイス・サポートは非同期で動作する(Figure 6)。仕組みは EPICS のもつ機能
で ELLLIST を Queue として使用している。デバイス・サポートは何か送受信するデータがある場合にキューイングする。ドライバ・サポートでは、定期的に Queue をチェックする Thread を生成し監視し続ける。データが見つかった場合、Queue の内容をもとに MECHATROLINK-III 通信処理をおこなう。

- 783 -

Proceedings of the 12th Annual Meeting of Particle Accelerator Society of Japan
August 5-7, 2015, Tsuruga, Japan

PASJ2015 WEP107

Figure 6: Asynchronous mechanism for driver support.
Queue にはレコード毎に作成する Device Private 構造体のポインタを設定する。Device Private 構造体はドライバ・サポートが通信処理を行うために必要な情報の集合体である。各レコードは初期化時にDevice Private 構造体を作成し、EPICS レコードが持つポインタ変数の「dpvt」に Device Private のポインタを格納する。この dpvt ポインタを Queue に設定しドライバ・サポートへ渡すことで、プロセスするレコードの送受信処理を実行する。非同期の仕組みで忘れてはならない点として、デバイス・サポート側で、キューイングする際に pact を True に、また、コールバックされた際に pact を False にする必要がある。pact は EPICS システムでプロセス中を示すフラグである。False になることでプロセスが完了となり、レコードの VAL フィールドに値が格納される。ドライバ・サポートのインターフェースを固定の形で持ち、Queue による情報の受渡しを行うこと、デバイス・サポートで pact 操作することが非同期実現の仕組みであり、このドライバ・サポートを流用できるようにした仕組みである。
3.3

プロファイルタイプでは機能毎にアドレスが決まっているため、EPICS レコードの INP または OUT
フィールドに、アクセス先のアドレス情報とサイズを設定し、VAL フィールドに対して値の読み書きを出来るようなデバイス・サポートを作成した。ただし、モータドライバ CRD514-KD のパラメータを設定するためのアドレスは、パラメータ毎にメモリが割り当てられている訳ではなく、ある同じメモリアドレスに対して何度もアクセスしなければならない仕様であった(Figure 7)。これに対応するため、パラメータの読み書きによる同一アドレスへの連続アクセスは、EPICS シーケンサにて実装した。シーケンサで書込み状態を監視し、動的にレコードの VALフィールドの値を書き換える方法とした。

デバイス･サポートの作成

MECHATROLINK-III 通信でモータを動作させるには、位置決めモジュール F3NC97 で用意されているメモリ領域に値を書込むことによってモータドライバへ指令を出すことで実現する。このメモリ領域へのアクセスには数種類の決まった形式があり、それらを「プロファイルタイプ」と呼ぶ。今回使用するネットワークコンバータ NETC01-M3 とモータド
ライバ CRD514-KD は「標準 I/O プロファイル」というプロファイルタイプで通信が可能となる。この- 784 -

Figure 7: Memory access method.

Proceedings of the 12th Annual Meeting of Particle Accelerator Society of Japan
August 5-7, 2015, Tsuruga, Japan

PASJ2015 WEP107

3.4

ユーザインターフェース

現状開発中ではあるが、コリメータ制御システムのユーザインターフェースとなる CSS 画面を作成した(Figure 8)。Low Energy Ring(LER)の 2 箇所に設置される水平方向のコリメータを制御する。
この画面の持つ機能は 3 つあり、１)リングの内側(IN)と外側(OUT)それぞれを個別に操作する Manual
モード、２)ビーム入射時もしくは衝突実験時の運転状態によってコリメータヘッドの目標位置を指定しておき、各運転状態になったときに自動でその設定を読み出してモータを動作させる Auto モード、３)Beam Position Monitor(BPM)の測定値から算出したコ
リメータ位置でのビームポジションをもとに、コリメータヘッドの位置とビーム重心位置の距離を一定に保つ機能、がある。ビームポジションを追従する機能については現在仕様取り決め中により処理は未実装である。

そ±100 μm 程度の位置決め精度となった。このため、運転速度が 2 段階に変化するように調整し、目標位置から 500 μm 以内の位置でコリメータが移動する場合は、運転速度を最低速度の 1 Hz に落として運転するようにした。その結果、位置決め精度は±50μm 程度と改善した。次に 1 Hz 運転終了後、現在位置を確認し、目標位置から 25μm 以上離れている場合、再度位置決め運転を実施するように処理を追加した。このフィードバック制御で微調整の運転を行い、位置決め精度は±10 μm 程度まで達成することができた。
現状、このフィードバック制御に加え CSS 画面からのリクエストに対する処理を追加し、コリメータの制御システムは問題なく動作している。

4.

まとめ

MECHATROLINK-III を 採 用 し た こ と で ハ ー ド
ウェア面ではメンテナンス性、拡張性に富んだシステムの構築が実現した。ソフトウェア面でもデバイス・サポートと非同期で実行するドライバ・サポー
トを作成したことでソフトウェア資源の有効活用が出来ている。機能単位でまとまった構成としたことで、不具合発生時の調査や仕様変更があった場合に迅速な対応が可能なシステムが構築された。
この Phase-I で使用する新型水平方向コリメータ２台で得られる経験は、Phase-II までに増設を予定している新型コリメータのソフトウェア設計にも生かすことができる。

参考文献

Figure 8: Control screen of collimator.
3.5

コリメータ制御と位置決め精度バックグラウンドのシミュレーション結果から、SuperKEKB でのコリメータ制御では位置決め精度を±50 μm におさめる必要がある。ソフトウェア実装
当初、デジタルマルチメータでコリメータヘッドの現在位置を計測しながら実施したテストでは、位置決めモジュールのみでの制御をした結果、コリメータの駆動機構に由来した誤差からか、必要な位置決め精度を達成できず、モータの運転方法を調整する必要があった。
まずは、モータの運転速度を 2000 Hz で、目標位置までコリメータを移動させるテスト実施した。
2000 Hz は、従来型コリメータの運転速度をもとに設定したものである。結果、目標位置に対しておよ[1] EPICS, http://www.aps.anl.gov/epics/[2] T.Ishibashi, “SuperKEKB メインリングの真空システム”, http://kds.kek.jp/materialDisplay.py?sessionId=4&mat
erialId=0&confId=18036, 加速器研究施設第４回 研究交流会（2015）.
[3] T.Ishibashi, et al., “DESIGN OF COLLIMATOR FOR
SUPERKEKB POSITRON RING”, Proceedings of the10th Annual Meeting of Particle Accelerator Society ofJapan (2013), Nagoya, Aug.3-5, pp.1191-1195.
[4] MECHATROLINK 協会, http://www.mechatrolink.org/jp/mechatrolink/feature-m3.html[5] Yokogawa Electric Corporation, “PLC(プログラマブルコントローラ)”, http://www.yokogawa.co.jp/itc/itc-indexja.htm[6] Yokogawa Electric Corporation, “e-RT3 CPU モジュール取扱説明書”, “IM34M06M51-31 4th Edition:2015.06.
30-00”.
[7] Yokogawa Electric Corporation, “位置決めモジュール取扱説明書”, “IM34M6H56-01 4th Edition : 2005.12.01-00”.
[8] Yokogawa Electric Corporation, “ハードウェア取扱説明書”, “IM 34M06C11-01 31th Edition : 2015.03.23-00”[9] Agilent Technologies, “Agilent 34970A/34972A データ
収集／スイッチ・ユニット ユーザーズ・ガイド”, 20
12/05/10.
[10] Yokogawa Electric Corporation, “GP-IB 通信モジュール取扱説明書”, “IM 34M6H27-01 3rd Edition : Dec.10.
2004-00”.
[11] ORIENTAL MOTOR Co.,Ltd., “2 相ステッピングモー
ターユニット CMK シリーズ CMK268BP”, https://www.orientalmotor.co.jp/products/detail.action?hinmei=CMK2- 785 -Proceedings of the 12th Annual Meeting of Particle Accelerator Society of Japan
August 5-7, 2015, Tsuruga, JapanPASJ2015 WEP107

68BP&seriesCd=HM00[12] Keysight Technologies, “34970A データ収集／データロガー・スイッチ・ユニット”, http://www.keysight.com/ja/pd-1000001313%3Aepsg%3Apro-pn-34970A/data-ac
quisition-data-logger-switch-unit?cc=JP&lc=jpn[13] Keysight Technologies, “34972A LXI データ収集／データロガー・スイッチ・ユニット”, http://www.keysi
ght.com/ja/pd-1756491-pn-34972A/lxi-data-acquisition-dat
a-logger-switch-unit?nid=-33257.922596.00&cc=JP&lc=jpn[14] ORIENTAL MOTOR Co.,Ltd., “ネットワークコンバー
タ NETC01-M3”, https://www.orientalmotor.co.jp/products/detail.action?hinmei=NETC01-M3[15] ORIENTAL MOTOR Co.,Ltd., “5 相ステッピングモー
ターユニット CRK シリーズ 位置決め機能内蔵タイプ CRK569PMBKD”, https://www.orientalmotor.co.jp/pro
ducts/detail.action?hinmei=CRK569PMBKD[16] Yokogawa Electric Corporation, “位置決めモジュール（MECHATROLINK-Ⅲ通信対応）取扱説明書”, “IM34M06H60-03 2nd Edition : 2014.09.30-00”.
[17] ORIENTAL MOTOR Co.,Ltd., “MECHATROLINK-Ⅲ
対応 NETC01-M3 ユーザーズマニュアル”, “HM-40147-5”.
[18] ORIENTAL MOTOR Co.,Ltd., “5 相ステッピングモー
ターユニット CRK シリーズ位置決め機能内蔵タイプユーザーズマニュアル”, “HM-40088-13”.
[19] Measurement Specialties, “HCA & HCA-RA Series Her
metically Sealed LVDT”, http://www.sensores-de-medida.
es/uploads/hca_ra.pdf[20] Measurement Specialties, “ATA-2001 LVDT Amplifier”,
http://www.sankyointernational.co.jp/sensa/heni/pdf/4th_s
adou_torannsu_ata_2001_series_eng.pdf[21] J.Odagiri, et al., “EPICS ON F3RP61 FOR SUPERKEKB ACCELERATOR CONTROL”, Proceedings of the
11th Annual Meeting of Particle Accelerator Society ofJapan (2014), Aomori, Aug.9-11, pp.785-789.
[22] CSS, http://www.aps.anl.gov/epics/eclipse/- 786 -