跳轉到

收集事件

1. 概述

收集事件 (CE) 是設備在發生重要事件時傳送給主機的通知。每個事件可以有關聯的報告,包含相關的資料變數。收集事件構成 GEM 資料收集功能的基礎,實現即時監控和工廠自動化。

1.1 關鍵概念

術語 說明
CEID 收集事件 ID - 每個事件的唯一識別碼
RPTID 報告 ID - 定義收集哪些變數
VID 變數 ID - 個別資料變數(SV、EC 或 DV)
DATAID 資料 ID - S6F11 訊息的交易識別碼

1.2 事件報告架構

flowchart LR subgraph Equipment CE[收集事件] --> RPT[報告] RPT --> VID1[變數 1] RPT --> VID2[變數 2] RPT --> VID3[變數 3] end CE -->|S6F11| Host

2. 收集事件定義

2.1 系統事件 (CEID 1-99)

CEID 事件名稱 說明 觸發條件
1 EquipmentOffline 設備轉換至 OFFLINE 控制狀態 = OFFLINE
2 EquipmentOnlineLocal 設備轉換至 ONLINE-LOCAL 控制狀態 = ONLINE-LOCAL
3 EquipmentOnlineRemote 設備轉換至 ONLINE-REMOTE 控制狀態 = ONLINE-REMOTE
4 ControlStateChange 控制狀態變更 任何控制狀態轉換
5 CommunicationEstablished SECS-II 通訊已建立 S1F13/S1F14 已接受
6 CommunicationLost 主機通訊中斷 HSMS 斷線或 T3 逾時
7 SpoolingActivated Spooling 開始 通訊中斷且 spool 啟用
8 SpoolingDeactivated Spooling 停止 通訊恢復且 spool 已傳送
9 SpoolingFull Spool 緩衝區已滿 Spool 容量已超出
10 HeartbeatFail 偵測到心跳失敗 S1F1 無回應

2.2 操作員事件 (CEID 20-49)

CEID 事件名稱 說明 觸發條件
20 OperatorLogin 操作員登入 驗證成功
21 OperatorLogout 操作員登出 登出或工作階段逾時
22 OperatorCommandIssued 操作員發出命令 手動命令輸入
23 OperatorRecipeSelect 操作員選擇配方 透過 HMI 選擇配方
24 OperatorModeChange 操作員變更設備模式 模式切換(AUTO/MANUAL)
25 OperatorAlarmAck 操作員確認警報 警報確認
26 OperatorParameterChange 操作員變更參數 透過 HMI 修改 EC
27 OperatorMaintenanceStart 進入維護模式 維護鑰匙開啟
28 OperatorMaintenanceEnd 退出維護模式 維護鑰匙關閉

2.3 加工事件 (CEID 100-199)

CEID 事件名稱 說明 觸發條件
100 ProcessStateChange 加工狀態變更 任何加工狀態轉換
101 ProcessStarted 加工執行開始 加工開始
102 ProcessCompleted 加工成功完成 加工正常結束
103 ProcessAborted 加工中止 加工異常終止
104 ProcessPaused 加工暫停 加工保持條件
105 ProcessResumed 加工恢復 加工重新啟動
106 ProcessStepChange 加工步驟變更 配方步驟轉換
107 ProcessStepCompleted 加工步驟完成 配方步驟結束
108 WaitingForOperator 等待操作員輸入 需要操作員介入
109 WaitingForMaterial 等待物料 物料不存在
110 ProcessIdleEntered 進入 IDLE 狀態 加工就緒,無作業
111 ProcessSetupEntered 進入 SETUP 狀態 準備加工
112 ProcessExecutingEntered 進入 EXECUTING 狀態 正在加工
115 ProcessCycleStart 加工週期開始 週期開始
116 ProcessCycleEnd 加工週期完成 週期結束
117 RecipeStepStart 配方步驟開始 步驟執行開始
118 RecipeStepEnd 配方步驟結束 步驟執行結束

2.4 物料/載具事件 (CEID 200-299)

