SECS/GEM HSMS (Halbleiter / Display)
SECS/GEM ist die Standardkommunikation zwischen den Geräten (Tools) einer Halbleiter-/Display-Fab und dem Host (MES / EAP). Nachrichten werden als SECS-II definiert und über Ethernet mittels HSMS (High-Speed SECS Message Services) über TCP/IP übertragen.
Der SECS/GEM-Treiber des Gateways bietet HSMS Select-Handshake + Hintergrund-Linktest + asynchrones Reply-Matching + SECS-II-Item-Codec (L / A / B / U1U8 / I1I8 / F4 / F8) für read (S<n>F<m>) / write (S2F41 Host Command, HCACK-Verifizierung) an.
Sollten zusätzlich gerätespezifische GEM-Sequenzen — S1F13/F14 Establish, S6-Event-Reports, S5-Alarme, Control-State-Modell, Spool — erforderlich sein, wenden Sie sich bitte an das Entwicklerteam.
Eingabewerte für das Registrierungsformular
| Eingabefeld | Was eintragen | Beispiel |
|---|---|---|
| IP-Adresse | HSMS-IP des Geräts (Tools) | 192.168.0.140 |
| Port | HSMS-Port | 5000 (häufig verwendet) |
| Device ID | SECS-Device-ID | 0 (häufig verwendet) |
| Modus | passiv / aktiv | active (Gateway ist die Verbindungsseite) |
| T3 / T5 / T6 / T7 / T8 | HSMS-Timeout (ms) | Standardwerte werden empfohlen |
Laut SECS/GEM-Standard wird empfohlen, dass der Host (MES / Gateway) passiv lauscht und das Tool die Verbindung aufbaut. Je nach Vor-Ort-Bedingungen gibt es jedoch mehr Umgebungen, in denen das Gateway aktiv die Verbindung aufbaut. Richten Sie sich nach den Einstellungen des Tools.
PLC-Adressnotation für Tags
Im Gateway werden SECS-II-Nachrichten im Format S<n>F<m> eingegeben. n=Stream, m=Function.
| Notation | Bedeutung |
|---|---|
S1F1 | Are You There — Ping, ob die Kommunikation lebt |
S1F3 | Selected Equipment Status Request |
S1F11 | Status Variable Namelist Request |
S2F13 | Equipment Constant Request |
S2F41 | Host Command Send (write — Start/Stopp etc.) |
S5F1 | Alarm Report |
S6F11 | Event Report Send |
Bei Lesenachrichten (S1F3, S1F11 usw.) ist die Antwort direkt der Wert.
Bestimmte Werte aus einer Antwort herauslesen
Wenn die Antwort eine SECS-II-Liste ist, können Sie Werte über Indizes wie S1F4[0], S1F4[2].[1] extrahieren.
| Notation | Bedeutung |
|---|---|
S1F4[0] | 0. Element der S1F4-Antwortliste |
S6F12[1].[3] | [1][3] der verschachtelten S6F12-Liste |
Datenformat-Zuordnung
Entspricht dem Item-Code von SECS-II.
| SECS-II-Typ | Bedeutung | Datenformat | Format-Hilfe |
|---|---|---|---|
| L | Liste (rekursiv) | (über Indizes entfaltet) | — |
| A | ASCII | String | (leer) |
| B | Binär | String | (leer) |
| BOOLEAN | Boolean | Boolean | (leer) |
| U1/U2/U4 | Unsigned 1/2/4 Byte | Integer | UI/UDW |
| U8 | Unsigned 8 Byte | Long | (leer) |
| I1/I2/I4 | Signed 1/2/4 Byte | Integer | (leer)/DW |
| F4 | Float 32-Bit | Float | REAL |
| F8 | Float 64-Bit | Double | LREAL |
Schreiben (Write) Unterstützung
Mit S2F41 (Host Command Send) können Sie Befehle an das Gerät senden.
| Notation | Bedeutung |
|---|---|
S2F41 | Host Command Send (RCMD = "START" / "STOP" / "PP-SELECT" usw.) |
S2F49 | Enhanced Remote Command |
Werte werden als Befehlsname (RCMD) + Parameterliste gesendet. Detaillierte Formate finden Sie in den SEMI-Standardspezifikationen im Gerätehandbuch.
START / STOP gemäß S2F41 löst tatsächliche Geräteaktionen aus. In einer laufenden Fab unbedingt nach Absprache mit dem EAP- / MES-Team verwenden.
Häufige Probleme und Lösungen
| Symptom | Mögliche Ursache | Lösung |
|---|---|---|
| „Select.rsp not received“ | Aktiv/Passiv-Mismatch | GEM-Einstellungen des Tools prüfen |
| „Linktest timeout“ | Firewall | Wenn Erhöhung von T6 (Linktest) nicht hilft, Netzwerk prüfen |
| „Communication not established (S1F13)“ | Manche Geräte verlangen zuerst die S1F13/F14-Establish-Sequenz | In den GEM-Einstellungen des Geräts die automatische Establish-Option aktivieren oder Rohkommunikation über S1F1 / S1F3 usw. |
| Antwort-Dekodierung fehlgeschlagen | Fehler bei Verschachtelungstiefe | Antwort roh empfangen und separat mit SECS-II-Dekoder parsen |
Häufig verwendete SECS-Nachrichten im Detail
S1F1 / S1F2 — Are You There (Ping)
| Nachricht | Richtung | Bedeutung |
|---|---|---|
| S1F1 | Host → Tool | „Lebst du?“ — leere Nachricht |
| S1F2 | Tool → Host | Antwort „MDLN, SOFTREV“ (Gerätemodell + Firmware) |
S1F3 / S1F4 — Selected Equipment Status Request (SVID lesen)
Der Body von S1F3 ist eine SVID-Liste. Die Antwort S1F4 ist eine Werteliste in derselben Reihenfolge.
| Notation | Bedeutung |
|---|---|
S1F3 (Body=L,1.<U4 100>) | SVID 100 lesen (z. B. CassetteCount) |
S1F4[0] | 0. Element der Antwortliste (= Wert von SVID 100) |
S2F41 — Host Command Send (write — Geräteaktion)
| RCMD | Bedeutung |
|---|---|
START | Bearbeitung starten |
STOP | Bearbeitung stoppen |
ABORT | Sofortiger Abbruch |
PP-SELECT | Process-Programm auswählen (CPNAME=PPID, CPVAL=Programmname) |
PAUSE / RESUME | Pausieren / Fortsetzen |
S6F11 / S6F12 — Event Report Send (CEID-basiert)
Das Gerät pusht bei Ereignissen selbstständig an den Host. Die Daten werden nach CEID (Collection Event ID) gruppiert.
| Feld | Bedeutung |
|---|---|
| DATAID | Ereignissequenznummer |
| CEID | Collection Event ID (z. B. 21=ProcessStarted) |
| RPTID-Liste | Verschachtelte Daten je Berichts-ID |
Da PlantPulse die rohe Antwort unverändert empfängt, extrahieren Sie per Index wie S6F11[0], S6F11[1] und verarbeiten Sie anschließend mit einer Formel nach.
S5F1 / S5F2 — Alarm Report
| Feld | Bedeutung |
|---|---|
| ALCD | Alarm Code (1 Byte: Bit7=set/clear, Bit0~6=Kategorie) |
| ALID | Alarm ID |
| ALTX | Alarmtext (für Menschen lesbare Nachricht) |
Häufig verwendete Betriebsmuster
Muster 1. Fab-Tool-Health-Monitoring (Ping + Status)
| Tag-Name | Adresse | Format | Hinweis |
|---|---|---|---|
| Ping | S1F1 | (Vorhandensein einer Antwort) | Timecycle 30s |
| Modellname | S1F4[0] | String | (S1F3 SVID=MDLN) |
| Bearbeitungsstatus | S1F4[1] | Integer | (S1F3 SVID=ControlState) |
Muster 2. Erfassung von Ergebnisdaten (S6F11)
In den GEM-Einstellungen des Geräts „EventReport on PROCESSEND“ aktivieren → wird per S6F11 gepusht. PlantPulse verbindet sich im aktiven Modus, sammelt die rohen Antworten → parst sie in der Nachverarbeitungs-Pipeline mit einem SECS-II-Dekoder (z. B. secsgem-py).
Muster 3. Pset / Rezeptwechsel (S2F41)
S2F41 RCMD="PP-SELECT" CPNAME="PPID" CPVAL="RECIPE_AB100"
In einer echten Fab löst S2F41 Geräteaktionen aus. Unbedingt mit dem EAP- / MES-Team abstimmen und nur im Leerlauf des tatsächlichen Geräts verwenden.
Nächste Schritte
- Siehe SEMI E5 (SECS-II) / E37 (HSMS) / E30 (GEM) Standarddokumente.
- Wenn Sie eine vollständige GEM-Integration (Event Reporting, Control State, Rezepte) benötigen, kontaktieren Sie das Entwicklerteam.
- Siehe SECS/GEM-Beispiele unter Erweitert — REST API.