遠端指令
1. 概述
遠端指令(RCMD)允許主機控制設備操作。指令透過 S2F41 發送,並透過 S2F42 確認。
2. 指令執行要求
2.1 先決條件
遠端指令被接受的條件:
- 設備必須處於 ON-LINE REMOTE 控制狀態
- 設備必須處於適當的處理狀態
- 無安全連鎖啟動
2.2 指令拒絕
指令被拒絕(HCACK ≠ 0)的情況:
- 設備處於 ON-LINE LOCAL 或 OFF-LINE 狀態
- 設備不在該指令的有效處理狀態
- 無效的指令名稱或參數
- 安全或連鎖違規
3. 遠端指令定義
3.1 製程控制指令
| RCMD |
說明 |
有效狀態 |
參數 |
| START |
開始處理 |
IDLE |
RecipeID(選用) |
| STOP |
在安全點停止 |
EXECUTING |
無 |
| ABORT |
立即中止 |
EXECUTING、PAUSED、SETTING UP |
無 |
| PAUSE |
暫停處理 |
EXECUTING |
無 |
| RESUME |
從暫停恢復 |
PAUSED |
無 |
3.2 配方指令
| RCMD |
說明 |
有效狀態 |
參數 |
| PP_SELECT |
選擇處理程式 |
IDLE |
RecipeID |
| PP_CLEAR |
清除選擇的配方 |
IDLE |
無 |
3.3 設備指令
| RCMD |
說明 |
有效狀態 |
參數 |
| INIT |
初始化設備 |
任何 |
無 |
| RESET |
重置設備 |
任何 |
無 |
| HOME |
所有軸回原點 |
IDLE |
無 |
3.4 自訂指令
| RCMD |
說明 |
有效狀態 |
參數 |
[CMD1] |
[說明] |
[狀態] |
[參數] |
[CMD2] |
[說明] |
[狀態] |
[參數] |
4. 指令參數
4.1 START 指令參數
| CPNAME |
類型 |
必要 |
說明 |
| RecipeID |
A |
否 |
要執行的配方(未指定則使用目前配方) |
| LotID |
A |
否 |
批次識別碼,用於追蹤 |
[自訂參數] |
[類型] |
[是/否] |
[說明] |
4.2 PP_SELECT 指令參數
| CPNAME |
類型 |
必要 |
說明 |
| RecipeID |
A |
是 |
要選擇的配方識別碼 |
5. 相關訊息
5.1 S2F41 - 主機指令發送
結構:
S2F41 W
<L[2]
<RCMD> // 遠端指令名稱
<L[n] // 指令參數
<L[2]
<CPNAME> // 參數名稱
<CPVAL> // 參數值
>
...
>
>
5.2 S2F42 - 主機指令確認
結構:
S2F42
<L[2]
<HCACK> // 指令確認代碼
<L[n] // 參數確認(每個參數)
<L[2]
<CPNAME>
<CPACK> // 參數確認代碼
>
...
>
>
6. 回應代碼
6.1 HCACK - 主機指令確認
| 值 |
說明 |
| 0 |
確認,指令已接受 |
| 1 |
拒絕,無效指令 |
| 2 |
拒絕,目前無法執行 |
| 3 |
拒絕,參數錯誤 |
| 4 |
確認,指令將稍後執行 |
| 5 |
拒絕,已在所需狀態 |
| 6 |
拒絕,無此物件 |
6.2 CPACK - 指令參數確認
| 值 |
說明 |
| 1 |
參數名稱無效 |
| 2 |
CPVAL 值非法 |
| 3 |
CPVAL 值超出範圍 |
7. 指令執行序列
7.1 START 指令
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:IDLE
Host->>Equipment: S2F41 (RCMD="START", RecipeID="RECIPE001")
Equipment-->>Host: S2F42 (HCACK=0)
Note over Equipment: 狀態:SETTING UP
Equipment->>Host: S6F11 (ProcessStateChange)
Host-->>Equipment: S6F12
Note over Equipment: 狀態:EXECUTING
Equipment->>Host: S6F11 (ProcessStarted)
Host-->>Equipment: S6F12
7.2 PAUSE 和 RESUME
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:EXECUTING
Host->>Equipment: S2F41 (RCMD="PAUSE")
Equipment-->>Host: S2F42 (HCACK=0)
Note over Equipment: 狀態:PAUSED
Equipment->>Host: S6F11 (ProcessPaused)
Host-->>Equipment: S6F12
Host->>Equipment: S2F41 (RCMD="RESUME")
Equipment-->>Host: S2F42 (HCACK=0)
Note over Equipment: 狀態:EXECUTING
Equipment->>Host: S6F11 (ProcessResumed)
Host-->>Equipment: S6F12
7.3 ABORT 指令
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:EXECUTING
Host->>Equipment: S2F41 (RCMD="ABORT")
Equipment-->>Host: S2F42 (HCACK=0)
Note over Equipment: 狀態:ABORTING
Equipment->>Host: S6F11 (ProcessStateChange)
Host-->>Equipment: S6F12
Note over Equipment: 中止完成
Note over Equipment: 狀態:IDLE
Equipment->>Host: S6F11 (ProcessAborted)
Host-->>Equipment: S6F12
7.4 指令被拒絕
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: 狀態:EXECUTING(無法 START)
Host->>Equipment: S2F41 (RCMD="START")
Equipment-->>Host: S2F42 (HCACK=2, 目前無法執行)
Note over Equipment: 無狀態變更
8. 指令狀態矩陣
| RCMD |
IDLE |
SETTING UP |
READY |
EXECUTING |
PAUSED |
ABORTING |
| START |
v |
- |
- |
- |
- |
- |
| STOP |
- |
- |
- |
v |
- |
- |
| ABORT |
- |
v |
v |
v |
v |
- |
| PAUSE |
- |
- |
- |
v |
- |
- |
| RESUME |
- |
- |
- |
- |
v |
- |
| PP_SELECT |
v |
- |
- |
- |
- |
- |
| INIT |
v |
v |
v |
v |
v |
v |
| RESET |
v |
- |
- |
- |
- |
- |
v = 指令接受,- = 指令拒絕(HCACK=2)
9. 相關收集事件
| CEID |
名稱 |
說明 |
[6001] |
RemoteCommandReceived |
從主機收到遠端指令 |
[6002] |
RemoteCommandCompleted |
遠端指令執行完成 |
[6003] |
RemoteCommandFailed |
遠端指令執行失敗 |
10. 實作注意事項
10.1 指令佇列
- 預設不將指令排入佇列
- 如果指令無法立即執行,則被拒絕(HCACK=2)
- 例外:HCACK=4 表示指令將稍後執行
10.2 非同步執行
- S2F42 確認指令收到,而非完成
- 指令完成透過收集事件指示
- 主機應監控事件以取得指令狀態
10.3 指令逾時
| 指令 |
典型逾時 |
備註 |
| START |
30 秒 |
直到 EXECUTING 狀態 |
| STOP |
60 秒 |
直到 IDLE 狀態 |
| ABORT |
10 秒 |
直到 IDLE 狀態 |
| PAUSE |
30 秒 |
直到 PAUSED 狀態 |