CEID 事件名稱 說明 觸發條件
200 MaterialReceived 物料到達設備 在 Load Port 偵測到物料
201 MaterialRemoved 物料從設備移除 物料從 Load Port 移除
202 SlotMapRead 槽位映射讀取完成 映射序列完成
203 SlotMapReadFailed 槽位映射讀取失敗 映射錯誤
204 CarrierClamped 載具已夾持 夾持感測器開啟
205 CarrierUnclamped 載具已鬆開 夾持感測器關閉
206 CarrierDocked 載具已對接 對接感測器開啟
207 CarrierUndocked 載具已脫離 對接感測器關閉
208 CarrierIDRead 載具 ID 已讀取 條碼/RFID 讀取成功
209 CarrierIDReadFailed 載具 ID 讀取失敗 條碼/RFID 讀取錯誤
210 CarrierAccessModeChange 存取模式變更 手動/自動切換
220 SubstrateLocationChange 基板位置變更 基板已移動
221 SubstrateProcessStart 基板加工開始 個別基板開始
222 SubstrateProcessEnd 基板加工結束 個別基板結束
223 SubstrateIDRead 基板 ID 已讀取 基板 ID 驗證
224 SubstrateIDMismatch 基板 ID 不符 ID 驗證失敗

2.5 警報事件 (CEID 300-399)

CEID 事件名稱 說明 觸發條件
300 AlarmSet 偵測到警報條件 任何警報啟動
301 AlarmCleared 警報條件已清除 任何警報解除
302 AlarmAcknowledged 警報已確認 操作員/主機確認
303 PersonalSafetyAlarm 人員安全警報設定 類別 1 警報
304 EquipmentSafetyAlarm 設備安全警報設定 類別 2 警報
305 IrrecoverableError 不可復原錯誤 類別 5 警報
306 WarningAlarm 警告條件 類別 6 警報

2.6 配方事件 (CEID 400-499)

CEID 事件名稱 說明 觸發條件
400 RecipeSelected 已選擇配方進行加工 配方啟用
401 RecipeStarted 配方執行開始 配方開始
402 RecipeCompleted 配方執行完成 配方正常結束
403 RecipeAborted 配方執行中止 配方終止
404 RecipeUploaded 配方已上傳至主機 S7F26 完成
405 RecipeDownloaded 配方已從主機下載 S7F3 完成
406 RecipeDeleted 配方已刪除 S7F17 完成
407 RecipeCreated 已建立新配方 配方已儲存
408 RecipeModified 配方已修改 配方已編輯
409 RecipeVerified 配方驗證完成 校驗和已驗證
410 RecipeVerificationFailed 配方驗證失敗 校驗和不符

2.7 作業事件 (CEID 500-599)

CEID 事件名稱 說明 觸發條件
500 ProcessJobCreated 製程作業已建立 PRJob 已接收
501 ProcessJobQueued 製程作業已排隊 PRJob 已接受
502 ProcessJobStarted 製程作業已開始 PRJob 執行開始
503 ProcessJobCompleted 製程作業已完成 PRJob 正常結束
504 ProcessJobAborted 製程作業已中止 PRJob 終止
505 ProcessJobPaused 製程作業已暫停 PRJob 保持
506 ProcessJobResumed 製程作業已恢復 PRJob 重新啟動
507 ProcessJobStateChange 製程作業狀態變更 任何狀態轉換
510 ControlJobCreated 控制作業已建立 CJob 已接收
511 ControlJobQueued 控制作業已排隊 CJob 已接受
512 ControlJobStarted 控制作業已開始 CJob 執行開始
513 ControlJobCompleted 控制作業已完成 CJob 正常結束
514 ControlJobAborted 控制作業已中止 CJob 終止
515 ControlJobStateChange 控制作業狀態變更 任何狀態轉換

2.8 設備狀態事件 (CEID 600-699)

CEID 事件名稱 說明 觸發條件
600 EquipmentConstantChange 設備常數已變更 EC 值已修改
601 ClockSync 時鐘已同步 時間更新完成
602 SoftwareVersionChange 軟體版本已變更 軟體更新
603 ConfigurationChange 組態已變更 組態檔已修改
604 InitializationComplete 設備初始化完成 開機序列完成
605 ShutdownInitiated 設備關機已啟動 關機命令
610 LoadPortStateChange Load Port 狀態變更 LP 狀態變更
611 RobotStatusChange 機器人狀態變更 機器人狀態變更
612 ChamberStatusChange 腔體狀態變更 腔體狀態變更
613 TemperatureChange 已達到溫度限制 溫度閾值
614 PressureChange 已達到壓力限制 壓力閾值
615 UtilityStatusChange 公用設施狀態變更 公用設施警報

3. 報告定義

3.1 系統報告 (RPTID 1-9)

