下図のジョブネットワーク「JNW_WAIT」ではジョブ待ち合わせ部品により単位ジョブ「JNW1:JNW2:JOB1」の実行後に単位ジョブ「JOB2」を実行するよう設定しています。
(ジョブネットワークは以降ではJNWと表記します)
しかし、「JNW1:JNW2:JOB1」が終了していないにも関わらず「JOB2」が実行されてしまいました。
この事象が発生した原因および回避方法を教えてください。
なお、今までは同じ設定で待ち合わせを行っていました。
本件ではジョブ待ち合わせ部品において、待ち合わせ対象を「JNW1:JNW2:JOB1」と指定しています。
これは同じJNWに所属する単位ジョブを待ち合わせる場合の指定方法です。
しかし、「JNW1:JNW2:JOB1」は待ち合わせを行うJNW「JNW_WAIT」に所属しておりません。
このように待ち合わせ対象が存在しない場合は、待ち合わせを行わない仕様になっています。
ただし、今までは同じ指定で待ち合わせを行っていたとのことです。
この点については、以下の3つの条件を全て満たす場合に、誤って待ち合わせてしまうことが判明しています。
1. ジョブ待ち合わせ部品で、待ち合わせ対象とする単位ジョブの指定方法が誤っている
(他のJNWに所属する単位ジョブを指定したつもりが、同じJNWに所属する単位ジョブ(実際には存在しない)を指定してしまっている)
2. 待つ側のJNWと待たれる側のJNWの投入予定時刻が同一である
3. 待たれる側のJNWのトラッカが先に予定確定状態になる
※予定状態のトラッカに対して保留やスキップ等の操作を行った場合、その時点で予定確定状態になる。
これらの操作を行わない場合は予定開始時刻を迎えた瞬間に予定確定状態になる。
今までは上記1.~3.の条件を全て満たしていたため、誤って待ち合わせを行っていました。
しかし、事象発生時は待つ側(JNW_WAIT)の部品をスキップしたため、このタイミングでトラッカが予定確定状態になりました。この結果、待つ側のトラッカが先に予定確定状態になり上記3.の条件を満たさなかったため、仕様通りの動作となり、待ち合わせを行いませんでした。
待つ側のJNWに所属していないジョブを待ち合わせる場合は「:ユーザ名:JNW名:部品名」のように指定してください。
ジョブ待ち合わせ部品の指定方法についての詳細は「基本操作ガイド」の「4.4.2.2. ジョブ待ち合わせ部品が所属するジョブネットワークまたはサブジョブネットワーク以外のジョブネットワーク、および他ユーザのジョブネットワーク中の単位ジョブの待ち合わせ」(※)を参照してください。
(※章番号はR16.1の場合。バージョンによって多少前後する可能性があります。)