wiki:epics/epics/pcie5565/db/error

Version 1 (modified by hig-iitk, 18 months ago) (diff)

--

エラーの監視

longin レコードタイプと組み合わせて、リフレクティブメモリのエラー監視を行う。
Device Type 名は "H/W error"

Synopsis

record(longin, "pv-name") {
    field(DTYP, "H/W error")
    field(SCAN, "I/O Intr")
    field(INP,  "#C<card_number> S @<error_type>[,<severity>]")
}
  • card_number
    The card number designated in argument card in RM5565PciConfigure
  • error_type
    BadData ... Bad Data
    FIFOFull ... RX FIFO Full
    RogueDet ... Rogue Packet Detected and Removed
    FIFOAFull ... RX FIFO Almost Full
    SyncLoss ... Sync Loss
  • severity
    NO_ALARM ... NO_ALARM
    MINOR ... MINOR_ALARM
    MAJOR ... MAJOR_ALARM
    INVALID ... INVALID_ALARM

Usage

record(longin, "RM5565:DEV0:BadData") {
    field(DTYP, "H/W error")
    field(SCAN, "I/O Intr")
    field(INP,  "#C0 S @BadData,MINOR")
        ・
        ・
        ・
}

INP フィールドでカード番号/エラータイプを指定する。
"C" に続く数字(例では '0')でカード番号を、 "@" に続く文字列(例では 'BadData')でエラータイプを指定しておく。
また、',' に続けて Severity (例では 'MINOR') を指定する事も可能である。 Severity 指定は省略も可能で、省略されると 'NO_ALARM' が指定されたのと同様の動作となる。
指定されたエラーが発生すると、VAL が +1 されてレコードがプロセスされる。
この時、 INP での Severity 指定が NO_ALARM 以外だった場合、 レコードは指定された Severity で COMM_ALARM 状態となる。
発生したエラーが解除されると、自動でレコードの Alarm 状態が解除されるが、 VAL の値は保持される。
つまり、IOC 起動後からの累積発生回数を保持するという事である。

$ camonitor RM5565:DEV0:BadData
RM5565:DEV0:BadData   2016-08-30 13:15:52.958786 0
RM5565:DEV0:BadData   2016-08-30 13:17:32.982779 1 COMM MINOR   ← Bad Data エラー発生
RM5565:DEV0:BadData   2016-08-30 13:17:37.674690 1              ← Bad Data エラー解除