Message Scenarios¶
Overview¶
This chapter provides complete message flow scenarios for common SECS/GEM operations. Each scenario includes the full message sequence, data structures, and expected responses.
Scenario 1: Communication Establishment¶
1.1 Description¶
Complete sequence from HSMS connection to online operation, including communication establishment, status query, and online transition.
1.2 Prerequisites¶
- Equipment powered on and ready
- Network connection available
- HSMS parameters configured
1.3 Message Flow¶
1.4 Detailed Messages¶
S1F13 - Establish Communications Request:
S1F14 - Establish Communications Acknowledge:
S1F14
<L[2]
<B[1] 0x00> // COMMACK = Accepted
<L[2]
<A[15] "GST-PANEL-2000"> // Equipment Model
<A[10] "V3.2.1.045"> // Software Version
>
>
.
S1F3 - Request Key Status Variables:
S1F3 W
<L[6]
<U4 1> // Clock
<U4 2> // ControlState
<U4 3> // ProcessState
<U4 500> // ActiveAlarmCount
<U4 100> // EquipmentTemperature
<U4 200> // WaferCount
>
.
S1F4 - Status Variable Response:
S1F4
<L[6]
<A[14] "20250101090000"> // Clock
<U1 2> // ControlState = ONLINE-LOCAL
<U1 1> // ProcessState = IDLE
<U2 0> // ActiveAlarmCount = 0
<F4 23.5> // Temperature = 23.5°C
<U4 0> // WaferCount = 0
>
.
S1F17 - Request Online:
S1F18 - Online Acknowledge:
1.5 Error Handling¶
| Error | COMMACK/ONLACK | Action |
|---|---|---|
| Equipment not ready | 0x01 | Wait and retry S1F13 |
| Already communicating | 0x02 | Use existing connection |
| Maintenance mode | 0x02 | Wait for maintenance complete |
| Interlock active | 0x02 | Resolve interlock first |
Scenario 2: Recipe Download¶
2.1 Description¶
Host downloads a process recipe to the equipment for later execution.
2.2 Prerequisites¶
- Equipment ONLINE-REMOTE
- Recipe storage space available
- Valid recipe format
2.3 Message Flow¶
2.4 Detailed Messages¶
S7F19 - Process Program List Request:
S7F20 - Process Program List Reply:
S7F20
<L[5]
<A[20] "RECIPE_PROD_001">
<A[20] "RECIPE_PROD_002">
<A[20] "RECIPE_TEST_001">
<A[20] "RECIPE_MAINT_001">
<A[20] "RECIPE_QUAL_001">
>
.
S7F3 - Process Program Send (Download):
S7F3 W
<L[2]
<A[20] "RECIPE_PROD_003"> // Recipe ID
<L[10] // Recipe Body (Steps)
<L[4] // Step 1
<U4 1> // Step Number
<A[20] "PREHEAT"> // Step Name
<L[5] // Parameters
<L[2]
<A[15] "TEMP_SETPOINT">
<F4 150.0> // 150°C
>
<L[2]
<A[15] "RAMP_RATE">
<F4 10.0> // 10°C/min
>
<L[2]
<A[15] "HOLD_TIME">
<U4 60> // 60 seconds
>
<L[2]
<A[15] "PRESSURE">
<F4 760.0> // 760 Torr
>
<L[2]
<A[15] "GAS_FLOW">
<F4 100.0> // 100 sccm
>
>
<U4 120> // Step Time (sec)
>
<L[4] // Step 2
<U4 2> // Step Number
<A[20] "PROCESS"> // Step Name
<L[6] // Parameters
<L[2]
<A[15] "TEMP_SETPOINT">
<F4 200.0> // 200°C
>
<L[2]
<A[15] "PRESSURE">
<F4 0.1> // 0.1 Torr (Vacuum)
>
<L[2]
<A[15] "RF_POWER">
<F4 500.0> // 500 W
>
<L[2]
<A[15] "GAS1_FLOW">
<F4 50.0> // 50 sccm
>
<L[2]
<A[15] "GAS2_FLOW">
<F4 25.0> // 25 sccm
>
<L[2]
<A[15] "HOLD_TIME">
<U4 300> // 300 seconds
>
>
<U4 360> // Step Time (sec)
>
// ... additional steps ...
>
>
.
S7F4 - Process Program Acknowledge:
2.5 ACKC7 Error Codes¶
| ACKC7 | Description | Recovery Action |
|---|---|---|
| 0x00 | Accepted | None |
| 0x01 | Permission denied | Check access mode |
| 0x02 | Length error | Check recipe size |
| 0x03 | Matrix overflow | Delete unused recipes |
| 0x04 | PP syntax error | Fix recipe format |
| 0x05 | Duplicate PP ID | Use different name or delete first |
| 0x06 | Verification error | Retry download |
Scenario 3: Recipe Upload¶
3.1 Description¶
Host requests a process recipe from the equipment.
3.2 Message Flow¶
3.3 Detailed Messages¶
S7F5 - Process Program Request:
S7F6 - Process Program Data:
S7F6
<L[2]
<A[20] "RECIPE_PROD_001"> // Recipe ID
<L[n] // Recipe Body
// ... recipe content ...
>
>
.
Scenario 4: Process Execution with Host Start¶
4.1 Description¶
Host initiates a process job on the equipment, monitors execution, and receives completion notification.
4.2 Prerequisites¶
- Equipment ONLINE-REMOTE
- Recipe loaded
- Material present at load port
4.3 Message Flow¶
4.4 Detailed Messages¶
S2F41 - Remote Command (PP-SELECT):
S2F41 W
<L[2]
<A[10] "PP-SELECT"> // Remote Command
<L[1]
<L[2]
<A[8] "RecipeID"> // Parameter Name
<A[20] "RECIPE_PROD_001"> // Recipe to select
>
>
>
.
S2F42 - Remote Command Acknowledge:
S2F41 - Remote Command (START):
S2F41 W
<L[2]
<A[5] "START"> // Remote Command
<L[2]
<L[2]
<A[5] "LotID">
<A[20] "LOT_2025_0001">
>
<L[2]
<A[10] "SubstrateCount">
<U4 25>
>
>
>
.
S6F11 - Process Started Event:
S6F11 W
<L[3]
<U4 10001> // DATAID
<U4 101> // CEID = ProcessStarted
<L[1]
<L[2]
<U4 21> // RPTID = RPT_ProcessStart
<L[5]
<A[14] "20250101100000"> // Clock
<A[20] "PJOB_001"> // ProcessJobID
<A[20] "RECIPE_PROD_001"> // RecipeID
<A[20] "LOT_2025_0001"> // LotID
<U4 25> // SubstrateCount
>
>
>
>
.
S6F11 - Process Completed Event:
S6F11 W
<L[3]
<U4 10002> // DATAID
<U4 102> // CEID = ProcessCompleted
<L[2]
<L[2]
<U4 20> // RPTID = RPT_ProcessState
<L[2]
<A[14] "20250101103000"> // Clock
<U1 1> // ProcessState = IDLE
>
>
<L[2]
<U4 22> // RPTID = RPT_ProcessEnd
<L[9]
<A[14] "20250101103000"> // Clock
<A[20] "PJOB_001"> // ProcessJobID
<A[20] "RECIPE_PROD_001"> // RecipeID
<A[20] "LOT_2025_0001"> // LotID
<U4 1800> // ProcessTime (30 min)
<U1 0> // ProcessResult = OK
<U4 25> // ProcessedCount
<U4 24> // GoodCount
<U4 1> // BadCount
>
>
>
>
.
Scenario 5: Process Abort¶
5.1 Description¶
Host or operator aborts a running process.
5.2 Message Flow¶
5.3 Detailed Messages¶
S2F41 - Remote Command (ABORT):
S6F11 - Process Aborted Event:
S6F11 W
<L[3]
<U4 10003> // DATAID
<U4 103> // CEID = ProcessAborted
<L[1]
<L[2]
<U4 22> // RPTID = RPT_ProcessEnd
<L[9]
<A[14] "20250101101500"> // Clock
<A[20] "PJOB_001"> // ProcessJobID
<A[20] "RECIPE_PROD_001"> // RecipeID
<A[20] "LOT_2025_0001"> // LotID
<U4 900> // ProcessTime (partial)
<U1 2> // ProcessResult = Aborted
<U4 12> // ProcessedCount (partial)
<U4 11> // GoodCount
<U4 1> // BadCount
>
>
>
>
.
Scenario 6: Carrier Handling (Load/Unload)¶
6.1 Description¶
Complete carrier (FOUP/cassette) handling sequence from arrival to departure.
6.2 Message Flow¶
6.3 Detailed Messages¶
S6F11 - Material Received Event:
S6F11 W
<L[3]
<U4 20001> // DATAID
<U4 200> // CEID = MaterialReceived
<L[1]
<L[2]
<U4 40> // RPTID = RPT_Material
<L[5]
<A[14] "20250101080000"> // Clock
<A[20] ""> // CarrierID (not yet read)
<A[20] ""> // LotID (not yet known)
<U1 1> // PortID = 1
<U1 1> // MaterialStatus = Present
>
>
>
>
.
S6F11 - Carrier ID Read Event:
S6F11 W
<L[3]
<U4 20002> // DATAID
<U4 208> // CEID = CarrierIDRead
<L[1]
<L[2]
<U4 42> // RPTID = RPT_Carrier
<L[5]
<A[14] "20250101080010"> // Clock
<A[20] "FOUP_A001"> // CarrierID
<A[10] "FOUP-300"> // CarrierType
<U1 2> // CarrierState = ID_VERIFIED
<L[0]> // ContentMap (empty until mapped)
>
>
>
>
.
S6F11 - Slot Map Read Event:
S6F11 W
<L[3]
<U4 20003> // DATAID
<U4 202> // CEID = SlotMapRead
<L[1]
<L[2]
<U4 41> // RPTID = RPT_SlotMap
<L[5]
<A[14] "20250101080030"> // Clock
<A[20] "FOUP_A001"> // CarrierID
<U1 1> // PortID
<L[25] // SlotMap (25 slots)
<U1 3> // Slot 1: Substrate present
<U1 3> // Slot 2: Substrate present
<U1 3> // Slot 3: Substrate present
<U1 1> // Slot 4: Empty
<U1 3> // Slot 5: Substrate present
// ... remaining slots ...
<U1 1> // Slot 25: Empty
>
<U4 20> // SubstrateCount = 20
>
>
>
>
.
6.4 Slot Map Values¶
| Value | Description |
|---|---|
| 0 | Undefined |
| 1 | Empty |
| 2 | Not Empty (unconfirmed) |
| 3 | Correctly Occupied |
| 4 | Double Slotted |
| 5 | Cross Slotted |
Scenario 7: Alarm Handling¶
7.1 Description¶
Complete alarm lifecycle from detection to clearance.
7.2 Message Flow¶
7.3 Detailed Messages¶
S5F1 - Alarm Set:
S5F1 W
<L[3]
<B[1] 0x83> // ALCD = Set + Category 3 (Warning)
<U4 3001> // ALID = Temperature High Warning
<A[45] "Temperature High Warning: Zone 1 = 175.5C (Limit: 170C)">
>
.
S5F1 - Alarm Clear:
S5F1 W
<L[3]
<B[1] 0x03> // ALCD = Clear + Category 3
<U4 3001> // ALID
<A[35] "Temperature Normal: Zone 1 = 165.2C">
>
.
Scenario 8: Equipment Constant Modification¶
8.1 Description¶
Host modifies equipment configuration parameters.
8.2 Message Flow¶
8.3 Detailed Messages¶
S2F13 - Equipment Constant Request:
S2F13 W
<L[4]
<U4 100> // ECID: T3 Timeout
<U4 101> // ECID: T6 Timeout
<U4 102> // ECID: T7 Timeout
<U4 200> // ECID: Process Temp Limit
>
.
S2F14 - Equipment Constant Data:
S2F14
<L[4]
<U4 45> // T3 = 45 sec
<U4 5> // T6 = 5 sec
<U4 10> // T7 = 10 sec
<F4 200.0> // Temp Limit = 200°C
>
.
S2F15 - New Equipment Constant:
S2F15 W
<L[2]
<L[2]
<U4 100> // ECID: T3 Timeout
<U4 60> // New value: 60 sec
>
<L[2]
<U4 200> // ECID: Process Temp Limit
<F4 220.0> // New value: 220°C
>
>
.
S2F16 - New Equipment Constant Acknowledge:
8.4 EAC Error Codes¶
| EAC | Description |
|---|---|
| 0x00 | OK |
| 0x01 | EC not exist |
| 0x02 | Value out of range |
| 0x03 | Busy, try later |
Scenario 9: Clock Synchronization¶
9.1 Description¶
Host synchronizes equipment clock.
9.2 Message Flow¶
9.3 Detailed Messages¶
S2F17 - Date and Time Request:
S2F18 - Date and Time Data:
S2F31 - Date and Time Set:
S2F32 - Date and Time Set Acknowledge:
Scenario 10: Terminal Services (Operator Message)¶
10.1 Description¶
Host sends message to equipment operator display.
10.2 Message Flow¶
10.3 Detailed Messages¶
S10F3 - Terminal Display, Single:
S10F3 W
<L[2]
<U1 0> // TID = Terminal 0 (main)
<A[80] "ATTENTION: Lot LOT_2025_0001 requires visual inspection before continuing.">
>
.
S10F4 - Terminal Display, Single Acknowledge:
S10F5 - Terminal Display, Multi-Block:
S10F5 W
<L[2]
<U1 0> // TID
<L[3]
<A[60] "=== MAINTENANCE NOTIFICATION ===">
<A[60] "PM #3 is due in 100 wafers.">
<A[60] "Please schedule maintenance window.">
>
>
.
Scenario 11: Spooling During Communication Loss¶
11.1 Description¶
Equipment spools messages during host communication loss and transmits when connection restores.
11.2 Message Flow¶
11.3 Detailed Messages¶
S2F43 - Reset Spooling:
S6F23 - Request Spooled Data:
Scenario 12: Multi-Block Message Handling¶
12.1 Description¶
Handling large messages that exceed single-block size using S13 multi-block inquire/grant protocol.
12.2 Message Flow¶
12.3 Detailed Messages¶
S13F1 - Send Multi-Block Inquire:
S13F1 W
<L[4]
<U4 12345> // DATAID
<U1 6> // DESSION = Stream 6
<U1 11> // DESSION = Function 11
<U4 50000> // MLENGTH = 50000 bytes
>
.
S13F2 - Send Multi-Block Grant:
| GRANT | Description |
|---|---|
| 0x00 | OK, send multi-block message |
| 0x01 | Denied, busy try later |
| 0x02 | Denied, out of space |
Scenario Summary Table¶
| Scenario | Primary Messages | Direction | Complexity |
|---|---|---|---|
| Communication Establishment | S1F13/14, S1F17/18 | H→E | Basic |
| Recipe Download | S7F3/4 | H→E | Medium |
| Recipe Upload | S7F5/6 | H←E | Medium |
| Process Execution | S2F41/42, S6F11/12 | H↔E | Advanced |
| Process Abort | S2F41/42 | H→E | Medium |
| Carrier Handling | S6F11/12, S3F17/18 | H↔E | Advanced |
| Alarm Handling | S5F1/2, S6F11/12 | E→H | Medium |
| Equipment Constant | S2F13/14, S2F15/16 | H→E | Basic |
| Clock Sync | S2F17/18, S2F31/32 | H→E | Basic |
| Terminal Services | S10F3/4 | H→E | Basic |
| Spooling | S2F43/44, S6F23/24 | H↔E | Advanced |
| Multi-Block | S13F1/2 | E→H | Medium |