Changes between Version 3 and Version 4 of epics/saverestore


Ignore:
Timestamp:
12/09/15 23:58:14 (9 years ago)
Author:
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