19
1 SAD をををを KEKB をををををををを ををををををを をを ををををををを Y. Ohnishi / KEK September/17/2003 Reference : K. Furukawa / KEK "SAD in Accelerator Operation and Virtual Accelera tor" at J-PARC Commissioning Group Meeting, Oct. 30, 20 02. http://jhfacsv03.kek.jp/doc/report/index.html#linphase-jun03 を 1 を SAD をををををををををををを (AccLab-99-15) をを をを ををを を 1998779 at KEK ををを ををを (、) SAD Home Page : http://acc-physics.kek.jp/SAD /sad.html KBFrame : http://www-kekb.kek.jp/Documentation/ KBFrame/

SAD を用いた KEKB コミッショニング/オペレーション・ソフトウエアの概要

  • Upload
    baakir

  • View
    1.243

  • Download
    1

Embed Size (px)

DESCRIPTION

SAD を用いた KEKB コミッショニング/オペレーション・ソフトウエアの概要. Reference : K. Furukawa / KEK "SAD in Accelerator Operation and Virtual Accelerator" at J-PARC Commissioning Group Meeting, Oct. 30, 2002. http://jhfacsv03.kek.jp/doc/report/index.html#linphase-jun03  第 1 回 SAD ワークショップ講演記録集  (AccLab-99-15) - PowerPoint PPT Presentation

Citation preview

Page 1: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

1

SAD を用いた KEKB コミッショニング/オペレーション・ソフトウエアの概要

Y. Ohnishi / KEKSeptember/17/2003

Reference :  K. Furukawa / KEK

"SAD in Accelerator Operation and Virtual Accelerator"

at J-PARC Commissioning Group Meeting, Oct. 30, 2002.http://jhfacsv03.kek.jp/doc/report/index.html#linphase-jun03

◆ 第 1 回 SAD ワークショップ講演記録集  (AccLab-99-15)1998年7月7日ー9日 at KEK  (但し、絶版)

◆  SAD Home Page: http://acc-physics.kek.jp/SAD/sad.html   KBFrame : http://www-kekb.kek.jp/Documentation/KBFrame/

Page 2: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

2

セミナーに対する要望

• KEKB のコミッショニング、オペレーション一般について。

– 何を見て、何を最適化するか。苦労する点。

• 上記を実現する具体的方法として、 SAD をどのように使っているか。

– 例題があればそのいくつか。

• SAD スクリプトの書き方。

– 要点だけ。いまはなくても、あったらよいと思われる機能など。

Page 3: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

3

電子/陽電子ビーム入射 衝突実験

チューンの電流依存パターン設定パネル

入射制御セプタムでのビーム位置セプタムでのビーム角度キッカーハイトキッカージャンプBT 最後の垂直方向ステアリング

BT 終端部軌道フィードバック

軌道表示と連続 COD 軌道補正/ステアリング パネル

パイロット・バンチ・チューン測定パネル

プログラマブル・チューンチェンジャー/チューン・フィードバック

衝突点軌道フィードバック (iBump)

光干渉計によるビームサイズ測定

ビームサイズ・フィードバック (iSize)

バンチ電流モニター

KEKB オペレーションの概要

LINAC/BT 軌道表示

LINAC オペレーション

KEKB Optics パネル

Adiabatic tuning knobs  IP dispersion/tilt/waist

Sextupole tuning

Page 4: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

4

KEKB コミッショニング/オペレーション

1. オプティクスの計算と設定、保存と呼び出し。2. ビーム軌道の測定と軌道補正、ステアリングの保存と

呼び出し。3. チューンの測定とチューン設定。4. ビーム入射、入射条件の保存と呼び出し。5. ビームの状態と環境の表示及びロギング。

– ビーム電流、ライフ、真空度、機器の温度等– アラーム– 膨大なデータの保存、読み出し、表示(ログ・ブラウザー)

6. オプティクス測定、補正。7. アプリケーションの起動(ランチャー)

• 1ー4は磁石の設定が必須。• データ読み出しと制御は EPICS に頼っている。• インタラクティブ(オンライン解析・制御)

Page 5: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

5

KEKB コミッショニング/オペレーション

• SAD– Mathematica-like language

