情境:配方管理¶
1. 概述¶
本情境描述完整的配方(製程程式)管理流程,包括下載、上傳、驗證和刪除操作。
2. 前置條件¶
| 條件 | 必要狀態 |
|---|---|
| 通訊 | COMMUNICATING |
| 控制狀態 | ONLINE |
| 製程狀態 | IDLE(大多數操作) |
3. 配方下載(主機 → 設備)¶
3.1 完整下載序列¶
sequenceDiagram
participant Host
participant Equipment
rect rgb(240, 248, 255)
Note over Host,Equipment: 階段 1:詢問
Host->>Equipment: S7F1 W (PPID, Length)
Equipment-->>Host: S7F2 (PPGNT=0)
end
rect rgb(240, 255, 240)
Note over Host,Equipment: 階段 2:傳輸
Host->>Equipment: S7F3 W (PPID, PPBODY)
Note over Equipment: 驗證配方
Note over Equipment: 儲存配方
Equipment-->>Host: S7F4 (ACKC7=0)
end
rect rgb(255, 248, 240)
Note over Host,Equipment: 階段 3:事件通知
Equipment->>Host: S6F11 W (RecipeDownloaded)
Host-->>Equipment: S6F12
end
3.2 S7F1 - 載入詢問¶
3.3 S7F2 - 載入授權¶
PPGNT 回應碼:
| 值 | 意義 | 動作 |
|---|---|---|
| 0 | 確定 | 繼續 S7F3 |
| 1 | 已存在 | 跳過下載或強制覆寫 |
| 2 | 空間不足 | 刪除舊配方 |
| 3 | 無效 PPID | 檢查 PPID 格式 |
| 4 | 忙碌 | 稍後重試 |
| 5 | 不接受 | 檢查設備狀態 |
3.4 S7F3 - 配方傳送¶
3.5 S7F4 - 確認¶
ACKC7 回應碼:
| 值 | 意義 |
|---|---|
| 0 | 已接受 |
| 1 | 權限未授予 |
| 2 | 長度錯誤 |
| 3 | 矩陣溢位 |
| 4 | 找不到 PPID |
| 5 | 模式不支援 |
| 6 | 非同步完成 |
4. 配方上傳(設備 → 主機)¶
4.1 上傳序列¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F5 W (PPID)
Note over Equipment: 定位配方
Note over Equipment: 準備資料
Equipment-->>Host: S7F6 (PPID, PPBODY)
Note over Host: 驗證接收的資料
4.2 S7F5 - 配方請求¶
4.3 S7F6 - 配方資料¶
成功:
找不到配方:
5. 配方驗證¶
5.1 下載並驗證序列¶
sequenceDiagram
participant Host
participant Equipment
Note over Host,Equipment: 下載
Host->>Equipment: S7F1 W (PPID, Length)
Equipment-->>Host: S7F2 (PPGNT=0)
Host->>Equipment: S7F3 W (PPID, PPBODY)
Equipment-->>Host: S7F4 (ACKC7=0)
Note over Host,Equipment: 透過上傳驗證
Host->>Equipment: S7F5 W (PPID)
Equipment-->>Host: S7F6 (PPID, PPBODY)
Note over Host: 比較原始與上傳的配方
Note over Host: 驗證匹配
6. 配方刪除¶
6.1 刪除特定配方¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F17 W
Note right of Host: 要刪除的 PPID 清單
Note over Equipment: 刪除配方
Equipment-->>Host: S7F18 (ACKC7=0)
Equipment->>Host: S6F11 W (RecipeDeleted)
Host-->>Equipment: S6F12
6.2 S7F17 - 刪除請求¶
刪除特定配方:
刪除所有配方:
6.3 S7F18 - 刪除確認¶
7. 配方清單查詢¶
7.1 查詢序列¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F19 W
Equipment-->>Host: S7F20 (PPID list)
7.2 S7F19 - 清單請求¶
7.3 S7F20 - 清單回應¶
S7F20
<L[5]
<PPID "RECIPE001">
<PPID "RECIPE002">
<PPID "RECIPE003">
<PPID "DEFAULT">
<PPID "TEST">
>
8. 配方選擇¶
8.1 透過遠端命令¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S2F41 W
Note right of Host: RCMD="PP_SELECT"<br/>RecipeID="RECIPE001"
Equipment-->>Host: S2F42 (HCACK=0)
Equipment->>Host: S6F11 W (RecipeSelected)
Host-->>Equipment: S6F12
8.2 透過 START 命令¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S2F41 W
Note right of Host: RCMD="START"<br/>RecipeID="RECIPE001"
Note over Equipment: 選擇配方
Note over Equipment: 開始製程
Equipment-->>Host: S2F42 (HCACK=0)
9. 格式化配方傳輸¶
9.1 S7F23 - 格式化配方傳送¶
適用於支援格式化(參數化)配方的設備:
S7F23 W
<L[3]
<PPID "RECIPE001">
<MDLN "MODEL-001">
<L[n] // 配方參數
<L[2]
<CCODE "STEP1">
<L[m]
<PARAM1 100>
<PARAM2 200>
>
>
...
>
>
9.2 S7F24 - 格式化配方確認¶
9.3 S7F25/S7F26 - 格式化配方上傳¶
類似 S7F5/S7F6,但回傳格式化結構。
10. 錯誤情境¶
10.1 儲存空間已滿¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F1 W (PPID, Length)
Equipment-->>Host: S7F2 (PPGNT=2)
Note left of Equipment: 空間不足
Note over Host: 先刪除舊配方
Host->>Equipment: S7F17 W (old PPIDs)
Equipment-->>Host: S7F18 (ACKC7=0)
Note over Host: 重試下載
Host->>Equipment: S7F1 W (PPID, Length)
Equipment-->>Host: S7F2 (PPGNT=0)
10.2 配方驗證錯誤¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F1 W (PPID, Length)
Equipment-->>Host: S7F2 (PPGNT=0)
Host->>Equipment: S7F3 W (PPID, PPBODY)
Note over Equipment: 驗證配方
Note over Equipment: 語法無效
Equipment-->>Host: S7F4 (ACKC7=5)
Note left of Equipment: 模式不支援<br/>(驗證失敗)
10.3 配方使用中¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: RECIPE001 目前執行中
Host->>Equipment: S7F17 W (PPID="RECIPE001")
Equipment-->>Host: S7F18 (ACKC7=4)
Note left of Equipment: 無法刪除<br/>配方使用中
11. 相關事件¶
| CEID | 名稱 | 觸發條件 |
|---|---|---|
| 400 | RecipeSelected | 已選擇配方進行加工 |
| 401 | RecipeUploaded | 配方已上傳至主機 |
| 402 | RecipeDownloaded | 配方已從主機下載 |
| 403 | RecipeDeleted | 配方已刪除 |
| 404 | RecipeValidationError | 配方驗證失敗 |
12. 最佳實務¶
- 務必驗證下載的配方,透過上傳並比較
- 檢查空間再下載大型配方
- 查詢配方清單再假設配方存在
- 適當處理「已存在」(PPGNT=1)
- 不要刪除目前使用中的配方