プロセスジョブ状態モデル(SEMI E40)
1. 概要
プロセスジョブ(PJ)状態モデルは、SEMI E40(プロセスジョブ管理)で規定されているプロセスジョブのライフサイクルを定義します。プロセスジョブは、特定のレシピを使用して特定の基板を処理する要求を表します。
2. プロセスジョブ状態図
stateDiagram-v2
[*] --> QUEUED: Create Job
QUEUED --> SETTING_UP: Start command
QUEUED --> [*]: Abort / Cancel
SETTING_UP --> WAITING_FOR_START: Setup complete
SETTING_UP --> PROCESSING: Auto-start
SETTING_UP --> ABORTING: Abort command
SETTING_UP --> QUEUED: Setup failed
WAITING_FOR_START --> PROCESSING: Start command
WAITING_FOR_START --> ABORTING: Abort command
PROCESSING --> PROCESS_COMPLETE: All substrates done
PROCESSING --> PAUSING: Pause command
PROCESSING --> ABORTING: Abort command
PROCESSING --> STOPPING: Stop command
PAUSING --> PAUSED: Pause complete
PAUSED --> PROCESSING: Resume command
PAUSED --> ABORTING: Abort command
STOPPING --> QUEUED: Stop complete
ABORTING --> QUEUED: Abort complete (partial)
ABORTING --> [*]: Abort complete (full)
PROCESS_COMPLETE --> [*]: Job removed
3. 状態定義
| 状態 |
説明 |
| QUEUED |
ジョブ作成済み、開始待ち |
| SETTING_UP |
ジョブ準備中(レシピロード、リソース予約) |
| WAITING_FOR_START |
セットアップ完了、明示的な開始待ち |
| PROCESSING |
ジョブが基板を処理中 |
| PAUSING |
ジョブが一時停止状態へ遷移中 |
| PAUSED |
ジョブ一時停止中、再開または中止可能 |
| PROCESS_COMPLETE |
全基板の処理完了 |
| STOPPING |
ジョブが安全ポイントで停止中 |
| ABORTING |
ジョブ中止中 |
4. 遷移表
| # |
遷移前状態 |
トリガー |
遷移後状態 |
アクション |
| 1 |
- |
PRCreateJob |
QUEUED |
ジョブインスタンス作成 |
| 2 |
QUEUED |
PRStart |
SETTING_UP |
セットアップ開始 |
| 3 |
QUEUED |
PRAbort |
(削除) |
ジョブ削除 |
| 4 |
SETTING_UP |
Setup done |
WAITING_FOR_START |
開始待ち |
| 5 |
SETTING_UP |
Auto-start |
PROCESSING |
処理開始 |
| 6 |
SETTING_UP |
PRAbort |
ABORTING |
ジョブ中止 |
| 7 |
SETTING_UP |
Fail |
QUEUED |
エラー報告 |
| 8 |
WAITING_FOR_START |
PRStart |
PROCESSING |
処理開始 |
| 9 |
WAITING_FOR_START |
PRAbort |
ABORTING |
ジョブ中止 |
| 10 |
PROCESSING |
Complete |
PROCESS_COMPLETE |
全完了 |
| 11 |
PROCESSING |
PRPause |
PAUSING |
処理一時停止 |
| 12 |
PROCESSING |
PRStop |
STOPPING |
安全ポイントで停止 |
| 13 |
PROCESSING |
PRAbort |
ABORTING |
処理中止 |
| 14 |
PAUSING |
Paused |
PAUSED |
処理一時停止完了 |
| 15 |
PAUSED |
PRResume |
PROCESSING |
処理再開 |
| 16 |
PAUSED |
PRAbort |
ABORTING |
ジョブ中止 |
| 17 |
STOPPING |
Stopped |
QUEUED |
再開準備完了 |
| 18 |
ABORTING |
Aborted |
QUEUED/removed |
中止処理 |
5. プロセスジョブ属性
| 属性 |
型 |
説明 |
| PRJobID |
A |
一意のプロセスジョブ識別子 |
| PRState |
U1 |
現在の状態値 |
| PRMtlNameList |
L |
処理対象基板IDリスト |
| RecID |
A |
レシピ識別子 |
| PRMtlType |
U1 |
材料タイプ(キャリア/基板) |
| PRProcessStart |
Boolean |
セットアップ後即時開始 |
| PRPauseEvent |
L |
一時停止をトリガーするイベント |
| CarrierInputSpec |
L |
入力キャリア仕様 |
| MtrlOutSpec |
L |
出力仕様 |
5.1 プロセスジョブ状態値
| 値 |
状態 |
| 1 |
QUEUED |
| 2 |
SETTING_UP |
| 3 |
WAITING_FOR_START |
| 4 |
PROCESSING |
| 5 |
PAUSING |
| 6 |
PAUSED |
| 7 |
PROCESS_COMPLETE |
| 8 |
STOPPING |
| 9 |
ABORTING |
6. 関連メッセージ
| メッセージ |
方向 |
説明 |
| S16F11 |
H→E |
PRCreateJob - プロセスジョブ作成 |
| S16F12 |
E→H |
PRCreateJob 確認応答 |
| S16F15 |
H→E |
PRMultiCreate - 複数ジョブ作成 |
| S16F16 |
E→H |
PRMultiCreate 確認応答 |
| S16F17 |
H→E |
PRJobStateChange - ジョブコマンド |
| S16F18 |
E→H |
PRJobStateChange 確認応答 |
| S16F19 |
H→E |
PRGetAllJobs - ジョブリスト取得 |
| S16F20 |
E→H |
PRGetAllJobs データ |
| S16F21 |
H→E |
PRGetJobInfo - ジョブ詳細取得 |
| S16F22 |
E→H |
PRGetJobInfo データ |
6.1 S16F11 - PRCreateJob
構造:
S16F11 W
<L[n]
<DATAID>
<PRJOBID>
<PRMTLTYPE> // 0=Carrier, 1=Substrate
<L[m] // 材料名リスト
<CARRIERID> or <SUBSTRATEID>
...
>
<L[k] // プロセスジョブ属性
<L[2]
<ATTRID>
<ATTRDATA>
>
...
>
>
6.2 S16F12 - PRCreateJob 確認応答
構造:
S16F12
<L[2]
<PRJOBID>
<ACKA> // 0=成功, 1=失敗
>
6.3 S16F17 - PRJobStateChange
構造:
S16F17 W
<L[3]
<PRCMD> // コマンド
<L[n] // ジョブリスト
<PRJOBID>
...
>
<L[m] // コマンドパラメータ
<L[2]
<CPNAME>
<CPVAL>
>
...
>
>
PRCMD値:
| 値 |
コマンド |
説明 |
| 1 |
START |
ジョブ開始 |
| 2 |
PAUSE |
ジョブ一時停止 |
| 3 |
RESUME |
ジョブ再開 |
| 4 |
CANCEL |
ジョブキャンセル(QUEUEDから) |
| 5 |
DEQUEUE |
キューからジョブ削除 |
| 6 |
ABORT |
ジョブ中止 |
| 7 |
STOP |
安全ポイントでジョブ停止 |
7. プロセスジョブ作成シーケンス
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S16F11 W (PRCreateJob)
Note right of Host: PRJobID="JOB001"<br/>RecID="RECIPE001"<br/>MtlList=[SubID1, SubID2]
Note over Equipment: ジョブパラメータ検証
Note over Equipment: ジョブインスタンス作成
Equipment-->>Host: S16F12 (ACKA=0, Success)
Note over Equipment: 状態:QUEUED
Equipment->>Host: S6F11 (ProcessJobCreated)
Host-->>Equipment: S6F12
8. プロセスジョブ実行シーケンス
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 状態:QUEUED
Host->>Equipment: S16F17 W (PRCMD=START)
Equipment-->>Host: S16F18 (Success)
Note over Equipment: 状態:SETTING_UP
Equipment->>Host: S6F11 (PRJobStateChange)
Host-->>Equipment: S6F12
Note over Equipment: レシピロード、リソース準備
Note over Equipment: 状態:PROCESSING
Equipment->>Host: S6F11 (PRJobStateChange)
Host-->>Equipment: S6F12
loop 各基板について
Note over Equipment: 基板処理
Equipment->>Host: S6F11 (SubstrateProcessed)
Host-->>Equipment: S6F12
end
Note over Equipment: 状態:PROCESS_COMPLETE
Equipment->>Host: S6F11 (PRJobComplete)
Host-->>Equipment: S6F12
9. 材料出力仕様(MtrlOutSpec)
処理済み基板の行き先を定義:
| フィールド |
説明 |
| DestPort |
出力先ロードポート |
| DestCarrier |
出力先キャリア |
| DestSlot |
出力先スロット |
10. 関連収集イベント
| CEID |
名前 |
説明 |
[7001] |
PRJobCreated |
プロセスジョブ作成 |
[7002] |
PRJobStateChange |
プロセスジョブ状態変更 |
[7003] |
PRJobComplete |
プロセスジョブ完了 |
[7004] |
PRJobAborted |
プロセスジョブ中止 |
[7005] |
PRJobPaused |
プロセスジョブ一時停止 |
[7006] |
PRJobResumed |
プロセスジョブ再開 |
11. 関連状態変数
| SVID |
名前 |
型 |
説明 |
[7001] |
ActivePRJobCount |
U2 |
アクティブなプロセスジョブ数 |
[7002] |
PRJobList |
L |
アクティブなジョブIDリスト |
12. エラー処理
| エラー条件 |
応答 |
| 無効なレシピ |
S16F12 ACKA=1 |
| 無効な基板ID |
S16F12 ACKA=1 |
| ジョブ制限超過 |
S16F12 ACKA=1 |
| コマンドに対する不正状態 |
S16F18 エラー付き |