コンテンツにスキップ

コントロールジョブ状態モデル(SEMI E94)

1. 概要

コントロールジョブ(CJ)状態モデルは、SEMI E94(コントロールジョブ管理)で規定されているコントロールジョブのライフサイクルを定義します。コントロールジョブは、1つ以上のプロセスジョブを管理し、スケジューリング制御を提供する上位レベルのジョブです。

2. コントロールジョブ vs プロセスジョブ

観点 コントロールジョブ(E94) プロセスジョブ(E40)
レベル 上位(スケジューリング) 下位(実行)
範囲 複数のPJ 単一レシピ実行
目的 スケジューリング、グループ化 実処理
含有 1..n プロセスジョブ 基板

3. コントロールジョブ状態図

stateDiagram-v2 [*] --> QUEUED: Create Job QUEUED --> SELECTED: Select command QUEUED --> [*]: Delete SELECTED --> EXECUTING: Start / Auto-start SELECTED --> QUEUED: Deselect SELECTED --> [*]: Delete EXECUTING --> PAUSED: Pause command EXECUTING --> COMPLETED: All PJs complete EXECUTING --> WAITING_FOR_START: Hold PAUSED --> EXECUTING: Resume command PAUSED --> WAITING_FOR_START: Hold WAITING_FOR_START --> EXECUTING: Start command WAITING_FOR_START --> PAUSED: Pause COMPLETED --> [*]: Job removed

4. 状態定義

状態 説明
QUEUED ジョブ作成済みだが実行選択されていない
SELECTED ジョブ選択済み、開始準備完了
WAITING_FOR_START ジョブ保留中、明示的な開始待ち
EXECUTING ジョブ実行中(プロセスジョブ実行中)
PAUSED ジョブ実行一時停止中
COMPLETED 全プロセスジョブ完了

5. 遷移表

# 遷移前状態 トリガー 遷移後状態 アクション
1 - CJCreate QUEUED ジョブインスタンス作成
2 QUEUED CJSelect SELECTED 実行選択
3 QUEUED CJDelete (削除) ジョブ削除
4 SELECTED CJStart EXECUTING プロセスジョブ開始
5 SELECTED Auto-start EXECUTING 自動開始
6 SELECTED CJDeselect QUEUED ジョブ選択解除
7 SELECTED CJDelete (削除) ジョブ削除
8 EXECUTING CJPause PAUSED 処理一時停止
9 EXECUTING All PJs done COMPLETED ジョブ完了
10 EXECUTING CJHold WAITING_FOR_START 実行保留
11 PAUSED CJResume EXECUTING 処理再開
12 PAUSED CJHold WAITING_FOR_START 実行保留
13 WAITING_FOR_START CJStart EXECUTING 実行再開
14 WAITING_FOR_START CJPause PAUSED ジョブ一時停止

6. コントロールジョブ属性

属性 説明
CJObjID A 一意のコントロールジョブ識別子
CJState U1 現在の状態値
ProcessingCtrlSpec L 処理制御仕様
PRJobList L 含有プロセスジョブIDリスト
StartMethod U1 手動/自動開始
DataCollectionPlan A 関連データ収集計画
MtrlOutSpec L 材料出力仕様

6.1 コントロールジョブ状態値

状態
1 QUEUED
2 SELECTED
3 WAITING_FOR_START
4 EXECUTING
5 PAUSED
6 COMPLETED

7. CJ-PJ 関係

flowchart TD subgraph ControlJob["Control Job: CJ001"] CJS[State: EXECUTING] end subgraph ProcessJobs["Process Jobs"] PJ1[PJ001<br/>PROCESSING] PJ2[PJ002<br/>QUEUED] PJ3[PJ003<br/>QUEUED] end ControlJob --> PJ1 ControlJob --> PJ2 ControlJob --> PJ3

8. 関連メッセージ

