DE60127319T2 - Verfahren und vorrichtung zum integrieren mehrerer prozesssteuerungen - Google Patents

Verfahren und vorrichtung zum integrieren mehrerer prozesssteuerungen Download PDF

Info

Publication number
DE60127319T2
DE60127319T2 DE60127319T DE60127319T DE60127319T2 DE 60127319 T2 DE60127319 T2 DE 60127319T2 DE 60127319 T DE60127319 T DE 60127319T DE 60127319 T DE60127319 T DE 60127319T DE 60127319 T2 DE60127319 T2 DE 60127319T2
Authority
DE
Germany
Prior art keywords
control
plant
routines
control routines
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60127319T
Other languages
English (en)
Other versions
DE60127319D1 (de
Inventor
Christopher A. Austin Bode
Alexander J. Austin Pasadyn
Anthony J. Austin TOPRAC
Joyce S. Austin HEWETT
Anastasia Oshelski Austin PETERSON
Thomas J. Austin Sonderman
Michael L. Miller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of DE60127319D1 publication Critical patent/DE60127319D1/de
Application granted granted Critical
Publication of DE60127319T2 publication Critical patent/DE60127319T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40937Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of machining or material parameters, pocket machining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Factory Administration (AREA)
  • Automatic Assembly (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • Technisches Gebiet
  • Diese Erfindung betrifft im Allgemeinen das Gebiet der Halbleiterherstellung und betrifft insbesondere ein Verfahren und eine Vorrichtung zum Integrieren mehrerer Prozesssteuerungen.
  • Hintergrund der Erfindung
  • In der Halbleiterindustrie gibt es ein ständiges Bestreben, die Qualität, Zuverlässigkeit und den Durchsatz für integrierte Schaltungsbauelemente, beispielsweise Mikroprozessoren, Speicherbauelemente, und dergleichen zu erhöhen. Dieses Bestreben wird bestärkt durch die Nachfrage der Verbraucher nach Computern und elektronischen Geräten mit höherer Qualität, die zuverlässiger arbeiten. Diese Forderungen führten zu einer ständigen Verbesserung bei der Herstellung von Halbleiterbauelementen, beispielsweise von Transistoren, sowie bei der Herstellung integrierter Schaltungsbauelemente, in denen derartige Transistoren eingesetzt sind. Ferner wird durch das Verringern der Defekte bei der Herstellung der Komponenten eines typischen Transistors auch der Gesamtherstellungspreis pro Transistor sowie die Kosten für integrierte Schaltungsbauelemente mit derartigen Transistoren verringert.
  • Im Allgemeinen wird eine Reihe aus Prozessschritten an einem Los aus Scheiben unter Anwendung einer Vielzahl von Prozessanlagen ausgeführt, wozu Photolithographieeinzelbelichter, Ätzanlagen, Abscheideanlagen, Polieranlagen, Anlagen für die schnelle thermische Ausheizung, Implantationsanlagen, etc. gehören. Die mit den Halbleiterprozessanlagen verknüpften Technologien haben eine erhöhte Aufmerksamkeit in den letzten Jahren erfahren, wodurch wesentliche Verbesserungen gelungen sind. Trotz der Fortschritte, die auf diesen Bereich erzielt wurden, weisen viele Prozessanlagen, die aktuell auf dem Markt erhältlich sind, gewisse Nachteile auf. Insbesondere fehlt es derartigen Anlagen häufig an verbesserten Prozessdatenüberwachungsfähigkeiten, etwa der Fähigkeit, historische Parameterdaten in einem anwenderfreundlichen Format bereitzustellen, sowie das Aufzeichnen von Ereignissen, die graphische Echtzeitdarstellung sowohl aktueller Prozessparameter als auch der Prozessparameter des gesamten Durchlaufs, und die Fernüberwachung, d. h. die Überwachung vor Ort und weltweit. Diese Nachteile können zu einer nicht optimalen Steuerung kritischer Prozessparameter führen, etwa dem Durchsatz, der Genauigkeit, der Stabilität und Wiederholbarkeit, von Prozesstemperaturen, mechanischen Anlagenparametern und dergleichen. Diese Variabilität zeigt sich als Ungleichmäßigkeiten innerhalb eines einzelnen Durchlaufs, als Ungleichmäßigkeiten zwischen einzelnen Durchläufen und als Ungleichmäßigkeiten zwischen einzelnen Anlagen, die sich dann zu Abweichungen in der Produktqualität und dem Leistungsverhalten fortpflanzen können, wohingegen ein ideales Überwachungs- und Diagnosesystem für derartige Anlagen ein Mittel bereitstellen würde, um diese Variabilität zu überwachen, wobei auch Mittel bereitgestellt würden, um die Steuerung kritischer Parameter zu optimieren.
  • Eine Technik zur Verbesserung des Betriebs einer Halbleiterfertigungslinie umfasst die Verwendung eines fabrikumspannenden Steuerungssystems, um den Betrieb der diversen Prozessanlagen in automatischer Weise zu steuern. Die Fertigungsanlagen kommunizieren mit einer Fertigungsplattform oder einem Netzwerk aus Prozessmodulen. Jede Prozessanlage ist im Allgemeinen mit einer Anlagenschnittstelle verbunden. Die Anlagenschnittstelle ist mit einer Maschinenschnittstelle verbunden, die eine Kommunikation zwischen der Prozessanlage und der Fertigungsplattform ermöglicht. Die Maschinenschnittstelle kann im Allgemeinen ein Teil eines fortschrittlichen Prozesssteuerungs-(APC) Systems sein. Das APC-System initiiert ein Steuerungsskript auf der Grundlage eines Fertigungsmodells, das ein Softwareprogramm sein kann, das in automatischer Weise die zum Ausführen eines Fertigungsprozesses erforderlichen Daten abruft. Häufig werden Halbleiterbauelemente in mehreren Prozessanlagen über mehrere Prozesse hinweg bearbeitet, wodurch Daten erzeugt werden, die mit der Qualität der bearbeiteten Halbleiterbauelemente in Beziehung stehen.
  • Während des Fertigungsprozesses können diverse Ereignisse stattfinden, die die Eigenschaften der hergestellten Bauelemente beeinflussen. D. h., Abweichungen in den Fertigungsprozessschritten führen zu Änderungen im Bauteilverhalten. Faktoren, etwa kritische Strukturabmessungen, Dotierstoffpegel, Kontaktwiderstände, Teilchenkontamination, etc. können alle potentiell das Endverhalten des Bauelements beeinflussen. Es werden diverse Anlagen in der Prozesslinie gemäß Verhaltensmodellen gesteuert, um Prozessvariationen zu reduzieren. Zu üblicherweise gesteuerten Prozessanlagen gehören Photolithographieeinzelbelichter, Polieranlagen, Ätzanlagen und Abscheideanlagen. Es werden der Bearbeitung vorgeordnete und/oder nachgeordnete Messdaten den Prozesssteuerungen für die Anlagen zugeführt. Es werden Betriebsrezeptparameter, etwa die Bearbeitungszeit, durch die Prozesssteuerungen auf der Grundlage des Verhaltensmodells und der Messinformationen berechnet, um zu versuchen, die Ergebnisse nach dem Bearbeiten möglichst nahe an einem Sollwert zu halten. Das Reduzieren der Schwankungen auf diese Weise führt zu einem erhöhten Durchsatz, geringeren Kosten, einem verbesserten Leistungsverhalten der Bauelemente, etc., was somit insgesamt zu einer erhöhten Rentabilität beiträgt.
  • GB-A-2329 041 offenbart eine Mehrfachsystem-Maschinenanlage zum Bearbeitern eines von mehreren vorbestimmten Werkstücken mit vorbestimmten Bearbeitungsschritten unter Anwendung vorbestimmter Bearbeitungssysteme.
  • Die Steuerung der Konfiguration und die Effizienz sind in einer verteilten Computerumgebung, etwa in einem fabrikumspannenden APC-System, vorherrschende Aspekte. Typischerweise gibt es zahlreiche Softwareentwickler, die Steuerungsprogramme schreiben, um die Prozesssteuerungen aufzubauen. Ein spezieller Entwickler kann intensiv daran arbeiten, Steuerungen einer gewissen Art zu entwickeln. Es ist üblich, dass jeder Entwickler seine spezielle Programmierart hat und sich auf Routinen stützt, die selbst entwickelt sind. Beispielsweise kann jeder Entwickler eine Menge aus Routinen zur Verbindung mit Datenbanken oder anderen Einheiten in der APC-Plattform und zum Ausführen diverser mathematischer Funktionen und grundlegender Benutzerfunktionen besitzen.
  • Ein Problem, das mit einer derartigen Situation verknüpft ist, besteht darin, dass es nur eine geringe Konsistenz zwischen Prozesssteuerungsskripten gibt. Die große Anzahl von kundenspezifischen Skripten führt auch zu einem Konfigurationssteuerungsproblem und einem Effizienzproblem. Entwickler können einen beträchtlichen zeitlichen Aufwand haben, um die Codierungen erneut zu schaffen, die bereits unter Umständen für eine andere Art an Prozesssteuerung, die ein anderer Entwickler geschaffen hat, entwickelt sind. Die Fehlererkennung in nicht standardisierten Codierungen ist ebenso zeitaufwendiger und verringert ferner die Effizienz.
  • Die vorliegende Erfindung zielt darauf ab, eines oder mehrere der oben erkannten Probleme zu lösen oder zumindest in ihren Auswirkungen zu reduzieren.
  • Überblick über die Erfindung
  • Ein Aspekt der vorliegenden Erfindung betrifft ein Verfahren zum Steuern eines Fertigungssystems. Das Verfahren umfasst das Bearbeiten von Werkstücken in mehreren Prozessanlagen; das Initiieren eines Basissteuerungsskripts für eine ausgewählte Anlage der mehreren Anlagen, wobei die ausgewählte Anlage ein Prozessrezept besitzt; das Bereitstellen einer Kontextinformation für das Basissteuerungsskript; das Bestimmen einer Anlagenart auf der Grundlage der Kontextinformation; das Auswählen einer Gruppe aus Steuerungsroutinen für die ausgewählte Anlage auf der Grundlage der Anlagenart; das Bestimmen erforderlicher Steuerungsroutinen aus der Gruppe aus Steuerungsroutinen auf der Grundlage der Kontextinformation; und das Ausführen der erforderlichen Steuerungsroutinen, um Steuerungsaktionen für die ausgewählte Anlage zu erzeugen; das Ändern des Prozessrezepts der ausgewählten Anlage auf der Grundlage der Steuerung, wobei das Verfahren ferner umfasst: Abrufen von Steuerungszustandsinformation, die mit vorhergehenden Steuerungsaktionen für die ausgewählte Anlage für jede der erforderlichen Steuerungsroutinen in Beziehung steht, dadurch gekennzeichnet, dass die Steuerungszustandsinformation, die mit einer der erforderlichen Steuerungsroutinen verknüpft ist, auf der Grundlage einer Steuerungsaktion geändert wird, die mit einer weiteren der erforderlichen Steuerungsroutinen verknüpft ist.
  • Ein weiterer Aspekt der vorliegenden Erfindung betrifft ein Fertigungssystem mit mehreren Anlagen, die zum Bearbeiten von Werkstücken ausgebildet sind, einer Steuerungsausführungsverwaltungseinheit und einer Steuerungsausführungseinheit. Die Steuerungsausführungsverwaltungseinheit ist ausgebildet, ein Basissteuerungsskript für eine ausgewählte Anlage der mehreren Anlagen zu initiieren und Kontextinformation für das Basissteuerungsskript bereitzustellen, wobei die ausgewählte Anlage ein Prozessrezept aufweist. Die Steuerungsausführungseinheit ist ausgebildet, das Basissteuerungsskript auszuführen, eine Anlagenart auf der Grundlage der Kontextinformation zu bestimmen, eine Gruppe aus Steuerungsroutinen für die ausgewählte Anlage auf der Grundlagenart auszuwählen, erforderliche Steuerungsroutinen aus der Gruppe der Steuerungsroutinen auf der Grundlage der Kontextinformation zu bestimmen und die erforderlichen Steuerungsroutinen auszuführen, um Steuerungsaktionen für die ausgewählte Anlage zu erzeugen, das Prozessrezept der ausgewählten Anlage auf der Grundlage der Steuerungsaktionen zu ändern, wobei die Steuerungsausführungseinheit ferner ausgebildet ist, die Steuerungszustandsinformation, die mit vorhergehenden Steuerungsaktionen in Beziehung steht, die mit der ausgewählten Anlage verknüpft sind, für jede der erforderlichen Steuerungsroutinen abzurufen, dadurch gekennzeichnet, dass die Steuerungsausführungseinheit ferner ausgebildet ist, die Steuerungszustandsinformation, die mit einer der erforderlichen Steuerungsroutinen verknüpft ist, auf der Grundlage einer Steuerungsaktion, die mit einer weiteren der erforderlichen Steuerungsroutinen verknüpft ist, zu ändern.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung kann durch Bezugnahme auf die folgende Beschreibung in Verbindung mit den begleitenden Zeichnungen verstanden werden, in denen gleiche Bezugszeichen gleiche Elemente benennen und in denen:
  • 1 eine vereinfachte Blockansicht eines fortschrittlichen Prozesssteuerungs-(APC) Systems gemäß einer anschaulichen Ausführungsform der vorliegenden Erfindung ist;
  • 2 eine Ansicht ist, die Verbindungen zwischen einem Basissteuerungsskript in dem System aus 1 und mehreren gemeinsam benutzten Basisbibliotheken zeigt;
  • 3 eine vereinfachte Blockansicht ist, die den Aufbau eines Basisprozessskripts zeigt;
  • 4 eine vereinfachte Blockansicht ist, die den Aufbau eines Basismessskripts zeigt;
  • 5 eine vereinfachte Blockansicht ist, die den Aufbau eines Basisprozessskripts für mehrere Steuerungen zeigt; und
  • 6 ein vereinfachtes Flussdiagramm eines Verfahrens zum integrieren mehrerer Steuerungen gemäß einer weiteren anschaulichen Ausführungsform der vorliegenden Erfindung zeigt.
  • Obwohl die Erfindung diversen Modifizierungen und alternativen Formen unterliegen kann, sind dennoch spezielle Ausführungsformen beispielhaft in den Zeichnungen dargestellt und hierin detailliert beschrieben. Es sollte jedoch beachtet werden, dass die Beschreibung spezieller Ausführungsformen nicht beabsichtigt, die Erfindung auf die speziellen offenbarten Formen einzuschränken, sondern die Erfindung soll vielmehr alle Modifizierungen, Ä quivalente und Alternativen abdecken, die innerhalb des Schutzbereichs der Erfindung liegen, wie sie durch die angefügten Patentansprüche definiert ist.
  • Art bzw. Arten zum Ausführen der Erfindung
  • Im Folgenden werden anschauliche Ausführungsformen beschrieben. Im Sinne der Einfachheit sind nicht alle Merkmale einer tatsächlichen Implementierung in dieser Beschreibung aufgeführt. Es ist selbstverständlich zu beachten, dass bei der Entwicklung einer derartigen tatsächlichen Ausführungsform zahlreiche implementationsspezifische Entscheidungen getroffen werden müssen, um die speziellen Ziele der Entwickler zu erreichen, etwa die Verträglichkeit mit systembezogenen und geschäftsbezogenen Rahmenbedingungen, die sich von einer Implementierung zu einer weiteren einer weiteren unterscheiden können. Des weiteren ist zu beachten, dass ein derartiger Entwicklungsaufwand komplex und zeitaufwendig sein kann, aber dennoch eine Routinemaßnahme für den Fachmann im Besitze der vorliegenden Offenbarung darstellt.
  • Es sei nun auf die Figuren und insbesondere auf 1 verwiesen; dort ist eine vereinfachte Blockansicht eines fortschrittlichen Prozesssteuerungs-(APC) Systems 100 gezeigt. Das APC-System 100 ist ein verteiltes Softwaresystem mit austauschbaren standardisierten Softwarekomponenten, die eine Steuerung auf Durchlaufbasis und eine Fehlererkennungs/Klassifizierung ermöglichen. Die Softwarekomponenten bilden einen Architekturstandard auf der Grundlage einer fortschrittlichen Prozesssteuerungs-(APC) Plattform und eines damit verträglichen Systems auf Grundlage der Spezifikationen von „Halbleiteranlagen und Materialien international (SEMI); mit computerintegrierter Fertigungs-(CIM) Plattform. CIM-(SEMI E81-0699 vorläufige Spezifizierung für die CIM-Plattform-Domänenarchitektur) und APC-(SEMI E93-0999 vorläufige Spezifizierung für Komponenten fortschrittlicher Prozesssteuerungen für CIM-Plattform) Spezifizierungen sind öffentlich von SEMI erhältlich. Diese spezielle Architektur beruht im Wesentlichen auf einer Software unter Anwendung einer objektorientierten Programmierung und verwendet die gemeinsame Objektanforderungs-Broker-Architektur (CORBA) der Objektmanagement-Gruppe (OMG) und CORBA-Dienstleistungsspezifikationen für verteilte Objektsysteme. Informationen und Spezifizierungen für die OMG-CORBA-Architektur sind ebenso allgemein erhältlich. Ein beispielhaftes Softwaresystem, das in der Lage ist, die Funktionen des APC-Systems 100, wie es hierin beschrieben ist, auszuführen, ist das von KLA Tencor, Inc., angebotene Katalyst-System.
  • Die Komponenten kommunizieren miteinander unter Anwendung der CORBA-Schnittstellendefinitionssprache (IDL) und beruhen auf einem gemeinsamen Satz an Dienstleistungen, um ihre Wechselwirkung untereinander zu ermöglichen. Eine Standardlänge aus verteilten Objektdienstleistungen ist durch die OMG definiert. Zu diesen Dienstleistungen gehören:
    CORBA – das Kommunikationsprotokoll auf Standardbasis, das für alle direkten Wechselwirkungen zwischen einzelnen Komponenten verwendet wird. Standardschnittstellen können entsprechend einem objektorientierten Fernaufrufkommunikationsmodell definiert werden. Diese Schnittstellen und alle APC-Kommunikationsaktivitäten werden unter Anwendung von IDL definiert. Komponenten kommunizieren durch Aufrufen von Operationen an den jeweiligen Schnittstellen. Daten werden zwischen Komponenten als Operationsparameter und Rückgabewerte weitergegeben.
  • OMG-Ereignisdienstleistung – unterstützt eine asynchrone Kommunikation zwischen den Komponenten. Viele der APC-Objekte geben Ereignisse aus, wenn sie ihren Zustand ändern. Diese Ereignisse werden von interessierten Ereignissteilnehmern empfangen. Zu Beispielen der Ereignisverwendung innerhalb des APC-Systems gehören, ohne einschränkend zu sein, der Kommunikationskomponentenzustand (mit dem Fehlerzustand), die Bekanntgabe von Fehleralarmen, die durch Fehlererkennungs- und Klassifizierungssoftware erkannt wurden und das Berichten des Maschinenzustands und der gesammelten Daten.
  • OMD-Handelsdienstleistung – ermöglicht es einer Komponente, eine weitere Komponente zu finden, mit der eine Wechselwirkdung stattfindet. Wenn eine Komponente installiert wird, wird eine Beschreibung ihrer Dienstleistungen (ein Dienstleistungsangebot) an die Handelsdienstleistung exportiert. Eine weitere Komponente kann später eine Liste aus Dienstleistungsanbietern anfordern, die gewisse Bedingungen erfüllen. Die Handelsdienstleistung liefert eine Liste anderer Komponenten, die den erforderlichen Dienst anbieten können. Diese Fähigkeit bzw. Kapazität wird beim Initialisieren einer Komponente verwendet, um es einer einzelnen Komponente zu ermöglichen, andere Komponenten zu ermitteln, mit der sie in Verbindung treten muss. Diese Fähigkeit wird ferner bei der Planinitialisierung verwen det, wenn eine Planausführungskomponente Anbieter für Fähigkeiten bzw. Kapazitäten finden muss, um die erforderlichen Kapazitäten, die in dem Plan spezifiziert sind, bereitzustellen.
  • Diese Dienstleistungen sind im Stand der Technik gut bekannt. OMG's CORBA/IIOP-Spezifikationsdokument und CORBA-Dienstleistungsspezifikationsdokumente sind dem Fachmann bekannt und enthalten entsprechende Details.
  • In der dargestellten Ausführungsform ist das APC-System 100 ausgebildet, eine Halbleiterfertigungsumgebung zu steuern. Die Komponenten kommunizieren miteinander unter Anwendung der CORBA-Schnittstelledefinitionssprache (IDL). Die kooperierenden Softwarekomponenten verwalten Prozesssteuerungspläne/Strategien; sammeln Daten von Prozessanlagen, Messanlagen und Zusatzsensoren; Rufen diverse Prozesssteuerungsanwendungen/Algorithmen mit dieser Information auf; und aktualisieren Prozessmodelle und Modifizieren/Laden Anlagenprozessrezeptparameter in geeigneter Weise ein. Das APC-System 100 ist ein fabrikumspannendes Softwaresystem zum Steuern der Halbleiterherstellungsprozesse, wobei dies zum Anwenden der vorliegenden Erfindung nicht erforderlich ist. Die durch die vorliegende Erfindung gelehrten Strategien können auch auf andere Computersysteme auf jeden Maßstab angewendet werden.
  • In einer beispielhaften Ausführungsform umfasst das APC-System 100 einen APC-Host- bzw. Leit-Computer 110, Datenbankserver- bzw. Dienstleistungsrechner 115, 117, eine Prozessanlage 120, eine Messanlage 125 und eine oder mehrere Arbeitsstationen 130. Die Komponenten des APC-Systems sind durch einen Bus 135 verbunden. Der Bus 135 kann tatsächlich mehrere Schichten aufweisen und kann mehrere Protokolle verwenden. Der Gesamtbetrieb des APC-Systems 100 wird von einer APC-Systemverwaltungseinheit 140 gesteuert, die in dem APC-Leitrechner 110 enthalten ist. Die APC-Systemverwaltungseinheit 140 bietet: administrative Dienstleistungen, Konfigurationsdienstleistungen, Ereignisse und Zustandsdienstleistungen für alle Dienstleister, die für die APC-Plattform entwickelt sind; Definition, Gruppierung, Installation und Verwaltung der Komponenten in dem APC-System 100; zentrale Dienstleistungen für das Erhalten von Aktivitäts- und Überwachungsinformationen für die Diagnose und Überwachungszwecke; eine zentrale Stelle für Komponentenkonfigurationsinformationen einschließlich von Initialisierungswerten, Systemumgebungseinstellungen; und eine Liste unabhängiger Objekte und Ereignis kanäle. Jedoch können in alternativen Ausführungsformen diese Funktionen in eine oder mehrere Softwarekomponenten, beispielsweise eine Basisverwaltungseinheit, eine Systemverwaltungseinheit, eine Aufzeichnungseinheit und eine Registrierung unterteilt werden.
  • Das APC-System 100 umfasst ein Netzwerk aus Prozessmodulen. Diese Prozessmodule werden manchmal auch als „Integrationskomponenten" bezeichnet. Integrationskomponenten dienen als Schnittstelle für bestehende Fabriksysteme und liefern die Fähigkeit, um APC-Pläne auszuführen. Ein „APC-Plan" ist ein Anwendungsprogramm, das zum Ausführen einer speziellen Aufgabe aufgerufen wird, wie dies nachfolgend detaillierter erläutert ist. Die Integrationskomponenten sind so gezeigt, dass diese durch die diversen Verarbeitungsressourcen innerhalb des APC-Systems 100 unterhalten werden. Diese speziellen Unterhaltsplätze sind nur für beispielhafte Zwecke angegeben. Die Prozessressourcen sind untereinander verbunden und die diversen Softwarekomponenten können unter den diversen Computern aufgeteilt oder zentral angeordnet sein, abhängig von der Komplexität des Systems. Jede der Integrationskomponenten in dieser speziellen Ausführungsform ist als Software eingerichtet. Sie sind in C++ unter Anwendung objektorientierter Programmierverfahren programmiert, wie dies im Stand der Technik bekannt ist. Ein Vorteil des APC-Systems 100 ist seine modulare Struktur, die die Übertragbarkeit von Softwarekomponeten ermöglicht. Zu den Integrationskomponenten gehören, ohne darauf eingeschränkt zu sein, die APC-Systemverwaltungseinheit 140; eine Steuerungsausführungsverwaltungseinheit 150; Anlagenschnittstellen 160, 165, die zu den Anlagen 120, 125 gehören; eine Sensorschnittstelle 170, die mit der Prozessanlage 120 verbunden ist; eine Anwendungsschnittstelle 180; Maschinenschnittstellen 190, 195; eine Bedienerschnittstelle 200; und eine Datenhandhabungseinheit 210.
  • Die Steuerungsausführungsverwaltungseinheit 150 ist die Komponente, die hauptsächlich für die „Choreographie" beim Betrieb des APC-Systems 100 verantwortlich ist. Die Steuerungsausführungsverwaltungseinheit 150 setzt APC-Pläne, führt Hauptskripten und Unterskripten aus und ruft Ereignisskripten auf, wie dies durch die Ereignisse diktiert wird. In den diversen Ausführungsformen können eine Vielzahl von Plänen, Skripten und Unterskripten verwendet werden. Die spezielle Anzahl und die Funktion der diversen Pläne, Skripten und Unterskripten ist implementationsspezifisch. Beispielsweise umfasst die vorliegende Ausführungsform, ohne einschränkend zu sein, die folgenden Pläne:
    einen Datensammelplan – eine Datenstruktur, die von der Sensorschnittstelle und den Maschinenschnittstellen verwendet wird, und die die Erfordernisse definiert, welche Daten von einer speziellen Prozessanlage gewonnen werden sollen, und wie die Daten zurückberichtet werden sollen;
    einen Zeitdauerplan – ein Plan, der auslösende Bedingungen und auslösende Verzögerungen definiert, die bewirken, dass Sensoren aktiv werden, beispielsweise der Beginn der Datensammlung, das Ende der Datensammlung;
    ein Berichterstatterplan – ein Plan, der definiert, was mit den gesammelten Daten zu tun ist, sowie wann die Verfügbarkeit der Daten zu signalisieren ist; und
    einen Abtastplan – ein Plan, der die Häufigkeit definiert, mit der die Daten durch einen externen Sensor gesammelt werden;
    einen Steuerungsplan – eine Sammlung aus Steuerungsskripten, die so gestaltet sind, dass sie gemeinsam zum Ausführen von APC-Aktivitäten verwendet werden; und
    ein Steuerungsskript – eine Sequenz aus Aktionen/Aktivitäten, die das APC-System in einer speziellen definierten Situation auszuführen hat.
  • Die Steuerungsausführungsverwaltungseinheit 150 koordiniert das Ausführen von anwenderdefinierten Prozesssteuerungsplänen unter den gesamten Integrationskomponenten für eine gegebene Anlage, etwa der Prozessanlage 120. Nach Anweisung ruft die Steuerungsausführungsverwaltungseinheit 150 einen Plan und die zugehörigen Skripten ab. Die Unterskripten werden vorverarbeitet, um Routinen für die Haupt- und Ereignisskripte bereitzustellen. Die Einheit erhält ferner eine Liste der Fähigkeiten bzw. Kapazitäten, die erforderlich sind, um den Plan auszuführen, wie dies in dem Plan angegeben ist und stellt eine Verbindung zu den geeigneten Integrationskomponenten her, die die erforderlichen Kapazitäten bzw. Fähigkeiten bereitstellen.
  • Die Steuerungsausführungsverwaltungseinheit 150 delegiert dann die Verantwortung für das Durchführen des Planes an eine Steuerungsausführungseinheit 220. In der dargestellten Ausführungsform verwendet die Steuerungsausführungsverwaltungseinheit 150 Basis steuerungsskripte zum Bestimmen von Steuerungsaktionen, die auszuführen sind. Ein Basisprozessskript 152 ist für die Verwendung für Prozessanlagen, etwa die Prozessanlage 120 zugewiesen, und ein Basismessskript 154 ist zur Verwendung in Messanlagen, etwa der Messanlage 125, vorgesehen. Eine detailliertere Erläuterung der Basisskripten 152, 154 wird nachfolgend mit Bezug zu den 2 bis 6 angegeben.
  • Die Steuerungsausführungsverwaltungseinheit 150 erzeugt eine Steuerungsausführungseinheit 220 auf der Grundlage des geeigneten Basisprozessskripts 152 oder Basismessskripts 154, um sequenziell den Plan auszuführen und den Abschluss des Planes oder Fehler bei der Ausführung des Planes wieder an die Steuerungsausführungsverwaltungseinheit 150 zu berichten. Obwohl somit die Steuerungsausführungsverwaltungseinheit 150 für die Gesamtverwaltung aller ausgeführten Pläne verantwortlich ist, ist jede Steuerungsausführungseinheit 220 für das Ausführen nur eines einzelnen Planes verantwortlich. Die Steuerungsausführungseinheit 220 wird von der Steuerungsausführungsverwaltungseinheit 150 erzeugt und besteht nur während der Lebensdauer des Planes und wird von der Steuerungsausführungsverwaltungseinheit 150 zerstört, nachdem berichtet ist, dass der Plan abgeschlossen oder abgebrochen ist. Die Steuerungsausführungsverwaltungseinheit 150 kann mehrere Pläne gleichzeitig über mehrere Steuerungsausführungseinheiten 220 starten.
  • Die Maschinenschnittstellen 190, 195 überbrücken die Lücke zwischen der APC-Plattform, beispielsweise der APC-Systemverwaltungseinheit 140, und den Anlagenschnittstellen 160, 165. Die Maschinenschnittstellen 190, 195 verbinden die Prozess- oder Messanlagen 120, 125 mit der APC-Plattform und unterstützen die Maschineninitialisierung, Aktivierung, Überwachung die Datensammlung. In dieser speziellen Ausführungsform übersetzen die Maschinenschnittstellen 190, 195 hauptsächlich die spezielle Kommunikation der Anlagenschnittstellen 160, 165 in die CORBA-Kommunikation der APC-Plattform. Genauer gesagt, die Maschinenschnittstellen 190, 195 empfangen Befehle, Statusereignisse und gesammelte Daten von den Anlagenschnittstellen 160, 165 und leiten diese nach Bedarf zu anderen APC-Komponenten und Ereigniskanälen weiter. Umgekehrt werden Antworten von anderen APC-Komponenten von den Maschinenschnittstellen 190, 195 empfangen und an die Anlagenschnittstellen 160, 165 weitergeleitet. Die Maschinenschnittstellen 190, 195 formatieren und strukturieren bei Bedarf Nachrichten und Daten neu. Die Maschinenschnittstellen 190, 195 unterstützen die Initialisierungs-/Abschaltprozeduren in der APC- Systemverwaltungseinheit 140. Sie dienen auch als APC-Datensammeleinheiten, die Daten zwischenspeichern, die von den Anlagenschnittstellen 160, 165 gesammelt wurden, und geeignete Datensammelereignisse ausgeben.
  • Die Sensorschnittstelle 170 sammelt Daten, die von den Sensoren erzeugt wurden, die den Betrieb der Prozessanlage 120 überwachen. Die Sensorschnittstelle 170 bietet die geeignete Schnittstellenumgebung, um mit externen Sensoren zu kommunizieren, etwa LabVIEW oder anderen Datennahmesoftwareanwendungen auf Busbasis in Verbindung mit anderen Sensoren. Die Anwendungsschnittstelle 180 stellt die geeignete Schnittstellenumgebung bereit, um implementierte Steuerungsanwendungen, etwa LabVIEW, Mathematika, Model-Ware, MatLAB, Simca 4000 und Excel auszuführen. Die Sensoren können in der Prozessanlage 120 durch den ursprünglichen Anlagenhersteller (OEM) vorgesehen werden oder diese können „Zusatzsensoren" sein, die nach der Auslieferung durch den OEM vorgesehen werden. Die Sensorschnittstelle 170 sammelt Daten, die von den Sensoren erzeugt werden. Die Sensoren können Daten beispielsweise im Hinblick auf den Druck und die Temperatur der Betriebsbedingungen erzeugen. Die Anwendungsschnittstelle 180 nimmt Daten von der Steuerungsausführungseinheit 200 und führt Berechnungen oder Analysen mit diesen Daten durch. Die Ergebnisse werden dann an die Ausführungssteuerung 220 zurückgegeben. Die Maschinenschnittstelle 190 und die Sensorschnittstelle 170 verwenden einen gemeinsamen Satz aus Funktionen, um die zu verwendenden Daten zu sammeln. Die Anlagenschnittstelle 160 sammelt die entsprechenden Daten, die von den Sensoren in der Prozessanlage 120 gewonnen wurden, und sendet die genommenen Daten zu der Maschinenschnittstelle 190.
  • Die Bedienerschnittstelle 200 ermöglicht eine Kommunikation zwischen einem Scheibenfabriktechniker und dem APC-System 100 über eine Anwenderschnittstelle (GUI) (nicht gezeigt). Die GUI kann ein Betriebssystem auf Windows-Basis oder auf Basis von UNIX sein. Für die Verwirklichung der vorliegenden Erfindung ist dies jedoch nicht erforderlich. Tatsächlich sind in einigen alternativen Ausführungsformen keine GUI verwendet und eine Kommunikation kann über ein Betriebssystem auf Basis eines Diskettenbetriebssystems (DOS) erfolgen. Die Bedienerschnittstelle 200 zeigt Dialogfelder an, um Informationen bereitzustellen, Hilfe anzufordern und zusätzliche Daten zu sammeln. Durch eine CORBA-Schnittstelle ermöglicht es die Bedienerschnittstelle 200, dass den Technikern eine Reihe von angezeigten Dialogfenstern gleichzeitig auf einer beliebigen Anzahl an Anzeigegruppen dargestellt wird. Die Bedienerschnittstelle 200 bewahrt auch eine Gruppe von Anzeigeeinheiten, in denen ein Menü auftreten kann. Die Bedienerschnittstelle 200 kann ferner eine Bekanntgabeoperation bereitstellen, d. h., in Form einer Nachricht nur in einer Richtung, die einfaches Fenster mit einer Nachricht und einem „OK"-Feld darstellt.
  • Die Datenhandhabungseinheit 210 erhält die von anderen Komponenten des APC-Systems 100 erzeugten Daten und speichert die Daten in Datenspeichern 230, 232 (beispielsweise Relationsdatenbanken) in den Datendienstleistungsrechnern (115, 170). Die Datenhandhabungseinheit 210 kann ferner ausgebildet sein, standardmäßige strukturierte Abfragesprachen-(SQL) Befehle zu empfangen oder alternativ kann die Datenhandhabungseinheit 210 eine andere Art eines Zugriffsprotokolls übersetzen, um einen SQL-Befehl oder einen Befehl in einem anderen Protokoll zu erzeugen. Das zentrale Anordnen der Datenspeicherfunktionen erhöht die Übertragbarkeit der diversen Komponenten.
  • Die allgemeine Funktionsweise der Basissteuerungsskripte 152, 154 wird nachfolgend mit Bezug zu dem vereinfachten Blockdiagramm, das in 2 gezeigt ist, beschrieben, wobei die Verbindungen zwischen den Basissteuerungsskripten 152, 154 und einer Vielzahl gemeinsam benutzter Basisbibliotheken gezeigt sind. Im Allgemeinen bietet ein Basissteuerungsskript 152, 154 eine Plattform zum Entwickeln von Steuerungsskripten innerhalb des APC-Systems 100. Die Basissteuerungsskripte verwenden gemeinsam benutzte Basiskomponenten, die in Bibliotheken gespeichert sind. In der dargestellten Ausführungsform enthalten die gemeinsam benutzten Basiskomponenten eine Steuerungsbasisbibliothek 240 zum Definieren von Steuerungsalgorithmen; eine Mathematikbasisbibliothek 150 zum Definieren gemeinsam benutzter mathematischer Funktionen (beispielsweise Summe, Mittelwert, Median, etc.); eine Wechselwirkungsbasisbibliothek 260 zum Definieren von Kommunikationsaspekten für die Skriptausführung (beispielsweise eine Wechselwirkung zwischen dem Datenspeichern 230, 232, der Maschinenschnittstelle 195, der Anlagenschnittstelle 160 über die Maschinenschnittstelle 195, die Bedienerschnittstelle 200 und andere derartige externe Komponenten); eine Benutzungsbasisbibliothek 270 zum Definieren gemeinsamer Funktionen; eine Fabrikbibliothek 280 zum Definieren von Funktionen oder Ausnahmeereignissen für Routinen in den anderen Bibliotheken 240, 250, 260, 270, die speziell für die Fabrik sind; und eine Schichtbibliothek 290 zum Definieren der Schicht (etwa Polygateschicht) aus der speziellen Betriebskennung, die in dem Aufruf des Basissteuerungsskripts angegeben ist. Die Basisbibliotheken 240, 250, 260, 270, 280, 290 können während des Betriebs der Basissteuerungsskripte 152, 154 durch die Steuerungsausführungseinheit 220 eingebunden werden.
  • Im Allgemeinen bestimmt das Basissteuerungsskript 150, 154 die Art der Steuerungsaktion auf der Grundlage der Information, die in dem Aufruf für das Skript enthalten ist und auf der Grundlage der Information in der Fabrikbibliothek und Schichtbasisbibliothek 280, 290. Das Basissteuerungsskript 152, 154 ist mit der Steuerungsbasisbibliothek 240 verbunden, um auf die notwendigen Steuerungsfunktionen zuzugreifen. Das Basissteuerungsskript 152, 154 tritt mit der Wechselwirkungsbasisbibliothek 260 in Verbindung, um Funktionen abzurufen, um Daten zu sammeln, die zum Ausführen der Steuerungsaktion verwendet werden, und um mit der Anlagenschnittstelle 160 zum Aktualisieren des Prozessrezepts der Anlage 120, 125 zu kommunizieren. Die Funktionen in der mathematischen Basisbibliothek 250 können durch andere Funktionen in dem Basissteuerungsskript 152, 154 oder in anderen Bibliotheken nach Bedarf aufgerufen werden.
  • 3 zeigt eine vereinfachte Blockansicht, wobei der Aufbau des Basisprozessskripts 152 dargestellt ist. Das Basisprozessskript 152 umfasst einen Anwendungskonfigurationsblock 300, einen Basisanwendungsinitialisierungsblock 310, einen Steuerungskonstanten- und kontextspezifischen Einstellungsblock 320, einen Vorwärtskopplungsdatenanalyseblock 330, einen Steuerungsprogrammstrangblock 340, einen Gefährdungsblock 350, einen Steuerungsaktions- und Fabrikregel- bzw. Geschäftsregelblock 360 und einen Ergebnisblock 370.
  • In dem Anwendungskonfigurationsblock 300 sind globale Anwenderkonfigurationsvariablen zur Verwendung durch die Steuerung auf der Grundlage der Information, die in dem Aufruf von der Anlagenschnittstelle 160 enthalten ist, definiert. Dabei sind die Werte von Variablen von dem Rezeptverwaltungssystem (RMS) (d. h. eine globale Datenbank aus Prozessrezepteinstellungen) und die erforderlichen Kontextvariablen enthalten. Kontextvariable Werte definieren den Steuerungsablaufstrang und bestehen typischerweise aus Werten für Variable, etwa eine Anlagenkennungscodierung, die Losnummer, die Operationsnummer usw. Ferner wird etwaigen benötigten Basisvariablen ebenso ein Wert zugewiesen. Zu Beispielen gehören eine E-Mail-Liste für Fehlerbekanntgaben, Werte für Zeitüberlauffehler, die Maximalanzahl an Scheiben, die in einem Los zulässig ist, das als ein „Kind"-Los betrachtet wird, Informationen über eine vorhergehende Schicht, die die Steuerung verwendet (Vorwärtskopplungsinformation) und dergleichen.
  • Der Basisanwendungsinitialisierungsblock 310 verwendet die Werte für die Losnummer und die Länge der Scheiben, wie dies in dem Anwendungskonfigurationsblock 300 festgelegt wurde, und gibt Werte für die Losnummern, den Familiennamen, den Elternamen, die Fertigungsstätte, die Anzahl der Scheiben und den Status zurück (d. h. ob ein Los ein Elternlos oder ein Kindlos ist). Der Basisanwendungsinitialisierungsblock 310 stellt ferner die Voreinstellungsliste für Endgeräte auf, an die die Steuerung Anzeigefenster sendet, und stellt ferner den ersten Teil aller Anzeigefensteruberschriften ein.
  • Der Steuerungskonstanten- und kontextspezifische Einstellungsblock 320 verwendet die zuvor definierten Kontext- und RMS-Informationen, um die Werte einzustellen, die die Steuerung zur Berechnung von Steuerungsaktivitäten verwendet. Beispielsweise kann der Steuerungskonstanten- und kontextspezifische Einstellungsblock 320 die Kontextinformation (oder die „Ablaufstrang"-) Zuordnung verwenden, um den Wert eines Steuerungsmodellparameters gemäß dem RMS-definierten Wert einzustellen. Ein spezielles Beispiel ist die Einstellung des Wertes für jede Rate, die in einem Steuerungsmodell gemäß dem Kontext der speziellen Ätzkammer verwendet wird, und der Wert für die Ätzrate dieser Ätzkammer, wie sie im RMS definiert ist. Ferner ruft der steuerungskonstanten- und kontextspezifische Einstellungsblock 320 Vorwärtskopplungsinformationen von der Datenbank ab, indem eine Abfrage mittels der Nummer des Loses und dem Schichtnamen verwendet wird, wie dies in dem Anwendungskonfigurationsblock 300 festgelegt ist.
  • Der Vorwärtskopplungsdatenanalyseblock 330 überprüft die Elemente in einem Feld aus Daten, das mit einem gegebenen Los verknüpft ist, und füllt Voreinstellungswerte für fehlende Werte ein. Beispielsweise kann der Sollwert eines vorhergehenden Prozesses verwendet werden, um den Wert eines fehlenden Messwertes festzulegen, der als ein Teil der Vorwärtskopplungsinformation erforderlich ist, die von der Steuerung verwendet wird. Andere Verfahren zum Einstellen des Wertes von fehlender Vorwärtskopplungsinformation anstelle des Verwendens eines Voreinstellungswertes können ebenso in dem Vorwärtskopplungsdatenanalyseblock 330 eingesetzt werden.
  • Der Steuerungsablaufstrangblock 340 setzt die Werte der Schlüsselstrukturen und Zustandsstrukturen fest, die zum Abfragen der Datenspeicher 230, 232 erforderlich sind, um Steuerungszustände abzurufen, die mit dem aktuellen Steuerungsablaufstrang verknüpft sind. Die Schlüssel werden verwendet, um die Ablaufstrangzustandsdaten aus dem Datenspeichern 230, 232 abzurufen. Der Steuerungsablaufsstrangblock 340 sucht nach den Ablaufstrangzustandsdaten in dem Stapel aus geordneten Daten für kürzlich bearbeitete Lose mit diesem Ablaufstrangkontext. Wenn derartige Werte gefunden werden, werden diese an eine anwenderdefinierte Funktion weitergereicht, die das Steuerungsmodell enthält, das Werte für die Ablaufstrangzustände berechnet und zurückgibt. Wenn keine Werte in dem Stapel gefunden werden, sucht der Steuerungsablaufstrangblock 340 die Hierarchie ab und ruft die Daten von der ersten Hierarchieebene ab, die Werte für die Ablaufstrangzustände besitzt. Es wird angenommen, dass der Stapel und alle Hierarchieebenen ähnliche Daten enthalten, jedoch mit einem unterschiedlichen Grad an Genauigkeit.
  • Der Gefährdungsblock 350 führt eine Suche in der Datenbank aus und ruft den Wert für die Nummer der Lose in dem Gefährdungsstapel ab (d. h. den Stapel aus Losen, die in dem vorgegebenen Ablaufstrang seit dem letzten Messvorgang bearbeitet wurden). Dieser Wert wird mit einem Schwellwert für eine Reihe von Losen in dieser Gefährdungskategorie verglichen, wobei dieser Wert typischerweise in dem RMS spezifiziert ist. Wenn dieser Schwellwert nicht überschritten wird, fährt die Steuerung mit dem Ablauf fort. Wenn der Schwellwert überschritten wird, bricht die Steuerung mit einem Anzeigefenster ab, das den Bediener anweist, ein Messereignis an einem Los aus der Liste aus Losen in dem Gefährdungsstapel auszuführen.
  • Der Steuerungsaktions- und Fabrikregelblock 360 ist der Kern der Steuerung. Der Steuerungsaktions- und Fabrikregelblock 360 berechnet die Steuerungseingaben (Prozessrezeptaktualisierungen) aus der Zustandsinformation und der Sollinformation. Diese Ergebnisse werden in einem globalen Steuerungsergebnisfeld angeordnet. Als nächstes führt der Steuerungsaktions- und Fabrikregelnblock 360 fabrikinterne Regeln aus, begrenzt das Prüfen der Prozessrezeptaktualisierungen und/oder legt die Prozessrezeptaktualisierungen festgemäß vorrangigen Eingaben des Anwenders für die Steuerung.
  • Der Ergebnisblock 370 übernimmt die Ausgabe aus dem Steuerungsaktions- und Fabrikregelblock 360 einschließlich der Prozessrezeptaktualisierungen, von Datenberech nungs/Formatierungsaktionen oder Ereignissen, speichert diese zusammen zwischen und formatiert die Daten. Der Ergebnisblock 370 sendet die gespeicherten Daten an die Anlagenschnittstelle 160 und initiiert Initialisierungs/Startmaschinenaufrufe durch die Maschinenschnittstelle 195 über die Anlagenschnittstelle 160. Als nächstes speichert der Ergebnisblock 370 die Daten in den Datenspeichern 230, 232 in Bezug auf die Nummer des Loses und die Schicht für den aktuellen Kontext (Ablaufstrang). Der Gefährdungsstapel wird ebenso mit dem aktuellen Los als ein zusätzliches Los, das seit dem letzten Messereignis bearbeitet wurde, aktualisiert.
  • 4 ist eine vereinfachte Blockansicht, in der der Aufbau des Basismessskripts 154 gezeigt ist. Das Basismessskript 154 umfasst einen Messanlageninitialisierungsblock 400, einen Anwendungskonfigurationsblock 410, einen Basisanwendungsinitialisierungsblock 420, einen Eingangsanlagendateriblock 430, einen steuerungskonstanten- und kontextspezifischen Einstellungsblock 440, einen Steuerablaufstrangblock 450, einen Modellaktualisierungsblock 460 und einen Ergebnisblock 470.
  • In dem Messanlageninitialisierungsblock 400 wird eine Datennahme initiiert und gespeicherte Daten werden an die Steuerungsausführungseinheit 220 gesendet. Die Maschinenschnittstelle 100 wird ebenso angewiesen, Initialisierungs/Start-Maschinen-Aufrufe an die Anlagenschnittstelle 156 zu senden.
  • Der Anwendungskonfigurationsblock 410 und der Basisanwendungsinitialisierungsblock 420 führen Funktionen ähnlich zu den Blöcken mit dem gleichen Namen aus, wie sie zuvor mit Bezug auf das Basisprozessskript 152 beschrieben sind.
  • Der Eingangsanlagendatenblock 430 veranlasst das Basismessskript 154, auf Daten zu warten, die von einer Datenquelle, typischerweise einer Messanlage, festgelegt werden. Die Zeitdauer des Wartens auf dieses Ereignis und der Name des Ereignisses, das die Skriptenunterbrechung bewirkt, werden in dem Eingangsanlagendatenblock 430 spezifiziert.
  • Der Steuerungskonstanten- und kontextspezifische Einstellungsblock 440 führt ebenfalls Funktionen ähnlich zu den Funktionen in dem Block mit dem gleichen Namen aus, wie er zuvor in Bezug auf das Basisprozessskript 152 beschrieben ist.
  • Der Steuerungsablaufstrangblock 450 setzt die Werte der Schlüssel- und Zustandsstrukturen fest, die zum Speichern der berechneten Steuerungszustände für den aktuellen Ablaufstrang in dem Datenspeichern 230, 232 erforderlich sind. Ferner berechnet der Steuerungsablaufstrangblock 450 alle Werte, die zum Aktualisieren der Ablaufstrangzustände erforderlich sind. Diese Funktion (liest die definierten globalen Variablen aus und berechnet die erforderlichen Ergebnisse. Die Ergebnisse beinhalten statistische Werte oder Werte, die beim Aktualisieren der Steuerung verwendet werden, etwa Durchschnittswerte für die Lose, Prozessraten, Abweichungen von Sollwerten oder vorhergesagten Werten. Die Ergebnisse dieser Funktion werden in dem Ergebnisarray für globale Steuerungswerte abgelegt.
  • Der Modell-Aktualisierungsblock 460 wird verwendet, um Geschäftsregeln, Prüfgrenzwerte und vorrangige Eingaben für die Steuerung auszuführen. Diese Funktion liest die definierten globalen Variablen aus und legt die endgültigen Ergebnisse fest. Der Modell-Aktualisierungsblock 460 ist für das Festlegen der Werte verantwortlich, die zum Aktualisieren der Steuerung verwendet werden, sowie für die Werte, die in der Steuerungsgeschichte eingetragen werden. Die Ergebnisse dieser Funktion werden in dem Ergebnisfeld für die globalen Steuerungswerte eingetragen.
  • Der Ergebnisblock 470 nimmt die Ausgabe aus dem steuerungskonstanten- und kontextspezifischen Einstellungsblock 440, speichert diese zwischen und formatiert die Daten so, dass sie mit der Anlagenschnittstelle 165 kompatibel sind. Die von dem Basismessskript 154 ausgegebenen Daten werden auch in eine Steuerungsgeschichtsdatei eingetragen. Es wird ein Kopfbereich für die Steuerungsgeschichte auf der Grundlage der zugeführten Variablennamen erzeugt. Die Aufzeichnungsdateien weisen den Kopfbereich so auf, dass dieser in der ersten Zeile der Datei codiert ist. Wenn der berechnete Kopfbereich nicht mit der ersten Zeile der Datei übereinstimmt, wird die bestehende Datei umbenannt und es wird eine neue gestartet.
  • 5 ist eine vereinfachte Blockansicht eines Mehrfachsteuerungs-/Basisprozessskripts 500, das in der Lage ist, mehrere Steuerungsaktionen in einer einzelnen Prozessanlage 120 gemäß einer weiteren Ausführungsform der vorliegenden Erfindung einzurichten. Beispielsweise kann ein Photolithographieeinzelbelichter sowohl eine Überlagerungssteuerung als auch eine Steuerung für kritische Abmessungen aufweisen. Die Steuerungen benutzen eine Rückkopplung von zuvor bearbeiteten Scheiben, um diverse Einzelbildbelichterparameter, etwa die Belichtungsdosis, die Belichtungszeit, den Fokus, etc. einzustellen. Auch eine Abscheideanlage, etwa eine Anlage zur Herstellung von Polysiliziumschichten, kann mehrere Steuerungen zum Steuer von Parameter, etwa der Polysiliziumkorngröße und der Polysiliziumschichtdicke aufweisen.
  • Wenn das Basisprozessskript 500 aufgerufen wird, bestimmt es die erforderlichen Steuerungsaktionen auf der Grundlage der Information, die in dem Aufruf enthalten ist. Der Kontext, in welchem ein Los zu bearbeiten ist, legt fest, welche der Steuerungen aktiv ist. Der Kontext ist durch die Operations-Kennung, die Einheiten-Kennung, die Produkt-Kennung und andere derartige diskrete Kennungen definiert, die die Erfordernisse für einen speziellen Durchlauf festlegen. Zunächst wird die Einheit-Kennung verwendet, um die allgemeine Klasse einer Anlagenart zu bestimmen (Einzelbelichter, Ätzanlage, Ofen, etc.). Wenn beispielsweise die Einheiten-Kennung die Prozessanlage 120 als einen Einzelbildbelichter angibt, wird die Steuerungscodierung für Einzelbildbelichter aufgerufen.
  • In der Steuerungscodierung für Einzelbildbelichter werden die Kontextvariablen in dem Skript überprüft, um zu bestimmen, welche einzelnen Steuerungen aufzurufen sind. Die Operations-Kennung gibt den Prozess an, der auszuführen ist (beispielsweise Polygate-Maske gegenüber einer dielektrischen Schichtmaske der zweiten Ebene (ILD)). Jede Steuerung gilt für einen Satz aus Kontextsituationen und wird lediglich aufgerufen, wenn alle diese Kontextbedingungen erfüllt sind. Beispielsweise kann die CD-Steuerung für eine Poly-Gatemaske abgearbeitet werden, aber nicht für einen Maskenprozess der zweiten ILD. Die Überlagerungssteuerung andererseits kann in beiden Maskenereignissen aktiviert werden.
  • Das Basisprozessskript 500 bietet die Flexibilität, eine Übereinstimmung mit der erforderlichen Anlagencodierung auf der Grundlage der Anlagengruppe (beispielsweise Einzelbelichter) herbeizuführen und das Aktualisieren aller verfügbarer Steuerungen (beispielsweise Überlagerung, CD, etc.) vorzubereiten. Das gleiche Hauptskript wird abgearbeitet, die gleichen Unterroutinen sind verfügbar für einen Aufruf, es werden nur die Steuerungen aktiviert, die in dem aktuellen Kontext benötigt werden.
  • Das Mehrfachsteuerungs-Basisprozessskript 500 umfasst einen Anwendungskonfigurationsblock 510, einen Basisanwendungsinitialisierungsblock 520, einen steuerungskonstanten- und kontextspezifischen Einstellungsblock 530, einen Vorwärtskopplungsdatenanalyseblock 540, einen Steuerungsablaufstrangblock 550, einen Gefährdungsblock 560, einen Steuerungsaktions- und Fabrikregelblock 570 und einen Ergebnisblock 580. Das Mehrfachsteuerungs-Basisprozessskript 500 funktioniert in ähnlicher Weise wie das Basisprozessskript 152, mit Ausnahme wie dies nachfolgend beschrieben ist.
  • Der steuerungskonstanten- und kontextspezifische Einstellungsblock 530 bestimmt, welche der Steuerungen anwendbar ist (beispielsweise Steuerung A, Steuerung B, oder beide) und verwendet den zuvor definierten Kontext und die RMS-Information, um die Werte einzustellen, die die jeweilige Steuerung zum Berechnen von Steuerungsaktivitäten verwendet. Der Steuerungskonstanten- und kontextspezifische Einstellungsblock 530 sucht ferner Vorwärtskopplungsinformationen für jede der erforderlichen Steuerungen aus der Datenbank unter Anwendung einer Abfrage mittels der Nummer des Loses und dem Schichtnamen ab, wie sie in dem Anwendungskonfigurationsblock 510 festgelegt sind. Der Vorwärtskopplungsdatenanalyseblock 540 überprüft die Elemente in einem Feld aus Daten, die mit einem gegebenen Los verknüpft sind, und setzt Voreinstellungswerte für fehlende Werte für jede Steuerung ein.
  • Der Steuerungsablaufstrangblock 550 setzt die Werte der Schlüssel und der Zustandsstrukturen fest, die zum Abfragen der Datenspeicher 230, 232 erforderlich sind, um damit Steuerungszustände abzurufen, die mit dem aktuellen Steuerungsablaufsträngen für jede der aktiven Steuerungen verknüpft sind. Die Schlüssel werden verwendet, um die Ablaufstrangzustandsdaten aus den Datenspeichern 230, 232 abzurufen. Der Steuerungsablaufstrangblock 550 sucht nach den Ablaufstrangzustandsdaten in dem Stapel aus geordneten Daten für kürzlich bearbeitete Lose mittels dieses Ablaufstrangkontexts. Wenn derartige Werte gefunden werden, werden diese an eine anwenderdefinierte Funktion übergeben, die das Steuerungsmodell enthält, das Werte für die Ablaufstrangzustände berechnet und zurückgibt. Wenn keine Werte in dem Stapel gefunden werden, sucht der Steuerungsablaufstrangblock 340 die Hierarchie ab und ruft die Daten aus der ersten Hierarchieebene ab, die Werte für die Ablaufstrangzustände besitzt. Es wird angenommen, dass der Stapel und alle Hierarchieebenen ähnliche Daten enthalten, die sich im Grade der Genauigkeit unterscheiden.
  • Der Steuerungsaktions- und Fabrikregel- bzw. Geschäftsregelblock 570 berechnet die Steuerungseingaben (Prozessrezeptaktualisierungen) aus der Zustands- und Sollinformation für jede der Steuerungen. Da mehrere Steuerungen verwendet werden, kann eine Steuerung die Zustandsinformation beeinflussen, auf der die andere Steuerung beruht, um ihre Steuerungsaktion zu bestimmen. Somit können den Steuerungen relative Prioritätswerte zugewiesen werden, um die Reihenfolge zu bestimmen, in der die Steuerungsaktionen bestimmt werden. Die Steuerung mit der höheren Priorität kann die Zustandsinformationsdaten für die zweite Steuerung auf der Grundlage ihrer Steuerungsaktionsbestimmung aktualisieren. Die zweite Steuerung kann dann ihre Steuerungsaktion auf der Grundlage der modifizierten Zustandsinformation festlegen. Durch eine derartige Zusammenarbeit treten die Steuerungen nicht in Konkurrenz zueinander im Hinblick auf Änderungen der Prozessrezepte.
  • Der Ergebnisblock 580 sammelt die Steuerungsaktionsausgabe von allen aktiven Steuerungen, speichert die Daten und formatiert die Daten. Der Ergebnisblock 580 sendet die gespeicherten Daten an die Anlagenschnittstelle 160 und initiiert Initialisierungs/Start-Maschinen-Aufrufe durch die Maschinenschnittstelle 195 an die Anlagenschnittstelle 160. Als nächstes speichert der Ergebnisblock 580 die in den Datenspeichern 230, 232 gespeicherten Daten in Bezug auf die Nummer des Loses und die Schicht für den aktuellen Kontext (Ablaufstrang) und aktualisiert den Gefährdungsstapel.
  • 6 ist ein vereinfachtes Flussdiagramm eines Verfahrens zum Integrieren mehrerer Steuerungen gemäß einer weiteren anschaulichen Ausführungsform der vorliegenden Erfindung. Im Block 600 werden Werkstücke in mehreren Prozessanlagen bearbeitet. Im Block 610 wird ein Basissteuerungsskript für eine ausgewählte Anlage der mehreren Anlagen initiiert (beispielsweise die Steuerungsausführungsverwaltungseinheit 150). Nach dem Initiieren des Basissteuerungsskripts führt die Steuerungsausführungseinheit 220 die verbleibenden Aufgaben aus. Im Block 620 wird eine Gruppe aus erforderlichen Steuerungsroutinen für die ausgewählt; Anlage ermittelt. Im Block 630 werden die Steuerungszustandsinformationen, die vorhergehende Steuerungsaktionen betreffen, die mit der ausgewählten Anlage verknüpft sind, für die Gruppe aus erforderlichen Steuerungsroutinen abgerufen. Im Block 640 wird eine erste Steuerungsroutine aus der Gruppe aus erforderlichen Steuerungsroutinen ausgeführt, um eine erste Steuerungsaktion zu erzeugen. Im Block 650 wird die Steuerungszustandsinformation, die mit einer zweiten Steuerungsroutine aus der Gruppe aus erforderlichen Steuerungsroutinen verknüpft ist, auf der Grundlage der ersten Steuerungsaktion geändert. Im Block 660 wird die zweite Steuerungsroutine auf der Grundlage der modifizierten Steuerungszustandsinformation ausgeführt, um eine zweite Steuerungsaktion zu erzeugen.
  • Die speziellen offenbarten Ausführungsformen sind lediglich anschaulicher Natur, da die Erfindung auf unterschiedliche aber äquivalente Weisen modifiziert und praktiziert werden kann, wie dies dem Fachmann im Besitze der vorliegenden Lehre klar ist. Es sind ferner keine Einschränkungen im Hinblick auf die Details des Aufbaus oder der hierin beschriebenen Gestaltungsarten beabsichtigt, sofern diese nicht in den Patentansprüchen festgelegt sind. Es ist daher klar, dass die speziellen offenbarten Ausführungsformen modifiziert und geändert werden können und dass alle derartigen Variationen als innerhalb des Schutzbereichs der Erfindung liegend betrachtet werden. Daher ist der angestrebte Schutzbereich durch die nachfolgenden Patentansprüche festgelegt.

Claims (8)

  1. Verfahren zum Steuern eines Fertigungssystems (100), mit: Bearbeiten von Werkstücken in mehreren Anlagen (120, 125); Initiieren eines Grundeinstellungssteuerungsskripts (152, 154) für eine ausgewählte Anlage (120, 125) der mehreren Anlagen (120, 125); wobei die ausgewählte Anlage ein Prozessrezept aufweist; Bereitstellen von Kontextinformation für das Grundeinstellungssteuerungsskript (152, 154); Bestimmen eines Anlagentyps auf der Grundlage der Kontextinformation; Auswählen einer Gruppe aus Steuerungsroutinen für die ausgewählte Anlage (120, 125) auf der Grundlage des Anlagentyps; Bestimmen von erforderlichen Steuerungsroutinen aus der Gruppe aus Steuerungsroutinen auf der Grundlage der Kontextinformation; Ausführen der erforderlichen Steuerungsroutinen, um Steuerungsaktionen für die ausgewählte Anlage (120, 125) zu erzeugen; Ändern des Prozessrezepts der ausgewählten Anlage auf der Grundlage der Steuerungsaktionen; dadurch gekennzeichnet, dass das Verfahren ferner umfasst: Abrufen von Steuerungszustandsinformation, die der ausgewählten Anlage (120, 125) zugeordnete vorhergehende Steuerungsaktionen betrifft, für jede der erforderlichen Steuerungsroutinen; und Ändern der Steuerungszustandsinformation, die einer der erforderlichen Steuerungsroutinen zugeordnet ist, auf der Grundlage einer Steuerungsaktion, die einer weiteren der erforderlichen Steuerungsroutinen zugeordnet ist.
  2. Verfahren nach Anspruch 1, wobei Auswählen der Gruppe aus Steuerungsroutinen ferner das Herstellen einer Verbindung zu einer Bibliothek (240) aus Steuerungsroutinen umfasst.
  3. Verfahren nach Anspruch 1, wobei die Kontextinformation eine Einheitenerkennungscodierung, die der ausgewählten Anlage (120, 125) zugeordnet ist, aufweist und wobei das Bestimmen des Anlagentyps ferner umfasst: Bestimmen des Anlagentyps auf der Grundlage der Einheitenerkennungscodierung.
  4. Verfahren nach Anspruch 1, wobei die Kontextinformation eine Operationserkennungscodierung und/oder eine Produkterkennungscodierung aufweist, und wobei Bestimmen der erforderlichen Steuerungsroutinen ferner umfasst: Bestimmen der erforderlichen Steuerungsroutinen auf der Grundlage des Anlagentyps und auf der Grundlage der Operationserkennungscodierung und/oder der Produkterkennungscodierung.
  5. Fertigungssystem (100) mit: mehreren Anlagen (120, 125), die zum Bearbeiten von Werkstücken ausgebildet sind; einer Steuerungsausführungsverwaltungseinheit (150), die ausgebildet ist, ein Grundeinstellungssteuerungsskript (152, 154) für eine ausgewählte Anlage (120, 125) der mehreren Anlagen (120, 125) zu initiieren und Kontextinformation für das Grundeinstellungssteuerungsskript (152, 154) bereitzustellen, wobei die ausgewählte Anlage (120, 125) ein Prozessrezept aufweist; und einer Steuerungsausführungseinheit (220), die ausgebildet ist, das Grundeinstellungssteuerungsskript (152, 154) auszuführen, einen Anlagentyp auf der Grundlage der Kontextinformation zu bestimmen, eine Gruppe aus Steuerungsroutinen für die ausgewählte Anlage (120, 125) auf der Grundlage des Anlagentyps auszuwählen, erforderliche Steuerungsroutinen aus der Gruppe der Steuerungsroutinen auf der Grundlage der Kontextinformation zu bestimmen, die erforderlichen Steuerungsroutinen auszuführen, um Steuerungsaktionen für die ausgewählte Anlage (120, 125) zu erzeugen, und das Prozessrezept der ausgewählten Anlage auf der Grundlage der Steuerungsaktionen zu ändern; wobei die Steuerungsausführungseinheit ferner ausgebildet ist, Steuerungszustandsinformation, die der ausgewählten Anlage (120, 125) zugeordnete vorhergehende Steuerungsaktionen betrifft, für jede der erforderlichen Steuerungsroutinen abzurufen; dadurch gekennzeichnet, dass die Steuerungsausführungseinheit ferner ausgebildet ist, die Steuerungszustandsinformation, die einer der erforderlichen Steuerungsroutinen zugeordnet ist, auf der Grundlage einer Steuerungsaktion zu ändern, die einer weiteren der erforderlichen Steuerungsroutinen zugeordnet ist.
  6. System (100) nach Anspruch 6, wobei die Steuerungsausführungseinheit (220) ausgebildet ist, die Gruppe aus Steuerungsroutinen durch Verbinden mit einer Bibliothek (240) aus Steuerungsroutinen auszuwählen.
  7. System (100) nach Anspruch 6, wobei die Kontextinformation eine Einheitenerkennunungscodierung, die der ausgewählten Anlage (120, 125) zugeordnet ist, aufweist und wobei die Steuerungsausführungseinheit (220) ausgebildet ist, den Anlagentyp auf der Grundlage der Einheitenerkennungscodierung zu bestimmen.
  8. System (100) nach Anspruch 6, wobei die Kontextinformation eine Operationserkennungscodierung und/oder eine Produkterkennungscodierung aufweist und wobei die Steuerungsausführungseinheit (220) ausgebildet ist, die erforderlichen Steuerungsroutinen auf der Grundlage des Anlagentyps und auf der Grundlage der Operationserkennungscodierung und/oder der Produkterkennungscodierung zu bestimmen.
DE60127319T 2001-02-20 2001-10-22 Verfahren und vorrichtung zum integrieren mehrerer prozesssteuerungen Expired - Lifetime DE60127319T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US789140 2001-02-20
US09/789,140 US6801817B1 (en) 2001-02-20 2001-02-20 Method and apparatus for integrating multiple process controllers
PCT/US2001/047271 WO2002066923A2 (en) 2001-02-20 2001-10-22 Method and apparatus for integrating multiple process controllers

Publications (2)

Publication Number Publication Date
DE60127319D1 DE60127319D1 (de) 2007-04-26
DE60127319T2 true DE60127319T2 (de) 2008-01-10

Family

ID=25146700

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60127319T Expired - Lifetime DE60127319T2 (de) 2001-02-20 2001-10-22 Verfahren und vorrichtung zum integrieren mehrerer prozesssteuerungen

Country Status (9)

Country Link
US (1) US6801817B1 (de)
EP (1) EP1415126B1 (de)
JP (1) JP2004531794A (de)
KR (1) KR100804287B1 (de)
CN (1) CN1307496C (de)
AU (1) AU2002228893A1 (de)
DE (1) DE60127319T2 (de)
TW (1) TW574639B (de)
WO (1) WO2002066923A2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153183A1 (en) * 1996-09-20 2010-06-17 Strategyn, Inc. Product design
US9785140B2 (en) 2000-02-01 2017-10-10 Peer Intellectual Property Inc. Multi-protocol multi-client equipment server
KR101025527B1 (ko) 2002-09-30 2011-04-04 도쿄엘렉트론가부시키가이샤 반도체 제조 프로세스의 모니터링 및 제어를 위한 방법 및장치
US20060167947A1 (en) * 2003-03-01 2006-07-27 Dunkle Mark V Communications interface database for electronic diagnostic apparatus
US7375035B2 (en) * 2003-04-29 2008-05-20 Ronal Systems Corporation Host and ancillary tool interface methodology for distributed processing
US20050192690A1 (en) * 2004-02-26 2005-09-01 Taiwan Semiconductor Manufacturing Co. Chip probing equipment and test modeling for next generation MES (300MM)
US7457671B2 (en) * 2004-09-30 2008-11-25 Rockwell Automation Technologies, Inc. Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution
US7672749B1 (en) * 2005-12-16 2010-03-02 GlobalFoundries, Inc. Method and apparatus for hierarchical process control
US8214244B2 (en) 2008-05-30 2012-07-03 Strategyn, Inc. Commercial investment analysis
US8666977B2 (en) 2009-05-18 2014-03-04 Strategyn Holdings, Llc Needs-based mapping and processing engine
TWI512415B (zh) * 2014-09-04 2015-12-11 Formosa Plastics Corp 製程控制系統
JP7465056B2 (ja) * 2018-05-25 2024-04-10 株式会社東芝 分析用データ作成装置
JP6870664B2 (ja) * 2018-07-10 2021-05-12 株式会社安川電機 制御システム、制御装置及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4472783A (en) * 1980-07-21 1984-09-18 Kearney & Trecker Corporation Flexible manufacturing system
DE3372480D1 (en) * 1982-10-18 1987-08-20 Ici Plc Insecticidal product and preparation thereof
EP0162670B1 (de) * 1984-05-19 1991-01-02 British Aerospace Public Limited Company Industrielle Verarbeitungs- und Herstellungsverfahren
US4606001A (en) * 1984-05-22 1986-08-12 General Electric Company Customized canned cycles for computer numerical control system
US4842528A (en) * 1987-03-27 1989-06-27 Amp Incorporated Solder post retention means
US4912625A (en) * 1987-09-30 1990-03-27 The Boeing Company Graphics verification system for numerical control programs
DE19508476A1 (de) * 1995-03-09 1996-09-12 Siemens Ag Leitsystem für eine Anlage der Grundstoff- oder der verarbeitenden Industrie o. ä.
JP3114159B2 (ja) * 1995-11-29 2000-12-04 株式会社荏原製作所 鋳型製造方法
GB2329041B (en) * 1996-06-13 1999-09-08 Mitsubishi Electric Corp Automatic programming device for multi-system machine tool
US6240330B1 (en) * 1997-05-28 2001-05-29 International Business Machines Corporation Method for feedforward corrections for off-specification conditions
US6424878B1 (en) * 1998-04-28 2002-07-23 International Business Machines Corporation Method and apparatus for implementing custom business logic
US6292708B1 (en) * 1998-06-11 2001-09-18 Speedfam-Ipec Corporation Distributed control system for a semiconductor wafer processing machine
US7069101B1 (en) * 1999-07-29 2006-06-27 Applied Materials, Inc. Computer integrated manufacturing techniques

Also Published As

Publication number Publication date
WO2002066923A2 (en) 2002-08-29
TW574639B (en) 2004-02-01
CN1307496C (zh) 2007-03-28
EP1415126A2 (de) 2004-05-06
JP2004531794A (ja) 2004-10-14
US6801817B1 (en) 2004-10-05
CN1502066A (zh) 2004-06-02
DE60127319D1 (de) 2007-04-26
AU2002228893A1 (en) 2002-09-04
EP1415126B1 (de) 2007-03-14
KR100804287B1 (ko) 2008-02-18
WO2002066923A3 (en) 2004-02-19
KR20030078911A (ko) 2003-10-08

Similar Documents

Publication Publication Date Title
DE60030369T2 (de) Rechner integrierte Fertigungstechniken
DE60127319T2 (de) Verfahren und vorrichtung zum integrieren mehrerer prozesssteuerungen
EP0346801B1 (de) Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem
DE69915661T2 (de) Prozesssteuerung
DE10012258B4 (de) Selbst-Abstimmung in einer verteilten Prozeß-Regelumgebung
DE69910800T2 (de) Verfahren und Vorrichtung zur Überwachung des Betriebszustandes einer einzelnen Maschine
DE10002305A1 (de) Managementsystem für Schneidmaschinen
DE60011143T2 (de) Chipsherstellungssteuerung
DE112019002030T5 (de) Qualitätsüberprüfungs-Verwaltungssystem mit konfigurierbaren Ausnahmeregeln
DE102006009248B4 (de) Verfahren und System zur Modellierung eines Produktstromes in einer Fertigungsumgebung durch Prozess- und Anlagenkategorisierung
DE102005008517A1 (de) Verfahren und System zum Integrieren von Alarmen in ein Prozeßsteuersystem
DE102008021558A1 (de) Verfahren und System für die Halbleiterprozesssteuerung und Überwachung unter Verwendung von PCA-Modellen mit reduzierter Grösse
DE112006002918T5 (de) Produktbezogene Rückkopplung für Prozesssteuerung
DE10008020B4 (de) Diagnosevorrichtung in einem Prozeßsteuersystem, das Mehrgrößen-Regeltechniken verwendet
DE102018002781B4 (de) Schaltungskonfigurations-Optimierungsvorrichtung und maschinelle Lernvorrichtung
DE102004015503A1 (de) Verfahren und Vorrichtung zum Korrigieren diagnostischer Analysekonzepte in komplexen Systemen
DE60206969T2 (de) System zur vermittlung von fehlererfassungsdaten
DE10297636B4 (de) Verfahren zum Steuern von Prozessanlagen in einer Halbleiterfertigungsfabrik ####
DE60127716T2 (de) Verwendung eines systems zur endpunktdetektierung um verschiedene prozess-stationen innerhalb einer anlage aneinander anzupassen
DE102006040767A1 (de) System und Verfahren für die standardisierte Prozessüberwachung in einer komplexen Fertigungsumgebung
DE10219363B4 (de) Verfahren für eine fortschrittliche Prozesssteuerung für einen Herstellungsvorgang für mehrere Produkte mit minimierter Steuerungsbeeinträchtigung nach erneuter Initialisierung bei Auftreten von Resetereignissen
DE102006004408B4 (de) Verfahren und System zum Analysieren von standardmäßigen Anlagennachrichten in einer Fertigungsumgebung
DE10030472B4 (de) Halbleiter-Fabrikautomatisierungssystem und Verfahren zur Überwachung zumimdest eines Servers in Echtzeit
WO2003094093A2 (de) Vergleich von verarbeitungsprotokollen
DE10055168A1 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8328 Change in the person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,