RPTID 報告名稱 變數 (VIDs)
1 RPT_SystemState Clock, ControlState, ProcessState, PreviousControlState
2 RPT_ControlState Clock, ControlState, PreviousControlState
3 RPT_CommState Clock, CommunicationState, ConnectedTime
4 RPT_SpoolState Clock, SpoolState, SpoolCount, SpoolFullFlag
5 RPT_EquipmentStatus Clock, ControlState, ProcessState, AlarmCount

3.2 操作員報告 (RPTID 10-19)

RPTID 報告名稱 變數 (VIDs)
10 RPT_Operator Clock, OperatorID, OperatorLevel
11 RPT_OperatorCmd Clock, OperatorID, CommandID, CommandParam
12 RPT_OperatorRecipe Clock, OperatorID, RecipeID, RecipeVersion
13 RPT_OperatorMaint Clock, OperatorID, MaintenanceCode

3.3 加工報告 (RPTID 20-39)

RPTID 報告名稱 變數 (VIDs)
20 RPT_ProcessState Clock, ProcessState, PreviousProcessState
21 RPT_ProcessStart Clock, ProcessJobID, RecipeID, LotID, StartSubstrateCount
22 RPT_ProcessEnd Clock, ProcessJobID, RecipeID, LotID, ProcessTime, ProcessResult, ProcessedCount, GoodCount, BadCount
23 RPT_ProcessStep Clock, ProcessJobID, StepNumber, StepName, StepTime
24 RPT_ProcessCycle Clock, CycleNumber, CycleTime, CycleResult
25 RPT_ProcessParam Clock, ProcessTemp, ProcessPressure, ProcessPower, ProcessTime

3.4 物料報告 (RPTID 40-59)

RPTID 報告名稱 變數 (VIDs)
40 RPT_Material Clock, CarrierID, LotID, PortID, MaterialStatus
41 RPT_SlotMap Clock, CarrierID, PortID, SlotMap, SlotCount, SubstrateCount
42 RPT_Carrier Clock, CarrierID, CarrierType, CarrierState, ContentMap
43 RPT_Substrate Clock, SubstrateID, SubstrateType, SlotNumber, SubstrateState
44 RPT_SubstrateLoc Clock, SubstrateID, PreviousLocation, CurrentLocation
45 RPT_SubstrateProc Clock, SubstrateID, ProcessResult, ProcessData

3.5 警報報告 (RPTID 60-69)

RPTID 報告名稱 變數 (VIDs)
60 RPT_Alarm Clock, ALID, ALCD, ALTX, AlarmState
61 RPT_AlarmDetail Clock, ALID, ALCD, ALTX, AlarmSetTime, AlarmSource, AlarmAction
62 RPT_AlarmSummary Clock, ActiveAlarmCount, AlarmList

3.6 配方報告 (RPTID 70-79)

RPTID 報告名稱 變數 (VIDs)
70 RPT_Recipe Clock, RecipeID, RecipeVersion, RecipeStatus
71 RPT_RecipeTransfer Clock, RecipeID, TransferDirection, TransferResult
72 RPT_RecipeVerify Clock, RecipeID, VerifyResult, Checksum

3.7 作業報告 (RPTID 80-99)

RPTID 報告名稱 變數 (VIDs)
80 RPT_ProcessJob Clock, ProcessJobID, ProcessJobState, RecipeID, MtrlOrder
81 RPT_ControlJob Clock, ControlJobID, ControlJobState, ProcessingCtrlSpec
82 RPT_JobComplete Clock, JobID, JobType, JobResult, JobTime, ProcessedCount

4. 事件-報告連結(預設設定)

4.1 系統事件連結

CEID 事件名稱 連結的 RPTIDs
1 EquipmentOffline 1, 2
2 EquipmentOnlineLocal 1, 2
3 EquipmentOnlineRemote 1, 2
4 ControlStateChange 2
5 CommunicationEstablished 3
6 CommunicationLost 3
7 SpoolingActivated 4
8 SpoolingDeactivated 4

4.2 加工事件連結

CEID 事件名稱 連結的 RPTIDs
100 ProcessStateChange 20
101 ProcessStarted 20, 21
102 ProcessCompleted 20, 22
103 ProcessAborted 20, 22
106 ProcessStepChange 23

4.3 物料事件連結

CEID 事件名稱 連結的 RPTIDs
200 MaterialReceived 40
201 MaterialRemoved 40
202 SlotMapRead 41
208 CarrierIDRead 42
220 SubstrateLocationChange 44

5. 事件設定訊息

5.1 S2F33 - 定義報告

定義報告中包含哪些變數。

