情境:主機命令執行¶
1. 概述¶
本情境描述主機遠端命令執行的完整流程,從發送命令到完成通知。
2. 前置條件¶
| 條件 | 必要狀態 |
|---|---|
| 通訊 | COMMUNICATING |
| 控制狀態 | ONLINE REMOTE |
| 製程狀態 | 依命令而異 |
3. 命令流程概述¶
sequenceDiagram
participant Host
participant Equipment
rect rgb(240, 248, 255)
Note over Host,Equipment: 命令請求
Host->>Equipment: S2F41 W (RCMD, Parameters)
Equipment-->>Host: S2F42 (HCACK, CPACK)
end
rect rgb(240, 255, 240)
Note over Host,Equipment: 命令執行
Note over Equipment: 執行命令...
end
rect rgb(255, 248, 240)
Note over Host,Equipment: 完成通知
Equipment->>Host: S6F11 W (CommandComplete event)
Host-->>Equipment: S6F12 (ACKC6=0)
end
4. START 命令範例¶
4.1 時序圖¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:IDLE
Host->>Equipment: S2F41 W
Note right of Host: RCMD="START"<br/>RecipeID="RECIPE001"<br/>LotID="LOT001"
Note over Equipment: 驗證命令
Note over Equipment: 檢查配方是否存在
Note over Equipment: 驗證參數
Equipment-->>Host: S2F42
Note left of Equipment: HCACK=0(已接受)
Note over Equipment: 狀態:SETTING UP
Equipment->>Host: S6F11 W (ProcessStateChange)
Host-->>Equipment: S6F12
Note over Equipment: 載入配方
Note over Equipment: 初始化製程
Note over Equipment: 狀態:READY
Equipment->>Host: S6F11 W (ProcessStateChange)
Host-->>Equipment: S6F12
Note over Equipment: 狀態:EXECUTING
Equipment->>Host: S6F11 W (ProcessStarted)
Note right of Equipment: 報告:RecipeID, LotID, StartTime
Host-->>Equipment: S6F12
4.2 S2F41 訊息結構¶
S2F41 W
<L[2]
<RCMD "START">
<L[2]
<L[2]
<CPNAME "RecipeID">
<CPVAL "RECIPE001">
>
<L[2]
<CPNAME "LotID">
<CPVAL "LOT001">
>
>
>
4.3 S2F42 成功回應¶
5. 命令拒絕情境¶
5.1 錯誤的控制狀態¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:ONLINE LOCAL(非 REMOTE)
Host->>Equipment: S2F41 W (RCMD="START")
Equipment-->>Host: S2F42 (HCACK=2)
Note left of Equipment: 目前無法執行<br/>(控制狀態錯誤)
回應:
5.2 錯誤的製程狀態¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:EXECUTING(無法 START)
Host->>Equipment: S2F41 W (RCMD="START")
Equipment-->>Host: S2F42 (HCACK=2)
Note left of Equipment: 目前無法執行<br/>(製程狀態錯誤)
5.3 無效命令¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S2F41 W (RCMD="INVALID_CMD")
Equipment-->>Host: S2F42 (HCACK=1)
Note left of Equipment: 無效命令
5.4 參數錯誤¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S2F41 W
Note right of Host: RCMD="START"<br/>RecipeID="NONEXISTENT"
Equipment-->>Host: S2F42
Note left of Equipment: HCACK=3(參數錯誤)<br/>CPACK=2(非法值)
回應:
6. PAUSE 和 RESUME 命令¶
6.1 暫停序列¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:EXECUTING
Host->>Equipment: S2F41 W (RCMD="PAUSE")
Equipment-->>Host: S2F42 (HCACK=0)
Note over Equipment: 完成當前步驟
Note over Equipment: 狀態:PAUSING
Note over Equipment: 狀態:PAUSED
Equipment->>Host: S6F11 W (ProcessPaused)
Note right of Equipment: 報告:PauseReason, CurrentStep
Host-->>Equipment: S6F12
6.2 繼續序列¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:PAUSED
Host->>Equipment: S2F41 W (RCMD="RESUME")
Equipment-->>Host: S2F42 (HCACK=0)
Note over Equipment: 狀態:EXECUTING
Equipment->>Host: S6F11 W (ProcessResumed)
Host-->>Equipment: S6F12
7. ABORT 命令¶
7.1 中止序列¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:EXECUTING
Host->>Equipment: S2F41 W (RCMD="ABORT")
Equipment-->>Host: S2F42 (HCACK=0)
Note over Equipment: 狀態:ABORTING
Note over Equipment: 安全關機序列
Note over Equipment: 狀態:IDLE
Equipment->>Host: S6F11 W (ProcessAborted)
Note right of Equipment: 報告:AbortReason, AbortTime
Host-->>Equipment: S6F12
8. 命令逾時處理¶
8.1 無回應(T3 逾時)¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S2F41 W (RCMD="START")
Note over Equipment: 設備忙碌/當機
Note over Host: T3 逾時(45 秒)
Note over Host: 發出逾時錯誤
8.2 命令執行逾時¶
主機應在預期時間內監控完成事件:
| 命令 | 預期完成 | 逾時動作 |
|---|---|---|
| START | ProcessStarted 事件 | 查詢製程狀態 |
| PAUSE | ProcessPaused 事件 | 重試或升級 |
| ABORT | ProcessAborted 事件 | 檢查設備狀態 |
9. HCACK 回應碼總結¶
| HCACK | 意義 | 典型原因 |
|---|---|---|
| 0 | 已接受 | 命令將執行 |
| 1 | 無效命令 | RCMD 無法識別 |
| 2 | 目前無法執行 | 狀態錯誤 |
| 3 | 參數錯誤 | 無效的 CPNAME 或 CPVAL |
| 4 | 非同步完成 | 命令已排入佇列 |
| 5 | 拒絕,已在該狀態 | 例如:已暫停時執行 PAUSE |
| 6 | 無此物件 | 物件參考無效 |
10. 相關事件¶
| 事件 | CEID | 觸發條件 |
|---|---|---|
| RemoteCommandReceived | 6001 | 收到任何 S2F41 |
| RemoteCommandCompleted | 6002 | 命令執行成功 |
| RemoteCommandFailed | 6003 | 命令執行失敗 |
| ProcessStarted | 101 | START 命令成功 |
| ProcessPaused | 104 | PAUSE 命令成功 |
| ProcessResumed | 105 | RESUME 命令成功 |
| ProcessAborted | 103 | ABORT 命令成功 |