eventmonitor.event_receive
イベントを受信します。
[関数名]
event_receive(blocking_flg, timeout = 0)
[引数]
- blocking_flg
-
ブロッキングモードを設定します。
-
eventmonitor.BLOCK_ON:ブロッキングモード
-
eventmonitor.BLOCK_OFF:非ブロッキングモード
-
- timeout
-
ブロッキングモード指定時の受信待ち時間を指定します(単位:秒)。指定できる値の範囲は,0〜86400です。
この引数のデフォルト値は0です。
[戻り値]
- 辞書型
-
- キー値 'result'
-
受信結果を格納します。
-
eventmonitor.OK:成功
-
eventmonitor.TIMEOUT:タイムアウト
-
eventmonitor.NODATA:受信データなし
-
- キー値 'event_type'
-
受信イベント種別を格納します。
-
eventmonitor.CRON_TIMER_EVT:cronタイマ
-
eventmonitor.INTERVAL_TIMER_EVT:intervalタイマ
-
eventmonitor.SYSMSG_EVT:運用メッセージ
-
eventmonitor.NODATA:受信データなし
-
- キー値 'event_id'
-
監視イベントIDを格納します。登録したイベント監視と対応する一意の値です。
- キー値 'add_info' [追加情報部]
-
受信したイベントがeventmonitor.SYSMSG_EVTの場合,契機となった運用メッセージを格納します。
運用メッセージの可変長部データ構造については,「表20‒13 契機となった運用メッセージの可変長部データ構造」を参照してください。
[例外]
例外クラス名 |
説明 |
---|---|
TypeError |
引数の型に誤りがあります。 |
ValueError |
引数に不正な値が指定されています。 |
SystemError |
システムエラーが発生しました。 |
KeyboardInterrupt |
[Ctrl+C]の入力によってコマンドが中断されました。 |
eventmonitor.ReceiveError |
イベント受信に失敗しました。 |
[詳細]
イベントの発生通知を受信します。
引数blocking_flgの設定と引数timeoutの関係を次に示します。
-
BLOCK_OFFを指定した場合,引数timeoutは無視されます。
-
BLOCK_ONを指定した場合,引数timeoutで受信待ち時間を指定します。
-
BLOCK_ONを指定して,引数timeoutに0を指定すると,イベントを受信するまで待ちます。
-
BLOCK_ONかつ引数timeoutに0より大きい値を指定した場合,timeoutで指定した時間内(秒)にイベントが発生しなければ,戻り値の'result'キーにeventmonitor.TIMEOUTが設定されて,関数の呼び出し元に戻ります。
[注意事項]
なし
[備考]
-
契機となった運用メッセージの可変長部データ構造を次に示します。
表20‒13 契機となった運用メッセージの可変長部データ構造 タプル型(アクセス値)
説明
eventmonitor.SYSMSG_TIME
イベント発生時間
"<month>/<day> <hour>:<minute>:<second>"
eventmonitor.SYSMSG_MESSAGE_TYPE
メッセージ種別
文字列が格納されます。
eventmonitor.SYSMSG_SWITCH_NO
スイッチ番号
数値が格納されます。
eventmonitor.SYSMSG_SWITCH_STATUS
スイッチ状態
-
eventmonitor.I:初期状態
-
eventmonitor.M:スタンドアロンまたはマスタ
-
eventmonitor.B:バックアップ
eventmonitor.SYSMSG_EVENT_LEVEL
イベントレベル
2文字の文字列が格納されます。
"E9"〜"E3","R8"〜"R5"
eventmonitor.SYSMSG_EVENT_FUNCTION
イベント発生部位
文字列が格納されます。
eventmonitor.SYSMSG_INTERFACE_ID
イベント発生インタフェース識別子
文字列が格納されます。
eventmonitor.SYSMSG_MSG_ID
メッセージ識別子
数値が格納されます。
eventmonitor.SYSMSG_ADD_HIGH
付加情報上位4桁
数値が格納されます。
eventmonitor.SYSMSG_ADD_LOW
付加情報下位12桁
数値が格納されます。
eventmonitor.SYSMSG_EVT_TEXT
メッセージテキスト
文字列が格納されます。
-