跳轉到

控制作業狀態模型(SEMI E94)

1. 概述

控制作業(CJ)狀態模型定義了控制作業的生命週期,依據 SEMI E94(控制作業管理)規範。控制作業是較高層級的作業,管理一個或多個製程作業並提供排程控制。

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 含錯誤