跳轉到

情境:主機命令執行

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 成功回應

S2F42
<L[2]
  <HCACK 0>           // 命令已接受
  <L[0]>              // 無參數錯誤
>

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/>(控制狀態錯誤)

回應:

S2F42
<L[2]
  <HCACK 2>           // 目前無法執行
  <L[0]>
>

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(非法值)

回應:

S2F42
<L[2]
  <HCACK 3>           // 參數錯誤
  <L[1]
    <L[2]
      <CPNAME "RecipeID">
      <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 命令成功