= CSS !SaveRestore = CSS 上でEPICS Recordの一括設定/保存をするためのプログラム。[[br]] cERLの電磁石設定を一括で行うために作成したが、設定ファイルさえ換えれば色々な場面で使用できる汎用的なものになっている。[[br]] CSSにもpvtableというプログラムが入っているが、保存するとデータが上書きされてしまったり、別名で保存してもNavigator上から見えるファイルにしか対応していない等の問題があるため、このプログラムを作成した。 == 動作環境 == CSS 3.2.16.x上のみで動作する。これ以外のバージョンでは改造が必要[[br]] 一応、Windowsとlinux上では動作確認しているが、Macでは未確認。[[br]] IOCは不要。[[br]] == 使い方 == === ダウンロード === 以下のファイルをダウンロード。 [http://cerldev.kek.jp/css/app/CSS_SaveRestore_20170530.zip CSS_SaveRestore_20170530.zip] === インストール === 1. CSSを起動して、適当なディレクトリを選択してから、右クリック又はメインメニューの{{{File->Import}}}を選択。 1. Import dialogが表示されたら、{{{General->Archive File}}}を選択して{{{Next}}} 1. {{{From archive file:}}}にダウンロードしたファイル名を設定し、{{{Finish}}} {{{Navigator}}}に{{{CSS SaveRestore}}}が表示されればインストール終了。 === 設定ファイル === 設定ファイルは、css-pvtable形式と、CSS SaveRestoreが出力するファイルに対応している。[[br]] 出力ファイルのフォーマットは、スペース区切りのCSV形式で、 * "#"以降がコメント * 最初の3行が付加情報(なくてもOK) * 1列目が設定レコード、2列目がモニターレコード、3列目が設定値、4列目がモニター値 {{{ # date: 2013/12/19 19:54:55 # comment: # author: CERL:MAG:YKGW5_DAC:Slot2_Ch1_wr CERL:MAG:YKGW5_ADC:Slot3_Ch1_rd 5.910 5.925000000000001 CERL:MAG:YKGW5_DAC:Slot2_Ch2_wr CERL:MAG:YKGW5_ADC:Slot3_Ch2_rd 4.970 4.95 CERL:MAG:YKGW5_DAC:Slot2_Ch3_wr CERL:MAG:YKGW5_ADC:Slot3_Ch3_rd -1.490 -1.4625000000000001 : }}} 設定ファイルを作る時には、1,2列目のみを列挙したファイルを作成すればいい。[[br]] もし、モニター値がない場合には、1列目だけでもよい。[[br]] 参考として、cERLで初期の頃使っていた設定ファイルを{{{CSS SaveRestore->conf}}}に入れておく。[[br]] 作成した設定ファイルは、保存するディレクトリに置いておき、ひな型として使用する。'''ディレクトリはOSからアクセスできればどこでもよく、CSSのnavigator上に置く必要はない。'''[[br]] === 実行 === {{{CSS SaveRestore->SaveRestoreMain.opi}}}を実行。以下の画面が表示される。[[br]] [[Image(saverestoremain.png,300)]] 画面右上の{{{...}}}を押下し、ファイル選択ダイアログを表示。保存しておいた設定ファイルを選択する。[[br]] 設定ファイルのレコード名が正しければ、{{{Current}}}と{{{Monitor}}}に現在値が表示されているはずである。[[br]] もし、{{{Disconnect}}}と表示されている場合には、設定ファイルのレコード名、{{{ADDR_LIST}}}の設定、IOCが起動していない等を確認する。[[br]] [[Image(saverestore_load.png,300)]] * {{{Snap Val}}}は、ファイルに保存してある設定値 * {{{Current}}}は、現在の設定値 * {{{Current-Snap}}}は、ファイルに保存してある値と現在の設定値に差異があると赤文字になるので、どこが変わっているかを判別するのに便利である。[[br]] * {{{Sanp Moni}}}は、ファイルに保存してあるモニター値 * {{{Monitor}}}は、現在のモニター値 * {{{Monitor-Snap}}}は、モニター値の差異 === ファイルへの保存 === ファイルへの保存は、{{{Save}}}ボタンを押下することで実行される。[[br]] 実際には、ファイル保存する前に{{{Comment}}}と{{{Author}}}を記入したほうが、後日{{{Restore}}}する際の参考になる。[[br]] {{{Save}}}ボタンを押下すると、設定ファイルを保存してあるディレクトリに、現在日付のファイル{{{(YYYYMMDD_HHMMSS.log)}}}が作成される。[[br]] 作成したファイル名はコンソール画面に出力されるので、実験ノート等にメモしておくといい。[[br]] ファイル作成後にその保存ファイルが自動的に読み出され、SaveRestoreの画面に反映される。[[br]] === ファイルからのリストア === 以前保存しておいた設定を反映させたい場合に使用する。[[br]] 設定したいデータファイルをロードし、{{{Restore}}}ボタンを押下すると確認ダイアログが表示されるので、問題なければOKを選択して、設定を反映させる。[[br]] この操作は、'''場合によっては非常に危険なこともある'''ので、十分注意すること。 === 検索(search) === 設定してあるレコード数が多くなってくると、一部のレコードだけ見たい場合が出てくる。[[br]] {{{search}}}機能は、レコード名の一部を入力すると、その文字列を含んだレコードだけを表示するようになる。(正規表現等の高度な検索はできない)[[br]] また、{{{sort}}}で並び順を逆転することも可能となっている。[[br]] この状態で{{{Save}}}や{{{Restore}}}を実行しても、表示されているレコードのみ設定されることなく、表示されていないレコードも設定される。