Dieser Leitfaden soll Anfängern einen Überblick und eine grundlegende Einführung in SECS/GEM und seine Verwendung in der Halbleiterindustrie geben. Und es ist NICHT BESTIMMT zu ersetzen oder als vollständige Referenz der Normen zu dienen. Eine vollständige Referenz der Normen finden Sie bei SEMI.
Obwohl dieses Tutorial versucht, Ihnen auf möglichst einfache Weise ein umfassendes Verständnis von SECS/GEM zu vermitteln, ist es nicht einfach, einen SECS/GEM-Treiber von Grund auf für Ihr Unternehmen zu entwickeln. In der Tat ist es leicht, mehr auszugeben als nötig, aber es gibt auch Möglichkeiten, Geld zu sparen und die betriebliche Effizienz zu verbessern, die Sie nicht verpassen sollten. Es ist schwer, alles zu lernen, was Sie wissen müssen, und trotzdem Ihre tägliche Arbeit zu erledigen.
INSPHERE TECHNOLOGY Produkte vereinfachen diese Komplexität, automatisieren die meisten GEM Nachrichten, so dass Sie eine kosteneffiziente und zeitnahe SECS/GEM-Lösung entwickeln können.
Schauen Sie sich unser Flaggschiff-Produkt unten an, um mehr über SECS/GEM zu erfahren und darüber, wie unsere Produkte Ihnen bei Ihrer Entwicklung helfen können. Kontaktieren Sie unseren Vertriebsmitarbeiter: sales@insphere.com.sg
| SECS/GEM für OEM | SECS/GEM für die Fabrikautomation |
![]() |
Was ist SECS/GEM?
1.
SECS (SEMI Equipment Communication Standards) und GEM (Generic Model For Communications and Control Of Manufacturing Equipment) ist ein Standard, der von SEMI.org, einer internationalen Organisation von Halbleiterherstellern, veröffentlicht und gepflegt wird.
2.
Es ist das wichtigste Kommunikationsprotokoll, das in der Automatisierung (ursprünglich) in der Halbleiter-/Elektronikindustrie verwendet wird, hat aber heute auch in der Photovoltaik- und SMT-Industrie weite Verbreitung gefunden.
3.
Es bietet eine Kommunikationsschnittstelle zwischen Geräten und Host-Systemen.
4.
Im Gegensatz zu anderen Kommunikationsprotokollen, wie z.B. PLC, ermöglicht es den Geräten verschiedener Hersteller, über ein standardisiertes und konsistentes Protokoll mit verschiedenen Arten von Host-Systemen zu kommunizieren.
Um die SECS/GEM-Normen zu verstehen, müssen Sie die folgenden 3 grundlegenden Normen von SEMI erwerben:
1.
SEMI E30 GEM-Norm - Dies ist das "Gehirn", das das Verhalten der Geräte (Geschäftsregeln), den Zustandsautomaten und einige Regeln definiert, z. B. welche SECS-II-Nachrichten in welchen Situationen verwendet werden sollten und welche Aktivitäten sich daraus ergeben. Es definiert auch die Funktionalitäten wie die Sammlung von Statusdaten, die Sammlung von Trace-Daten, die Verwaltung von Alarmen, das Spooling, die Fernsteuerung, usw.
2.
SEMI E5 SECS-II - Legt die Einzelheiten der Interpretation von Nachrichten (APIs) fest, die zwischen Geräten und Host ausgetauscht werden. Sie definiert auch die Datenstruktur der Ein- und Ausgänge von Nachrichten, das Format der Datenelemente, die Bestätigungscodes usw.
3.
SEMI E37 HSMS - Hochgeschwindigkeits-SECS-Nachrichtendienste. Hierbei handelt es sich um eine Transportschicht auf der Grundlage des TCP/IP-Protokolls und um einen Nachfolger des früheren SECS-I-Standards von SEMI E4, der auf serieller Kommunikation basiert. Auf dieser Schicht werden auch die SECS-II-Nachrichten in das HSMS-Nachrichtenformat kodiert.
Sehen wir uns das nachstehende Diagramm genauer an, das eine gute Übersicht über den Befehlsfluss von GEM zu SECS-II und weiter zur HSMS-Schicht bietet.
SEMI E30 GEM-Norm
Der GEM-Standard definiert einen gemeinsamen Satz von Geräteverhalten und Kommunikationsfähigkeiten, die die Funktionalität und Flexibilität zur Unterstützung der Fertigungsautomatisierungsprogramme von Halbleiterherstellern bieten. Gerätehersteller können zusätzliche SECS-II-Funktionen bereitstellen, die nicht in GEM enthalten sind, solange die zusätzlichen Funktionen nicht im Widerspruch zu den in GEM definierten Verhaltensweisen oder Fähigkeiten stehen. Solche Ergänzungen können SECS-II-Nachrichten, Erfassungsereignisse, Alarme, Remote-Befehlscodes, Verarbeitungszustände, variable Datenelemente (Datenwerte, Statuswerte oder Gerätekonstanten) oder andere Funktionen umfassen, die für eine bestimmte Klasse (Ätzer, Stepper usw.) oder ein bestimmtes Gerät einzigartig sind.
Kommunikation
Das COMMUNICATION-Zustandsmodell definiert das Verhalten des Geräts in Bezug auf das Vorhandensein oder Nichtvorhandensein einer Kommunikationsverbindung mit dem Host. Es definiert auch, wie die Kommunikation mit S1F13/S1F14 hergestellt oder wiederhergestellt wird, wenn die Kommunikation unterbrochen ist
Kontrolle
Das CONTROL-Zustandsmodell definiert den Grad der Zusammenarbeit zwischen dem Host und dem Gerät. Das CONTROL-Modell bietet dem Host drei grundlegende Ebenen der Host-Kontrolle, die die Fähigkeit des Hosts zur Steuerung des Geräts bestimmen:
OFFLINE (niedrigste Stufe): Die Bedienung des Geräts erfolgt manuell durch den Bediener an der Bedienerkonsole. Das Gerät antwortet mit einem SxF0 auf jede primäre Nachricht vom Host, die nicht S1F13 oder S1F17 ist.
ONLINE/LOKAL (mittlere Ebene): In diesem Zustand darf der Host nur "Nur-Lese"-Vorgänge wie Datenerfassung durchführen. Dem Host ist es untersagt, Gerätekonstanten zu ändern, die sich auf Prozesse, Remote-Befehle, die eine physische Bewegung verursachen oder eine Verarbeitung einleiten, auswirken.
ONLINE/REMOTE (Höchste Stufe): In diesem Zustand kann der Host das Gerät in vollem Umfang über die Kommunikationsschnittstelle bedienen ("Lese- und Schreiboperationen").
Verarbeitung
Das Zustandsmodell PROCESSING ist in hohem Maße von dem jeweiligen Ausrüstungsprozess, der Technologie und dem Stil abhängig. Es ist jedoch davon auszugehen, dass es gemeinsame Aspekte dieser Modelle gibt.
Fernsteuerung
Der Host kann einen Befehl senden, um das Gerät anzuweisen, einen automatischen Vorgang auszuführen. Z.B.: START, STOP, PAUSE, usw. Dies ist vergleichbar mit der manuellen Bedienung durch den Bediener an der Konsole.
Variablen
Status-Variable: Dies ist eine "schreibgeschützte" globale Variable, die im Gerät definiert ist. Bei jeder Verarbeitung aktualisiert das Gerät die entsprechende Statusvariable, um die neuesten Daten wiederzugeben. Z.B.: Inkrementierung eines Zählers, aktueller/vorheriger Zustand, etc.
Gerätekonstante: Es handelt sich um eine globale Variable, die im Gerät definiert ist und die nur gelesen und geschrieben werden kann. Der Host kann die Variable der Gerätekonstante setzen oder ändern, was sich auf die Einstellungen auswirken kann, die wiederum das Verhalten des Geräts verändern.
Diskrete Variable: Dies ist eine "lokale" Variable, die nur im Sammelereignis existiert.
Datenerhebung
SECS/GEM bietet dem Host mehrere Möglichkeiten, Daten oder Informationen von den Geräten zu sammeln:
Ein Satz von Statusvariablenwerten kann jederzeit mit dem Befehl S1F3 abgefragt werden.
Ein Satz von Gerätekonstanten kann jederzeit mit S2F13 abgefragt werden.
Der Host kann einen Bericht definieren, der die Statusvariable, die Gerätekonstanten und die Datenvariable enthält, und ihn dann an ein Sammelereignis anhängen. Wenn das Gerät das Ereignis auslöst (mit dem Befehl S6F11), wird der Bericht, der die Werte dieser Variablen enthält, zusammen gesendet.
Der Host kann Traces definieren, die in regelmäßigen Abständen die Daten der Statusvariablen abfragen.
Eine andere Möglichkeit besteht darin, die Alarmbenachrichtigung zu nutzen, um mit einem Erfassungsereignis mehr Daten zu sammeln. Standardmäßig muss bei Auftreten oder Aufhebung eines Alarms ein Ereignis (Erfassungsereignis) an den Host gesendet werden.
Alarm-Benachrichtigung
Diese Funktion ermöglicht es dem Gerät, den Host über jedes Auftreten oder die Beseitigung eines Alarms/Fehlers am Gerät zu informieren. Ein Alarm bezieht sich auf Ereignisse, die abnormal und unerwünscht sind und eine Gefahr für Personen, Geräte oder zu bearbeitendes Material darstellen.
Im Folgenden sind einige Merkmale des Alarmmanagements aufgeführt, die von GEM definiert wurden:
Jeder Alarm hat zwei zugehörige Zustandsmodelle. ALARM SET (Auftreten) und ALARM CLEAR (Löschung)
Jedem AlarmSet und AlarmClear ist ein Sammelereignis zugeordnet. Damit soll dem potenziellen Bedarf des Hosts an umfassenderen und flexibleren Datenberichten Rechnung getragen werden.
Der Host kann anfordern, welche Alarme aktiviert/deaktiviert werden sollen, und das Gerät wird den Host nur für die aktivierten Alarme benachrichtigen.
Dokumentation
Der SECS/GEM-Standard verlangt, dass jeder Gerätelieferant ein Referenzhandbuch für die GEM-Schnittstelle bereitstellt. Es muss eine Erklärung zur GEM-Konformität, eine vollständige Dokumentation der SECS-II-Nachrichten, ein Zustandsmodell, eine Liste der Statusvariablen, Gerätekonstanten, Datenvariablen, Alarme, Erfassungsereignisse usw. enthalten, die von dem Gerät definiert/unterstützt werden.
Und viele mehr...
Weitere Funktionen wie z. B. Spooling, Prozessprogramm, Terminaldienste und Grenzwertüberwachung entnehmen Sie bitte der vollständigen Norm: Spooling, Prozessprogramm, Terminaldienste und Grenzwertüberwachung.
SEMI E5 SECS-II Nachricht
Wie in der Einleitung des Artikels beschrieben, bietet dieser Standard die APIs für die Schnittstelle zwischen Host und Equipment. In diesem Standard wird jede Nachricht in einer Funktion dargestellt und in einem Stream (Kategorie) gruppiert.
Wie beim Webservice besteht jede SECS-II-Nachricht aus Kopfzeile (die in der Regel den Namen der Methode/Funktion und den Transaktionstyp=Anfrage/Antwort enthält) und Körper (die den Namen und den Typ des Parameters angeben). Bei einigen Funktionen kann der Body leer sein.
Im Folgenden wird die Konvention der SECS-II Nachrichtenstruktur beschrieben
Kopfzeile der Nachricht
Wo:
Stream ID = Nachrichtenstrom/Kategorie
Funktions-ID = Funktionskennzeichen der Nachricht. Jeder Stream hat mehrere Funktionen. Die ungerade Funktions-ID bezeichnet die primäre Nachricht (Anforderung), während die gerade Funktions-ID (SnFm+1) die sekundäre Nachricht/Antwort bezeichnet.
Mnemonic = Kurzformen der Nachricht
S,M = S=Einzelblock, M=Multiblock
H,E = H=Host, E=Equipment
Meldungsrichtung = Gibt die gültige Meldungsrichtung an. Einige Nachrichten sind nur für eine Richtung gültig (z.B.: H->E oder H<-E), bestimmte Nachrichten können aber auch bidirektional sein (HE). Z.B.: S1F13 Kommunikationsaufbau (HE)
Antwort = Gibt an, ob die Nachricht beantwortet werden muss oder nicht.
Beschreibung
Eine Beschreibung der von der Funktion erzeugten Aktion.
Struktur
Der Nachrichtentext der Funktion. Detaillierte Struktur mit Listen und definierten Elementen. Listen werden durch ein großes L gekennzeichnet, gefolgt von der Länge, die durch ein Komma getrennt ist. Die einzelnen Elemente der Liste werden in getrennten Zeilen nummeriert.
Verschachtelte Listen werden eingerückt, um die Struktur zu verdeutlichen. Die detaillierte Form der Positionen ist im Abschnitt “Definieren” am Anfang der Transaktion angegeben. Die Symbole “" werden für die Positionsüberschriften verwendet. Eine detaillierte Beschreibung der einzelnen Datenelemente sowie eine Liste der zulässigen Datenformate finden Sie im Data Item Dictionary
Ausnahme
Sonderfälle in der Struktur, die eine andere Bedeutung haben.
Sn,Fm+1 Name der Funktion (gleiche Struktur wie oben (sekundär), aber nie mit Antwort)
SEMI E37 HSMS
HSMS ist die Transportschicht, die auf dem TCP/IP-Protokoll aufbaut und als Alternative zu SEMI E4 (SECS I) für Anwendungen gedacht ist, bei denen eine schnellere Kommunikation erforderlich ist oder wenn eine einfache Punkt-zu-Punkt-Topologie nicht ausreicht.
TCP/IP-Einstellungen
Da das HSMS-Protokoll von TCP/IP abgeleitet ist, sind die folgenden Einstellungen sowohl für den Host (Client) als auch für das Gerät (Server) erforderlich:
VerbindungsModus: ACTIVE/PASSIVE Modus. Der ACTIVE-Modus befindet sich normalerweise auf der Seite des Hosts, während der PASSIVEModus (Mithören) auf der Seite des Geräts liegt. Es gibt jedoch keine Einschränkung für die umgekehrte Verwendung.
Lokale IP-Adresse und PortNummer: Erforderlich für jede Einheit, die im PASSIV-Modus arbeitet. Bestimmt die Adresse, auf der die lokale Einheit auf eingehende Verbindungsanfragen wartet. In der Regel arbeitet das Gerät in diesem Modus.
Entfernte IP-Adresse und PortNummer: Erforderlich für jede Entität, die im ACTIVE-Modus arbeitet. Bestimmt die Adresse der entfernten Entität, mit der die lokale Entität versucht, eine Verbindung herzustellen. Normalerweise arbeitet der Host in diesem Modus.
HSMS-Timeout-Einstellungen
Die Implementierungen von HSMS müssen die Einstellung der folgenden Parameter zur Installationszeit ermöglichen:
T3 Antwort-Zeitlimit: Gibt an, wie lange eine Entität, die eine Antwortnachricht erwartet, maximal auf diese Antwort warten wird.
T5 Zeitüberschreitung für die Verbindungstrennung: Gibt die Zeitspanne an, die zwischen aufeinanderfolgenden Versuchen, eine Verbindung zu einer bestimmten entfernten Einheit herzustellen, verstreichen muss
T6 Zeitüberschreitung für Kontrolltransaktionen: Gibt die Zeit an, die eine Kontrolltransaktion offen bleiben darf, bevor sie als Kommunikationsfehler betrachtet wird.
T7 Nicht ausgewähltes Zeitlimit: Gibt die Zeit an, die eine TCP/IP-Verbindung im Zustand NICHT AUSGEWÄHLT verbleiben kann (d. h. keine HSMS-Aktivität), bevor sie als Kommunikationsfehler gewertet wird.
T8 Netzwerk-Zwischenzeichen-Timeout: Maximale Zeit zwischen aufeinanderfolgenden Bytes einer einzelnen HSMS-Nachricht