S2F33 W
  <L[n]                         // 要定義的 n 個報告
    <L[2]
      <RPTID>                   // 報告 ID
      <L[m]                     // 報告中的 m 個變數
        <VID>                   // 變數 ID
        ...
      >
    >
    ...
  >
.

範例 - 定義自訂加工報告:

S2F33 W
  <L[1]
    <L[2]
      <U4 100>                  // RPTID = 100(自訂)
      <L[6]
        <U4 1>                  // Clock
        <U4 201>                // RecipeID
        <U4 301>                // ProcessTemp
        <U4 302>                // ProcessPressure
        <U4 303>                // ProcessTime
        <U4 210>                // ProcessResult
      >
    >
  >
.

5.2 S2F34 - 定義報告確認

S2F34
  <DRACK>                       // 定義報告確認碼
.
DRACK 說明
0x00 OK,已接受
0x01 空間不足
0x02 格式無效
0x03 RPTID 已定義
0x04 VID 不存在

5.3 S2F35 - 連結事件報告

將報告連結到收集事件。

S2F35 W
  <L[n]                         // 要設定的 n 個事件
    <L[2]
      <CEID>                    // 收集事件 ID
      <L[m]                     // 要連結的 m 個報告
        <RPTID>
        ...
      >
    >
    ...
  >
.

範例 - 將報告連結到加工完成:

S2F35 W
  <L[1]
    <L[2]
      <U4 102>                  // CEID = ProcessCompleted
      <L[2]
        <U4 20>                 // RPT_ProcessState
        <U4 100>                // 自訂加工報告
      >
    >
  >
.

5.4 S2F36 - 連結事件報告確認

S2F36
  <LRACK>                       // 連結報告確認碼
.
LRACK 說明
0x00 OK,已接受
0x01 空間不足
0x02 格式無效
0x03 CEID 不存在
0x04 RPTID 不存在

5.5 S2F37 - 啟用/停用事件報告

S2F37 W
  <L[2]
    <CEED>                      // 0=停用,1=啟用
    <L[n]                       // n 個事件(空=全部)
      <CEID>
      ...
    >
  >
.

範例 - 啟用特定事件:

S2F37 W
  <L[2]
    <Boolean 1>                 // 啟用
    <L[5]
      <U4 101>                  // ProcessStarted
      <U4 102>                  // ProcessCompleted
      <U4 200>                  // MaterialReceived
      <U4 201>                  // MaterialRemoved
      <U4 300>                  // AlarmSet
    >
  >
.

範例 - 啟用所有事件:

S2F37 W
  <L[2]
    <Boolean 1>                 // 啟用
    <L[0]>                      // 空 = 所有事件
  >
.

5.6 S2F38 - 啟用/停用事件報告確認

S2F38
  <ERACK>                       // 事件報告確認碼
.
ERACK 說明
0x00 OK,已接受
0x01 CEID 不存在

6. 事件通知 (S6F11/S6F12)

6.1 S6F11 - 事件報告傳送

S6F11 W
  <L[3]
    <DATAID>                    // 資料 ID(交易 ID)
    <CEID>                      // 收集事件 ID
    <L[n]                       // n 個連結的報告
      <L[2]
        <RPTID>                 // 報告 ID
        <L[m]                   // m 個變數
          <V>                   // 變數值
          ...
        >
      >
      ...
    >
  >
.

6.2 S6F11 範例

範例 1 - 加工完成事件:

S6F11 W
  <L[3]
    <U4 12345>                          // DATAID
    <U4 102>                            // CEID = ProcessCompleted
    <L[2]
      <L[2]
        <U4 20>                         // RPTID = RPT_ProcessState
        <L[2]
          <A[14] "20250101143022">      // Clock
          <U1 1>                        // ProcessState = IDLE
        >
      >
      <L[2]
        <U4 22>                         // RPTID = RPT_ProcessEnd
        <L[9]
          <A[14] "20250101143022">      // Clock
          <A[20] "PJOB_20250101_001">   // ProcessJobID
          <A[20] "RECIPE_PROD_A">       // RecipeID
          <A[20] "LOT_2025_0001">       // LotID
          <U4 3600>                     // ProcessTime(秒)
          <U1 0>                        // ProcessResult(0=OK)
          <U4 25>                       // ProcessedCount
          <U4 24>                       // GoodCount
          <U4 1>                        // BadCount
        >
      >
    >
  >
.

範例 2 - 物料接收事件:

