跳轉到

情境:配方管理

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 - 載入詢問

S7F1 W
<L[2]
  <PPID "RECIPE001">
  <LENGTH 102400>         // 預期位元組數
>

3.3 S7F2 - 載入授權

S7F2
<PPGNT 0>                 // 可以傳送

PPGNT 回應碼:

意義 動作
0 確定 繼續 S7F3
1 已存在 跳過下載或強制覆寫
2 空間不足 刪除舊配方
3 無效 PPID 檢查 PPID 格式
4 忙碌 稍後重試
5 不接受 檢查設備狀態

3.4 S7F3 - 配方傳送

S7F3 W
<L[2]
  <PPID "RECIPE001">
  <PPBODY 0x...>          // 二進位配方資料
>

3.5 S7F4 - 確認

S7F4
<ACKC7 0>                 // 已接受

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 - 配方請求

S7F5 W
<PPID "RECIPE001">

4.3 S7F6 - 配方資料

成功:

S7F6
<L[2]
  <PPID "RECIPE001">
  <PPBODY 0x...>
>

找不到配方:

S7F6
<L[0]>

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 - 刪除請求

刪除特定配方:

S7F17 W
<L[2]
  <PPID "RECIPE001">
  <PPID "RECIPE002">
>

刪除所有配方:

S7F17 W
<L[0]>

6.3 S7F18 - 刪除確認

S7F18
<ACKC7 0>                 // 確定

7. 配方清單查詢

7.1 查詢序列

sequenceDiagram participant Host participant Equipment Host->>Equipment: S7F19 W Equipment-->>Host: S7F20 (PPID list)

7.2 S7F19 - 清單請求

S7F19 W
<L[0]>

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 - 格式化配方確認

S7F24
<ACKC7 0>

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. 最佳實務

  1. 務必驗證下載的配方,透過上傳並比較
  2. 檢查空間再下載大型配方
  3. 查詢配方清單再假設配方存在
  4. 適當處理「已存在」(PPGNT=1)
  5. 不要刪除目前使用中的配方