•基本的にインタープリター( SAD スクリプト)• 演算、リスト操作、ベクトルと行列、数学関数• グラフ表示(強力なツール類)• オブジェクト指向プログラミングも可能。

– Optics 計算• matching / tracking

– EPICS チャンネル・アクセス• CaMonitor / CaRead / CaWrite 等の関数

– GUI (Tk / KBFrame)• Canvas によるグラフィックス表示 / 多彩な部品

Page 6: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

6

具体例 その1

KEKB Task Launcher

•アプリケーションの登録、削除。

•アプリケーションの起動に関してはホストコンピュータを適当に選んでくれる。またユーザーが明示的に指定することもできる。

ソフトウエアーを開発した人やユーザーがコードの在り処を容易に知ることができる。

configure で editを選択すると

オプティクス計算を要しないアプリケーションでも SAD を用いた例

ダブルクリックで起動。

Page 7: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

7

具体例 その2KEKB Optics Panel

Matching を取って Tune を設定する。

オプティクス管理の元締

タブ・フレームの活用

Page 8: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

8

具体例 その3

HER Orbit Correction

ゴールド軌道からの差を表示

軌道補正のための各種パラメータ設定

連続 COD 補正

Page 9: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

9

具体例 その4Tune measurement

tune の絶対値、相対値による設定ができる。

ダンピングを含むベータトロン振動のスペクトラム(複雑な関数)でフィッティング

KEKB Optics panel へチューンの設定命令を送っている。

カーソル・エントリー 矢印キーで数値を変えることができる。 スキャンをする時に便利。

Page 10: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

10

Optimization of betatron tunes

線、玉ころをマウスで掴んで動かせる。

ダブルクリックすると変更専用パネルが出現する。

バインド機能の利用

優れたヴィジュアル操作!

Page 11: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

11

Optics measurement and correction

Interactive procedure ofmeasurement + analysis + correction

Knobs:■ Local bumps at sextupoles■ Fudge factors for quads/skews

dispersion

XY-coupling

beta function

Works very well !

Page 12: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

12

Best luminosity run of the day

Page 13: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

13

≈60m

データ・ログを見る。(ログ・ブラウザー)Circumferences are adjusted by RF frequency with looking at HER orbit.LER has an independent knob to adjust circumference with “Chicane”.Orbit correction (CCC) applies circumference correction simultaneously.

Typhoon #21 (970 hPa)(9 p.m. October 1, 2002)

Atmospheric pressure

RF frequency

Extension about 300m (-50 Hz).

Extension of the circumference

ΔCC= −Δf

f

ΔCC=α

Δp

p=α

x

ηBending angle of the chicane(LER circumference adjustment w/o RF frequency)

measurementknob

This behavior is consistent with tidal effect. We observe tidal effect by ground motion ??

Shrink

ログ・ブラウザーの使用例

Page 14: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

14

SAD/KBFrame

FFS;w=KBMainFrame["Ex1",f,Title->"Example 1"];TkWait[];

あらかじめ必要なものは用意されている。

スクリーンの印刷、イメージとして保存*をするボタン。( KEKB コントロール棟用に設定している。)

アプリケーション間の切り替え等の共通機能共通の look & feel部品の配列の簡単化

progress bar(タスクの進行状況を表現できる)status line

(コメントを表示できる)

menu ボタンの追加が可能

*イメージはウエブ・ブラウザーで閲覧。 イメージはシフトレポート等へ貼付ける。 レポートには PowerPoint を使用。

例題は KBFrame マニュアルにあります。

Help メニュー ( または KEKB ロゴ)の中に"About Example 1" というメニューボタンに制作者氏名、連絡先等を記述しておくと便利かも。w[AboutMessage]="Example 1 ver. 1.0\n Y. Ohnishi";

Page 15: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

15

スクリーン・ショットの閲覧K. Furukawa / N. Yamamoto

Page 16: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

16

