訊息情境¶
概述¶
本章提供常見 SECS/GEM 操作的完整訊息流程情境。每個情境包含完整的訊息序列、資料結構和預期回應。
情境 1:通訊建立¶
1.1 說明¶
從 HSMS 連線到線上操作的完整序列,包括通訊建立、狀態查詢和線上轉換。
1.2 先決條件¶
- 設備已通電並就緒
- 網路連線可用
- HSMS 參數已配置
1.3 訊息流程¶
1.4 詳細訊息¶
S1F13 - 建立通訊請求:
S1F14 - 建立通訊確認:
S1F14
<L[2]
<B[1] 0x00> // COMMACK = 已接受
<L[2]
<A[15] "GST-PANEL-2000"> // 設備型號
<A[10] "V3.2.1.045"> // 軟體版本
>
>
.
S1F3 - 請求關鍵狀態變數:
S1F3 W
<L[6]
<U4 1> // Clock
<U4 2> // ControlState
<U4 3> // ProcessState
<U4 500> // ActiveAlarmCount
<U4 100> // EquipmentTemperature
<U4 200> // WaferCount
>
.
S1F4 - 狀態變數回應:
S1F4
<L[6]
<A[14] "20250101090000"> // Clock
<U1 2> // ControlState = ONLINE-LOCAL
<U1 1> // ProcessState = IDLE
<U2 0> // ActiveAlarmCount = 0
<F4 23.5> // Temperature = 23.5°C
<U4 0> // WaferCount = 0
>
.
S1F17 - 請求線上:
S1F18 - 線上確認:
1.5 錯誤處理¶
| 錯誤 | COMMACK/ONLACK | 動作 |
|---|---|---|
| 設備未就緒 | 0x01 | 等待並重試 S1F13 |
| 已在通訊中 | 0x02 | 使用現有連線 |
| 維護模式 | 0x02 | 等待維護完成 |
| 聯鎖啟動 | 0x02 | 先解決聯鎖 |
情境 2:配方下載¶
2.1 說明¶
主機將製程配方下載到設備以供稍後執行。
2.2 先決條件¶
- 設備 ONLINE-REMOTE
- 配方儲存空間可用
- 有效的配方格式
2.3 訊息流程¶
2.4 詳細訊息¶
S7F19 - 製程程式清單請求:
S7F20 - 製程程式清單回覆:
S7F20
<L[5]
<A[20] "RECIPE_PROD_001">
<A[20] "RECIPE_PROD_002">
<A[20] "RECIPE_TEST_001">
<A[20] "RECIPE_MAINT_001">
<A[20] "RECIPE_QUAL_001">
>
.
S7F3 - 製程程式傳送(下載):
S7F3 W
<L[2]
<A[20] "RECIPE_PROD_003"> // 配方 ID
<L[10] // 配方本體(步驟)
<L[4] // 步驟 1
<U4 1> // 步驟編號
<A[20] "PREHEAT"> // 步驟名稱
<L[5] // 參數
<L[2]
<A[15] "TEMP_SETPOINT">
<F4 150.0> // 150°C
>
<L[2]
<A[15] "RAMP_RATE">
<F4 10.0> // 10°C/min
>
<L[2]
<A[15] "HOLD_TIME">
<U4 60> // 60 秒
>
<L[2]
<A[15] "PRESSURE">
<F4 760.0> // 760 Torr
>
<L[2]
<A[15] "GAS_FLOW">
<F4 100.0> // 100 sccm
>
>
<U4 120> // 步驟時間(秒)
>
<L[4] // 步驟 2
<U4 2> // 步驟編號
<A[20] "PROCESS"> // 步驟名稱
<L[6] // 參數
<L[2]
<A[15] "TEMP_SETPOINT">
<F4 200.0> // 200°C
>
<L[2]
<A[15] "PRESSURE">
<F4 0.1> // 0.1 Torr(真空)
>
<L[2]
<A[15] "RF_POWER">
<F4 500.0> // 500 W
>
<L[2]
<A[15] "GAS1_FLOW">
<F4 50.0> // 50 sccm
>
<L[2]
<A[15] "GAS2_FLOW">
<F4 25.0> // 25 sccm
>
<L[2]
<A[15] "HOLD_TIME">
<U4 300> // 300 秒
>
>
<U4 360> // 步驟時間(秒)
>
// ... 其他步驟 ...
>
>
.
S7F4 - 製程程式確認:
2.5 ACKC7 錯誤碼¶
| ACKC7 | 說明 | 恢復動作 |
|---|---|---|
| 0x00 | 已接受 | 無 |
| 0x01 | 權限被拒 | 檢查存取模式 |
| 0x02 | 長度錯誤 | 檢查配方大小 |
| 0x03 | 矩陣溢位 | 刪除未使用的配方 |
| 0x04 | PP 語法錯誤 | 修正配方格式 |
| 0x05 | 重複的 PP ID | 使用不同名稱或先刪除 |
| 0x06 | 驗證錯誤 | 重試下載 |
情境 3:配方上傳¶
3.1 說明¶
主機從設備請求製程配方。
3.2 訊息流程¶
3.3 詳細訊息¶
S7F5 - 製程程式請求:
S7F6 - 製程程式資料:
情境 4:主機啟動製程執行¶
4.1 說明¶
主機在設備上啟動製程作業,監控執行並接收完成通知。
4.2 先決條件¶
- 設備 ONLINE-REMOTE
- 配方已載入
- 物料已在裝載埠
4.3 訊息流程¶
4.4 詳細訊息¶
S2F41 - 遠端命令(PP-SELECT):
S2F41 W
<L[2]
<A[10] "PP-SELECT"> // 遠端命令
<L[1]
<L[2]
<A[8] "RecipeID"> // 參數名稱
<A[20] "RECIPE_PROD_001"> // 要選擇的配方
>
>
>
.
S2F42 - 遠端命令確認:
S2F41 - 遠端命令(START):
S2F41 W
<L[2]
<A[5] "START"> // 遠端命令
<L[2]
<L[2]
<A[5] "LotID">
<A[20] "LOT_2025_0001">
>
<L[2]
<A[10] "SubstrateCount">
<U4 25>
>
>
>
.
S6F11 - 製程開始事件:
S6F11 W
<L[3]
<U4 10001> // DATAID
<U4 101> // CEID = ProcessStarted
<L[1]
<L[2]
<U4 21> // RPTID = RPT_ProcessStart
<L[5]
<A[14] "20250101100000"> // Clock
<A[20] "PJOB_001"> // ProcessJobID
<A[20] "RECIPE_PROD_001"> // RecipeID
<A[20] "LOT_2025_0001"> // LotID
<U4 25> // SubstrateCount
>
>
>
>
.
S6F11 - 製程完成事件:
S6F11 W
<L[3]
<U4 10002> // DATAID
<U4 102> // CEID = ProcessCompleted
<L[2]
<L[2]
<U4 20> // RPTID = RPT_ProcessState
<L[2]
<A[14] "20250101103000"> // Clock
<U1 1> // ProcessState = IDLE
>
>
<L[2]
<U4 22> // RPTID = RPT_ProcessEnd
<L[9]
<A[14] "20250101103000"> // Clock
<A[20] "PJOB_001"> // ProcessJobID
<A[20] "RECIPE_PROD_001"> // RecipeID
<A[20] "LOT_2025_0001"> // LotID
<U4 1800> // ProcessTime(30 分鐘)
<U1 0> // ProcessResult = OK
<U4 25> // ProcessedCount
<U4 24> // GoodCount
<U4 1> // BadCount
>
>
>
>
.
情境 5:製程中止¶
5.1 說明¶
主機或操作員中止正在執行的製程。
5.2 訊息流程¶
5.3 詳細訊息¶
S2F41 - 遠端命令(ABORT):
S6F11 - 製程中止事件:
S6F11 W
<L[3]
<U4 10003> // DATAID
<U4 103> // CEID = ProcessAborted
<L[1]
<L[2]
<U4 22> // RPTID = RPT_ProcessEnd
<L[9]
<A[14] "20250101101500"> // Clock
<A[20] "PJOB_001"> // ProcessJobID
<A[20] "RECIPE_PROD_001"> // RecipeID
<A[20] "LOT_2025_0001"> // LotID
<U4 900> // ProcessTime(部分)
<U1 2> // ProcessResult = Aborted
<U4 12> // ProcessedCount(部分)
<U4 11> // GoodCount
<U4 1> // BadCount
>
>
>
>
.
情境 6:載具處理(裝載/卸載)¶
6.1 說明¶
從到達到離開的完整載具(FOUP/卡匣)處理序列。
6.2 訊息流程¶
6.3 詳細訊息¶
S6F11 - 物料接收事件:
S6F11 W
<L[3]
<U4 20001> // DATAID
<U4 200> // CEID = MaterialReceived
<L[1]
<L[2]
<U4 40> // RPTID = RPT_Material
<L[5]
<A[14] "20250101080000"> // Clock
<A[20] ""> // CarrierID(尚未讀取)
<A[20] ""> // LotID(尚未知道)
<U1 1> // PortID = 1
<U1 1> // MaterialStatus = Present
>
>
>
>
.
S6F11 - 載具 ID 讀取事件:
S6F11 W
<L[3]
<U4 20002> // DATAID
<U4 208> // CEID = CarrierIDRead
<L[1]
<L[2]
<U4 42> // RPTID = RPT_Carrier
<L[5]
<A[14] "20250101080010"> // Clock
<A[20] "FOUP_A001"> // CarrierID
<A[10] "FOUP-300"> // CarrierType
<U1 2> // CarrierState = ID_VERIFIED
<L[0]> // ContentMap(在映射前為空)
>
>
>
>
.
S6F11 - 插槽映射讀取事件:
S6F11 W
<L[3]
<U4 20003> // DATAID
<U4 202> // CEID = SlotMapRead
<L[1]
<L[2]
<U4 41> // RPTID = RPT_SlotMap
<L[5]
<A[14] "20250101080030"> // Clock
<A[20] "FOUP_A001"> // CarrierID
<U1 1> // PortID
<L[25] // SlotMap(25 個插槽)
<U1 3> // 插槽 1:有基板
<U1 3> // 插槽 2:有基板
<U1 3> // 插槽 3:有基板
<U1 1> // 插槽 4:空
<U1 3> // 插槽 5:有基板
// ... 剩餘插槽 ...
<U1 1> // 插槽 25:空
>
<U4 20> // SubstrateCount = 20
>
>
>
>
.
6.4 插槽映射值¶
| 值 | 說明 |
|---|---|
| 0 | 未定義 |
| 1 | 空 |
| 2 | 非空(未確認) |
| 3 | 正確佔用 |
| 4 | 雙插槽 |
| 5 | 交叉插槽 |
情境 7:警報處理¶
7.1 說明¶
從偵測到清除的完整警報生命週期。
7.2 訊息流程¶
7.3 詳細訊息¶
S5F1 - 警報設定:
S5F1 W
<L[3]
<B[1] 0x83> // ALCD = 設定 + 類別 3(警告)
<U4 3001> // ALID = 溫度過高警告
<A[45] "Temperature High Warning: Zone 1 = 175.5C (Limit: 170C)">
>
.
S5F1 - 警報清除:
S5F1 W
<L[3]
<B[1] 0x03> // ALCD = 清除 + 類別 3
<U4 3001> // ALID
<A[35] "Temperature Normal: Zone 1 = 165.2C">
>
.
情境 8:設備常數修改¶
8.1 說明¶
主機修改設備配置參數。
8.2 訊息流程¶
8.3 詳細訊息¶
S2F13 - 設備常數請求:
S2F13 W
<L[4]
<U4 100> // ECID: T3 逾時
<U4 101> // ECID: T6 逾時
<U4 102> // ECID: T7 逾時
<U4 200> // ECID: 製程溫度限制
>
.
S2F14 - 設備常數資料:
S2F14
<L[4]
<U4 45> // T3 = 45 秒
<U4 5> // T6 = 5 秒
<U4 10> // T7 = 10 秒
<F4 200.0> // 溫度限制 = 200°C
>
.
S2F15 - 新設備常數:
S2F15 W
<L[2]
<L[2]
<U4 100> // ECID: T3 逾時
<U4 60> // 新值:60 秒
>
<L[2]
<U4 200> // ECID: 製程溫度限制
<F4 220.0> // 新值:220°C
>
>
.
S2F16 - 新設備常數確認:
8.4 EAC 錯誤碼¶
| EAC | 說明 |
|---|---|
| 0x00 | 正常 |
| 0x01 | EC 不存在 |
| 0x02 | 值超出範圍 |
| 0x03 | 忙碌,稍後重試 |
情境 9:時鐘同步¶
9.1 說明¶
主機同步設備時鐘。
9.2 訊息流程¶
9.3 詳細訊息¶
S2F17 - 日期和時間請求:
S2F18 - 日期和時間資料:
S2F31 - 日期和時間設定:
S2F32 - 日期和時間設定確認:
情境 10:終端服務(操作員訊息)¶
10.1 說明¶
主機發送訊息到設備操作員顯示器。
10.2 訊息流程¶
10.3 詳細訊息¶
S10F3 - 終端顯示,單一:
S10F3 W
<L[2]
<U1 0> // TID = 終端 0(主終端)
<A[80] "ATTENTION: Lot LOT_2025_0001 requires visual inspection before continuing.">
>
.
S10F4 - 終端顯示,單一確認:
S10F5 - 終端顯示,多區塊:
S10F5 W
<L[2]
<U1 0> // TID
<L[3]
<A[60] "=== MAINTENANCE NOTIFICATION ===">
<A[60] "PM #3 is due in 100 wafers.">
<A[60] "Please schedule maintenance window.">
>
>
.
情境 11:通訊中斷期間的緩衝¶
11.1 說明¶
設備在主機通訊中斷期間緩衝訊息,並在連線恢復時傳送。
11.2 訊息流程¶
11.3 詳細訊息¶
S2F43 - 重設緩衝:
S6F23 - 請求緩衝資料:
情境 12:多區塊訊息處理¶
12.1 說明¶
使用 S13 多區塊查詢/授權協定處理超過單一區塊大小的大型訊息。
12.2 訊息流程¶
12.3 詳細訊息¶
S13F1 - 傳送多區塊查詢:
S13F1 W
<L[4]
<U4 12345> // DATAID
<U1 6> // DESSION = Stream 6
<U1 11> // DESSION = Function 11
<U4 50000> // MLENGTH = 50000 位元組
>
.
S13F2 - 傳送多區塊授權:
| GRANT | 說明 |
|---|---|
| 0x00 | 正常,傳送多區塊訊息 |
| 0x01 | 拒絕,忙碌稍後重試 |
| 0x02 | 拒絕,空間不足 |
情境摘要表¶
| 情境 | 主要訊息 | 方向 | 複雜度 |
|---|---|---|---|
| 通訊建立 | S1F13/14, S1F17/18 | H→E | 基本 |
| 配方下載 | S7F3/4 | H→E | 中等 |
| 配方上傳 | S7F5/6 | H←E | 中等 |
| 製程執行 | S2F41/42, S6F11/12 | H↔E | 進階 |
| 製程中止 | S2F41/42 | H→E | 中等 |
| 載具處理 | S6F11/12, S3F17/18 | H↔E | 進階 |
| 警報處理 | S5F1/2, S6F11/12 | E→H | 中等 |
| 設備常數 | S2F13/14, S2F15/16 | H→E | 基本 |
| 時鐘同步 | S2F17/18, S2F31/32 | H→E | 基本 |
| 終端服務 | S10F3/4 | H→E | 基本 |
| 緩衝 | S2F43/44, S6F23/24 | H↔E | 進階 |
| 多區塊 | S13F1/2 | E→H | 中等 |