Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 設計ガイド(業務設計編)


2.4.2 複数の条件のうち一つが成立したら処理を実行する(ORジョブを使ったジョブネットの定義例)

複数の条件のうち,どれか一つでも成立したら処理を実行させるようなジョブネットの定義には,ORジョブを使用します。

「JP1イベントの受信を10分間監視し,受信したら直ちに後続ジョブを実行させる。ただし,10分間を経過した場合はJP1イベントを受信しなくても,その時点で後続ジョブを実行させる」というジョブネットを,ORジョブを使って定義する例を次の図に示します。

図2‒66 ORジョブを使ったジョブネットの定義例

[図データ]

ORジョブの先行ジョブとして定義できるのは,イベントジョブだけです。この場合,JP1イベントの受信を監視するためJP1イベント受信監視ジョブを定義します。また,10分間という時間経過の監視には実行間隔制御ジョブを使用し,[待ち時間]を「10分」と定義します。

ORジョブの先行ジョブとして定義されたイベントジョブが監視している事象のうちどれか一つでも発生した場合,後続のORジョブが実行され,その他のイベントジョブは監視を打ち切って「計画未実行」状態となります。したがって,この場合はJP1イベント受信監視ジョブで監視しているJP1イベントが受信されると,実行間隔制御ジョブは時間経過の監視を打ち切ります。イベントの受信によって後続ジョブが実行終了すると,そのジョブネットは実行終了となります。

なお,後続ジョブが終了判定する場合のORジョブの戻り値は,実行された先行ジョブであるイベントジョブの戻り値と同じ値になります。

注意事項
  • イベントジョブを実行中止すると,イベントジョブは「未計画」状態となります。そのあと,実行中止したイベントジョブの先行ジョブが終了すると「未計画」状態のイベントジョブは「計画未実行」状態になりますが,その他のイベントジョブが実行中であっても「計画未実行」状態となってしまい,後続のORジョブが実行されるため注意が必要です。

    なお,イベントジョブを強制終了したり,打ち切り時間に到達したりして,イベントジョブが「強制終了」状態,および「異常検出終了」状態に遷移した場合も,その他のイベントジョブは監視を打ち切り,「計画未実行」状態になります。しかし,この場合はORジョブの先行ジョブに異常終了したイベントジョブがあるため,ORジョブは実行されません。

  • ORジョブの先行ジョブとして定義されたイベントジョブまたはその先行ユニットから再実行する場合で,ORジョブの先行ジョブに「計画未実行」状態で終了しているイベントジョブがあると,再実行した直後に,ORジョブが実行されるため注意が必要です。ORジョブの先行ジョブとして定義されたイベントジョブを再実行して再度事象を監視させたい場合は,ORジョブの直前のイベントジョブをすべて「異常検出終了」状態に状態変更したあと,[再実行方法]に[異常終了ジョブから]を指定してルートジョブネットを再実行するなどの対応をしてください。

  • 先行ユニットが実行中などで,関連線に従って,実行できないイベントジョブがある場合,その他のイベントジョブが終了しても,ORジョブの後続ユニットは実行されません。先行ユニットが終了すると,イベントジョブが「計画未実行」状態となり,ORジョブの後続ユニットが実行されます。