Skip to content

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

S7F1 W
<L[2]
  <PPID "RECIPE001">
  <LENGTH 102400>         // Expected bytes
>

3.3 S7F2 - Load Grant

S7F2
<PPGNT 0>                 // OK to send

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

S7F3 W
<L[2]
  <PPID "RECIPE001">
  <PPBODY 0x...>          // Binary recipe data
>

3.5 S7F4 - Acknowledge

S7F4
<ACKC7 0>                 // Accepted

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

S7F5 W
<PPID "RECIPE001">

4.3 S7F6 - Recipe Data

Success:

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

Recipe Not Found:

S7F6
<L[0]>

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:

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

Delete all recipes:

S7F17 W
<L[0]>

6.3 S7F18 - Delete Acknowledge

S7F18
<ACKC7 0>                 // OK

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

S7F19 W
<L[0]>

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

S7F24
<ACKC7 0>

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
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

  1. Always verify downloaded recipes by uploading and comparing
  2. Check space before downloading large recipes
  3. Query recipe list before assuming recipe exists
  4. Handle "already have" (PPGNT=1) appropriately
  5. Don't delete recipes that are currently in use