KEKB: An Asymmetric Electron-Positron Collider for B-Factory in KEK


EPICS 3.12からEPICS 3.12.2への移行について

KEKB加速器制御グループ

山本昇   

1)この文書の目的

これまで、KEKB制御グループが使用してきたEPICSはLANLのBob Dalesio氏がインストールし、 Jiri Navratil氏が主に整備してくださったEPICS3.12beta?である。3.12 の正式リリース後KEKB制御グループの環境に正式release版を整備してきたが、AR運転の最中ということもあり正式リリース版への移行が遅れていた。この文書ではEPICS 3.12.betaを用いて開発したEPICSアプリケーションをEPICS 3.12.2へ移行するための手順を説明する。

2)移行の前に、

移行に先立ち、すべてのバイナリ形式のEPICSデータベース ファイルは(.databaseファイル)はASCIIフォーマットのファイルに変換しておく必要がある。 3.13 以前のEPICSでは、バイナリ形式のファイルはdefault.dctsdrファイルの情報を含んでおりデータベースをIOCにロードする際にデータベースとdefualt.dctsdrとの一貫性をチェックしている。EPICSバージョンの移行作業ではこの一貫性が失われることがあるために、バイナリ形式ファイルからASCIIファイル形式に変換しておく。変換は、.databaseのあるディレクトリで、

をHPのWS上で実行する。データベース名は.databaseファイルのファイル名の内、末尾の.databaseを除いた部分である。

3)3.12.2への移行

EPICS3.12betaからEPICS 3.12.2への移行は、四つの段階に分けられる。

  1. WS上でEPICS アプリケーション開発を行うのための環境設定の移行。
  2. IOCのbootパラメータの変更
  3. C/SNLプログラムの再コンパイル
  4. EPICS データベース ファイルの移行

である。

3-1)WS上の環境設定

 EPICSをWS上で利用するためのさまざまな設定は、EPICSシステムに用意されているrc.epicsApplファイルを読み込むことで自動的に行うことができる。このためには、各ユーザのホームディレクトリにある、.cshrcファイルに次の二行を追加する。

setenv EPICS /cont/epics/R312/epics
source $EPICS/../sae/rc.epicsAppl

また、saesetupで作成したディレクトリ構造を新しいバージョンに移行する必要がある、このためには、それぞれのEPICS_applicationディレクトリで、baseを新しいバージョンのベースをさすように変更する。次の二つのコマンドを実行することで、baseは新しいバージョンのbaseを指すようになる。

rm ./base
ln -s $EPICS/base ./base

また、templates等のリンクも同様に変更する。

EPICS3.12.2ではIOC上のターゲットとして、frc40とmv167が別のものとして現れるが、実際には生成されるコードはいまのところ同じである。objmv167ディレクトリを使用してきたユーザは当面そのディレクトリを使うことができる。

3-2)IOC上のbootParameterの変更

EPICSの3.12.2はIOC上で稼働するOSであるVxWorksのバージョン5.2をベースにしている。従ってIOCがブート時にロードするOSをこれまでのOS(5.1)から5.2に移行する必要がある。 ブート時のパラメータを変更するには、VxWorks のbootChangeコマンドを使う。以下にbootChangeによる、パラメータの表示例を示す。

-> bootChange
'.' = clear field; '-' = go to previous field; ^D = quit
boot device :
ln processor number : 0
host name : ahsad1
file name : /cont/VxWorks/vw/config/frc40/vxWorks
inet on ethernet (e) : 192.153.11x.xx:ffffff00
inet on backplane (b):
host inet (h) : 192.153.110.33
gateway inet (g) : 192.153.111.32
user (u) : epics
ftp password (pw) (blank = use rsh):
flags (f) : 0x0
target name (tn) : vmebf11
startup script (s) : /users/CarRanger/epics_appl/startup.RVrobo
other (o) :
value = 0 = 0x0

 OSのブートイメージのファイル(file name: フィールド)をVxWorks5.2のイメージである

/cont/VxWorks/vw/config/frc40/vxWorks

に変更します。

3-3)C/SNLプログラムの再コンパイルおよびdefault.dctsdrの再構築

WS上の環境設定が終われば、objmv167/あるいはobjfrc40/ディレクトリでmakeを実行しロードモジュールを作り直します。必要に応じて、startupスクリプトの中身をかえます。

また、default.dctsdrを新しいバージョンに適合させるために、

コマンドをepics_appl ディレクトリで実行し、default.dctsdrを再構築します。


3-4)EPICS データベース ファイルの移行

EPICS3.12.2以降では、IOCにデータベースをダウンロードする際には、新しいASCII形式のデータベースファイル、.dbファイル、をdbLoadRecordsあるいはdbLoadTemplateを使ってダウンロードすることが推奨されています。dbファイルをつくるには、dct2dbコマンドで、.databaseファイルから変換する、srファイルから、sf2dbコマンドを用いるあるいは、.edfファイルからe2dbファイルをもちいて変換します。このために、

                

Return to KEK Accelerator Research Home Page
Return to KEK Accelerator Research Home Page
This page is created and maintained by
Noboru Yamamoto
created on Aug. 22, 1996