Changes between Version 3 and Version 4 of epics/saverestore


Ignore:
Timestamp:
12/09/15 23:58:14 (9 years ago)
Author:
Takashi Obina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/saverestore

    v3 v4  
    3636   }}}
    3737
    38 == 実行例1:saveせず、単に初期値を設定したいとき ==
     38== 実行例1:saveせず、単に初期値を設定したいときのやりかた ==
    3939iocBoot ディレクトリでの作業
    4040
     
    4242   {{{
    4343   .... (snip) ....
     44
    4445   dbLoadRecords "db/wf1.db"
    4546   ...
     
    4950   cd ${TOP}/iocBoot/${IOC}
    5051   iocInit
     52
    5153   .... (snip) ....
    5254   }}}
    5355
    54  * 同じディレクトリに auto.sav というファイルを作成する。中身は1行のみで
     56 * 同じディレクトリに auto.sav というファイルを作成する。レコード名と値のリスト、最終行に<END>と記載する。(フォーマットの詳細は公式ドキュメント参照)
    5557   {{{
    5658   obina:wf1 @array@ { "1" "2" "3" "4" "5" }
     59   <END>
    5760   }}}
    5861 * ioc実行(st.cmd)
     
    8891各種パラメータの詳細は本家のwebページを参照してください。デバッグメッセージの on/off など、いろいろと設定可能です。
    8992
     93== 実行例2:IOC再起動時に元の値を書き戻すやりかた。これが通常の使い方 ==
     94例として ai レコードを3個用意する(obina:ai1, :ai2, :ai3)[[br]]
     95
     96iocBoot ディレクトリでの作業
     97 * 保存したいレコード名を記載した request ファイルを作成
     98   {{{
     99   [obina@erlserv iocsrtest]$ cat test1.req
     100   obina:ai1.VAL
     101   obina:ai2.VAL
     102   obina:ai3.VAL
     103   }}}
     104 * st.cmd ファイル
     105   {{{
     106   .....
     107
     108   dbLoadRecords "db/ai_sample.db"
     109   # for autosave
     110   set_requestfile_path("$(TOP)/iocBoot/$(IOC)", "")  # saveファイルの場所を指定
     111   save_restoreSet_DatedBackupFiles(1)                # バックアップファイル作成(日付ごと)
     112   set_pass0_restoreFile("test1.sav")                 # restore ファイル指定
     113
     114   cd ${TOP}/iocBoot/${IOC}
     115   iocInit
     116
     117   # start monitor for save/restore                   # iocInit の後に記載する
     118   create_monitor_set("test1.req", 10)                # requestファイルに記載のレコードをモニター開始。変化があればファイル保存(10秒ごと)。
     119   }}}
     120
     121
     122set_pass0_restore を使うのか _pass1_ を使うのか(あるいは両方)は目的によって異る。また、databaseファイルで PINI=YES/NO の違いもある。
     123このサンプルで色々試してみると動作を理解しやすいかもしれない。
     124
     125 * create_monitor_set を実行すると .sav ファイルが作成される。中身は今回の例だと以下のようになる。
     126   {{{
     127   [obina@erlserv iocsrtest]$ cat test1.sav
     128   # autosave R5.3 Automatically generated - DO NOT MODIFY - 151209-184538
     129   obina:ai1.VAL 3.4567
     130   obina:ai2.VAL 1.2345
     131   obina:ai3.VAL 7.65432
     132   <END>
     133   }}}
     134