SAD/KBFrame (cont'd)

FFS;w=KBMainFrame["CompArr",f,Title->"Arrange Component Test"];s="initial string"; n=1; c=1; r=1; o=1; l=1;cf=KBFComponentFrame[f, Add->{ KBFGroup[Text->"Group1"], KBFText[Text->"Examples of Component Arrangement"], KBFString[Text->"String Input :",Variable:>s], KBFNumber[Text->"Number Input :",Variable:>n], KBFCheckButton[Text->"Check",Variable:>c], KBFRadioButton[Items->{"Radio 1","Radio 2"},Variable:>r], KBFOptionMenu[Items->{"Option 1","Option 2","Option 3"},Variable:>o], KBFListBox[Items->{"List 1","List 2","List 3","List 4"},Variable:>l], KBFSeparator[], KBFButton[Text->"File",Command:>( fileName=KBFOpenDialog["/ldata/KEKB/KCG","*"]; If[fileName<=>Null,Print["Open file is "//fileName]]; )] } ];TkWait[];

部品の配置の例

Page 17: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

17

SAD/KBFrame (cont'd)

FFS;main=KBMainFrame["KEKB Temperature",mf, Title->"KEKB Temperature"];

Canv=Canvas[mf,Height->400,Width->600,BG->"white"];

CaTemp=CaMonitor["CO_KIKAI:ANK331", ValueCommand:>ReadTemp[]];

data={};ReadTemp[]:=Module[{g}, Canvas$Widget=Canv; AppendTo[data,{FromDate[Date[]],CaTemp@Value[]}]; Tnow=data[[-1,1]]; g=ListPlot[data, FrameLabel->{"","Temp (deg.)"}, Scale->{Date,Linear}, PlotRange->{{Tnow-3600,Tnow},{0,30}}, Plot->1,PlotJoined->1, PlotColor->"blue",PointColor->"blue", GridLines->{Automatic,Automatic}, DisplayFunction->Identity]; Show[g]; If[data[[1,1]]<Tnow-3600,data=Drop[data,1]]; ];

TkWait[];

EPICS レコードをモニターしている例。ValueCommand はレコードの値が更新されるとコマンド( ReadTemp[] )を発行する。

ListPlotの例

その他に ColumnPlot 、 FitPlot 等

Page 18: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

18

SAD/KBFrame (cont'd)FFS;main=KBMainFrame["Example",mf,Title->"Example"];

Bpm=Class[{},{},{ RecName,CaBpm,X=0.0,Y=0.0,Status=0, Xlist={},Ylist={},Nmax=100 }, Constructor[]:=Module[{rec}, rec=Map[(RecName//#)&,{":XPOS",":YPOS",":STAT"}]; CaBpm=CaMonitor[rec,ValueCommand:>( {X,Y,Status}=CaBpm@Value[]; If[Status, AppendTo[Xlist,X]; AppendTo[Xlist,Y]; ]; If[Length[Xlist]>Nmax, Xlist=Drop[Xlist,1]; Ylist=Drop[Ylist,1]; ]; )]; TkSense[1]; ]; FFT[]:=Module[{}, fftx=Abs[Fourier[Xlist]]; ffty=Abs[Fourier[Ylist]]; Return[{fftx,ffty}]; ]; ];bpm1=Bpm[RecName->"BMLBPM:D01_QCSLP"];bpm2=Bpm[RecName->"BMLBPM:D01_QC3LP"];TkWait[];

> bpm1@X> 1.8> bpm1@Xlist> {1.8,2.3,1.5}> bpm1@FFT[]> {{….},{….}}コンストラクター:

  パラメータの初期化、   EPICS の接続等

クラス変数

アクション(作用)の定義

オブジェクトの作成 コンストラクターが 1 度だけ呼ばれる。

クラスの定義

実行させると。。。

オブジェクト指向プログラムの例

Page 19: SAD を用いた KEKB  コミッショニング/オペレーション・ソフトウエアの概要

19

まとめ(個人的意見含む)

• KEKB では MEDM 、 Python 、 SAD 、 Tcl 等が使用されているが、 SAD を使った KEKB のコミッショニング/オペレーション・ソフトウエアを紹介。あくまでも KEKB に対応するものであることに注意。ただし、環境変数を変更すれば流用できるものがあると思う。

• J-PARC の運転形態/ビームの特性に適したソフトウエアを構築する必要がある。 SAD を使うにしてもカスタマイズ(かなりの努力)はある程度必要。

• SAD について OS は unix 系に限られている。パフォーマンスはチューニングの余地がまだある。マニュアルの整備が不十分。– マニュアルが不十分な点については「 Author が近くにいる」と

いうことでカバーされてきた。