= IOC上でtimestampレコード = IOC上でタイムスタンプレコードを作成する方法について(三菱SC中村氏、帯名など) {{{ record(stringin, "$(user):timestamp") { field(DESC, "Current time and date") field(DTYP, "Soft Timestamp") field(INP, "@%Y-%m-%d %H:%M:%S.%03f") field(SCAN, "1 second") } }}} 上記の例のように、DTYP フィールド を "Soft Timestamp" とします。 INP フィールドに表示したい時刻の書式を指定します。 (一般的な strftime の書式が使えると思います) SCAN フィールドに "1 second" を指定すれば、毎秒更新のタイムスタンプのレ コードとなります。 追記:マクロ展開について [[br]] 上の例を記述したファイルを、例えばts.dbというファイルに保存したとすれば、 {{{ dbLoadRecords("db/ts.db","user=iocname") }}} と記述すれば、実行時に展開されて iocname:timestamp というレコード名になる。 = レコードが更新された時刻を知りたい = 2024/11/08追記。もともとあるIOCの中ではなく、別のIOCからレコードが更新された 時刻を確認したいときは TSEL というフィールドが活用できます。 以下のようなレコードをつくれば、指定したPVのタイムスタンプを 文字列として取得できます。 {{{ record(stringin, "${user}:ts") { field(TSEL, "${target_pv_name}.TIME CP") field(INP, "@%Y-%m-%d %H:%M:%S.%03f") } }}} 詳細は https://epics-base.github.io/epics-base/dbCommonRecord.html の"Miscellaneous Fields" → TSEL を参照。