S6F11 W
  <L[3]
    <U4 12346>                          // DATAID
    <U4 200>                            // CEID = MaterialReceived
    <L[1]
      <L[2]
        <U4 40>                         // RPTID = RPT_Material
        <L[5]
          <A[14] "20250101090000">      // Clock
          <A[20] "CARRIER_001">         // CarrierID
          <A[20] "LOT_2025_0002">       // LotID
          <U1 1>                        // PortID
          <U1 1>                        // MaterialStatus(1=存在)
        >
      >
    >
  >
.

範例 3 - 警報設定事件:

S6F11 W
  <L[3]
    <U4 12347>                          // DATAID
    <U4 300>                            // CEID = AlarmSet
    <L[1]
      <L[2]
        <U4 60>                         // RPTID = RPT_Alarm
        <L[5]
          <A[14] "20250101102530">      // Clock
          <U4 3001>                     // ALID
          <B[1] 0x86>                   // ALCD(設定 + 類別 6)
          <A[30] "Temperature High Warning">  // ALTX
          <U1 1>                        // AlarmState(1=啟用)
        >
      >
    >
  >
.

6.3 S6F12 - 事件報告確認

S6F12
  <ACKC6>                       // 確認碼
.
ACKC6 說明
0x00 已接受
0x01-0x3F 錯誤(請參閱附錄 B)

7. 事件查詢訊息

7.1 S6F15 - 事件報告請求

請求事件連結變數的目前值。

S6F15 W
  <CEID>                        // 收集事件 ID
.

7.2 S6F16 - 事件報告資料

S6F16
  <L[3]
    <DATAID>
    <CEID>
    <L[n]                       // 報告資料(與 S6F11 相同)
      <L[2]
        <RPTID>
        <L[m]
          <V>
          ...
        >
      >
      ...
    >
  >
.

8. 事件流程序列

8.1 初始事件設定

sequenceDiagram participant H as Host participant E as Equipment Note over H,E: 通訊建立後 H->>E: S2F33 W(定義報告) E-->>H: S2F34(DRACK=0) H->>E: S2F35 W(連結事件到報告) E-->>H: S2F36(LRACK=0) H->>E: S2F37 W(啟用事件) E-->>H: S2F38(ERACK=0) Note over H,E: 事件現在已啟用

8.2 加工完成事件流程

sequenceDiagram participant H as Host participant E as Equipment Note over E: 加工完成 E->>H: S6F11 W(CEID=102,ProcessCompleted) Note right of E: 包含:<br/>- ProcessJobID<br/>- RecipeID<br/>- ProcessResult<br/>- ProcessTime H-->>E: S6F12(ACKC6=0) Note over H: 主機記錄結果<br/>並更新 MES

8.3 載具到達事件流程

sequenceDiagram participant H as Host participant E as Equipment Note over E: 載具放置於 Port E->>H: S6F11 W(CEID=200,MaterialReceived) H-->>E: S6F12(ACKC6=0) E->>H: S6F11 W(CEID=208,CarrierIDRead) Note right of E: 包含 CarrierID H-->>E: S6F12(ACKC6=0) E->>H: S6F11 W(CEID=202,SlotMapRead) Note right of E: 包含 SlotMap H-->>E: S6F12(ACKC6=0)

9. 實作指南

9.1 事件啟用狀態

預設狀態 事件
永遠啟用 ControlStateChange, AlarmSet, AlarmCleared
啟用 ProcessStarted, ProcessCompleted, MaterialReceived
停用 ProcessStepChange, SubstrateLocationChange

9.2 事件佇列管理

參數 典型值 說明
MaxQueueSize 1000 最大排隊事件數
QueueOverflowAction DropOldest 佇列滿時的處理方式
EventTimeout 45 秒 S6F12 的 T3 逾時

9.3 多報告事件

單一事件可以觸發多個報告。這適用於: - 結合狀態資料與加工資料 - 包含摘要和詳細資訊 - 支援不同的主機需求

9.4 追蹤資料替代方案

對於高頻資料收集(>1 Hz),使用追蹤資料(S2F23/S6F1)而非收集事件,以避免訊息氾濫。


10. 實作檢查清單

功能 必要 備註
S6F11/F12 事件傳送 核心事件報告
S2F33/F34 定義報告 報告設定
S2F35/F36 連結事件 事件-報告連結
S2F37/F38 啟用事件 事件啟用/停用
S6F15/F16 事件查詢 選用 隨選查詢
事件佇列 主機延遲時的緩衝
Spool 支援 通訊中斷時的事件
預設事件集 工廠預設設定