== リフレクティブメモリネットワーク割り込みの受信 == intrx レコードタイプと組み合わせて、 Network-Interrupt の受信を行う。 [[br]] Device Type 名は "'''intrx5565'''" '''Synopsis''' {{{ record(intrx, "pv-name") { field(DTYP, "intrx5565") field(SCAN, "I/O Intr") field(INP, "#C S @") field(SNAM, "") } }}} * '''card_number'''[[br]]The card number designated in argument ''card'' in RM5565Configure[[br]] * '''int_type'''[[br]]Network-Interrupt type[[br]]1 ... Type 1 Network-Interrupt[[br]]2 ... Type 2 Network-Interrupt[[br]]3 ... Type 3 Network-Interrupt[[br]]4 ... Type 4 Network-Interrupt * '''subroutine_name'''[[br]]Network-Interrupt 発生時に呼び出す関数名 '''Usage''' {{{ record(intrx, "RM5565:DEV0:INT1:RX") { field(DTYP, "intrx5565") field(SCAN, "I/O Intr") field(INP, "#C0 S1 @") field(SNAM, "int1func") ・ ・ ・ } }}} INP フィールドでカード番号/Network-Interrupt Type を指定する。 [[br]] "C" に続く数字 (例では '0') でカード番号を、 "S" に続く数字 (例では '1') で Network-Interrupt Type を指定しておく。 [[br]] 他ノードから自ノードに対して指定した Network-Interrupt が送信されるとレコードがプロセスされる。 [[br]] その際、下記フィールドには以下の値がセットされる。 [[br]] ||Field||セットされる値 || ||NID ||Network-Interrupt を送信したノードのID|| ||VAL ||Network-Interrupt Data || また、フィールド SNAM で指定されたサブルーチン(例では int1func)がコールされる。 [[br]] 関数側の記述例は下記の通り。 {{{ void int1func(struct intrxRecord *prec) { ・ ・ ・ } epicsRegisterFunction(int1func); }}}