シナリオ:レシピ管理¶
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 | OK | 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)
- 使用中のレシピは削除しない