-
TECHNISCHES GEBIET
-
Die Erfindung betrifft allgemein die Datenanalyse und die Steuerung eines Herstellungsprozesses und insbesondere das Steuern eines Herstellungsprozesses mit einem multivariaten Modell.
-
ALLGEMEINER STAND DER TECHNIK
-
In vielen Industriezweigen werden sowohl in der Herstellung als auch in der Forschung und Entwicklung sehr große Datenmengen erfasst. Herstellungsprozesse werden mitunter als „diskontinuierliche” Herstellungsprozesse oder „kontinuierliche” Herstellungsprozesse kategorisiert. In diskontinuierlichen Herstellungsprozessen werden eine Reihe von Schritten mit einem Anfangsschritt und einem Endschritt an einer Menge von Rohstoffen und/oder verarbeiteten Materialien ausgeführt, um ein Ergebnis zu erzeugen. In einigen diskontinuierlichen Prozessen erfolgt die Verarbeitung an einer einzelnen Arbeitsstation (z. B. einer Kammer oder einem Behälter) unter Verwendung eines oder mehrerer Prozesswerkzeuge (z. B. Prozesswerkzeuge innerhalb der Kammer oder des Behälters). Zu Beispielen von diskontinuierlichen Herstellungsprozessen gehören Halbleiterwaferverarbeitung (z. B. führt die Verarbeitung eines einzelnen Wafers zu einer Anzahl von Chips), pharmazeutische Verarbeitung (z. B. führt der Prozess zu einer Zwischen- oder Endproduktmenge von Chemikalien oder Medikamenten) oder biotechnologische Verarbeitung (z. B. führt der Prozess zu einem bestimmten biologischen Fermentierungs- oder Zellkulturprozess). In kontinuierlichen Herstellungsprozessen werden Materialien im Wesentlichen ohne Unterbrechung hergestellt, verarbeitet oder produziert. Zu Beispielen von Industriezweigen, in denen kontinuierliche Herstellungsprozesse zum Einsatz kommen, gehören die petrochemische Industrie (z. B. Öl und Gas) oder die Floatglasindustrie.
-
Ein Unterschied zwischen diskontinuierlicher Produktion und kontinuierlicher Produktion ist, dass bei kontinuierlichen Herstellungsprozessen die chemischen Umwandlungen von Ausgangsstoffen im Wesentlichen in kontinuierlichen Reaktionen, die in fließenden Materialströmen stattfinden, ausgeführt werden, während bei der diskontinuierlichen Verarbeitung chemische Umwandlungen diskret, z. B. in Behältern oder Kammern, ausgeführt werden.
-
In der Halbleiterbauelementfertigungsindustrie ist es den Bauelementherstellern gelungen, zu Prozess- und Materialspezifikationen mit engeren Toleranzen überzugehen, indem sie von den Prozesswerkzeugherstellern die Entwicklung besserer und/oder schnellerer Prozess- und Hardwarekonfigurationen verlangt haben. In dem Maße jedoch, wie die Bauelementgeometrien in den Nanometerbereich hinein schrumpfen, nimmt die Komplexität der Herstellungsprozesse zu, und die Prozess- und Materialspezifikationen lassen sich schwieriger einhalten.
-
Ein typisches Prozesswerkzeug, das in der aktuellen Halbleiterfertigung verwendet wird, kann durch eine Menge von mehreren tausend Prozessvariablen beschrieben werden. Die Variablen haben allgemein mit physischen Parametern des Herstellungsprozesses und/oder der Werkzeuge, die in dem Herstellungsprozess verwendet werden, zu tun. In einigen Fällen sind von diesen mehreren tausend Variablen mehrere hundert Variablen dynamisch (sie verändern sich z. B. im Lauf der Zeit während des Herstellungsprozess oder zwischen Herstellungsprozessen). Die dynamischen Variablen, zum Beispiel Gasströmung, Gasdruck, abgegebene Leistung, Strom, Spannung und Temperatur, ändern sich beispielsweise auf der Grundlage eines bestimmten Verarbeitungsrezepts, des speziellen Schrittes oder der speziellen Reihe von Schritten innerhalb der Gesamtsequenz von Verarbeitungsschritten, Fehlern und Störungen, die während des Herstellungsprozesses auftreten, oder Veränderungen von Parameterwerten auf der Grundlage der Verwendung eines bestimmten Werkzeugs oder einer bestimmten Kammer (z. B. als „Drift” bezeichnet).
-
Gleichermaßen verlangen Regulierungsbehörden wie zum Beispiel die amerikanische Lebensmittel- und Medikamentenbehörde (FDA) in der pharmazeutischen und biotechnischen Produktion die Einhaltung strenger Spezifikationen für die Herstellungsprozesse, um die hohe Qualität von Produkten mit sehr geringer Abweichung um ein vorgegebenes Qualitätsprofil herum beizubehalten. Diese Spezifikationen erfordern die Online-Messung von Prozessvariablen und zusätzliche mehrdimensionale Sensortechniken, wie zum Beispiel Prozessgaschromatografie, Nahe-Infrarot-Spektroskopie und Massenspektroskopie. Idealerweise stehen Daten, die während der Herstellungsprozesse gemessen wurden, zur Echtzeitanalyse und/oder -korrektur zur Verfügung, um Hinweise oder Informationen darüber zu erhalten, wie nahe die Prozessbedingungen bei den Prozessspezifikationen liegen, und um Abweichungen von der Spezifikation zu korrigieren.
-
Regulierungsbehörden verlangen oft von den Herstellern den Nachweis, dass ein Prozess innerhalb eines bestimmten „Kenntnisbereichs” gehalten wird, wobei der Kenntnisbereich eine Betriebsregion enthält, die durch Experimentieren und/oder mechanistisches Wissen erforscht wurde. Zum Beispiel ist dieses Konzept in der pharmazeutischen und der biotechnologischen Industrie als „Quality by Design” oder „QbD”. bekannt Der Kenntnisbereich kann auch als der „Sollbereich” bezeichnet werden und beinhaltet allgemein eine Betriebsregion, die Produkte hervorgebracht hat, von denen verifiziert wurde, dass sie einen vorgegebenen Qualitätsstandard erfüllen.
-
Prozessvariablen sind häufig verknüpft mit Ertrags- oder Reaktionsvariablen verknüpft. Die Prozessvariablen kann man sich als Prädiktoren oder Indikatoren der Ertrags- oder Reaktionsvariablen vorstellen, die auf einer zugrundeliegenden Beziehung zwischen den Variablen basieren. Daten, die für die Prozess- und Ertragsvariablen stehen, werden während eines Herstellungsprozesses entweder für eine Echtzeit- oder eine spätere Analyse gemessen und gespeichert.
-
Allgemein sind zwei Kategorien von Daten mit einem Herstellungsprozess verknüpft. Ein Datentyp, gewöhnlich als Daten vom X-Typ bezeichnet (z. B. X-Daten, X-Variablen, X-Gruppen oder Daten auf Beobachtungsebene), steht für Faktoren, Prädiktoren oder Indikatoren. Daten vom X-Typ werden verwendet, um Vorhersagen oder Prädiktionen zum Beispiel zum Herstellungsprozess oder zu Ergebnissen des Herstellungsprozesses zu treffen. Ein weiterer Datentyp, gewöhnlich als Daten vom Y-Typ bezeichnet (z. B. Y-Daten, Y-Variablen, Y-Gruppen), steht für Erträge oder Reaktionen der Herstellungsprozesse. Daten vom X-Typ und Daten vom Y-Typ stehen allgemein in einer Beziehung zueinander. Oft ist die genaue Beziehung zwischen den Daten vom X-Typ und den Daten vom Y-Typ ungewiss oder lässt sich nur schwer oder gar nicht ermitteln. Die Beziehung kann in einigen Fällen durch verschiedene Techniken approximiert oder modelliert werden (z. B. lineare Approximierung, quadratische Approximierung, polynomiale Einpassungsverfahren, Exponential- oder Potenzreihenbeziehungen oder multivariate Techniken (wie zum Beispiel Hauptbestandteilanalyse oder Analyse der partiellen kleinsten Quadrate), um nur einige zu nennen). In solchen Fällen kann die Beziehung zwischen Daten vom X-Typ und Daten vom Y-Typ durch die Beobachtung von Veränderungen bei beiden Datentypen und durch die Beobachtung der Reaktion, die solche Veränderungen bei anderen Datenmengen hervorrufen, abgeleitet werden.
-
Eine Möglichkeit der Analyse und Steuerung von Herstellungsprozessen ist als „statistische Prozesssteuerung” („SPC”) oder „multivariate statistische Prozesssteuerung” („MSPC”) bekannt. Generell ist das statistische Prozesssteuerungsverfahren ein Offenschleifenprozess, bei dem ein System eine multivariate Überwachung eines Herstellungsprozesses erlaubt, um festzustellen, ob der Prozess normal arbeitet. Das System überwacht den Herstellungsprozess, um festzustellen, ob das Endprodukt die Normen erfüllt, ob der Prozess im Einklang mit einem zuvor als optimal befundenen Zustand arbeitet, oder sonstige Überwachungskriterien. Wenn das System der statistischen Prozesssteuerung eine Abweichung vom Normalbetrieb detektiert, so wird ein Alarm ausgelöst, der die Abweichung einem Anlagenfahrer oder Prozessingenieur mitteilt. Der Anlagenfahrer oder Prozessingenieur interpretiert den Alarm und stellt die zugrundeliegende Ursache der Abweichung fest. Der Anlagenfahrer oder Ingenieur nimmt dann manuelle Korrekturhandlungen vor, um den Herstellungsprozess auf normale Betriebsbedingungen zurückzuführen. Ein Nachteil von SPC- oder MSPC-Prozessen ist die Notwendigkeit, dass ein Prozessingenieur oder Anlagenfahrer ein Problem diagnostiziert und manuell korrigierende Schritte einleitet.
-
Darüber hinaus lassen sich die vorhandenen statistischen Prozesssteuerungsverfahren schwieriger auf diskontinuierliche Prozesse anwenden. Die Steuerung diskontinuierlicher Herstellungsprozesse beinhaltet, einen Prozess zu überwachen und den Prozess (z. B. durch Justieren von Prozessparametern) entlang einer Trajektorie zu halten, die einem erwünschten Ergebnis für den jeweiligen Prozessabschnitt entspricht. Diese Herangehensweise an das Anwenden multivariater Steuerungsstrategien auf diskontinuierliche Prozesse versucht, einen Wertungsraum auf diskontinuierlicher Ebene zu optimieren und dann die Prozesstrajektorie zu bestimmen, die zu dem optimierten Wertungsraum führt.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Zu den Nachteilen früherer Lösungsansätze gehören Stillstandszeiten, während der Prozessingenieur den Alarm empfängt und interpretiert und dann Korrekturmaßnahmen entscheidet und implementiert. Die im vorliegenden Text beschriebenen Konzepte arbeiten mit einem Regelkreisprozess zum Steuern des Herstellungsprozesses auf der Grundlage eines Modells (z. B. eines prädiktiven Modells). Das prädiktive Modell ist in ein System oder Verfahren integriert, das Fehler im Herstellungsprozess detektiert und identifiziert und den Herstellungsprozess automatisch manipuliert oder steuert, um die richtigen Betriebsparameter beizubehalten. Die hier beschriebenen modellprädiktiven Konzepte erlauben eine automatisierte Steuerung diskontinuierlicher Prozesse, z. B. durch Justieren diskontinuierlicher Trajektorien während der Verarbeitung zum Steuern oder Optimieren des Ergebnisses des diskontinuierlichen Prozesses. Konzeptuell fügt der hier beschriebene Ansatz eine Schicht einer multivariaten Steuerung (z. B. automatisierten Steuerung) hinzu, die über die Prozessüberwachung hinausgeht. Somit können das Verfahren, das System und die Controller, die hier beschrieben werden, zusätzlich zum Detektieren und Diagnostizieren potenzieller Probleme in dem Prozess Korrekturmaßnahmen (z. B. durch Modifizieren von Betriebsparametern des Prozesses) im Wesentlichen in Echtzeit über einen Regelkreisprozess implementieren, was zu einer höheren und gleichmäßigeren Qualität, weniger aussortierten oder verschrotteten Materialien oder Endprodukten, weniger Stillstandszeit und weniger Möglichkeiten für menschliche Fehler führt.
-
Das Konzept von „Quality by Design” unterstützt den Einsatz von Steuerungsverfahren, die Prozessbedingungen justieren, um eine ordnungsgemäße und gleichbleibende Qualität zu gewährleisten. Herkömmliche modellgestützte Steuerungsverfahren eignen sich nicht für diskontinuierliche Herstellungsprozesse und sind nicht dafür ausgelegt, einen diskontinuierlichen Prozess innerhalb eines Sollbereichs zu halten. Darum manipulieren diese Steuerungsverfahren den Herstellungsprozess in neue, unerforschte Betriebsregionen hinein, die außerhalb des Soll- oder Kenntnisbereichs liegen. Die hier beschriebenen Konzepte überwinden dieses Hindernis durch Überwachen der Funktion des Regelkreissystems und Bereitstellen entsprechender Steuerungsaktionen, die den Herstellungsprozess in Richtung des akzeptablen Soll- oder Kenntnisbereichs umleiten oder abändern, z. B. durch zweckmäßig analysierte und gewichtete Bedingungen für den Herstellungsprozess in Richtung eines akzeptablen Modellraumes (z. B. durch DModX gemessen). Die Verwendung der hier beschriebenen modellprädiktiven Konzepte erlaubt eine automatisierte Steuerung diskontinuierlicher Prozesse, z. B. durch Justieren diskontinuierlicher Trajektorien während der Verarbeitung zum Steuern oder Optimieren des Ergebnisses des diskontinuierlichen Prozesses.
-
Ein realisierter Vorteil ist die Vermeidung des Optimierens eines Wertungsraums auf diskontinuierlicher Ebene und des anschließenden Zurechnens einer Trajektorie zum Erhalten des optimierten Ergebnisses. Stattdessen ermitteln die beschriebenen Systeme und Verfahren eine Menge von manipulierten variablen Werten, die zu einem optimierten Ergebnis am Ende der diskontinuierlichen Verarbeitung führen. Um eine straffere Steuerung zu erreichen, werden manipulierte Variablen und manipulierte variable Daten von abhängigen Variablen und abhängigen variablen Daten unterschieden. Die Unterscheidung zwischen variablen Arten erleichtert die Analyse und Bestimmung von abhängigen variablen Trajektorien sowie von multivariaten (z. B. DmodX-)Statistiken. In solchen Konfigurationen können Störungen in einem multivariaten (z. B. Hotelling's T2-) und/oder Residuum-(z. B. DmodX-)Raum im Wesentlichen in Echtzeit unterdrückt werden. Die Fähigkeit zum Unterdrücken variabler Änderungen, die zu einer Störung orthogonal zu einem multivariaten Raum führen würden, ist ein Merkmal, das sich nicht in Systemen findet, die Daten analysieren, die nur mit einem Wertungsraum verknüpft sind.
-
Verschiedene hier beschriebene Merkmale stellen weitere Vorteile bereit, die für den Fachmann ersichtlich sind. Zum Beispiel sind multivariate statistische Daten in eine modellgestützte prädiktive Steuerungsstruktur eingebettet. Die prädiktive Steuerungsstruktur kann erwartete Werte bestimmter Arten von Daten und Statistiken, die mit dem Herstellungsprozess verknüpft sind, und eine Steuerung des Herstellungsprozesses für diskontinuierliche oder kontinuierliche Herstellungsprozesse bereitstellen. Darüber hinaus wird eine Steuerung auf Beobachtungsebene von kontinuierlichen und diskontinuierlichen Prozessen sowie eine Steuerung auf diskontinuierlicher Ebene von diskontinuierlichen Prozessen bereitgestellt (z. B. durch Anpassen oder Konfigurieren von Parametern des multivariaten Modells an die konkrete Art des Herstellungsprozesses). Für eine Steuerung auf Beobachtungsebene (z. B. entweder für eine kontinuierliche oder eine diskontinuierliche Verarbeitung) und eine Steuerung auf diskontinuierlicher Ebene (z. B. für eine diskontinuierliche Verarbeitung) werden multivariate Verfahren zum Schätzen künftiger Werte von abhängigen Variablen (und/oder manipulierten Variablen) verwendet, um frühere, aktuelle und/oder künftige Werte jener Variablen zu berücksichtigen und den Herstellungsprozess auf der Grundlage der Ergebnisse vorhergesagter künftiger Änderungen anzupassen oder zu justieren. Multivariate(z. B. Hotelling's T2 oder DmodX-)Statistiken oder Werte (z. B. Wertungen oder t-Wertungen) werden bereitgestellt und/oder vorhergesagt. Darüber hinaus werden außerdem multivariate Verfahren zum Schätzen künftiger Werte von abhängigen Werten beschrieben.
-
Ein zusätzlicher Vorteil ergibt sich aus dem Partitionieren oder Teilen der Variablen vom X-Typ in Teilmengen oder Unterarten. Eine Teilmenge von Daten vom X-Typ wird als manipulierte Variablen (oder manipulierte variable Werte) identifiziert und als XMV bezeichnet. Eine weitere Teilmenge von Daten vom X-Typ wird als abhängige Variablen identifiziert und als XD bezeichnet. Manipulierte Variablen sind generell Variablen oder Herstellungsparameter, die direkt gesteuert werden können, wie zum Beispiel zugeführte Temperatur, chemische Konzentrationen, pH-Wert, Gasdruck, zugeführte Leistung, Strom, Spannung oder Verarbeitungszeit. Im Allgemeinen berücksichtigt oder überwacht ein Hersteller aufgrund von Prozessor- und Speicherbeschränkungen in Überwachungs- und Analysesystemen gewöhnlich weniger als etwa 20 manipulierte Variablen. Prozesse, in denen mehr als etwa 20 manipulierte Variablen vorkommen, können mitunter rechnerisch schwer zu bewältigen sein. Abhängige Variablen sind allgemein Variablen, die durch Sensoren gemessen werden und nicht direkt gesteuert werden können. Zu Beispielen von abhängigen Variablen gehören Kammertemperatur, Gasdruck, Temperatur- oder Druckgradienten, Verunreinigungsgrade, spektrale und/oder chromatografische Profile und andere. Außerdem können die abhängigen Variablen eine reduzierte Datenmenge darstellen (z. B. Variablen, die aus Rohdaten abgeleitet wurden, wie zum Beispiel Temperaturdifferenz, Temperaturgradienten und andere). Im Allgemeinen können abhängige Variablen während des Herstellungsprozesses nicht direkt justiert werden. Abhängige Variablen können z. B. entweder über bekannte Beziehungen oder unbekannte Beziehungen, die gegebenenfalls empirisch bestimmbar und/oder modelliert sein können, auf die Werte der manipulierten Variablen bezogen sein, oder mit solchen Werten verknüpft sein, oder von solchen Werten abhängig sein.
-
Gemäß einem Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Steuern eines Herstellungsprozesses. Das Verfahren enthält das Empfangen abhängiger variabler Daten, die während des Herstellungsprozesses gemessen wurden. Die abhängigen variablen Daten stehen für Werte einer ersten Menge von Prozessparametern, die durch einen oder mehrere Sensoren beobachtet wurden. Das Verfahren enthält das Empfangen manipulierter variabler Daten, die während des Herstellungsprozesses gemessen wurden, von mehreren Prozesswerkzeugen und das Empfangen vorhergesagter manipulierter variabler Daten. Manipulierte variable Daten stehen für eine zweite Menge von Prozessparametern (z. B. steuerbare oder gesteuerte Prozessparameter). Das Verfahren enthält das Bestimmen einer vorhergesagten Wertungszahl und/oder einer multivariaten Statistik auf der Grundlage mindestens der empfangenen Daten. Das Verfahren enthält außerdem das Bestimmen von Betriebsparametern des Herstellungsprozesses auf der Grundlage der vorhergesagten Wertungszahl und/oder der multivariaten Statistik.
-
In einigen Ausführungsformen wird die zweite Menge von Prozessparametern (die z. B. durch manipulierte variable Daten dargestellt werden) während des Herstellungsprozesses gesteuert. Die erste Menge von Prozessparametern (die z. B. durch abhängige variable Daten dargestellt werden) wird nicht direkt während des Herstellungsprozesses gesteuert. Wenn die Betriebsparameter Werte für die manipulierten Variablen enthalten, so enthält das Verfahren das Bereitstellen der manipulierten variablen Werte an die mehreren Prozesswerkzeuge. Das Verfahren kann außerdem das Modifizieren der aktuellen oder künftigen Werte der manipulierten Variablen auf der Grundlage der früheren oder aktuellen Werte der manipulierten Variablen und der abhängigen Variablen enthalten.
-
Einige Ausführungsformen der Verfahren enthalten das Empfangen vorhergesagter Werte für die abhängigen variablen Daten. Das Verfahren enthält außerdem, in einigen Implementierungen, das Vorhersagen von Werten der abhängigen variablen Daten. Das Bestimmen von Betriebsparametern kann das Erfüllen eines Controller-Ziels enthalten. Ein Beispiel für das Erfüllen eines Controller-Ziels ist das Optimieren einer betrieblichen Zielfunktion, die Werte von Prozessdaten, Ertragdaten, Ergebnisdaten (oder beliebige Kombinationen davon) des Herstellungsprozesses verknüpft. Die Zielfunktion kann eine oder mehrere Bedingungen für die abhängigen variablen Daten, die manipulierten variablen Daten, die vorhergesagte Wertungszahl, die multivariaten Statistiken oder beliebige Kombinationen davon enthalten. In einigen Ausführungsformen sind die eine oder die mehreren Bedingungen nutzerspezifisch. Bedingungen können mit Punktabzug für das Abweichen von einem multivariaten Modell verknüpft sein.
-
Ein geeignetes Ziel eines Controller-Ziels ist beispielsweise eine quadratische Funktion. In solchen Ausführungsformen enthält das Erfüllen des Controller-Ziels das Minimieren eines Parameters der Zielfunktion. Einige Implementierungen enthalten das Bestimmen erwünschter Werte der Wertung oder der multivariaten Statistik (oder Statistiken). In einigen Ausführungsformen enthält das Verfahren das Verwenden eines Modells abhängiger Variablen, das Werte vorhergesagter abhängiger variabler Daten auf der Grundlage bestimmter Werte der manipulierten variablen Daten, der früheren oder aktuellen Werte der abhängigen variablen Daten oder Kombinationen davon vorhersagt.
-
In einigen Ausführungsformen enthält das Verfahren das Verwenden eines Wertungsmodells, das künftige Werte der ersten Menge von Prozessparametern (die z. B. durch abhängige variable Daten dargestellt werden) und der zweiten Menge von Prozessparametern (die z. B. durch manipulierte variable Daten dargestellt werden) vorhersagt. Das Verfahren kann das Bestimmen, mit einem multivariaten Modell, des vorhergesagten Wertes für die Wertung und/oder der einen oder mehreren multivariaten Statistiken enthalten. In einigen Implementierungen empfängt das multivariate Modell gemessene manipulierte und abhängige variable Daten und vorhergesagte manipulierte und abhängige variable Daten.
-
Zu Beispielen geeigneter multivariater Statistiken zur Verwendung in dem Verfahren gehören eines oder mehrere der Folgenden: eine Wertung, ein Hotelling's T2-Wert, ein DModX-Wert, ein Residualstandardabweichungswert oder beliebige Kombinationen davon. Die multivariate Statistik kann außerdem eine t-Wertung der Hauptkomponentenanalyse und/oder eine t-Wertung der partiellen kleinsten Quadrate enthalten. Der Herstellungsprozess kann ein kontinuierlicher oder ein diskontinuierlicher Herstellungsprozess sein.
-
Gemäß einem weiteren Aspekt betrifft die Erfindung einen multivariaten Controller für einen kontinuierlichen oder diskontinuierlichen Herstellungsprozess. Der Controller enthält ein Steuerungsmodul im Datenaustausch mit mehreren Prozesswerkzeugen und mehreren Sensoren zum Überwachen manipulierter variabler Daten von den Prozesswerkzeugen und abhängiger variabler Daten von den Sensoren. Das Steuerungsmodul enthält ein multivariates Modell. Die abhängigen variablen Daten stehen für Werte einer ersten Menge von Prozessparametern, die durch die mehreren Sensoren beobachtet werden. Die manipulierten variablen Daten stehen für erwartete Werte einer zweiten Menge von Prozessparametern (z. B. gesteuerte oder steuerbare Parameter). Der Controller enthält außerdem ein Lösermodul zum Empfangen, von dem multivariaten Modell, vorhergesagter Ertragdaten und/oder vorhergesagter manipulierter variabler Daten und/oder vorhergesagter abhängiger variabler Daten und/oder einer multivariaten Statistik und/oder beliebiger Kombinationen davon auf der Grundlage mindestens der überwachten manipulierten variablen und abhängigen variablen Daten. Das Lösermodul erzeugt außerdem Werte der manipulierten Variablen zum Bereitstellen für die mehreren Prozesswerkzeuge und in ein Vorhersagemodell, das mindestens vorhergesagte statistische Daten ausgibt.
-
Der Controller, in einigen Implementierungen, justiert einen oder mehrere Parameter der mehreren Prozesswerkzeuge auf der Grundlage der erzeugten Werte der manipulierten Variablen. Die durch den Controller verwendete multivariate Statistik enthält eine Wertung und/oder einen Hotelling's T2-Wert und/oder einen DModX-Wert und/oder einen Residualstandardabweichungswert und/oder eine Kombination davon. In einigen Ausführungsformen enthält das Vorhersagemodell ein Wertungsmodell zum Erzeugen vorhergesagter Werte für das Lösermodul von einer oder mehreren multivariaten Statistiken. Das Vorhersagemodell kann ein Modell abhängiger Variablen zum Erzeugen vorhergesagter abhängiger variabler Werte enthalten. Das Vorhersagemodell kann außerdem vorhergesagte Werte von abhängigen Variablen aus dem Herstellungsprozess bereitstellen. In einigen Implementierungen stellt das Vorhersagemodell vorhergesagte statistische Daten an das Steuerungsmodul und das Lösermodul bereit.
-
In einigen Ausführungsformen erzeugt das Lösermodul Werte der manipulierten Variablen auf der Grundlage eines Controller-Ziels. Das Controller-Ziel kann eine quadratische Funktion mit dem Herstellungsprozess verknüpfte optimieren. Einige Implementierungen enthalten ein Controller-Ziel mit einer oder mehreren Bedingungen z. B. für die abhängigen variablen Daten, die manipulierten variablen Daten, die vorhergesagten Ertragdaten, die multivariate Statistik (oder Statistiken) oder eine Kombination davon (oder alles davon). Die Bedingungen können nutzerspezifisch sein oder können mit Punktabzug für das Abweichen von dem multivariaten Modell verbunden sein. In einigen Ausführungsformen ist das Lösermodul ein beschränkter Optimierungslöser. Einige Konfigurationen enthalten das Steuerungsmodul, das das Lösermodul enthält. Darüber hinaus kann das Lösermodul das Steuerungsmodul enthalten, oder sowohl das Lösermodul als auch das Steuerungsmodul können Teilmodule einer größeren Modul-, Prozessor- oder Rechenumgebung sein.
-
Gemäß einem weiteren Aspekt betrifft die Erfindung allgemein ein System zum Steuern eines Herstellungsprozesses. Das System enthält ein Datenerfassungsmittel zum Erfassen, von mehreren Prozesswerkzeugen, manipulierter variabler Daten, die für erwartete Werte einer Menge von Prozessparametern stehen, und zum Erfassen, von mehreren Sensoren, abhängiger variabler Daten, die für Werte einer zweiten Menge von Prozessparametern stehen, die durch die mehreren Sensoren beobachtet werden. Das System enthält ein Prozesssteuerungsmittel zum Bestimmen von Betriebsparametern der mehreren Prozesswerkzeuge. Das System enthält außerdem ein multivariates Steuerungsmittel zum Bestimmen, auf der Grundlage eines multivariaten statistischen Modells, von Werten für die manipulierten variablen Daten zum Bereitstellen für das Prozesssteuerungsmittel. Das multivariate statistische Modell empfängt mindestens die erfassten manipulierten variablen Daten und abhängigen variablen Daten und stellt vorhergesagte Ertragswerte und statistische Informationen auf der Grundlage mindestens der empfangenen Daten in das Prozesssteuerungsmittel bereit.
-
In einigen Ausführungsformen optimieren oder erfüllen die durch das Prozesssteuerungsmittel bestimmten Betriebsparameter ein Steuerungsziel.
-
Einige Implementierungen enthalten beliebige der oben beschriebenen Aspekte, die beliebige der oben beschriebenen Ausführungsformen oder Vorteile davon darstellen.
-
Diese und weitere Merkmale werden anhand der folgenden Beschreibung und der Zeichnungen, die nur veranschaulichend und nicht unbedingt maßstabsgetreu sind, besser verstanden. Obgleich die Konzepte im vorliegenden Text mit Bezug auf einen Herstellungsprozess, insbesondere einen Halbleiter-, pharmazeutischen oder biotechnischen Herstellungsprozess, beschrieben sind, leuchtet dem Fachmann ein, dass die Konzepte noch weitere Anwendungen haben, zum Beispiel in der Metallurgie und im Bergbau, in der Finanzdatenanalyse und auf sonstigen Gebieten, wo großen Mengen von Datenpunkten oder Beobachtungen verarbeitet werden müssen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die oben genannten sowie weitere Aufgaben, Merkmale und Vorteile werden aus der folgenden, konkreteren Beschreibung von Ausführungsformen deutlich, die in den begleitenden Zeichnungen veranschaulicht sind, in denen gleiche Bezugszahlen in allen unterschiedlichen Ansichten die gleichen Teile bezeichnen. Die Zeichnungen sind nicht unbedingt maßstabsgetreu. Statt dessen wird Wert auf die Veranschaulichung der Prinzipien der Ausführungsformen gelegt.
-
1 ist ein Blockschaubild eines Systems, das Aspekte der Erfindung verkörpert.
-
2 ist ein Blockschaubild, das eine Ausführungsform eines Controllers veranschaulicht, der ein multivariates Modell enthält.
-
3 ist ein Blockschaubild, das eine weitere Ausführungsform eines Controllers veranschaulicht, der ein multivariates Modell enthält.
-
4 ist ein Flussdiagramm, das ein Verfahren zum Implementieren von Betriebsparametern für einen Herstellungsprozess veranschaulicht.
-
5 ist ein Flussdiagramm, das ein Verfahren zum Bestimmen von Betriebsparametern für einen Herstellungsprozess und zum Bestimmen eines vorhergesagten Wertes von abhängigen variablen Daten veranschaulicht.
-
6 ist ein Flussdiagramm, das ein Verfahren zum Bestimmen und Implementieren von Betriebsparametern für einen Herstellungsprozess veranschaulicht.
-
7 ist eine beispielhafte Benutzerschnittstelle zum Spezifizieren von Bedingungen, die auf das Optimieren eines Controller-Ziels angewendet werden.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt ein beispielhaftes System 100, das einen Prozessor 105 und eine Benutzerschnittstelle 110 enthält. Die Benutzerschnittstelle 110 kann eine Computertastatur, eine Maus, eine andere haptische Schnittstelle, eine grafische Benutzerschnittstelle, eine Spracheingabe oder ein sonstiger Eingabe/Ausgabekanal sein, über den ein Nutzer mit dem Prozessor 105, in Reaktion auf Stimuli von dem Prozessor 105, kommunizieren kann (z. B. um Werte für Bedingungen zu spezifizieren). Die Benutzerschnittstelle 110 kann ein Anzeigegerät wie zum Beispiel einen Computermonitor enthalten. Der Prozessor 105 ist mit einer Verarbeitungseinrichtung 115 gekoppelt. Die Verarbeitungseinrichtung 115 führt Herstellungs- oder Verarbeitungsoperationen aus. Zum Beispiel führt die Verarbeitungseinrichtung im Kontext der Halbleiterindustrie Verarbeitungsfunktionen an einem Werfer 120 aus und gibt einen verarbeiteten Werfer 120' aus. Der Werfer 120 und der verarbeitete Werfer 120' sind nur Veranschaulichungen und können eine beliebige Eingabe und/oder Ausgabe eines diskontinuierlichen Herstellungsprozesses darstellen (z. B. ein pharmazeutisches Granulieren oder Mischen oder einen sonstigen Verarbeitungs-Teilschritt, oder einen biotechnologischen Fermentierungs-, Zellkultur- oder Reinigungsprozess). Die Verarbeitungseinrichtung 115 kann (nicht gezeigte) Werkzeuge oder Prozesse enthalten, zum Beispiel Säubern, Reinigen, Abscheiden von Material, Mischen von Materialien oder Chemikalien, Auslösen von Materialien oder Chemikalien, Entfernen von Materialien, Abspülen von Materialien und/oder Ausführen sonstiger Funktionen innerhalb der Verarbeitungseinrichtung 115.
-
In einigen Ausführungsformen enthalten die Werkzeuge oder Prozesse mehrere Stationen oder Einheiten innerhalb der Einrichtung 115. Diese Funktionen können mit mehreren physikalischen Parametern verknüpft werden, zum Beispiel Gasdruck, Gasströmungsrate, Temperatur, Zeit und/oder Plasma oder Chemikalien oder biochemische Konzentrationen, um nur einige wenige zu nennen. In einigen Ausführungsformen ist der Parameter der Ertragsverlust des konkreten Wafers 120, der nach der Verarbeitung eintritt. Die physikalischen Parameter können überwacht und manipuliert werden, um mehrere Ausgabegrößen 125 zu erzeugen, die Daten über die Variablen (z. B. die physikalischen Parameter und/oder Werkzeugbetriebsbedingungen) in der Verarbeitungseinrichtung 115 enthalten. Die Ausgabegrößen 125 können elektrische, optische, magnetische, akustische oder sonstige Signale sein, die in der Lage sind, die Daten zu übertragen, oder die zu dem Prozessor 105 oder innerhalb des Prozessors 105 übertragen werden. Die Ausgabegrößen 125 können Daten enthalten, die für abhängige variable Daten XD und/oder manipulierte variable Daten XMV stehen. In einigen Ausführungsformen stellen die Ausgabegrößen 125 Rohdaten bereit, die manipuliert werden können, bevor sie als abhängige variable Daten oder manipulierte variable Daten verwendet werden.
-
Die Verarbeitungseinrichtung 115 ist mit dem Prozessor 105 durch ein Datenerfassungsmodul 130 gekoppelt. Das Datenerfassungsmodul 130 empfängt die Ausgabegrößen 125 von der Verarbeitungseinrichtung 115. In einigen Ausführungsformen führt das Datenerfassungsmodul 130 Pufferungs-, Multiplexierungs-, Zeichengabe-, Schalt-, Weglenkungs-, Formatierungs- und andere Funktionen an den Daten aus, um die Daten in ein Format oder einen Zustand zu bringen, das bzw. der für eine Übermittlung oder Neusendung an andere Module des Prozessors 105 geeignet ist.
-
Das System 100 enthält außerdem ein Controllermodul 135. Das Controllermodul 135 empfängt Daten von dem Datenerfassungsmodul 130, z. B. über Kommunikationsstrecken 140. Das Controllermodul spezifiziert manipulierte variable Daten XMV und übermittelt die spezifizierten Werte an die Verarbeitungseinrichtung 115 und das Datenerfassungsmodul 130 über mehrere Ausgabegrößen 145. Die manipulierten variablen Daten können Sollwerte bestimmter Verarbeitungsparameter (z. B. Temperatur, Gasströmungsrate, Druck, Verarbeitungszeit und andere) oder Instruktionen für bestimmte Prozesswerkzeuge darstellen. Das Controllermodul 135 enthält ein multivariates Modell 150 und ein Vorhersagemodell 155. Das multivariate Modell 150 wird, in Verbindung mit anderen Modulen des Controllermoduls 135 (z. B. eines (nicht gezeigten) Lösermoduls), zum Bestimmen von Werten von Betriebsparametern oder manipulierten Variablen verwendet, die erwünschten Werte von abhängigen variablen Daten (z. B. Daten innerhalb eines akzeptablen Kenntnisbereichs für den jeweiligen Herstellungsprozess) erzeugen. Das Vorhersagemodell 155 wird zum Vorhersagen multivariater Statistiken, Wertungen und variabler Werte zur Verwendung in Verbindung mit anderen Modulen des Controllermoduls 135 verwendet.
-
Die konkreten Prozesse, die innerhalb der Verarbeitungseinrichtung 115 stattfinden, können durch den Prozessor 105 über das Controllermodul 135 überwacht oder gesteuerte werden. Das Controllermodul 135 überwacht und steuert die Verarbeitungseinrichtung 115 durch Vergleichen der Idealwerte von manipulierten variablen Daten mit den Werten, die durch Verarbeitungswerkzeuge innerhalb der Einrichtung 115 oder der Einrichtung 115 selbst verwendet werden, und durch Vergleichen der Idealwerte von abhängigen variablen Daten mit den durch Sensoren gemessen Werten. Die Istwerte der Verarbeitungsparameter innerhalb der Verarbeitungseinrichtung 115 werden mittels der mehreren Ausgabegrößen 125 durch das Datenerfassungsmodul 130 gemessen und/oder an das Datenerfassungsmodul 130 übermittelt.
-
Das System 100 enthält außerdem einen Speicher 160. Der Speicher 160 kann zum Beispiel zum Speichern zuvor erzeugter multivariater Modelle 150' und/oder zuvor erzeugter Vorhersagemodelle 155' verwendet werden, um sie später zu verwenden.
-
2 ist ein Blockschaubild, das eine Ausführungsform eines Controllers 200 veranschaulicht, der ein multivariates Modell 205 enthält. Der Controller 200 enthält außerdem ein Lösermodul 210 und ein Modell abhängiger Variablen XD 215.
-
Das multivariate Modell 205 empfängt als Eingabe abhängige variable Daten 220 von mehreren (nicht gezeigten) Sensoren. Die abhängigen variablen Daten 220 können durch vorhergesagte abhängige variable Werte 225, die durch das Modell abhängiger Variablen 215 bereitgestellt werden, erweitert werden. Das multivariate Modell 205 empfängt außerdem gemessene Werte von manipulierten variablen Daten 230. Das multivariate Modell 205 empfängt außerdem manipulierte variable Daten 235 von dem Lösermodul 210.
-
Das multivariate Modell 205 empfängt gemessene (220) und vorhergesagte (225) Werte für die abhängigen variablen Daten sowie gemessene (230) und vorhergesagte (z. B. Sollwerte) (235) Werte für die manipulierten variablen Daten. Auf der Grundlage der empfangenen Daten speist das multivariate Modell 205 Informationen 240 in das Lösermodul 210 ein. Die Informationen 240 können z. B. eine Wertung und eine oder mehrere multivariate Statistiken enthalten. Zum Beispiel kann die Wertung eine Ertragsprognosewertung (Ypred) sein. Die Ertragsprognosewertung Ypred ähnelt den Wertungen, die bei der statistischen Prozesssteuerung ohne ein multivariates Modell ausgegeben werden (z. B. kann die Ertragsprognosewertung auf einer Hauptkomponentenanalyse oder einer Berechnung der partiellen kleinsten Quadrate beruhen). Die eine oder die mehreren multivariaten Statistiken können einen Hotelling's T2-Wert oder einen DModX-Wert enthalten. Gleichermaßen können die eine oder die mehreren multivariaten Statistiken einen Residualstandardabweichungswert, eine Hauptkomponentenanalyse-Wertung, eine Wertung der partiellen kleinsten Quadrate (manchmal als Projektion auf latente Strukturen bezeichnet) oder eine beliebige Kombination der hier besprochenen multivariaten Statistiken enthalten. In einigen Ausführungsformen stellen die Informationen 240 mehrere multivariate Statistiken für das Lösermodul 210 bereit. Die multivariaten Statistiken können Bedingungen für das Lösermodul 210 bereitstellen.
-
Das multivariate Modell
205 kann zum Beispiel eine Hotelling-Berechnung oder eine DModX-Berechnung an den empfangenen Daten mittels einer Hauptkomponentenanalyse oder einer Analyse der partiellen kleinsten Quadrate ausführen, um einen T
2- bzw. einen DModX-Wert zu bestimmen. Ein T
2-Wert kann gemäß der folgenden Gleichung berechnet werden:
wobei:
- σ = Standardabweichung für eine bestimmte Variable auf der Grundlage von Daten, die für frühere Prozessabschnitte erfasst wurden,
- gemessener Wert von Variablen, für k Variablen,
- mittlerer Wert von Variablen auf der Grundlage früherer Prozessabschnitte für k Variablen,
- S–1 = eine inverse Kovarianz- oder Korrelationsmatrix, die die Inverse der unten veranschaulichten Kovarianz- oder Korrelationsmatrix, S, ist: wobei:
- wobei die Indizes i und j das Matrixelement für S und x in einer verallgemeinerten k x n-Matrix bezeichnen.
-
In dem oben beschriebenen multivariaten Modellierungsbeispiel sind die x-Variablen in den obigen Gleichungen gewöhnlich Wertungsvektoren eines Hauptkomponentenmodells oder eines Modells der partiellen kleinsten Quadrate, wobei gewöhnlich die mittleren Werte (μ0) gleich null sind. Weil diese Wertungsvektoren orthogonal sind, sind die Matrizen S und S–1 diagonal, wobei die Varianzen und jeweiligen inversen Varianzen jedes Komponentenwertungsvektors Diagonalelemente sind.
-
Eine t-Wertungszahl kann man sich vorstellen als eine Projektion auf eine Linie (z. B. auf die Achse eines Hauptkomponentenmodells oder eines Modells der partiellen kleinsten Quadrate) in einem k-dimensionalen Raum, die eine akzeptable Approximierung der Daten erbringt (z. B. eine Linie, die eine akzeptable Passung der kleinsten Quadrate ergibt). In einigen Ausführungsformen kann eine zweite t-Wertung verwendet werden (z. B. eine Projektion auf eine Linie orthogonal zu der ersten Linie). Im Allgemeinen ist ein T2-Wert eine Berechnung der gewichteten Entfernung von Herstellungsprozessvariablen für ein Ergebnis (z. B. der Wafer 120') des Herstellungsprozesses relativ zu einem Ergebnis, das bei normalem Prozessbetrieb erhalten wird, oder auf der Grundlage vorhergesagter Werte von abhängigen variablen Daten und/oder manipulierten variablen Daten. Eine Möglichkeit des Verstehens der Bedeutung des T2-Wertes ist, ihn sich anhand einer geometrischen Beschreibung vorzustellen. Ein normaler Herstellungsprozess ist ein Cluster aus Datenpunkten in einem k-dimensionalen Raum, wobei k die Anzahl der gemessenen Herstellungsprozessvariablen ist. Der betreffende Raum kann auch der dimensionsreduzierte Raum der Wertungen sein. Der Hotelling's T2-Wert ist die quadrierte Entfernung einer neuen Ausgabe aus der Mitte dieses Cluster aus Datenpunkten, die relativ zu der Variationsausgabe unter normalen Prozessbedingungen gewichtet ist. Die Variation ist oft als eine Hyperellipse veranschaulicht, die das Cluster aus Datenpunkten umgrenzt. Im Allgemeinen können Hotelling-Berechnungen zum Beispiel verwendet werden, um zu bestimmen, ob ein bestimmter Punkt mit Bezug auf den Rest der Datenmenge ein Ausreißer ist (z. B. außerhalb der Hyperellipse liegt). Genauer gesagt, kann eine Hotelling-Berechnung verwendet werden, um festzustellen, ob ein bestimmter gemessener Parameter außerhalb einer Alarmgrenze oder außerhalb des Kenntnisbereichs liegt, der durch ein mathematisches Modell für die beobachteten Prozessparameter bestimmt wurde.
-
Ein weiteres Beispiel einer multivariaten Statistik ist eine DModX-Berechnung oder eine Berechnung einer Residualstandardabweichung. Bei der DModX-Berechnung wird die Entfernung eines bestimmten Datenpunktes von einer Stelle in einem k-dimensionalen Raum, die eine bevorzugte Stelle (z. B. einen Stelle, die mit einem idealen Prozessabschnitt verknüpft ist) darstellt, berechnet. Der DModX-Wert wird unter Verwendung einer Hauptkomponentenanalyse oder einer Analyse der partiellen kleinsten Quadrate berechnet, die die k-dimensionale Variable auf eine niedrigere Ordnung abbildet (z. B. niedriger als eine Variable der k)-dimensionalen Ordnung (z. B. ein Wertungsraum)). Mathematisch ist der DModX-Wert die orthogonale Komponente (oder der Rest), die aus der Hauptkomponentenanalyse oder der Analyse der partiellen kleinsten Quadrate resultiert. Ein DModX-Wert kann einen Bereich von Werten (z. B. ein „Toleranzvolumen”) um eine oder mehrere Variablen (z. B. Datenpunkte) in dem mathematischen Modell herum anzeigen.
-
Das Lösermodul 210 empfängt ebenfalls Betriebszielwerte 245, die den Ziel- oder Sollwert von Qualitäts-, Ertrags-, Prozessvariablen- oder multivariaten Grenzwerten oder Zielen darstellen. Das Lösermodul 210 bestimmt auf der Grundlage der empfangenen Informationen 240 und Betriebszielwerte 245 Werte der manipulierten variablen Werte 250, die in die mehreren (nicht gezeigten) Prozesswerkzeuge einzuspeisen sind. Die bestimmten manipulierten variablen Werte 250 sind außerdem eine Eingabe in das multivariate Modell 205 (z. B. die manipulierten variablen Werte 235) und eine Eingabe 255 in das Modell abhängiger Variablen 215. In einigen Ausführungsformen stellen die manipulierten variablen Werte 250 Sollwerte der manipulierten Variablen für den Herstellungsprozess dar, die sich von den gemessenen manipulierten variablen Werten 230 unterscheiden können (z. B. dem aktuellen Wert der manipulierten Variablen).
-
In einigen Ausführungsformen führt das Lösermodul 210 eine Suche nach manipulierten variablen Werten aus, die ein Controller-Ziel erfüllen. Das Lösermodul 210 wird in dieser Suche durch die Informationen 240, die das multivariate Modell 205 ausgibt, und die multivariaten Grenzen, die in den Betriebszielwerten 245 ausgedrückt sind, beschränkt. In einigen Ausführungsformen spezifiziert ein Nutzer zusätzliche Bedingung für das Lösermodul 210 (z. B. unter Verwendung einer Benutzerschnittstelle 115 von 1).
-
Das Modell abhängiger Variablen XD 215 speist vorhergesagte Werte 225 von abhängigen variablen Daten in das multivariate Modell 205 ein. Das Modell abhängiger Variablen 215 kann vorhergesagte Werte von abhängigen variablen Daten auf unterschiedliche Weise bereitstellen. Zum Beispiel kann der vorhergesagte Wert ein Durchschnittswert gemessener abhängiger Variablen im zeitlichen Verlauf oder eine Durchschnittstrajektorie abhängiger variabler Werte im zeitlichen Verlauf sein. Die vorhergesagten Werte können ein Durchschnittswert oder eine Durchschnittstrajektorie zuzüglich eines Zugabewertes (z. B. ΔXD) sein.
-
in einigen Ausführungsformen sind abhängige variable Daten eine Funktion von manipulierten variablen Daten, dergestalt, dass der Wert einer bestimmten abhängigen Variable funktional von dem Wert einer oder mehrerer manipulierter Variablen abhängt (z. B. XD = f(XMV)). Die funktionale Beziehung kann bekannt oder empirisch abgeleitet, ermittelt oder modelliert sein. In Ausführungsformen, bei denen abhängige variable Daten funktional zu den manipulierten variablen Daten in Beziehung stehen, kann der Controller 200 eine iterative Lösung für Abweichungen von den erwarteten abhängigen variablen Werten implementieren, wobei eine Regelkreisprozess verwendet wird, um Werte der Betriebsparameter, die mit den manipulierten Variablen verknüpft sind, so zu justieren, dass sie die gewünschten Werte der abhängigen Variablen besser approximieren.
-
Der Controller 200 unterstützt die Modifizierung der aktuellen Werte (235) oder künftigen Werte (250) von manipulierten variablen Daten auf der Grundlage der früheren Werte (220) oder aktuellen Werte (225) von abhängigen Variablen oder der früheren Werte (230) oder aktuellen Werte (235) der manipulierten Variablen.
-
Die Häufigkeit von Modifikationen der manipulierten Variablen richtet sich zum Beispiel nach der Art der Steuerung oder der Art der Verarbeitung (z. B. diskontinuierlich oder kontinuierlich). Zum Beispiel kann der Controller 200 für eine Steuerung auf Beobachtungsebene von diskontinuierlichen Prozessen (z. B. eine Steuerung jedes Schrittes in einem Verarbeitungsrezept) eine relativ häufige Justierung der Betriebsparameter, die durch die manipulierten variablen Daten dargestellt werden, unterstützen, um die Wertungen auf Beobachtungsebene (z. B. t-Wertungen) beizubehalten und den DModX-Wert (z. B. die Sollbereichssteuerung) beizubehalten. Für eine Steuerung auf diskontinuierlicher Ebene von diskontinuierlichen Prozessen (z. B. die Steuerung des Ergebnisses eines diskontinuierlichen Prozesses) kann der Controller 200 relativ weniger Justierungen der Betriebsparameter unterstützen. Die wenigeren Justierungen können auf der Grundlage von, oder gemäß, zuvor festgelegten Zeitpunkten während des Herstellungsprozesses koordiniert werden, um bestimmte Wertungen oder multivariate Statistiken (z. B. Ypred, Wertungen, T2 und/oder DModX) sowie erwünschte Werte von Ertrags- oder anderen Qualitätsergebnisvariablen beizubehalten oder zu optimieren.
-
3 ist ein Blockschaubild, das eine weitere Ausführungsform eines Controllers 300 veranschaulicht, der ein multivariates Modell 305 enthält. Der Controller 300 enthält ein Steuerungsmodul 310. Das Steuerungsmodul 310 enthält das multivariate Modell 305 und ein Steuerungsteilmodul 315. Das Steuerungsteilmodul 315 enthält ein Lösermodul 320 und ein Wertungsmodell 325. Der Controller 300 ist eine vereinfachte Version des Controllers 200 von 2. In einigen Ausführungsformen beschränkt der Controller 300 nicht das multivariate Modell 305 auf bestimmte Werte von DModX.
-
Das multivariate Modell 305 empfängt manipulierte variable Werte 330 von mehreren (nicht gezeigten) Prozesswerkzeugen und abhängige variable Werte 335 von mehreren (nicht gezeigten) Sensoren. Auf der Grundlage der empfangenen Daten berechnet und stellt das multivariate Modell 305 Informationen 340 für das Lösermodul 320 bereit. Die Informationen 340 können zum Beispiel eine t-Wertung und vorhergesagte Ertragswerte enthalten. Die vorhergesagten Ertragswerte können zum Beispiel auf einer Berechnung der partiellen kleinsten Quadrate basieren. Die Informationen 340 können eine vorhergesagte Wertungszahl 350 aus dem Wertungsmodell 325 enthalten. Das Lösermodul 320 empfängt außerdem einen Soll- oder Zielwert für Ertragdaten 355.
-
Auf der Grundlage der empfangenen Daten (340, 355) berechnet das Lösermodul 320 manipulierte variable Werte 360. Die berechneten manipulierten variablen Werte 360 werden in das Wertungsmodell 325 und in mehrere (nicht gezeigte) Prozesswerkzeuge eingespeist. Bei der Berechnung der manipulierten variablen Werte führt das Lösermodul 320 eine Suche nach manipulierten variablen Werten aus, die ein Controller-Ziel erfüllen. Das Controller-Ziel kann zum Beispiel Bedingungen und/oder Punktabzug enthalten. In einigen Ausführungsformen ist das Controller-Ziel ein quadratisches Controller-Ziel. Weitere Zielfunktionen sind für den Fachmann offensichtlich.
-
Das Wertungsmodell 325 berechnet und erzeugt vorhergesagte Wertungszahlen zum Beispiel auf der Grundlage früherer und aktueller manipulierter variabler Werte. Das Wertungsmodell 325 erzeugt außerdem vorhergesagte Wertungszahlen zum Beispiel auf der Grundlage künftiger geschätzter Wertungen, die aus justierten manipulierten variablen Werten stammen. Zum Beispiel kann das Wertungsmodell die Beziehung zwischen Änderungen der Wertungen auf der Grundlage von Änderungen der manipulierten variablen Werte (Δti = f(ΔXMVi) sowie die Beziehung zwischen Wertungszahlen und vorhergesagten Ertragswerten (Ypred = f(t)) enthalten und berücksichtigen. Wie der Controller 200 von 2, speist der Controller 300 manipulierte variable Werte (z. B. Sollwerte für Betriebsparameter des Herstellungsprozesses) in mehrere Prozesswerkzeuge für eine anschließende Verarbeitung ein.
-
4 ist ein Flussdiagramm 400, das ein Verfahren zum Implementieren von Betriebsparametern für einen Herstellungsprozess veranschaulicht. Das im Flussdiagramm 400 gezeigte Verfahren kann zum Beispiel durch den Controller 200 von 2 oder den Controller 300 von 3 implementiert werden. In Schritt 404 werden abhängige variable Daten (XD) von mehreren Sensoren, die in dem Herstellungsprozess verwendet werden, empfangen. Die abhängigen variablen Daten können mit diskontinuierlichen Prozessen oder kontinuierlichen Prozessen verknüpft werden. In Schritt 408 werden manipulierte variable Daten (XMV) z. B. von mehreren Prozesswerkzeugen und/oder aus einem Vorhersagemodell empfangen.
-
Aus den empfangenen Daten werden multivariate Statistiken ermittelt (Schritt 412), und vorhergesagte variable Werte (Ypred) können bestimmt werden (Schritt 416). In einigen Ausführungsformen werden die multivariaten Statistiken durch ein multivariates Modell berechnet. Zu Beispielen solcher Statistiken gehören Wertungen, Hotelling's T2-Werte, DModX-Werte, Residualstandardabweichungswerte, Hauptkomponentenwertungen, Wertungen für partielle kleinste Quadrate, eine Kombination davon oder alles diese Statistiken. In einigen Ausführungsformen sind die Statistiken zum Beispiel durch nutzerspezifische Bedingungen, Toleranzpegel oder Schwellenwerte beschränkt. Die vorhergesagten variablen Werte können auf der Grundlage früherer, aktueller und künftiger Werte von manipulierten Variablen und früherer und aktueller Werte von abhängigen Variablen bestimmt werden (Schritt 416). In einigen Ausführungsformen basieren die vorhergesagten variablen Werte auf vorhergesagten künftigen Werten von abhängigen Variablen.
-
Bei Schritt 420 wird eine Menge von Betriebsparametern bestimmt. In einigen Ausführungsformen wird die Menge von Betriebsparametern durch eine Menge von manipulierten variablen Daten dargestellt, die in mehrere Prozesswerkzeuge einzuspeisen sind. Die manipulierten variablen Daten können Soll- oder Zielwerte von manipulierbaren oder steuerbaren Variablen sein. In einigen Ausführungsformen können die manipulierten variablen Daten Justierungen der Soll- oder Zielwerte von manipulierbaren oder steuerbaren Variablen sein (z. B. um die abhängigen Variablen neu zu kalibrieren oder zu veranlassen, zu gewünschten Werten zu konvergieren). Nachdem die Betriebsparameter (z. B. die manipulierten Variablen) bestimmt wurden (Schritt 420), werden die Betriebsparameter implementiert (Schritt 424), indem zum Beispiel die neuen Soll- oder Zielwerte an die mehrere Prozesswerkzeuge übermittelt werden. Die Prozesswerkzeuge können automatisch oder manuell auf der Grundlage der bestimmten Werte justiert werden.
-
5 ist ein Flussdiagramm 500, das ein Verfahren zum Bestimmen von Betriebsparametern für einen Herstellungsprozess und zum Bestimmen eines vorhergesagten Wertes von abhängigen variablen Daten veranschaulicht. Das Flussdiagramm 500 enthält die Schritte 404 und 408 des in dem Flussdiagramm 400 von 4 gezeigten Verfahrens. Insbesondere werden bei Schritt 404 abhängige variable Daten XD von mehreren Sensoren kommend empfangen. Bei Schritt 408 werden manipulierte variable Daten XMV, z. B. von mehreren Prozesswerkzeugen und/oder von einer Vorhersage kommend empfangen. Bei Schritt 504 werden vorhergesagte Werte der abhängigen variablen Daten (z. B. von einem abhängigen variablen Vorhersagemodell) empfangen. Auf der Grundlage der empfangenen abhängigen variablen Daten werden empfangene manipulierte variable Daten und die vorhergesagten variablen Daten (Schritt 508) und multivariaten Statistiken (Schritt 512) bestimmt.
-
Die vorhergesagten Prozesswerte und die multivariaten Statistiken werden zum Bestimmen von Betriebsparametern des Herstellungsprozesses verwendet (Schritt 516). In einigen Ausführungsformen enthält das Bestimmen der Betriebsparameter das Bestimmen von Werten für die manipulierten Variablen und/oder das Bereitstellen der bestimmten Werte in mehrere zu implementierende Prozesswerkzeuge (z. B. durch Justieren der Sollwerte der mehreren Prozesswerkzeuge). Darüber hinaus werden die vorhergesagten variablen Werte und die eine oder die mehreren multivariaten Statistiken zum Bestimmen eines vorhergesagten Wertes der abhängigen variablen Daten verwendet (Schritt 520). Das Flussdiagramm 500 stellt einen iterativen Prozess dar, bei dem der bestimmte vorhergesagte Wert der abhängigen variablen Daten von Schritt 520 bei Schritt 504 bereitgestellt wird. In einigen Ausführungsformen führt der Controller 200 von 2 die Schritte des Flussdiagramms 500 aus.
-
6 ist ein Flussdiagramm 600, das ein Verfahren zum Bestimmen und Implementieren von Betriebsparametern für einen Herstellungsprozess veranschaulicht. In Schritt 604 wird ein Controller konfiguriert. Ein Beispiel einer Controllerkonfiguration ist die Art von Zielfunktion, die optimiert wird. Zum Beispiel bestimmt bei Schritt 608 eine Anfrage, ob das Controller-Ziel eine quadratische Steuerungsfunktion ist. Wenn das Steuerungsziel keine quadratische Funktion ist, so wird eine alternative oder komplementäre Funktion zum Optimieren ausgewählt (Schritt 612).
-
Wenn bei Schritt 608 eine quadratische Steuerungsfunktion ausgewählt wird, so schreitet der Prozess zu Schritt 616 voran, was eine quadratische Steuerungsfunktion zum Optimieren veranschaulicht. Die Zielfunktion, J, die die empfangenen Daten, die Bedingungen und die Punktabzugswerte verknüpft. In einigen Ausführungsformen enthält das Optimieren der quadratischen Zielfunktion das Minimieren von J gegenüber dem Wert der manipulierten variablen Daten XMV.
-
Die zu optimierende Zielfunktion J ist
wobei:
- YSP
- = ein Soll- oder Zielwert für Y-Datenwerte (z. B. Ertrag oder Qualität);
- Ypred
- = ein vorhergesagter Wert für Y-Datenwerte. In einigen Ausführungsformen wird Ypred durch ein Modell der partiellen kleinsten Quadrate oder ein anderes geeignetes Modell auf der Grundlage von XMV, XD und XK bestimmt. XK stellt die bekannten früheren oder aktuellen Werte von YSP, Ypred, XMV und XD dar, und XMV stellt künftige Werte der manipulierten Variablen für die Steuerung dar. Zum Beispiel ist Ypred = fY(XK, XMV, XD), wobei f eine Modellierungsfunktion ist;
- θY, θMV, θDModX, θT2 und θt
- Punktabzugsgewichtungen sind;
- EMV
- = eine Funktion, die den Betrag einer Abweichung in den manipulierten Variablen von einer gewünschten Trajektorie, auf den das Punktabzugsgewicht θMV angewendet wird, in Beziehung setzt. Ein Beispiel von EMV ist (XMV,R – XMV);
- EDModX
- = der Betrag des DModX-Raums, auf den der Punktabzug θDModX angewendet wird;
- ET2
- = der Betrag der Hotelling's T2-Wertung, auf den der Punktabzug θT2 angewendet wird;
- Et
- = der Teil der Wertungen, t, auf die der Punktabzug θt angewendet wird;
-
Wie oben besprochen, stellt T2 eine Entfernung eines multivariaten Systems von seinem Mittelpunkt in der Modellhyperebene dar. Die T2-Werte basieren auf einer Funktion (fT2), die aus einer Hauptkomponentenanalyse oder einem Modell der partiellen kleinsten Quadrate abgeleitet ist und als T2 = fT2(XK, XMV, XD) dargestellt werden kann. DmodX stellt eine Abweichung des multivariaten Systems von der Modellhyperebene dar. Die DModX-Werte basieren auf einer Funktion (fDModX), die aus einer Hauptkomponentenanalyse oder einem Modell der partiellen kleinsten Quadrate abgeleitet ist und als DModX = fDModX(XK, XMV, XD) dargestellt werden kann. Die t-Werte basieren auf einer Funktion (fti), die aus einer Hauptkomponentenanalyse oder einem Modell der partiellen kleinsten Quadrate abgeleitet ist und als ti = fti(XK, XMV, XD) dargestellt werden kann, wobei ti den Wert der i-ten Wertung darstellt. Die Werte von XD stellen künftige Werte von abhängigen Variablen dar und basieren auf einer entsprechenden Funktion (fXD), die XK und XMV in Beziehung setzt, z. B. XD = fXD(XK, XMV). In einigen Ausführungsformen ist fXD ein Endliches-Impulsantwort(FIR)-Modell. Die Funktion fXD kann auch ein Modell des autoregressiven gleitenden Durchschnitts (autoregressive moving average, ARMA) sein. Für den Fachmann sind noch andere Arten von Modellen von fXD offensichtlich.
-
In einigen Ausführungsformen werden auf die Zielfunktion J automatische Standard-Bedingung angewendet. Ein Beispiel einer automatischen Standard-Bedingung für manipulierte variable Daten ist:
-
Einige Implementierungen benötigten nicht alle der oben besprochenen Punktabzugsgewichte. Wenn es zum Beispiel das Ziel des Nutzers ist, ein System oder einen Prozess innerhalb des Raumes des multivariaten Modells zu halten (z. B. für eine Sollraumsteuerung), so kann das Verfahren die Beiträge der Y-Variablen ignorieren (z. B. weil keine Y-Variablen berechnet werden). In einem solchen Fall kann der Punktabzug θY auf 0 gesetzt werden.
-
Die Werte oder die funktionalen Darstellung von E
MV, E
DmodX und E
T2 können gemäß unterschiedlicher Verfahren bestimmt werden. Zum Beispiel kann der E
x-Term eine Summe quadrierter Entfernungen von einem Ziel oder einer Schwelle sein. Im Folgenden werden konkrete Implementierungen besprochen, aber für den Fachmann ist offensichtlich, dass noch weitere Implementierungen möglich sind.
EMV = ΔXT MV·ΔXMV; wobei ΔX
MV, ein Vektor ist, der Änderungen oder Abweichungen bei beobachteten Werten von XMV von dem konkreten Verarbeitungsrezept darstellt;
wobei T
2 h,max Maximalwerte der T
2-Schwelle bei h künftigen Punkten im zeitlichen Verlauf darstellt und T
2 h Werte von T
2 bei h künftigen Punkten im zeitlichen Verlauf darstellt; und
wobei DModX
h,max Maximalwerte der DModX-Schwelle bei h künftigen Punkten im zeitlichen Verlauf darstellt und DModX
h Werte von DmodX bei h künftigen Punkten im zeitlichen Verlauf darstellt.
-
Bei Schritt 620 werden Daten empfangen. Die Daten können zum Beispiel vorhergesagte abhängige variable Daten, gemessene/empfangene abhängige variable Daten (z. B. von mehreren Prozesswerkzeugen), gemessene oder vorhergesagte manipulierte variable Daten, vorhergesagte variable Werte, eine oder mehrere multivariate Statistiken oder beliebige Kombinationen dieser Datentypen enthalten. Die Daten können als eine Eingabe zum Beispiel für ein Lösermodul verwendet werden, das manipulierte variable Werte bestimmt, die ein Controller-Ziel erfüllen.
-
Außerdem enthält das Verfahren das Abrufen einer oder mehrerer Bedingung (Schritt 624) (z. B. aus einem Speicher oder über eine Benutzerschnittstelle). Die Bedingungen können nutzerspezifisch sein, oder die Bedingungen können automatische Standard- oder Schwellenwerte sein. In einigen Ausführungsformen werden, wenn ein bestimmter Datentyp nicht empfangen wird, die mit diesem Datentyp verknüpften Bedingungen nicht verwendet. Wenn zum Beispiel vorhergesagte abhängige variable Daten nicht empfangen oder verwendet werden, so werden die mit vorhergesagten abhängigen variablen Daten verknüpften Bedingungen deaktiviert, stehen nicht zur Verfügung oder werden nicht verwendet, z. B. durch den Löser.
-
Schritt 628 enthält einen Prozess zum Optimieren der ausgewählten Controller-Zielfunktion. Beispiele geeigneter Controller-Zielfunktionen sind quadratische Funktionen, lineare Funktionen oder nicht-lineare Funktionen, die Strafpunkte für Operationen vergeben, die vom Ziel abweichen. Zum Beispiel kann bei einer diskontinuierlichen Verarbeitung das Steuerungsziel variieren, und infolge dessen kann auch die jeweilige Zielfunktion variieren. Zum Beispiel kann das Steuerungsziel bei einer diskontinuierlichen Verarbeitung das Optimieren eines Ziels während einer diskontinuierlichen Trajektorie (oder während der gesamten diskontinuierlichen Trajektorie), das Optimieren der diskontinuierlichen Endbedingung (z. B. Ertrag, Qualität oder andere Messgrößen einer erfolgreichen Verarbeitung) oder eine Kombination dieser Ziele enthalten. In einigen Ausführungsformen können die konkreten Bedingungen und/oder Punktabzüge, die verwendet werden, oder die Werte, die den Punktabzügen oder Bedingungen zugeschrieben werden, je nach dem konkreten Ziel variieren.
-
Nachdem die Funktion bei Schritt 628 optimiert wurde, werden die Optimierungsparameter bestimmt und implementiert (Schritt 632). Zum Beispiel können die Optimierungsparameter zu einer Menge von Werten oder Justierungen für die manipulierten variablen Daten führen, und die Werte oder Justierungen werden an mehrere Prozesswerkzeuge übermittelt. Die Prozesswerkzeuge werden dann manuell oder automatisch auf der Grundlage der bereitgestellten manipulierten variablen Daten aktualisiert oder bestätigt.
-
Die im vorliegenden Text beschriebenen Konzepte finden sowohl auf kontinuierliche Herstellungsprozesse als auch auf diskontinuierliche Herstellungsprozesse Anwendung. Im Allgemeinen ändert sich bei kontinuierlichen Herstellungsprozessen die Korrelation von Prozessmessungen zu Ziel- oder Sollwerten nicht dramatisch im zeitlichen Verlauf während normaler Betriebsbedingungen. Somit beinhaltet das Implementieren einer Steuerung mit einem multivariaten Modell für kontinuierliche Prozesse Punktabzüge auf bestimmte multivariate Statistiken, wie zum Beispiel t-Werte, T2-Werte und DModX-Werte. Die Werte für diese multivariaten Statistiken werden auf der Grundlage von Werten von XK, XMV und XD bestimmt. Wie oben besprochen, stellt XK bekannte frühere und aktuelle Werte von Systemparametern dar (z. B. frühere und aktuelle Werte von XMV und XD). Die Werte von XMV stellen künftige Werte der manipulierten Variablen dar, und XD stellt künftige Werte von abhängigen Variablen dar. Somit kann das Steuerungsverfahren und -system die Auswirkung künftiger Änderungen der Betriebsparameter auf manipulierte variable Werte und abhängige variable Werte berücksichtigen, bevor Änderungen oder Justierungen implementiert werden.
-
Bei kontinuierlichen Herstellungsprozessen können künftige Werte für abhängige Variablen (z. B. XD-Werte) unter Verwendung multivariater Prozesssteuerungstechniken wie zum Beispiel Endlichen-Impulsantwort(FIR)-Modellen oder Modellen des autoregressiven gleitenden Durchschnitts (ARMA), wie oben besprochen, geschätzt oder vorhergesagt werden. In einigen Ausführungsformen enthalten das System und das Verfahren einen Vorhersagehorizont, der der Regelkreiskennlinie des Verfahrens Stabilität verleiht. Ein Vorhersagehorizont kann Schätzungen von Zuständen des konkreten Herstellungssystems an mehreren Zeitpunkten in der Zukunft enthalten.
-
Bei diskontinuierlichen Herstellungsprozessen kann auch die Zielfunktion J verwendet werden. In einigen Ausführungsformen für diskontinuierliche Herstellungsprozesse unterscheiden sich die Arten des verwendeten multivariaten Modells, die Art und Weise, wie Daten organisiert, gespeichert und verarbeitet werden, und die Vorhersage künftiger Werte von XD von der Steuerung der kontinuierlichen Herstellung. Zum Beispiel enthält das multivariate Modell, das zur Steuerung diskontinuierlicher Herstellungsprozesse verwendet wird, Messungen von Prozessparametern, die während des gesamten Herstellungsprozesses gewannen wurden, sowie Daten über Anfangszustände (z. B. Rohstoffe) und Daten über Endzustände (z. B. Qualität und/oder Ertrag). Diese unterscheidet sich von kontinuierlichen Herstellungsprozessen, weil zum Beispiel kontinuierliche Herstellungsprozesse nicht generell Anfangs- und Endzustände enthalten, weil der Prozess ständig im Fluss ist.
-
Bei diskontinuierlichen Prozessen können die Steuerungsaktionen (z. B. die Implementierung von Betriebsparameter) zum Beispiel das Justieren eines Rezeptes auf der Grundlage von Rohstoffen (z. B. Anfangszustände), das Justieren eines in Gang befindlichen Prozesses in Reaktion auf eine Variation oder Änderung der Betriebsbedingungen, das Aktualisieren von Sollwerten in periodischen Intervallen während des Prozesses oder Kombinationen davon enthalten. Außerdem werden für die diskontinuierliche Verarbeitung die multivariaten Statistiken (z. B. Ypred, DModX, T2 und Wertung t) auf der Grundlage geschätzter Eingabewerte für XMV, (z. B. künftige Werte von manipulierten Variablen) und XD (künftige Werte von abhängigen Variablen) geschätzt, während die Werte von XK (frühere und aktuelle Werte von manipulierten und abhängigen Variablen) bekannt sind. Bei diskontinuierlichen Prozessen kann das multivariate Modell mehrere örtliche begrenzte diskontinuierliche Modelle enthalten, die einen Abschnitt des diskontinuierlichen Prozesses darstellen, bevor und/oder nachdem Steuerungsaktionen implementiert wurden (z. B. durch Aktualisieren von Betriebsparameter des Systems oder Prozesses).
-
7 ist eine beispielhafte Benutzerschnittstelle 700 zum Spezifizieren von Bedingungen, die auf das Optimieren eines Controller-Ziels angewendet werden. Die Benutzerschnittstelle 700 enthält einen Bereich 704, der Bedingung für eine (nicht gezeigte) zu optimierende Zielfunktion bezeichnet. In einigen Ausführungsformen ist die Zielfunktion die Zielfunktion J, die oben mit Bezug auf 6 besprochen wurde. Der Bereich 704 veranschaulicht eine T2-Bedingung 708, eine DModX-Bedingung 712 und eine XMV-Bedingung 716. Je nach Nutzerpräferenz können noch andere (nicht gezeigte) Bedingungen verwendet werden. Die Benutzerschnittstelle 700 enthält einen zweiten Bereich 720, der mehrere Felder 724 zum Anzeigen von Werten bezeichnet, die mit den Bedingung 708, 712, 716 oder mit mehreren Punktabzügen der Zielfunktion verknüpft sind. Jeder der Werte der mehreren Felder 724 kann ein automatischer Standardwert oder ein durch einen Nutzer (z. B. über die Benutzerschnittstelle 700) vorgegebener Wert sein.
-
Zum Beispiel enthält der zweite Bereich 720 ein aT-Feld 728, das den Wert von aT anzeigt, der mit der T2-Bedingung 708 verknüpft ist. Die T2-Bedingung 708 setzt gemessene oder berechnete Werte von T2 zu einer nutzerspezifischen Schwelle oder einem kritischen Wert (z. B. 95% Konfidenz) von T2 in Beziehung. Der zweite Bereich 720 enthält ein aDModX-Feld 732, das den Wert von aDModX anzeigt, der mit der DModX-Bedingung 712 verknüpft ist. Die DModX-Bedingung 712 setzt gemessene oder berechnete Werte von DmodX zu einer nutzerspezifischen Schwelle oder einem kritischen Wert (z. B. DModXcrit) von DModX in Beziehung. Der zweite Bereich enthält außerdem ein XMV,min-Feld 736a und ein XMV,max-Feld 736b, die beide mit der XMV-Bedingung 716 verknüpft sind. Die XMV-Bedingung 716 beschränkt z. B. das Lösermodul während einer Bestimmung von XMV-Werten zum Optimieren eines Controller-Ziels durch Bereitstellen kleinster und größter zulässiger Werte von XMV für den Herstellungsprozess. Diese Bedingungen ermöglichen es, dass die bestimmten XMV-Werte zum Beispiel zu T2 oder DmodX oder in einen akzeptablen Sollbereich hinein konvergieren.
-
Der zweite Bereich 720 enthält außerdem Felder 740a–740e, die mit Punktabzügen verknüpft sind, die in der optimierten Zielfunktion verwendet werden. Insbesondere enthält der zweite Bereich 720 ein θY-Feld 740a, das ein Punktabzugsgewicht anzeigt, das mit Y-Variablen in der Zielfunktion verknüpft ist. Der zweite Bereich 720 enthält ein θMV-Feld 740b, das ein Punktabzugsgewicht anzeigt, das mit der EMV-Beziehung in der Zielfunktion J verknüpft ist. Der zweite Bereich 720 enthält ein θDModX-Feld 740c, das ein Punktabzugsgewicht anzeigt, das mit der EDModX-Beziehung der Zielfunktion J verknüpft ist. Der zweite Bereich 720 enthält ein θT2-Feld 740d, das ein Punktabzugsgewicht anzeigt, das mit der ET2-Beziehung in der Zielfunktion J verknüpft ist. Der zweite Bereich 720 enthält ein θt-Feld 740e, das ein Punktabzugsgewicht anzeigt, das mit der Et-Beziehung in der Zielfunktion J verknüpft ist, wenn die Et-Beziehung verwendet wird.
-
Es können noch weitere Bedingungen verwendet werden, auch wenn sie in der Benutzerschnittstelle 700 nicht gezeigt sind. Zum Beispiel kann ein Nutzer oder das System kleinste oder größte Werte von Änderungen in XMV (z. B. ΔXMV) spezifizieren. In einigen Ausführungsformen kann der Nutzer einen Punktabzug auf der Grundlage der Größe von ΔXMV spezifizieren. Der Nutzer kann kleinste oder größte Werte von Ypred spezifizieren und/oder kann einen Punktabzug auf der Grundlage der Fehlergröße in den Y-Variablen (z. B. Yerr) spezifizieren. Dem Fachmann fallen noch weitere Darstellungen von Punktabzügen oder Bedingungen ein, die mit den multivariaten Statistiken DmodX und/oder T2 verknüpft sind (z. B. Verknüpfen eines Punktabzugwertes mit der Größe des DModX-Wertes oder Verknüpfen eines Punktabzuges mit der Größe des T2-Wertes, wenn ein Maximum oder eine Schwelle überschritten wird).
-
Die oben beschriebenen Techniken können in digitalen elektronischen Schaltungen oder in Computerhardware, -firmware, -software oder in Kombinationen davon implementiert werden. Die Implementierung kann in Form eines Computerprogrammprodukts erfolgen, z. B. als ein Computerprogramm, das greifbar auf einem Informationsträger, z. B. einem maschinenlesbaren Speicherbaustein, verkörpert ist, um durch eine Datenverarbeitungsvorrichtung, z. B. einen programmierbaren Prozessor, einen Computer oder mehrere Computer, ausgeführt zu werden oder um die Funktion einer solchen Datenverarbeitungsvorrichtung zu steuern. Ein Computerprogramm kann in jeder beliebigen Form einer Programmiersprache geschrieben sein, einschließlich kompilierter oder übersetzter Sprachen, und es kann in jeder beliebigen Form angewendet werden, einschließlich als ein eigenständiges Programm oder als ein Modul, eine Komponente, eine Subroutine oder eine sonstige Einheit, die zur Verwendung in einer Rechenumgebung geeignet ist. Ein Computerprogramm kann dafür ausgelegt sein, auf einem einzelnen Computer oder auf mehreren Computern an einem einzigen Standort oder über mehrere Standorte verteilt und durch ein Kommunikationsnetz verbunden ausgeführt zu werden.
-
Verfahrensschritte können durch einen oder mehrere programmierbare Prozessoren ausgeführt werden, die ein Computerprogramm ausführen, um Funktionen der Technologie durch Verarbeiten von Eingabedaten und Erzeugen von Ausgabedaten auszuführen. Verfahrensschritte können ebenfalls ausgeführt werden durch – und eine Vorrichtung kann implementiert werden als –, zweckgebundene logische Schaltungen, z. B. ein FPGA (field programmable gate array) oder ein ASIC (application-specific integrated circuit). Module können auf Abschnitte des Computerprogramms und/oder auf den Prozessor oder die Spezialschaltungen, die diese Funktionen implementieren, verweisen.
-
Zu Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, gehören beispielsweise Allzweck- und Spezial-Mikroprozessoren sowie ein oder mehrere Prozessoren von jeder Art von digitalen Computern. Im Allgemeinen empfängt ein Prozessor Instruktionen und Daten aus einem Nurlesespeicher und/oder einem Direktzugriffsspeicher. Die wesentlichen Elemente eines Computers sind ein Prozessor zum Ausführen von Instruktionen und ein oder mehrere Speicherbausteine zum Speichern von Instruktionen und Daten. Im Allgemeinen enthält ein Computer außerdem eine oder mehrere Massenspeichervorrichtungen zum Speichern von Daten, z. B. magnetische oder magnetoptische Disks oder optische Disks, oder ist mit solchen Massenspeichervorrichtungen wirkverbunden, um Daten von ihnen zu empfangen und/oder an sie zu senden. Datenübertragung und Instruktionen können außerdem über ein Kommunikationsnetz erfolgen. Als Informationsträger zum Verkörpern von Computerprogramminstruktionen und Daten eignen sich alle Formen von nicht-flüchtigen Speichern, einschließlich beispielsweise Halbleiterspeicherbausteine, z. B. EPROM, EEPROM und Flashspeicherbausteine; magnetische Disks, z. B. fest eingebaute Festplatten oder Wechseldatenspeicher; magnetoptische Disks; und CD-ROM- und DVD-ROM-Disks. Der Prozessor und der Speicher können ergänzt sein um, oder integriert sein in, zweckgebundene logische Schaltungen.
-
Die Begriffe „Modul” und „Funktion” meinen im Sinne des vorliegenden Textes, sind aber nicht darauf beschränkt, eine Software- oder Hardware-Komponente, die bestimmte Aufgaben ausführt. Ein Modul kann vorteilhaft dafür konfiguriert sein, sich auf einem adressierbaren Speichermedium zu befinden, und kann dafür konfiguriert sein, auf einem oder mehreren Prozessoren ausgeführt zu werden. Ein Modul kann vollständig oder teilweise mit einem integrierten Allzweckschaltkreis („IC”), FPGA oder ASIC implementiert sein. So kann ein Modul beispielsweise Komponenten wie Software-Komponenten, objektorientierte Software-Komponenten, Klassekomponenten und Aufgabenkomponenten, Prozesse, Funktionen, Attribute, Verfahrensweisen, Subroutinen, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltungen, Daten, Datenbanken, Datenstrukturen, Tabellen, Arrays und Variablen enthalten. Die Funktionen, die in den Komponenten und Modulen bereitgestellt werden, können zu einer kleineren Anzahl von Komponenten und Modulen kombiniert werden oder können weiter in zusätzliche Komponenten und Module untergliedert werden. Außerdem können die Komponenten und Module vorteilhaft auf vielen verschiedenen Plattformen implementiert werden, einschließlich Computern, Computerservern, Datenkommunikationsinfrastrukturausrüstung, wie zum Beispiel anwendungsaktivierten Vermittlungen oder Routern, oder Telekommunikationsinfrastrukturausrüstung, wie zum Beispiel öffentliche oder private Telefonvermittlungen oder Nebenstellenanlagen („PBX”). In jedem dieser Fälle kann die Implementierung entweder durch Schreiben von Anwendungen, die für die gewählte Plattform nativ sind, oder durch Verbinden der Plattform mit einer oder mehreren externen Anwendungs-Engines bewerkstelligt werden.
-
Um eine Interaktion mit einem Nutzer zu ermöglichen, können die oben beschriebenen Techniken auf einem Computer implementiert werden, der mit einem Anzeigegerät, z. B. einer Kathodenstrahlröhre oder einem Flüssigkristallmonitor (LCD), zum Anzeigen von Informationen für den Nutzer und mit einer Tastatur und einem Zeigegerät, z. B. einer Maus oder einem Trackball, mit denen der Nutzer Eingaben in den Computer vornehmen kann (z. B. um mit einem Benutzerschnittstellenelement zu interagieren), versehen ist. Es können noch andere Arten von Geräten verwendet werden, um eine Interaktion mit einem Nutzer zu ermöglichen. Zum Beispiel kann eine Rückmeldung an den Nutzer die Form einer sensorischen Rückmeldung annehmen, z. B. eine visuelle Rückmeldung, eine akustische Rückmeldung oder eine taktile Rückmeldung; und die Eingabe vom Nutzer kann in jeder beliebigen Form empfangen werden, einschließlich akustischer, Sprach- oder taktiler Eingabe.
-
Die oben beschriebenen Techniken können in einem verteilten Rechensystem implementiert werden, das Folgendes enthält: eine Backend-Komponente, z. B. einen Datenserver, und/oder eine Middleware-Komponente, z. B. einen Anwendungsserver, und/oder eine Frontend-Komponente, z. B. einen Client-Computer, die eine grafische Benutzerschnittstelle und/oder einen Webbrowser aufweist, durch den ein Nutzer mit einer beispielhaften Implementierung interagieren kann, oder eine beliebige Kombination solcher Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium einer digitalen Datenkommunikation, z. B. ein Kommunikationsnetz, miteinander verbunden sein. Zu Beispielen von Kommunikationsnetzen, die auch als Kommunikationskanäle bezeichnet werden, gehören ein Local Area Network („LAN”) und ein Wide Area Network („WAN”), z. B. das Internet, und leitungsgebundene und drahtlose Netzwerke. In einigen Beispielen können Kommunikationsnetze virtuelle Netzwerke oder Teilnetzwerke enthalten, wie zum Beispiel ein Virtual Local Area Network („VLAN”). Sofern nicht unmissverständlich etwas anderes angegeben ist, können Kommunikationsnetze auch ein komplettes oder ein teilweises öffentliches Fernsprechwählnetz enthalten, beispielsweise einen Abschnitt, der einem bestimmten Betreiber gehört.
-
Das Rechensystem kann Clients und Server enthalten. Ein Client und ein Server sind im Allgemeinen räumlich voneinander getrennt und interagieren in der Regel über ein Kommunikationsnetz. Die Beziehung zwischen Client und Server entsteht durch Computerprogramme, die auf den jeweiligen Computern laufen und die eine Client-Server-Beziehung miteinander haben.
-
Verschiedene Ausführungsformen sind so gezeigt, dass sie im Datenaustausch stehen oder durch einen oder mehrere Kommunikationspfade verbunden sind. Ein Kommunikationspfad ist nicht auf ein bestimmtes Medium zur Datenübertragung beschränkt. Informationen können über einen Kommunikationspfad mittels elektrischer, optischer, akustischer, physikalischer, thermischer Signale oder eine beliebige Kombination davon übertragen werden. Ein Kommunikationspfad kann mehrere Kommunikationskanäle, zum Beispiel multiplexierte Kanäle mit gleicher oder variierender Datendurchsatzkapazität, enthalten.
-
Es können verschiedene Nutzereingabemöglichkeiten verwendet werden, um Parameter der gezeigten Benutzerschnittstelleneinrichtungen zu konfigurieren. Zu Beispielen solcher Eingabemöglichkeiten gehören Schaltflächen, Optionsschaltflächen, Icons, Kästchen zum Setzen von Häkchen, Combo-Kästchen, Menüs, Textkästchen, Tooltips, Toggle-Schaltflächen, Schaltflächen, Scrollbalken, Werkzeugleisten, Statusleisten, Fenster oder andere geeignete Icons oder Widgets, die mit Benutzerschnittstellen verknüpft sind, um einem Nutzer das Kommunizieren mit beliebigen der im vorliegenden Text beschriebenen Module oder Systeme und/oder das Übermitteln von Daten an beliebige der im vorliegenden Text beschriebenen Module oder Systeme zu ermöglichen.
-
Obgleich die Erfindung speziell mit Bezug auf konkrete Ausführungsformen gezeigt und beschrieben wurde, ist dem Fachmann klar, dass verschiedene Änderungen in Form und Detail daran vorgenommen werden können, ohne vom Geist und Schutzumfang der Erfindung, wie er in den beiliegenden Ansprüchen definiert ist, abzuweichen.