Scenario: Recipe Management¶
1. Overview¶
This scenario describes the complete recipe (process program) management flow, including download, upload, verification, and deletion operations.
2. Preconditions¶
| Condition | Required State |
|---|---|
| Communication | COMMUNICATING |
| Control State | ONLINE |
| Process State | IDLE (for most operations) |
3. Recipe Download (Host → Equipment)¶
3.1 Complete Download Sequence¶
sequenceDiagram
participant Host
participant Equipment
rect rgb(240, 248, 255)
Note over Host,Equipment: Phase 1: Inquire
Host->>Equipment: S7F1 W (PPID, Length)
Equipment-->>Host: S7F2 (PPGNT=0)
end
rect rgb(240, 255, 240)
Note over Host,Equipment: Phase 2: Transfer
Host->>Equipment: S7F3 W (PPID, PPBODY)
Note over Equipment: Validate recipe
Note over Equipment: Store recipe
Equipment-->>Host: S7F4 (ACKC7=0)
end
rect rgb(255, 248, 240)
Note over Host,Equipment: Phase 3: Event Notification
Equipment->>Host: S6F11 W (RecipeDownloaded)
Host-->>Equipment: S6F12
end
3.2 S7F1 - Load Inquire¶
3.3 S7F2 - Load Grant¶
PPGNT Response Codes:
| Value | Meaning | Action |
|---|---|---|
| 0 | OK | Proceed with S7F3 |
| 1 | Already have | Skip download or force overwrite |
| 2 | No space | Delete old recipes |
| 3 | Invalid PPID | Check PPID format |
| 4 | Busy | Retry later |
| 5 | Will not accept | Check equipment state |
3.4 S7F3 - Recipe Send¶
3.5 S7F4 - Acknowledge¶
ACKC7 Response Codes:
| Value | Meaning |
|---|---|
| 0 | Accepted |
| 1 | Permission not granted |
| 2 | Length error |
| 3 | Matrix overflow |
| 4 | PPID not found |
| 5 | Mode unsupported |
| 6 | Async completion |
4. Recipe Upload (Equipment → Host)¶
4.1 Upload Sequence¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F5 W (PPID)
Note over Equipment: Locate recipe
Note over Equipment: Prepare data
Equipment-->>Host: S7F6 (PPID, PPBODY)
Note over Host: Validate received data
4.2 S7F5 - Recipe Request¶
4.3 S7F6 - Recipe Data¶
Success:
Recipe Not Found:
5. Recipe Verification¶
5.1 Download and Verify Sequence¶
sequenceDiagram
participant Host
participant Equipment
Note over Host,Equipment: Download
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: Verify by Upload
Host->>Equipment: S7F5 W (PPID)
Equipment-->>Host: S7F6 (PPID, PPBODY)
Note over Host: Compare original with uploaded
Note over Host: Verify match
6. Recipe Deletion¶
6.1 Delete Specific Recipe¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F17 W
Note right of Host: PPID list to delete
Note over Equipment: Delete recipes
Equipment-->>Host: S7F18 (ACKC7=0)
Equipment->>Host: S6F11 W (RecipeDeleted)
Host-->>Equipment: S6F12
6.2 S7F17 - Delete Request¶
Delete specific recipes:
Delete all recipes:
6.3 S7F18 - Delete Acknowledge¶
7. Recipe List Query¶
7.1 Query Sequence¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F19 W
Equipment-->>Host: S7F20 (PPID list)
7.2 S7F19 - List Request¶
7.3 S7F20 - List Response¶
S7F20
<L[5]
<PPID "RECIPE001">
<PPID "RECIPE002">
<PPID "RECIPE003">
<PPID "DEFAULT">
<PPID "TEST">
>
8. Recipe Selection¶
8.1 Via Remote Command¶
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 Via START Command¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S2F41 W
Note right of Host: RCMD="START"<br/>RecipeID="RECIPE001"
Note over Equipment: Select recipe
Note over Equipment: Start process
Equipment-->>Host: S2F42 (HCACK=0)
9. Formatted Recipe Transfer¶
9.1 S7F23 - Formatted Recipe Send¶
For equipment supporting formatted (parameterized) recipes:
S7F23 W
<L[3]
<PPID "RECIPE001">
<MDLN "MODEL-001">
<L[n] // Recipe parameters
<L[2]
<CCODE "STEP1">
<L[m]
<PARAM1 100>
<PARAM2 200>
>
>
...
>
>
9.2 S7F24 - Formatted Recipe Acknowledge¶
9.3 S7F25/S7F26 - Formatted Recipe Upload¶
Similar to S7F5/S7F6 but returns formatted structure.
10. Error Scenarios¶
10.1 Storage Full¶
sequenceDiagram
participant Host
participant Equipment
Host->>Equipment: S7F1 W (PPID, Length)
Equipment-->>Host: S7F2 (PPGNT=2)
Note left of Equipment: No space
Note over Host: Delete old recipes first
Host->>Equipment: S7F17 W (old PPIDs)
Equipment-->>Host: S7F18 (ACKC7=0)
Note over Host: Retry download
Host->>Equipment: S7F1 W (PPID, Length)
Equipment-->>Host: S7F2 (PPGNT=0)
10.2 Recipe Validation Error¶
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: Validate recipe
Note over Equipment: Invalid syntax
Equipment-->>Host: S7F4 (ACKC7=5)
Note left of Equipment: Mode unsupported<br/>(validation failed)
10.3 Recipe in Use¶
sequenceDiagram
participant Host
participant Equipment
Note over Equipment: RECIPE001 currently executing
Host->>Equipment: S7F17 W (PPID="RECIPE001")
Equipment-->>Host: S7F18 (ACKC7=4)
Note left of Equipment: Cannot delete<br/>Recipe in use
11. Related Events¶
| CEID | Name | Trigger |
|---|---|---|
| 400 | RecipeSelected | Recipe selected for processing |
| 401 | RecipeUploaded | Recipe uploaded to host |
| 402 | RecipeDownloaded | Recipe downloaded from host |
| 403 | RecipeDeleted | Recipe deleted |
| 404 | RecipeValidationError | Recipe failed validation |
12. Best Practices¶
- Always verify downloaded recipes by uploading and comparing
- Check space before downloading large recipes
- Query recipe list before assuming recipe exists
- Handle "already have" (PPGNT=1) appropriately
- Don't delete recipes that are currently in use