Skip to main content

SECS/GEM HSMS (Semiconductor / Display)

SECS/GEM is the standard communication between semiconductor/display fab equipment (tools) and hosts (MES/EAP). Messages are defined in SECS-II and transmitted over Ethernet using HSMS (High-Speed SECS Message Services) TCP/IP.

Operating Guide

The gateway's SECS/GEM driver provides read (S<n>F<m>) and write (S2F41 host command, with HCACK verification) over HSMS Select handshake + background Linktest + asynchronous reply matching + SECS-II item codec (L / A / B / U1U8 / I1I8 / F4 / F8). If equipment-specific GEM sequences — S1F13/F14 establish, S6 event reports, S5 alarms, control state model, spool — are additionally required, please contact the development team.


Registration Form Input Values​

Input FieldWhat to EnterExample
IP AddressHSMS IP of the equipment (tool)192.168.0.140
PortHSMS port5000 (commonly used)
Device IDSECS device ID0 (commonly used)
Modepassive / activeactive (gateway is the connecting side)
T3 / T5 / T6 / T7 / T8HSMS timeouts (ms)Defaults recommended
active vs passive

Per the SECS/GEM standard, it is recommended that the host (MES/gateway) listens as passive and the tool connects. However, depending on field conditions, more environments have the gateway connecting in active mode. Match the tool's configuration.


PLC Address Notation for Tags​

In the gateway, SECS-II messages are entered in S<n>F<m> format. n=stream, m=function.

NotationMeaning
S1F1Are You There — ping to check if communication is alive
S1F3Selected Equipment Status Request
S1F11Status Variable Namelist Request
S2F13Equipment Constant Request
S2F41Host Command Send (write — start/stop, etc.)
S5F1Alarm Report
S6F11Event Report Send

For read messages (S1F3, S1F11, etc.), the response becomes the value directly.

Extracting Specific Values from Responses​

If the response is a SECS-II list, you can extract values using indices like S1F4[0], S1F4[2].[1].

NotationMeaning
S1F4[0]0th element of S1F4 response list
S6F12[1].[3]S6F12 nested list [1][3]

Data Type Matching​

Matches the SECS-II item code.

SECS-II TypeMeaningData TypeType Modifier
LList (recursive)(used expanded via indices)—
AASCIIString(empty)
BBinaryString(empty)
BOOLEANBooleanBoolean(empty)
U1/U2/U4Unsigned 1/2/4 byteIntegerUI/UDW
U8Unsigned 8 byteLong(empty)
I1/I2/I4Signed 1/2/4 byteInteger(empty)/DW
F4Float 32-bitFloatREAL
F8Float 64-bitDoubleLREAL

Write Support​

Commands can be sent to the equipment using S2F41 (Host Command Send).

NotationMeaning
S2F41Host Command Send (RCMD = "START"/"STOP"/"PP-SELECT", etc.)
S2F49Enhanced Remote Command

Values are sent in the form of command name (RCMD) + parameter list. For detailed format, refer to the SEMI standard specification in the equipment manual.

Fab Operation Impact

START/STOP via S2F41 trigger actual equipment operations. In a production fab, always coordinate with the EAP/MES team before use.


Common Issues and Solutions​

SymptomPossible CauseSolution
"Select.rsp not received"active/passive mismatchCheck the tool's GEM configuration
"Linktest timeout"FirewallIf increasing T6 (linktest) doesn't help, inspect the network
"Communication not established (S1F13)"Some equipment requires the S1F13/F14 establish sequence firstEnable auto-establish option in the tool's GEM settings, or use raw communication via S1F1/S1F3, etc.
Response decoding failureNested list depth errorReceive the raw response and parse it separately using a SECS-II decoder

Frequently Used SECS Messages in More Detail​

S1F1 / S1F2 — Are You There (ping)​

MessageDirectionMeaning
S1F1host → tool"Are you alive?" — empty message
S1F2tool → host"MDLN, SOFTREV" response (equipment model name + firmware)

S1F3 / S1F4 — Selected Equipment Status Request (reading SVID)​

The body of S1F3 is a list of SVIDs. The response S1F4 is a list of values in the same order.

NotationMeaning
S1F3 (body=L,1.<U4 100>)Read SVID 100 (e.g., CassetteCount)
S1F4[0]0th element of the response list (= value of SVID 100)

S2F41 — Host Command Send (write — equipment operation)​

RCMDMeaning
STARTStart processing
STOPStop processing
ABORTImmediate abort
PP-SELECTSelect Process Program (CPNAME=PPID, CPVAL=program name)
PAUSE / RESUMEPause / Resume

S6F11 / S6F12 — Event Report Send (by CEID)​

The equipment pushes to the host on its own when events occur. Reports are grouped by CEID (Collection Event ID).

FieldMeaning
DATAIDEvent sequence number
CEIDCollection Event ID (e.g., 21=ProcessStarted)
RPTID listNested data per report ID

Since PlantPulse receives the raw response, extract using indices like S6F11[0], S6F11[1], and then post-process with formulas.

S5F1 / S5F2 — Alarm Report​

FieldMeaning
ALCDAlarm Code (1 byte: bit7=set/clear, bit0~6=category)
ALIDAlarm ID
ALTXAlarm text (human-readable message)

Frequently Used Operating Patterns​

Pattern 1. Fab Tool Health Monitoring (ping + status)​

Tag NameAddressTypeNotes
PingS1F1(response presence)timecycle 30s
Model NameS1F4[0]String(S1F3 SVID=MDLN)
Processing StatusS1F4[1]Integer(S1F3 SVID=ControlState)

Pattern 2. Result Data Collection (S6F11)​

Enable "EventReport on PROCESSEND" in the tool's GEM settings → pushed via S6F11. PlantPulse connects in active mode, collects raw responses → parses them with a SECS-II decoder (e.g., secsgem-py) in the post-processing pipeline.

Pattern 3. Pset / Recipe Switching (S2F41)​

S2F41 RCMD="PP-SELECT" CPNAME="PPID" CPVAL="RECIPE_AB100"
Operation Impact

In a real fab, S2F41 causes equipment operations. Always coordinate with the EAP/MES team and only use while the actual equipment is idle.


Next Steps​

  • Refer to the SEMI E5 (SECS-II) / E37 (HSMS) / E30 (GEM) standard documents.
  • For full GEM integration (event reporting, control state, recipe), please contact the development team.
  • See the SECS/GEM examples in Advanced — REST API.