Skip to content

Process Program Management

1. Overview

Process Program (Recipe) Management enables the host to transfer, manage, and control recipes on the equipment. This follows SEMI E30 (GEM) and uses Stream 7 messages.

2. Process Program Concepts

2.1 Terminology

Term Description
PPID Process Program ID - unique recipe identifier
PPBODY Process Program Body - recipe content/data
Formatted PP Structured recipe with defined parameters
Unformatted PP Binary/proprietary recipe format

2.2 Recipe Format

This equipment uses: [Formatted / Unformatted / Both]

3. Recipe Storage

Parameter Value
Maximum Recipes [100]
Maximum PPID Length [64] characters
Maximum PPBODY Size [1 MB]
Storage Type Non-volatile
Message Direction Description
S7F1 H→E Process Program Load Inquire
S7F2 E→H Process Program Load Grant
S7F3 H→E Process Program Send
S7F4 E→H Process Program Acknowledge
S7F5 H→E Process Program Request
S7F6 E→H Process Program Data
S7F17 H→E Delete Process Program Send
S7F18 E→H Delete Process Program Acknowledge
S7F19 H→E Current EPPD Request
S7F20 E→H Current EPPD Data
S7F23 H→E Formatted Process Program Send
S7F24 E→H Formatted Process Program Acknowledge
S7F25 H→E Formatted Process Program Request
S7F26 E→H Formatted Process Program Data

5. Recipe Download (Host to Equipment)

5.1 Unformatted Recipe Download

sequenceDiagram participant Host participant Equipment Note over Host,Equipment: Inquire Phase Host->>Equipment: S7F1 (PPID, Length) Equipment-->>Host: S7F2 (PPGNT=0, OK) Note over Host,Equipment: Transfer Phase Host->>Equipment: S7F3 (PPID, PPBODY) Equipment-->>Host: S7F4 (ACKC7=0) Note over Equipment: Recipe stored

5.2 S7F1 - Process Program Load Inquire

Structure:

S7F1 W
<L[2]
  <PPID>              // Process program ID
  <LENGTH>            // Expected length in bytes
>

5.3 S7F2 - Process Program Load Grant

Structure:

S7F2
<PPGNT>

PPGNT Values:

Value Description
0 OK
1 Already have
2 No space
3 Invalid PPID
4 Busy, try later
5 Will not accept

5.4 S7F3 - Process Program Send

Structure:

S7F3 W
<L[2]
  <PPID>
  <PPBODY>            // Binary recipe data
>

5.5 S7F4 - Process Program Acknowledge

Structure:

S7F4
<ACKC7>

ACKC7 Values:

Value Description
0 Accepted
1 Permission not granted
2 Length error
3 Matrix overflow
4 PPID not found
5 Mode unsupported
6 Async completion

6. Recipe Upload (Equipment to Host)

6.1 Unformatted Recipe Upload

sequenceDiagram participant Host participant Equipment Host->>Equipment: S7F5 (PPID) Equipment-->>Host: S7F6 (PPID, PPBODY)

6.2 S7F5 - Process Program Request

Structure:

S7F5 W
<PPID>

6.3 S7F6 - Process Program Data

Structure:

S7F6
<L[2]
  <PPID>
  <PPBODY>
>

If PPID not found, returns:

S7F6
<L[0]>

7. Formatted Recipe Transfer

7.1 Formatted Recipe Structure

Formatted recipes use a standardized parameter structure:

S7F23 W
<L[3]
  <PPID>
  <MDLN>              // Equipment model
  <L[n]               // Command codes / parameters
    <CCODE>           // Command code
    ...
  >
>

7.2 Formatted Recipe Parameters

Parameter Type Description
[Param1] [Type] [Description]
[Param2] [Type] [Description]

8. Recipe Deletion

8.1 S7F17 - Delete Process Program Send

Structure:

S7F17 W
<L[n]
  <PPID>
  ...
>

To delete all recipes: <L[0]>

8.2 S7F18 - Delete Process Program Acknowledge

Structure:

S7F18
<ACKC7>

9. Recipe List Query

9.1 S7F19 - Current EPPD Request

Request list of stored recipes:

Structure:

S7F19 W
<L[0]>

9.2 S7F20 - Current EPPD Data

Structure:

S7F20
<L[n]
  <PPID>
  ...
>

10. Recipe Selection

Recipes are selected for execution via:

  1. Remote Command: S2F41 with RCMD="PP_SELECT" or START with RecipeID
  2. Operator Selection: Local operator interface

11. Recipe Flow Sequences

11.1 Complete Recipe Management Flow

sequenceDiagram participant Host participant Equipment Note over Host,Equipment: 1. Query existing recipes Host->>Equipment: S7F19 (List request) Equipment-->>Host: S7F20 (PPID list) Note over Host,Equipment: 2. Download new recipe Host->>Equipment: S7F1 (Inquire) Equipment-->>Host: S7F2 (Grant) Host->>Equipment: S7F3 (Send recipe) Equipment-->>Host: S7F4 (Ack) Note over Host,Equipment: 3. Select and start Host->>Equipment: S2F41 (START, RecipeID) Equipment-->>Host: S2F42 (HCACK=0) Note over Host,Equipment: 4. Upload for verification Host->>Equipment: S7F5 (Request) Equipment-->>Host: S7F6 (Recipe data)
SVID Name Type Description
[7001] SelectedRecipe A Currently selected recipe ID
[7002] RecipeCount U2 Number of stored recipes
[7003] RecipeSpaceAvailable U4 Available storage (bytes)
CEID Name Description
400 RecipeSelected Recipe selected for processing
401 RecipeUploaded Recipe uploaded to host
402 RecipeDownloaded Recipe downloaded from host
403 RecipeDeleted Recipe deleted

14. Error Handling

14.1 Download Errors

Scenario Response
Storage full S7F2 (PPGNT=2)
Invalid PPID S7F2 (PPGNT=3)
Transfer error S7F4 (ACKC7=2)

14.2 Upload Errors

Scenario Response
Recipe not found S7F6 with empty list

14.3 Recipe Validation

Equipment validates downloaded recipes for: - Syntax correctness - Parameter ranges - Equipment compatibility - Version compatibility

Validation errors result in S7F4 (ACKC7≠0).