メッセージ 方向 説明
S14F9 H→E CJCreate - コントロールジョブ作成
S14F10 E→H CJCreate 確認応答
S14F1 H→E CJGetAttr - ジョブ属性取得
S14F2 E→H CJGetAttr データ
S14F3 H→E CJCmd - コントロールジョブコマンド
S14F4 E→H CJCmd 確認応答

8.1 S14F9 - CJCreate

構造:

S14F9 W
<L[n]
  <OBJSPEC>            // オブジェクト指定子
  <L[m]                // 属性
    <L[2]
      <ATTRID>
      <ATTRDATA>
    >
    ...
  >
>

8.2 S14F3 - CJCmd(コントロールジョブコマンド)

構造:

S14F3 W
<L[n]
  <CJCMD>              // コマンド
  <L[m]                // ジョブリスト
    <CJOBJID>
    ...
  >
  <L[k]                // パラメータ
    ...
  >
>

CJCMD値:

コマンド 説明
1 SELECT 実行ジョブ選択
2 DESELECT ジョブ選択解除
3 START ジョブ実行開始
4 PAUSE ジョブ一時停止
5 RESUME ジョブ再開
6 ABORT ジョブ中止
7 STOP 安全ポイントでジョブ停止
8 DELETE ジョブ削除
9 HOLD ジョブ保留

9. コントロールジョブ実行シーケンス

sequenceDiagram participant Host participant Equipment Host->>Equipment: S14F9 W (CJCreate) Note right of Host: CJObjID="CJ001"<br/>ProcessJobs=[PJ001, PJ002] Equipment-->>Host: S14F10 (Success) Note over Equipment: CJ状態:QUEUED Host->>Equipment: S14F3 W (SELECT) Equipment-->>Host: S14F4 (Success) Note over Equipment: CJ状態:SELECTED Host->>Equipment: S14F3 W (START) Equipment-->>Host: S14F4 (Success) Note over Equipment: CJ状態:EXECUTING Note over Equipment: PJ001開始 Equipment->>Host: S6F11 (PRJobStarted) Host-->>Equipment: S6F12 Note over Equipment: PJ001完了、PJ002開始 Equipment->>Host: S6F11 (PRJobComplete) Host-->>Equipment: S6F12 Note over Equipment: PJ002完了 Equipment->>Host: S6F11 (PRJobComplete) Host-->>Equipment: S6F12 Note over Equipment: CJ状態:COMPLETED Equipment->>Host: S6F11 (CJComplete) Host-->>Equipment: S6F12

10. ジョブスケジューリング

10.1 優先度

コントロールジョブにはスケジューリング用の優先度を割り当てられます:

優先度 説明
1 最高優先度
2-9 通常優先度
10 最低優先度

10.2 キュー管理

コマンド 効果
SELECT QUEUEDからSELECTEDへ移動
DESELECT SELECTEDからQUEUEDへ移動
Move Up キュー優先度上昇
Move Down キュー優先度下降

11. 関連収集イベント

CEID 名前 説明
[8001] CJCreated コントロールジョブ作成
[8002] CJStateChange コントロールジョブ状態変更
[8003] CJSelected コントロールジョブ選択
[8004] CJStarted コントロールジョブ開始
[8005] CJCompleted コントロールジョブ完了
[8006] CJPaused コントロールジョブ一時停止
[8007] CJResumed コントロールジョブ再開
[8008] CJAborted コントロールジョブ中止

12. 関連状態変数

SVID 名前 説明
[8001] ActiveCJCount U2 アクティブなコントロールジョブ数
[8002] SelectedCJID A 現在選択中のコントロールジョブ
[8003] ExecutingCJID A 現在実行中のコントロールジョブ

13. エラー処理

エラー条件 応答
無効なジョブID OBJACKエラー
コマンドに対する不正状態 S14F4 エラー付き
PJ作成失敗 CJ作成失敗
キュー満杯 S14F10 エラー付き