-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich im Allgemeinen auf Prozesssteuerungssysteme und im Besonderen auf Systeme zur Steuerung und/oder Modellierung von Batch-Prozessen.
-
Beschreibung der entsprechenden Technik
-
Prozesssteuerungssysteme wie beispielsweise verteilte oder skalierbare Prozesssteuerungssysteme der Art, wie sie in Prozessen in der Chemie-, Petroleum- und anderen Industrien eingesetzt werden, weisen typischerweise eine oder mehrere Prozesssteuerungen auf, die über analoge, digitale oder kombinierte analoge/digitale Busse miteinander und mit mindestens einer Host- oder Bedienerstation und einem oder mehreren Feldgeräten kommunikativ verbunden sind. Die Feldgeräte, die beispielsweise Ventile, Ventilsteller, Schalter und Geber (beispielsweise Temperatur-, Druck- und Strömungsgeschwindigkeitssensoren) sein können, erfüllen innerhalb des Prozesses bestimmte Funktionen wie beispielsweise Öffnen oder Schließen von Ventilen und Messung von Prozessparametern. Die Prozesssteuerung empfängt Signale, die von den Feldgeräten durchgeführte Prozessmessungen und/oder andere Informationen im Zusammenhang mit den Feldgeräten repräsentieren, verwendet diese Information zur Durchführung einer Steuerungsroutine und erzeugt sodann Steuerungssignale, die über die Busse zu den Feldgeräten übertragen werden, um den Ablauf des Prozesses zu steuern. Die von den Feldgeräten und von der Steuerung kommenden Informationen werden typischerweise einer oder mehreren Anwendungen zur Verfügung gestellt, die von der Bedienerstation ausgeführt werden, damit ein Bediener beliebige gewünschte Funktionen in Bezug auf den Prozess durchführen kann. Dies kann beispielsweise die Betrachtung des aktuellen Status des Prozesses, eine Änderung des Prozessablaufs etc. sein.
-
In der Vergangenheit wurden konventionelle Feldgeräte verwendet, um analoge Signale (beispielsweise 4 bis 20 mA) über einen analogen Bus oder analoge Leitungen zur Prozesssteuerung zu senden und von dieser zu empfangen. Diese 4- bis 20-mA-Signale waren insoweit von ihrer Natur her begrenzt, als sie von der Einrichtung vorgenommene Messungen oder Steuersignale repräsentierten, die von der zur Steuerung des Betriebs der Einrichtung erforderlichen Steuerung erzeugt wurden. Während der vergangenen zehn Jahre haben sich in der Prozesssteuerungsindustrie jedoch in zunehmendem Maß intelligente, einen Mikroprozessor und einen Speicher enthaltende Feldgeräte durchgesetzt. Neben der Ausführung einer primären Funktion innerhalb des Prozesses speichern intelligente Feldgeräte sich auf die Einrichtung beziehende Daten, kommunizieren mit der Steuerung und/oder anderen Geräten unter Verwendung eines digitalen oder eines kombinierten digitalen und analogen Formats und führen sekundäre Aufgaben wie beispielsweise Selbstkalibrierung, Identifizierung, Diagnose etc. aus. Um den gemeinsamen Einsatz intelligenter Feldgeräte unterschiedlicher Hersteller innerhalb desselben Prozesssteuerungsnetzwerks zu ermöglichen, wurden diverse Standard- und Open-Standard-Gerätekommunikationsprotokolle wie beispielsweise das HART®-, PROFIBUS®-, WORLDFIP®,- Device-Net®- und CAN-Protokoll entwickelt. Darüber hinaus verwendet das von der Fieldbus Foundation unter der Bezeichnung FOUNDATION™ Feldbus (nachstehend „Feldbus“) vertriebene, vollständig digitale 2-Draht-Busprotokoll in unterschiedlichen Feldgeräten angeordnete Feldgeräte für die Durchführung von Steuerungsoperationen, die zuvor innerhalb einer zentralen Steuerung ausgeführt worden waren. In diesen Fällen sind die Feldbus-Feldgeräte in der Lage, einen oder mehrere Funktionsblöcke zu speichern und auszuführen, die sämtlich Eingaben von anderen Funktionsblöcken empfangen und/oder Ausgaben zu anderen Funktionsblöcken bereit stellen (sowohl innerhalb derselben Einrichtung als auch innerhalb unterschiedlicher Einrichtungen), und führen diverse Prozesssteuerungsoperationen wie beispielsweise Messung oder Erkennung eines Prozessparameters, Steuerung einer Einrichtung oder Durchführung einer Steuerungsoperation wie beispielsweise die Implementierung einer Proportional-Integral-Differential- (PID-) Steuerungsroutine durch. Die unterschiedlichen Funktionsblöcke innerhalb eines Prozesssteuerungssystems werden konfiguriert, um (beispielsweise über einen Bus) miteinander zu kommunizieren, um einen oder mehrere Prozesssteuerungskreise zu bilden, deren einzelne Operationen über den gesamten Prozess verteilt und mithin dezentral sind.
-
Auf jeden Fall sind die Prozesssteuerungen (oder Feldgeräte) typischerweise so programmiert, dass sie für jeden einer Anzahl unterschiedlicher Steuerungskreise, die für einen Prozess definiert bzw. in einem Prozess enthalten sind wie beispielsweise Durchflusssteuerungskreise, Temperatursteuerungskreise, Drucksteuerungskreise etc., einen unterschiedlichen Algorithmus, eine unterschiedliche Subroutine oder einen Steuerungskreis ausführen. Allgemein gesagt, weist jeder derartige Steuerungskreis einen oder mehrere Eingabeblöcke wie beispielsweise einen Analogeingabe- (AE-) Funktionsblock, einen Steuerungsblock mit einer einzigen Ausgabe wie beispielsweise einen PID- oder einen Fuzzy-Logik-Steuerungsfunktionsblock sowie einen einzelnen Ausgabeblock wie beispielsweise einen Analogausgabe- (AE-) Funktionsblock auf. Diese Steuerungskreise fuhren typischerweise eine Steuerung mit einem einzelnen Eingang / einzelnen Ausgang aus, da der Steuerungsblock eine einzelne Ausgabe erzeugt, die der Steuerung einer einzelnen Prozesseingabe wie beispielsweise einer Ventilposition etc. dient. In bestimmten Fällen ist jedoch die Verwendung einer Anzahl unabhängig arbeitender Steuerungskreise mit einem einzelnen Eingang / einzelnen Ausgang nicht sehr effizient, da die gesteuerten Prozessvariablen oder Prozessausgaben von mehr als einer einzelnen Prozesseingabe beeinflusst werden und da tatsächlich jede Prozesseingabe den Zustand etlicher Prozessausgaben beeinflussen kann. Ein Beispiel hierfür ist ein Prozess, bei dem ein Tank aus zwei Speiseleitungen gefüllt und durch eine einzelne Ausgangsleitung entleert wird, wobei jede Leitung durch ein anderes Ventil gesteuert wird und wobei Temperatur, Druck und Durchsatz des Tanks auf Werte geregelt werden, die in der Nähe von Sollwerten liegen oder diesen genau entsprechen. Wie bereits angesprochen, kann die Steuerung von Durchsatz, Temperatur und Druck des Tanks mittels eines separaten Durchsatzsteuerkreises, eines separaten Temperatursteuerkreises und eines separaten Drucksteuerkreises erfolgen. In dieser Situation kann jedoch der Betrieb des Temperatursteuerkreises mit einer Veränderung der Einstellung eines der Speiseventile zur Steuerung der Temperatur im Tank zu einer Erhöhung des Drucks im Tank führen, wodurch beispielsweise der Drucksteuerkreis das Auslassventil öffnet, um den Druck zu senken. Durch diese Aktion kann sodann der Durchsatzsteuerkreis veranlasst werden, eines der Speiseventile zu schließen, wodurch die Temperatur beeinflusst und der Temperatursteuerkreis veranlasst wird, eine andere Maßnahme durchzuführen. Wie sich an diesem Beispiel zeigt, können die Steuerkreise mit einem einzelnen Eingang / einzelnen Ausgang zu Schwankungen der Prozessausgaben (in diesem Fall Durchsatz, Temperatur und Druck) führen, ohne dass sich jemals ein stabiler Zustand bzw. eingeschwungener Zustand einstellt, was nicht wünschenswert ist.
-
In der Vergangenheit wurden modellprädiktive Steuerungen (MPC) oder andere Arten erweiterter Steuerungen eingesetzt, um in derartigen Situationen Steuerungsfunktionen auszuführen. Allgemein gesagt, ist die modellprädiktive Steuerung eine Steuerungsstrategie mit multiplen Eingängen / multiplen Ausgängen, wobei die Auswirkungen einer Veränderung einer jeden einer Anzahl von Prozesseingaben auf jede einer Anzahl von Prozessausgaben gemessen und diese gemessenen Reaktionen sodann verwendet werden, um ein typischerweise lineares Modell des Prozesses zu erzeugen. Das lineare Modell des Prozesses wird mathematisch invertiert und sodann als Steuerung mit multiplen Eingaben / multiplen Ausgaben benutzt, um die Prozessausgaben auf der Grundlage von Veränderungen der Prozesseingaben zu steuern. In einigen Fällen weist das Prozessmodell für jede der Prozesseingaben eine Prozessausgabe-Antwortkurve auf, wobei diese Kurven beispielsweise auf der Grundlage pseudozufälliger Sprungänderungen an jedem der Prozesseingänge erzeugt werden können. Diese Antwortkurven können auf bekannte Weise zur Modellierung des Prozesses verwendet werden. Die modellprädiktive Steuerung ist in der Fachwelt bekannt und wird daher hier nicht im Detail beschrieben. Eine allgemeine Beschreibung der modellprädiktiven Steuerung findet sich jedoch bei Qin, S., Joe und Thomas A. Badgwell in „An Overview of Industrial Model Predictive Control Technology“ [Übersicht über die industrielle modellprädiktive Steuerungstechnologie], AIChE-Konferenz, 1996. Weiterhin enthält das
US-Patent Nr. 6,445,963 B1 die Beschreibung eines Verfahrens zur Integration eines modellprädiktiven Steuerungsblocks in ein Prozesssteuerungssystem zur Verwendung bei der Steuerung eines Prozesses.
-
Prozesse können allgemein in drei Kategorien unterteilt werden, nämlich kontinuierliche Prozesse, semikontinuierliche Prozesse sowie Batch-Prozesse. Ein kontinuierlicher Prozess arbeitet mit Rohstoffen oder Speiseelementen, die mit kontinuierlicher Geschwindigkeit zugeführt werden, und erzeugt an einem Ausgang einen kontinuierlichen Produktstrom. Beispiele für kontinuierliche Prozesse sind unter anderem Erdölraffinationsprozesse, Prozesse zur Produktion von Vitamin C sowie Prozesse zur Herstellung bestimmter Massenchemikalien. Die Werte der Prozessvariablen wie beispielsweise Temperatur, Druck, Durchflussgeschwindigkeit etc. bleiben innerhalb eines kontinuierlichen Prozesses in der Regel an jedem Ort über die Zeit unverändert.
-
Ein Batch-Prozess arbeitet mit einer begrenzten Menge von Rohstoffen oder Speiseelementen als Gruppe und führt diese Speiseelemente zwangsweise durch eine Reihe von im Lauf der Zeit ablaufenden Prozessschritten, um bei Abschluss der Prozessschritte ein Ausgangsprodukt herzustellen. Während des Ablaufs der Prozessschritte werden dem Batch-Prozess in der Regel keine neuen Speiseelemente zugeführt. Beispiele für Batch-Prozesse sind unter anderem die Herstellung von Bier, die Herstellung bestimmter pharmazeutischer Produkte sowie die Produktion zahlreicher Spezialchemikalien. Die Werte der Prozessvariablen wie beispielsweise Temperatur, Druck, Durchflussgeschwindigkeit etc. ändern sich typischerweise über die Zeit an einem oder mehreren Orten innerhalb eines Batch-Prozesses.
-
Ein semikontinuierlicher Prozess ist ein kontinuierlicher Prozess mit darin enthaltenen Komponenten eines Batch-Prozesses. Ein semikontinuierlicher Prozess arbeitet typischerweise mit einer kontinuierlichen Zufuhr von Rohstoffen und erzeugt einen kontinuierlichen Strom eines Ausgangsprodukts, weist jedoch auch beispielsweise Mischer auf, die während einer begrenzten Zeit an einer Stelle innerhalb des Prozesses eine begrenzte Menge der zu verarbeitenden Materialien mischen.
-
Bei Batch-Prozessen (sowie Patch-Prozesskomponenten semikontinuierlicher Prozesse) ist es oftmals nicht möglich, die entsprechenden Prozessvariablen während des Ablaufs des Prozesses zu messen oder diese innerhalb so kurzer Zeit zu messen, dass die Messung noch genutzt werden kann, um den Prozess einzustellen. Um beispielsweise die Konzentration von in einem Gefäß produziertem Penicillin während des Produktionsprozesses zu messen, wird aus dem Gefäß eine Probe entnommen und sodann zur Analyse in ein Labor gegeben. Die Ergebnisse der Laboranalyse stehen möglicherweise erst gewisse Zeit nach der Probenahme oder eventuell sogar erst nach Abschluss des Batch-Prozesses zur Verfügung. Derartige Messungen sind daher oftmals für Einstellungen während des Prozesses nicht hilfreich, um beispielsweise den Ertrag der Charge, die Geschwindigkeit der Fertigstellung der Charge etc. zu steigern. Darüber hinaus stehen derartige Messungen möglicherweise nicht rechtzeitig zur Verfügung, um einen vorzeitigen Abbruch der Charge auf Grund mangelhafter Qualität zu veranlassen oder den Batch-Prozess zur Steigerung des Ertrages zu verlängern etc.
-
Bei einem typischen Verfahren für den Betrieb eines Batch-Prozesses kann ein Bediener Prozessbedingungen aufzeichnen, die während eines erfolgreichen Batch-Prozesses aufgetreten sind. Bei späteren Batch-Prozessen kann der Bediener sodann versuchen, Batch-Prozessbedingungen aufrechtzuerhalten, die denen des bekannten erfolgreichen Batch-Prozesses nahe kommen. Bei diesem Vorgehen wird davon ausgegangen, dass der endgültige Zustand des Batch-Prozesses dem des bekannten erfolgreichen Batch-Prozesses nahe sein müsste, wenn die Batch-Prozessbedingungen ähnlich denen des bekannten erfolgreichen Batch-Prozesses aufrechterhalten werden. Allerdings können auch andere nicht gemessene Bedingungen oder Bedingungen, die nicht exakt gesteuert werden können, den endgültigen Zustand des Batch-Prozesses beeinflussen. Daher kann auch dann, wenn viele Batch-Prozessbedingungen exakt eingehalten werden, das endgültige Ergebnis des Batch-Prozesses von dem des bekannten erfolgreichen Batch-Prozesses abweichen.
-
Für die Abschätzung einer Reaktionsgeschwindigkeit eines Prozesses können eine mathematische Gleichung oder Gleichungen (d.h. ein parametrisches Modell) entwickelt werden, wobei die Gleichung eine Funktion der gemessenen Prozessbedingungen ist. Die Entwicklung einer derartigen Gleichung, die eine Vielzahl von Prozessbedingungen berücksichtigt, ist allerdings äußerst schwierig. Die entwickelte Lösung wird oftmals durch diverse Annahmen simplifiziert, was zu einer Gleichung führt, die lediglich eine grobe Abschätzung der Reaktionsgeschwindigkeit liefert. Entsprechend kann jede Abschätzung des aktuellen Zustands des Batch-Prozesses auf der Grundlage einer derartigen Gleichung lediglich eine grobe Annäherung an den aktuellen Zustand des Batch-Prozesses liefern. Weiterhin können sich die Bedingungen der Ausrüstung und andere Bedingungen in Bezug auf den Batch-Prozess im Lauf der Zeit ändern. Durch die Gleichung gelieferte Schätzungen können daher im Verlauf der Zeit an Genauigkeit abnehmen.
-
Die
US 2002/0103548 A1 offenbart ein System zur Steuerung eines Batch-Prozesses, aufweisend:
- - ein First-Principles-Modell konfiguriert zur Erzeugung mindestens einer Schätzung, die mindestens einem nicht messbaren Echtzeitparameter eines Batch-Prozesses entspricht, und
- - eine erste Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen, kommunikativ mit dem First-Principles-Modell verbunden, um die mindestens eine Schätzung zu empfangen, wobei die erste Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen konfiguriert ist, um Steuerungssignale zur Steuerung des Batch-Prozesses auf der Grundlage der mindestens einen Schätzung zu erzeugen,
sowie ein entsprechendes Verfahren. Relevanten Stand der Technik stellen darüber hinaus die DE 10 2004 025 876 A1 , die DE 10 2004 026 979 A1 , die DE 601 03 037 T2 und die US 2002/0107604 A1 dar, denen jeweils Vorgehensweisen und Methoden für Prozesssteuerungen zu entnehmen sind.
-
Zusammenfassung der Erfindung
-
Mit der Erfindung werden Verfahren mit den Merkmalen der Ansprüche, 13 und 23 sowie Systeme mit den Merkmalen der Ansprüche 9 und 19 bereitgestellt. Zweckmäßige Fortbildungen der Erfindung sind Gegenstand der jeweiligen abhängigen Ansprüche.
-
Ein First-Principles-Modell kann zur Simulation eines Batch-Prozesses verwendet werden und das First-Principles-Modell kann zur Konfigurierung einer Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen bzw. Steuerungsroutine mit multiplen Eingaben / multiplen Ausgaben zur Steuerung des Batch-Prozesses verwendet werden. Das First-Principles-Modell kann Schätzungen von Batch-Parametern erzeugen, die während des Ablaufs des realen Batch-Prozesses nicht gemessen werden können oder nicht gemessen werden. Ein Beispiel für einen solchen Parameter ist die Änderungsgeschwindigkeit bzw. Änderungsrate einer Komponente (beispielsweise einer Produktionsgeschwindigkeit, einer Zellwachstumsgeschwindigkeit etc.) des Batch-Prozesses. Das First-Principles-Modell und die konfigurierte Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen können verwendet werden, um die Steuerung des Batch-Prozesses zu erleichtern.
-
So könnten beispielsweise das First-Principles-Modell und die konfigurierte Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen verwendet werden, um die Steuerung des Batch-Prozesses zu simulieren. Dies kann helfen, Steuerungsstrategien für die Steuerung des aktuellen Batch-Prozesses zu entwickeln und Strategien zur Erkennung abnormaler Situationen in Verbindung mit dem Batch-Prozess zu entwickeln etc. Zusätzlich könnte das First-Principles-Modell während der Steuerung des aktuellen Batch-Prozesses eingesetzt werden. So könnten beispielsweise die Schätzungen der Batch-Parameter, die während des Ablaufs des realen Batch-Prozesses nicht gemessen werden können oder nicht gemessen werden, verwendet werden, um den Batch-Prozess zu steuern, um einen Endzeitpunkt vorherzusagen, um einen Produktertrag vorherzusagen etc.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Prozesssteuerungssystems;
- 2 ist ein Blockdiagramm eines modellprädiktiven Steuerungsblocks, der mit einem First-Principles-Modell eines Batch-Prozesses gekoppelt ist;
- 3 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Betrieb eines modellprädiktiven Steuerungsblocks, der mit einem First-Principles-Modell eines Batch-Prozesses gekoppelt ist;
- 4 ist ein Blockdiagramm eines beispielhaften Systems zur Steuerung eines Batch-Prozesses;
- 5 ist ein Flussdiagramm eines beispielhaften Verfahrens zur Steuerung eines Batch-Prozesses;
- 6 ist ein Flussdiagramm eines weiteren beispielhaften Verfahrens zur Steuerung eines Batch-Prozesses;
- 7 ist ein Blockdiagramm eines beispielhaften Systems zur Steuerung eines Batch-Prozesses;
- 8 ist ein Blockdiagramm eines weiteren beispielhaften Systems zur Steuerung eines Batch-Prozesses;
- 9 ist ein Flussdiagramm eines beispielhaften Verfahrens zur Aktualisierung eines First-Principles-Modells eines Batch-Prozesses und
- 10 ist ein Blockdiagramm eines beispielhaften Batch-Prozesssystems zur Herstellung von Penicillin.
-
Detaillierte Beschreibung
-
Wie in 1 dargestellt, weist ein Prozesssteuerungssystem 10 eine Prozesssteuerung 12 auf, die über ein Kommunikationsnetzwerk 18 mit einem Daten-Historienspeicher 14 und mit einer oder mehreren Host-Workstations oder mit einem oder mehreren Computern 16 (wobei dies jeder beliebige Typ von Personal Computer, Workstation etc. sein kann, die jeweils einen Bildschirm 17 besitzen) verbunden ist. Die Steuerung 12 ist weiterhin über die Eingabe-/Ausgabe- (E/A-) Karten 28 und 29 mit den Feldgeräten 20 - 27 verbunden. Das Kommunikationsnetzwerk 18 kann beispielsweise ein Ethernet-Kommunikationsnetzwerk oder jedes andere geeignete oder gewünschte Kommunikationsnetzwerk sein, während der Daten-Historienspeicher 14 jeder gewünschte Typ von Datensammlungseinheit mit jedem gewünschten Speichertyp und jeder gewünschten oder bekannten Software, Hardware oder Firmware zur Speicherung von Daten sein kann. Die Steuerung 12, die beispielsweise die von der Fisher-Rosemount Systems, Inc., vertriebene DeltaV™-Steuerung sein kann, ist mittels jeder gewünschten Hardware und Software, die beispielsweise mit Standard-4-20-mA-Geräten und/oder jedem intelligenten Kommunikationsprotokoll wie beispielsweise dem Feldbus-Protokoll, dem HART-Protokoll etc. eingesetzt werden können, kommunikativ mit den anderen Feldgeräten 20 - 27 verbunden.
-
Die Feldgeräte 20 -27 können jeder Typ von Gerät wie beispielsweise Sensoren, Ventile, Geber, Steller etc. sein, während die E/A-Karten 28 und 29 jeder Typ von E/A-Gerät sein können, das jedem gewünschten Kommunikation- oder Steuerungsprotokoll entspricht. Bei der in 1 dargestellten Ausführung sind die Feldgeräte 20 - 23 Standard-4-20-mA-Geräte, die über analoge Leitungen mit der E/A-Karte 28 kommunizieren, oder HART-Geräte, die über kombinierte analoge und digitale Leitungen mit der E/A-Karte 28 kommunizieren, während die Feldgeräte 24 - 27 intelligente Geräte wie beispielsweise Feldbus-Feldgeräte sind, die mittels Feldbus-Protokollkommunikation über einen digitalen Bus mit der E/A-Karte 29 kommunizieren. Allgemein gesagt, ist das Feldbus-Protokoll ein vollständig digitales, serielles, bidirektionales Kommunikationsprotokoll, das eine standardisierte physikasche Schnittstelle für einen 2-Draht-Kreis oder -Bus darstellt, der zur Verbindung von Feldgeräten dient. Das Feldbus-Protokoll stellt letztlich ein lokales Netzwerk für Feldgeräte innerhalb eines Prozesses dar und versetzt diese Feldgeräte in die Lage (unter Verwendung von entsprechend dem Feldbus-Protokoll definierten Funktionsblöcken), an über eine Prozessanlage verteilten Orten Prozesssteuerungsfunktionen auszuführen und vor und nach der Ausführung dieser Prozesssteuerungsfunktionen miteinander zu kommunizieren, um eine übergeordnete Steuerungsstrategie zu implementieren. Selbstverständlich könnten die Feldgeräte 20 - 27 allen anderen gewünschten Standards oder Protokollen einschließlich aller künftig entwickelten Standards oder Protokolle entsprechen.
-
Die Steuerung 12 weist einen Prozessor 12a auf, der eine oder mehrere Prozesssteuerungsroutinen implementiert oder ausführt, die Steuerungskreise bzw. Regelkreise aufweisen können, die in einem computerlesbaren Speicher 12b gespeichert sind, der darin enthalten oder auf sonstige Weise damit verbunden ist und der mit den Geräten 20 - 27, den Host-Computern 16 und dem Daten-Historienspeicher 14 kommuniziert, um einen Prozess auf jede gewünschte Weise zu steuern. Es ist darauf hinzuweisen, dass, falls gewünscht, Teile jeder hier beschriebenen Steuerungsroutine oder jedes hier beschriebenen Elemente von Prozessoren in verschiedenen Steuerungen oder anderen Einrichtungen wie beispielsweise einem oder mehreren der Feldgeräte 24 - 27 implementiert oder ausgeführt werden können. Entsprechend können die hier beschriebenen, innerhalb des Prozesssteuerungssystems 10 zu implementierenden Steuerungsroutinen oder Elemente jede Form einschließlich Software, Firmware, Hardware etc. annehmen. Ein Prozesssteuerungselement kann jeder Teil eines Prozesssteuerungssystems einschließlich beispielsweise einer Routine, eines Blocks oder eines Moduls sein, die in jedem beliebigen computerlesbaren Medium gespeichert sind. Steuerungsroutinen, die Module oder jeder beliebige Teil einer Steuerungsprozedur wie beispielsweise eine Subroutine, Teile einer Subroutine (wie beispielsweise Codezeilen) etc. sein können, können in jedem gewünschten Softwareformat implementiert werden, beispielsweise unter Verwendung von Leiterlogik, Ablaufsprache, Funktionsblockdiagrammen oder unter Verwendung jeder anderen Software-Programmiersprache oder jedes anderen Konstruktionsparadigmas. Entsprechend können die Steuerungsroutinen beispielsweise in einen oder mehrere EPROMs, EEPROMs, anwendungsspezifische integrierte Schaltungen (ASICs) oder beliebige andere Hardware- oder Firmware-Elemente hardcoded werden. Weiterhin können die Steuerungsroutinen mittels beliebiger Entwicklungstools einschließlich grafischer Entwicklungstools oder jeder beliebigen anderen Art von Software-/Hardware-/Firmware-Programmierung oder Entwicklungswerkzeugen entwickelt werden. Die Steuerung 12 kann mithin konfiguriert werden, um eine Steuerungsstrategie oder Steuerungsroutine auf jede gewünschte Weise zu implementieren.
-
In einer Ausführung implementiert die Steuerung 12 eine Steuerungsstrategie mittels allgemein so genannter Funktionsblöcke, wobei jeder Funktionsblock ein Teil (beispielsweise eine Subroutine) einer umfassenden Steuerungsroutine ist und (über als Verbindungen bezeichnete Kommunikationswege) in Verbindung mit anderen Funktionsblöcken arbeitet, um Prozesssteuerungskreise bzw. -regelkreise innerhalb des Prozesssteuerungssystems 10 zu implementieren. Funktionsblöcke führen typischerweise eine der folgenden Funktionen aus: eine Eingabefunktion, die beispielsweise mit einem Geber, einem Sensor oder einem anderen Gerät zur Messung eines Prozessparameters verbunden ist, eine Steuerungsfunktion, die beispielsweise mit einer Steuerungsroutine verbunden ist, die eine PID-, Fuzzy-Logik- oder eine andere Steuerungsfunktion ausführt, oder eine Ausgabefunktion, die den Betrieb einer Einrichtung wie beispielsweise einem Ventil steuert, um eine physikalische Funktion innerhalb des Prozesssteuerungssystems 10 auszuführen. Selbstverständlich existieren hybride und andere Arten von Funktionsblöcken. Funktionsblöcke können in der Steuerung 12 gespeichert und von dieser ausgeführt werden, was typischerweise der Fall ist, wenn diese Funktionsblöcke für Standard-4-20-mA-Geäte und einige Typen von intelligenten Feldgeräten wie beispielsweise HART-Geräte verwendet werden oder mit diesen verbunden sind, oder sie können in den Feldgeräten selbst gespeichert und von diesen implementiert werden, was bei Feldbus-Geräten der Fall sein kann. Während die Beschreibung des Steuerungssystems hier anhand einer Funktionsblock-Steuerungsstrategie erfolgt, könnten die Steuerungsstrategie oder die Steuerungskreise oder Module auch mit anderen Konventionen wie beispielsweise Leiterlogik, Ablaufsprache etc. oder mittels jeder anderen gewünschten Programmiersprache oder jedes anderen gewünschten Paradigmas implementiert oder entwickelt werden.
-
Eine oder mehrere der Steuerungen 12 können eine Steuerungsanwendung 30 speichern und ausführen, die mittels einer Anzahl verschiedener, unabhängig ausgeführter Steuerungsmodule 32 eine Steuerungsstrategie implementiert. Jeder der Steuerungsmodule 32 kann Funktionsblöcke aufweisen, die in Verbindung mit anderen Funktionsblöcken (über als Verbindungen bezeichnete Kommunikationswege) arbeiten, um innerhalb des Prozesssteuerungssystems Prozesssteuerungskreise zu implementieren. Die Steuerungsmodule 32 können jedoch mittels jedes gewünschten Steuerungsprogrammierungsschemas wie beispielsweise Ablaufsprache, Leiterlogik etc. konzipiert werden.
-
Wie durch den in Explosionsdarstellung gezeigten Block 34 in 1 dargestellt, kann die Steuerung 12 eine Anzahl von Einkreis-Steuerungsroutinen, die als Routinen 36 und 38 dargestellt sind, aufweisen und, falls gewünscht, einen oder mehrere erweiterte bzw. fortschrittliche Steuerungskreise, dargestellt als Steuerungskreis 40, implementieren. Jeder derartige Steuerungskreis kann ein Steuerungsmodul sein. Die Einkreis-Steuerungsroutinen bzw. -Regelroutinen 36 und 38 führen, wie dargestellt, eine Signalkreissteuerung bzw. -regelung mittels eines Fuzzy-Logik-Steuerungsblocks mit einer einzelnen Eingabe / einer einzelnen Ausgabe und eines PID-Steuerungsblocks mit einer einzelnen Eingabe / einer einzelnen Ausgabe aus, die mit entsprechenden analogen Eingabe- (AE) und analogen Ausgabe- (AA) Funktionsblöcken verbunden sind, die mit Prozesssteuerungsgeräten wie beispielsweise Ventilen, mit Messgeräten wie beispielsweise Temperatur- und Druckgebern oder mit jedem beliebigen anderen Gerät innerhalb des Prozesssteuerungssystems 10 verbunden sein können. Der erweiterte Steuerungskreis 40 weist entsprechend der Darstellung ein erweitertes Steuerungssystem 42 auf, das Eingänge besitzt, die kommunikativ mit mehreren AE-Funktionsblöcken und Ausgaben verbunden sind, die kommunikativ mit einem oder mehreren AA-Funktionsblöcken verbunden sind, wobei die Eingaben und Ausgaben des erweiterten Steuerungssystems 42 jedoch auch mit beliebigen anderen gewünschten Funktionsblöcken oder Steuerungselementen verbunden werden können, um andere Typen von Eingaben zu empfangen und andere Typen von Steuerungsausgaben zu liefern. Das erweiterte Steuerungssystem 42, das ausgeführt ist, um, wie in dieser Beschreibung ausführlicher beschrieben, Prozesse mit nicht-linearen Eingabe-/Ausgabecharakteristiken zu steuern, weist generell jeden Typ von Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen (die typischerweise zur Steuerung von zwei oder mehr Prozessausgängen verwendet werden, indem Steuerungssignale für zwei oder mehr Prozesseingänge zur Verfügung gestellt werden) sowie ein oder mehrere nicht-lineare oder erweiterte Prozessmodelle auf, die entwickelt werden, um die nicht-linearen Charakteristiken des Prozesses präzise zu modellieren. Während in dieser Beschreibung das erweiterte Steuerungssystem 42 zwar einen modellprädiktiven Steuerungsblock (MPC) verwendet, könnte das erweiterte Steuerungssystem 42 in anderen Implementierungen jeden anderen Block mit multiplen Eingängen / multiplen Ausgaben wie beispielsweise einen Steuerungsblock in Form eines neuronalen Netzwerks, einen Steuerungsblock in Form einer Fuzzy Logik mit multiplen Variablen, einen Echtzeit-Optimiererblock etc. aufweisen oder verwenden.
-
Es versteht sich, dass die in 1 dargestellten Funktionsblöcke einschließlich des erweiterten Steuerungssystems 42, die als einer oder mehrere miteinander verbundene Funktionsblöcke implementiert werden können, von der Steuerung 12 ausgeführt werden können. Funktionsblöcke könnten beispielsweise von der Steuerungsanwendung 30 implementiert werden. Zusätzlich oder alternativ können sich Funktionsblöcke in jeder anderen Verarbeitungseinrichtung wie beispielsweise einer der Workstations 16 oder sogar einem der Feldgeräte 24 - 27 befinden und von diesen ausgeführt werden.
-
Eine oder mehrere der Workstations 16 können eine Konfigurierungsanwendung 50 speichern und ausführen, die zur Erzeugung oder Veränderung der Prozesssteuerungsmodule 30 und zum Herunterladen dieser Steuerungsmodule über das Netzwerk 18 in eine der Steuerungen 12 und/oder in Feldgeräte wie beispielsweise eines der Feldgeräte 24 - 27 dient. Die Workstation 16 kann weiterhin eine Darstellungsanwendung 52 speichern und ausführen, die von der Steuerung 12 Daten über das Netzwerk 18 empfängt und diese Informationen mittels vordefinierter Benutzerschnittstellen 54 oder Ansichten, die typischerweise mittels der Konfigurierungsanwendung 50 erzeugt werden, über einen Anzeigemechanismus darstellt. In einigen Fällen empfängt die Darstellungsanwendung 52 Eingaben wie beispielsweise Sollwertänderungen vom Anwender und stellt diese Eingaben der Steuerungsanwendung 30 innerhalb einer oder mehrerer der Workstations 16 und/oder der Steuerungen 12 zur Verfügung.
-
Die Konfiguration der Prozessanlage 10 kann in einer mit dem Netzwerk 18 verbundenen Konfigurationsdatenbank gespeichert werden. Die Konfigurationsdatenbank 60 kann eine Konfigurationsdatenbankanwendung 62 ausführen, die die aktuelle Konfiguration des Prozesssteuerungssystems und die dazu gehörenden Daten speichert. Zusätzlich oder alternativ kann die Konfigurationsdatenbankanwendung 62 auf einer oder mehreren der Workstations 16 ausgeführt werden.
-
Eine oder mehrere der Workstations 16 können weiterhin auch andere Anwendungen wie beispielsweise Schulungs-, Test- und/oder Simulationsanwendungen speichern und ausführen. Derartige Anwendungen interagieren typischerweise mit den Steuerungen 12 und der Konfigurationsdatenbank 60 in Bezug auf den Betrieb oder die Einstellung des Prozesssteuerungssystems und empfangen Daten von diesen. Einer oder mehrere der Prozesssteuerungsmodule 32 innerhalb der Workstation 16, der Steuerung 12 und/oder der Feldgeräte 24 - 27 können in einen Simulationsmodus oder -zustand versetzt werden, um zuvor festgelegte oder vom Bediener vorgegebene Werte in die Simulationssoftware 70 zurückzuspeisen, um einen Test der von den Steuerungsanwendungen 30 verwendeten Steuerungsmodule 32 und der von der Darstellungsanwendung 52 verwendeten Benutzerschnittstellen 54 zu ermöglichen. In einigen Fällen kann eine Simulationsanwendung 70 zusätzlich oder alternativ in der Steuerung 12 implementiert werden.
-
Die Konfigurationsanwendung 50 kann zur Erzeugung, zum Herunterladen und/oder Implementieren des erweiterten Steuerungssystems verwendet werden. Techniken zum Erzeugen, Herunterladen und Implementieren eines erweiterten Steuerungssystems sind im
US-Patent Nr. 6,445,963 B1 beschrieben, das dem Inhaber dieser Beschreibung übertragen wurde und durch Verweis hiermit ausdrücklich zum Bestandteil der vorliegenden Beschreibung gemacht wird. Im Gegensatz zu dem im
US-Patent Nr. 6,445,963 B1 beschriebenen System kann die Konfigurationsanwendung 50 einem Benutzer jedoch gestatten, das erweiterte Steuerungssystem 42 zu konfigurieren, um in Verbindung mit einem Modell eines Batch-Prozesses zu arbeiten, wie dies im Folgenden ausführlicher beschrieben wird. Während die Konfigurationsanwendung 50 in einem Speicher innerhalb der Workstation 50 gespeichert und von einem dort enthaltenen Prozessor ausgeführt werden kann, kann, falls gewünscht, diese Routine (oder jeder Teil davon) zusätzlich oder alternativ in einer anderen Einrichtung innerhalb des Prozesssteuerungssystems 10 gespeichert und von dieser ausgeführt werden. Der technisch Versierte erkennt, dass die im
US-Patent Nr. 6,445,963 B1 beschriebenen Techniken nicht verwendet werden müssen und dass auch andere geeignete Techniken eingesetzt werden können.
-
Wie vorstehend beschrieben, kann das erweiterte Steuerungssystem 42 einen MPC-Block aufweisen. 2 ist ein Blockdiagramm eines MPC-Blocks 104, der kommunikativ mit einem First-Principles-Modell 108 eines Batch-Prozesses verbunden ist. Wie weiter unten beschrieben wird, kann das First-Principles-Modell 108 verwendet werden, um den MPC-Block 104 zu konfigurieren, bevor der MPC-Block 104 zur Steuerung eines Batch-Prozesses verwendet wird. Zusätzlich oder alternativ kann das First-Principles-Modell 108 in Verbindung mit dem MPC-Block 104 zur Steuerung des Batch-Prozesses verwendet werden. Der MPC-Block 104 und das First-Principles-Modell 108 in 2 können beispielsweise von der Simulationsanwendung 70 und/oder der Steuerungsanwendung 30 implementiert werden.
-
Der MPC-Block 104 ist ein 3x3-Steuerungsblock mit drei Eingängen EIN1 - EIN3 und drei Ausgängen AUS1 - AUS3, während das First-Principles-Modell 108 einem Teil des Batch-Prozesses mit den Eingängen X1 - X5 und den Ausgängen Y1 - Y6 entspricht. Selbstverständlich könnten der MPC-Block 104 und das First-Principles-Modell 108 jede andere Anzahl von Eingängen und Ausgängen aufweisen. Während der MPC-Block 104 allgemein ein gleichzahliger Block sein kann, d.h. dieselbe Anzahl von Eingängen und Ausgängen aufweist, ist diese Konfiguration nicht notwendig und der MPC-Block 104 kann unterschiedlich viele Eingänge und Ausgänge aufweisen. Wie in 2 dargestellt, sind die Modellausgänge Y1 - Y3 kommunikativ mit den MPC-Blockeingängen EIN1 - EIN3 verbunden und die MPC-Blockausgänge AUS1 - AUS3 sind kommunikativ mit den Modelleingängen X1 - X3 verbunden. Selbstverständlich können beliebige der Eingänge und Ausgänge des First-Principles-Modells 104 mit anderen Steuerungskreisen oder mit anderen Elementen innerhalb anderer Steuerungsroutinen, Modelle und/oder Simulationen verbunden sein, die mit dem Prozesssteuerungssystem 10 verbunden sind (wie in 2 durch unterbrochene, mit den Prozesseingängen und -ausgängen verbundene Linien dargestellt). Optional können der MPC-Block 104 und die anderen Blöcke, die Steuerungseingaben für das Modell 108 liefern können (wie durch unterbrochene, mit den Prozesseingängen und -ausgängen X1 - X3 verbundene Linien dargestellt), über einen Schalter der einen oder anderen Art verbunden werden, wobei diese Schalter durch die Quadrate 110 in 2 dargestellt sind. Die Schalter 110 können Hardware- oder Softwareschalter und, falls gewünscht, so ausgeführt sein, dass die unterschiedlichen Steuerungseingangssignale an die verschiedenen Eingänge eines Funktionsblocks wie beispielsweise eines Feldbus-Funktionsblocks gesendet werden, der sodann auf der Grundlage der Betriebsart des die beiden Signale empfangenden Funktionsblocks zwischen dem Steuerungssignal vom MPC-Block 104 und einem Steuerungssignal von einem anderen Funktionsblock wie beispielsweise einen PID-Funktionsblock wählen kann.
-
Der technisch Versierte erkennt, dass die Modelleingänge X1 -X3, mit denen die Ausgänge des MPC-Steuerungsblocks 104 in 2 verbunden sind, allen beliebigen Batch-Prozesseingängen einschließlich beispielsweise Eingängen zu innerhalb einer existierenden Steuerungsstrategie definierten Steuerungskreisen, Eingängen zu Ventilen oder anderen mit dem Batch-Prozess verbundenen Einrichtungen etc. entsprechen können. Entsprechend können einer oder mehrere der mit den Eingängen des MPC-Blocks 104 verbundenen Modellausgänge Y1 -Y3 allen beliebigen Batch-Prozessausgängen einschließlich beispielsweise den Ausgängen von Ventilen oder anderen Sensoren, den Ausgängen von AA- oder AE-Funktionsblöcken oder Ausgängen anderer Steuerungselemente oder Routinen etc. entsprechen. Zusätzlich können null, einer oder mehrere der Modellausgänge Y1 - Y3 nicht messbaren Echtzeitparametern entsprechen, die mit dem Batch-Prozess verbunden sind. Nicht messbare Echtzeitparameter sind Batch-Prozess-parameter, deren Messungen in der Praxis nicht innerhalb eines Zeitrahmens erfasst werden können, bei dem die Messungen noch zur Steuerung des laufenden Batch-Prozesses verwendet werden könnten. Echtzeitparameter beinhalten keine Messungen von Batch-Prozessparametern, deren Ermittlung mehrere Minuten oder Stunden in Anspruch nehmen kann. So sind beispielsweise Laboruntersuchungen, bei denen die Ermittlung eines Ergebnisses mehrere Minuten oder Stunden dauert, keine Echtzeitparameter. Weiterhin schließen Echtzeitparameter keine Messungen von Batch-Prozessparametern aus früheren Chargen ein, die zur Steuerung einer aktuellen Charge verwendet werden. Weiterhin schließen nicht messbare Echtzeitparameter keine Batch-Prozess-parameter ein, die in Echtzeit an einem bestimmten Punkt gemessen wurden, jetzt aber beispielsweise wegen eines fehlerhaften oder ausgefallenen Sensors geschätzt werden. Beispiele für nicht messbare Echtzeitparameter sind unter anderem eine Konzentration einer Komponente, eine Änderungsgeschwindigkeit der Konzentration der Komponente, ein Betrag der Komponente, eine Änderungsgeschwindigkeit des Betrags der Komponente etc. Typischerweise beinhaltet die Messung derartiger Parameter während eines Batch-Prozesses die Entnahme von Proben und die Durchführung von Laboranalysen der Proben. Die Laboranalysen können mehrere Minuten oder Stunden dauern.
-
Das First-Principles-Modell 108 kann unter Verwendung einer oder mehrerer auf physikalischen Gesetzen basierender Gleichungen Modellausgaben erzeugen, die einem nicht messbaren Echtzeitparameter entsprechen. So kann beispielsweise eine chemische Reaktion in einem Batch-Prozess durch eine oder mehrere Gleichungen modelliert werden, die auf Prinzipien wie beispielsweise der Massenerhaltung, der Energieerhaltung etc. basieren.
-
Der beispielhafte MPC-Block 104 weist eine Datensammlungseinheit 110, einen Signalgenerator 112, eine generische Steuerungslogik 114 sowie einen Speicher zur Speicherung von Steuerungsparametern 116 und ein Steuerungsprädiktionsprozessmodell 118 auf. Die generische Logik 114 kann beispielsweise eine generische MPC-Routine aufweisen, die Koeffizienten oder andere Steuerungsparameter benötigt, um in einem bestimmten Fall eine Steuerung ausführen zu können. In einigen Fällen kann die generische Logik 114 auch ein Prozessmodell benötigen, das dem vom MPC-Block 104 zu steuernden Prozess entspricht. Während eines Trainingszeitraums kann der MPC-Block 104 Daten zur Verwendung bei der Erzeugung eines Steuerungsprädiktionsprozessmodells 118 sammeln. So kann beispielsweise der Signalgenerator 112 des MPC-Blocks 104 auf entsprechende Anweisung des Bedieners (oder zu einer beliebigen anderen gewünschten Zeit) eine Reihe von Wellenformen an den Ausgängen AUS1 - AUS3 des MPC-Blocks 104 erzeugen, um Erregungswellenformen an jedem der Modelleingänge X1 - X3 zu erzeugen. Falls gewünscht, können diese Wellenformen dem Signalgenerator 112 von Hardware und/oder Software außerhalb des MPC-Blocks 104 (beispielsweise von der Workstation 16, der Steuerung 12 oder einer anderen Einrichtung) übergeben werden. Zusätzlich oder alternativ können die Wellenformen auch vom Signalgenerator 112 erzeugt werden. Diese Wellenformen können gestaltet werden, um das First-Principles-Modell 108 zu veranlassen, in den unterschiedlichen Eingabebereichen, die während des Normalbetriebs des Batch-Prozesses erwartet werden, zu arbeiten. Um ein Steuerungsprädiktionsprozessmodell 118 für eine MPC-Steuerungsroutine zu entwickeln, kann der Signalgenerator 112 jeden der Modelleingänge X1 - X3 mit einer Reihe unterschiedlicher Sätze von Impulsen beaufschlagen, wobei die Impulse innerhalb jedes der Sätze von Pulsen dieselbe Amplitude, jedoch pseudo-zufällige Längen haben und wobei die Impulse innerhalb der verschiedenen Sätze von Impulsen unterschiedliche Amplituden aufweisen. Eine derartige Serie von Sätzen von Impulsen kann für jeden der verschiedenen Modelleingänge X1 -X3 erzeugt und sodann sequenziell auf jeweils einen der verschiedenen Modelleingänge X1-X3 gegeben werden. Während dieser Zeit sammelt die Datensammlungseinheit 110 innerhalb des MPC-Blocks 104 die Daten oder koordiniert auf sonstige Weise die Sammlung der Daten, die die Antwort der Modellausgänge Y1 - Y3 auf jede der vom Signalgenerator 112 erzeugten Wellenformen angeben, und kann die Daten, die sich auf die erzeugte Erregungs-Wellenform beziehen, sammeln oder deren Sammlung koordinieren. Diese Daten können im MPC-Block 104 gespeichert werden. Zusätzlich oder alternativ können diese Daten automatisch zum Daten-Historienspeiche 14 zur Speicherung und/oder zur Workstation 16 übertragen werden, wo diese Daten auf dem Display 17 angezeigt werden können.
-
Selbstverständlich können die vom Signalgenerator 112 erzeugten Wellenformen alle gewünschten Wellenformen sein, die entwickelt werden, um ein Prozessmodell zu erzeugen, das für die Erzeugung von Steuerungslogikparametern für jede erweiterte Steuerungsroutine nützlich ist. In diesem Beispiel erzeugt der Signalgenerator 112 jeden Satz von Wellenformen, von dem bekannt ist, dass er bei der Entwicklung eines Steuerungsprädiktionsprozessmodells für eine modellprädiktive Steuerung nützlich ist, und diese Wellenformen können jede heute bekannte oder zukünftig zu diesem Zweck entwickelte Form annehmen. Da Wellenformen, die zur Erregung eines Prozesses verwendet werden, um Daten zur Entwicklung eines Steuerungsprädiktionsprozessmodells für eine modellprädiktive Steuerung zu sammeln, dem technischen Versierten bestens bekannt sind, werden diese Wellenformen hier nicht weiter beschrieben. Entsprechend können vom Signalgenerator 112 alle anderen oder alle gewünschten Typen von Wellenformen zur Verwendung bei der Entwicklung von Prozessmodellen für erweiterte Steuerungseinheiten (einschließlich Modellierungseinheiten) unter Verwendung anderer Steuerungstechniken wie beispielsweise neuronalen Netzwerken, Fuzzy-Logik mit multiplen Variablen etc. erzeugt werden.
-
Es ist darauf hinzuweisen, dass der Signalgenerator 112 jede gewünschte Form annehmen und beispielsweise in Hardware, Software oder einer Kombination von beidem implementiert werden kann. Bei einer Implementierung in Software kann der Signalgenerator 112 einen Algorithmus, der zur Erzeugung der gewünschten Wellenformen verwendet werden kann, sowie digitale Repräsentationen der zu erzeugenden Wellenformen speichern oder jede andere Routine oder gespeicherte Daten zur Erzeugung derartiger Wellenformen verwenden. Bei Implementierung in Hardware kann der Signalgenerator 112 beispielsweise die Form eines Oszillators oder Rechteck-„Wellen“-Generators annehmen. Falls gewünscht, kann der Bediener aufgefordert werden, bestimmte Parameter einzugeben, die für die Gestaltung der Wellenformen benötigt werden, wie beispielsweise die ungefähre Antwortzeit des Prozesses entsprechend dem First-Principles-Modell 108, die Schrittgröße der Amplitude der an die Prozesseingänge zu übergebenden Wellenformen etc. Der Bediener kann zur Eingabe dieser Informationen aufgefordert werden, wenn der MPC-Block 104 erstmals erzeugt wird oder wenn der Bediener den MPC-Block 104 anweist, das First-Principles-Modell 108 anzustoßen oder zu erregen und Prozessdaten zu sammeln. In einer Ausführung sammelt die Datensammlungseinheit 110 Daten (oder stellt auf andere Weise die Sammlung von Daten sicher) in Reaktion auf jede der Erregungswellenformen für das Drei- oder Fünffache der vom Bediener eingegebenen Antwortzeit um zu gewährleisten, dass ein vollständiges und exaktes Prozessmodell entwickelt werden kann. Daten können jedoch für jede andere Zeitspanne gesammelt werden. Die Datensammlungseinheit 110 kann die Daten direkt vom First-Principles-Modell 108 oder beispielsweise von einem Daten-Historienspeicher sammeln.
-
Auf jeden Fall kann der MPC-Steuerungsblock so lange arbeiten, bis der Signalgenerator 112 die Beaufschlagung jedes der Modelleingänge X1 - X3 mit allen erforderlichen Erregungswellenformen abgeschlossen hat und bis die Datensammlungseinheit 110 Daten für die Modellausgänge Y1 - Y3 gesammelt hat. Selbstverständlich kann der Betrieb des MPC-Blocks 104 unterbrochen werden, wenn dies während dieses Datensammlungsprozesses gewünscht oder erforderlich ist.
-
Das Steuerungsprädiktionsprozessmodell 118 kann eine Vielzahl von Modellen einschließlich bekannter Modelle und einen mathematischen Algorithmus, eine Reihe von Antwortkurven etc. aufweisen. Die Steuerungsparameter 116 können eine Matrix, MPC-Koeffizienten etc. aufweisen. In Implementierungen, bei denen eine andere Steuerungseinheit als eine MPC verwendet wird, können die Steuerungsparameter beispielsweise Einstellparameter, Parameter neuronaler Netzwerke, Skalierungsfaktoren für Fuzzy-Logiken mit multiplen Variablen etc. aufweisen.
-
Der technisch Versierte erkennt, dass der MPC-Steuerungsblock 104 lediglich ein Beispiel einer MPC ist, die verwendet werden kann. Lediglich als ein weiteres Beispiel könnten eine MPC, ein externer Signalgenerator und eine externe Datensammlungseinheit verwendet werden. Der technische Versierte erkennt, dass an Stelle des beispielhaften MPC-Steuerungsblocks 104 zahlreiche andere Konfigurationen verwendet werden könnten.
-
Wie in 1 dargestellt, können der MPC-Block 104 und das First-Principles-Modell 108 von verschiedenen Rechengeräten in der Anlage 10 implementiert werden. So können beispielsweise der MPC-Block 104 und das First-Principles-Modell 108 von einer oder mehreren der Workstations 16 implementiert werden. Zusätzlich könnten zumindest Teile des MPC-Blocks 104 und/oder zumindest Teile des First-Principles-Modells 108 von einer Steuerung 12 und/oder von Feldgeräten implementiert werden. Der technisch Versierte erkennt zahlreiche andere Arten zur Implementierung von Teilen des MPC-Blocks 104 und des First-Principles-Modells 108.
-
3 ist ein Flussdiagramm eines beispielhaften Verfahrens 150 zum Betrieb einer MPC in Verbindung mit einem First-Principles-Modell eines Batch-Prozesses. Das Verfahren 150 könnte beispielsweise zur Konfigurierung einer MPC zur Verwendung bei der Steuerung des Batch-Prozesses verwende werden. Das Verfahren 150 könnte in Verbindung mit dem MPC-Block 104 und dem First-Principles-Modell 108 in 2 implementiert werden. Der technisch Versierte erkennt jedoch, dass das Verfahren 150 mit verschiedenen MPCs und First-Principles-Modellen implementiert werden könnte.
-
An einem Block 154 werden Ausgaben einer MPC einem First-Principles-Modell eines Batch-Prozesses zur Verfügung gestellt. Wie in Bezug auf 2 beschrieben, könnte die MPC dem First-Principles-Modell beispielsweise Erregungssignale während eines Konfigurationszeitraums übermitteln. Alternativ könnte ein von der MPC getrennter Signalgenerator während des Konfigurierungszeitraums die Erregungssignale liefern. Zusätzlich oder alternativ könnte die MPC, wie nachstehend ausführlicher beschrieben wird, Steuerungssignale für das First-Principles-Modell während des Ablaufs eines Batch-Prozesses bereitstellen.
-
An einem Block 158 werden Ausgaben des First-Principles-Modells der MPC zur Verfügung gestellt. Die Ausgaben des First-Principles-Modells können eine oder mehrere Ausgaben aufweisen, die Ausgaben des Batch-Prozesses entsprechen, wie beispielsweise Ausgaben von Ventilen oder anderen Sensoren, Ausgaben von AA- oder AE-Funktionsblöcken, Ausgaben anderer Steuerungselemente oder Routinen etc. Alternativ können die Ausgaben des First-Principles-Modells eine oder mehrere Ausgaben aufweisen, die nicht messbaren Echtzeitparametern entsprechen, die mit dem Batch-Prozess verbunden sind. Die Ausgaben des First-Principles-Modells können der MPC direkt oder indirekt zur Verfügung gestellt werden. Beispielsweise könnte die MPC mit Daten versorgt werden, die aus einem Daten-Historienspeicher abgerufen werden.
-
An einem Block 162 kann ein Steuerungsprädiktionsprozessmodell der MPC auf der Grundlage mindestens einiger der Ausgaben des First-Principles-Modells erzeugt werden. Das Steuerungsprädiktionsprozessmodell der MPC kann auch auf der Grundlage zusätzlicher Informationen wie beispielsweise simulierter Ausgaben von Funktionsblöcken, Steuerungsroutinen etc. erzeugt werden. Weiterhin können derartige zusätzliche Informationen aus einem aktuellen Batch-Prozess erhaltene Informationen beinhalten. Zur Erzeugung des Steuerungsprädiktionsprozessmodells der MPC kann jede einer Vielzahl von Techniken einschließlich bekannter Techniken verwendet werden. Diese Techniken können optional die Durchführung einer Filterprozedur beinhalten, um Datenausreißer, offensichtlich fehlerhafte Daten etc. zu eliminieren.
-
An einem Block 166 können Steuerungsparameter der MPC auf der Grundlage mindestens einiger der Ausgaben des First-Principles-Modells erzeugt werden. So könnten die Steuerungsparameter beispielsweise durch Invertierung des Steuerungsprädiktionsprozessmodells erzeugt werden, das auf der Grundlage der Ausgaben des First-Principles-Modells am Block 152 erzeugt wurde. Zur Erzeugung der Steuerungsparameter kann jede einer Vielzahl von Techniken einschließlich bekannter Techniken verwendet werden.
-
Sobald die Steuerungsparameter erzeugt sind, kann die MPC bei der Steuerung des Batch-Prozesses und/oder bei der Simulation der Steuerung des Batch-Prozesses verwendet werden. Wie in 2 dargestellt, können der konfigurierte MPC-Block 104 und das First-Principles-Modell 108 in Verbindung mit einer Simulationsanwendung verwendet werden, um den Betrieb des Batch-Prozesses zu simulieren. Wie dem technisch Versierten bekannt ist, kann die Simulation des Batch-Prozesses mit weitaus größeren Geschwindigkeiten simuliert werden als in der Zeit, die für den Abschluss eines realen Batch-Prozesses erforderlich sein kann. Daher können multiple Steuerungsstrategien in relativ kurzer Zeit simuliert werden. So könnte ein Ingenieur beispielsweise „Was-Wenn“-Szenarien durchführen, um eine gute Strategie zu ermitteln oder um eine existierende Strategie zu verbessern. Die Ermittlung von Steuerungsstrategien für eine Simulation könnte eine Ad-hoc-Prozedur oder eine systematische Prozedur beinhalten. So könnten beispielsweise die schneller als in Echtzeit ablaufenden Simulationen verwendet werden, um Profile von Prozesseingaben und Ausgaben für die aktuelle und für zukünftige Chargen für „Was-Wenn-Szenarien“ zu erzeugen, die von anderen Techniken wie beispielsweise multivariater statistischer Prozesssteuerung (MSPC) verwendet werden können, um abnormale Chargen zu diagnostizieren und zu verhindern.
-
Ein mit einem First-Principles-Modell gekoppeltes Steuerungssystem mit multiplen Eingängen / multiplen Ausgängen kann auch verwendet werden, um während des Ablaufs des Batch-Prozesses zu helfen, den Batch-Prozess zu steuern. 4 ist ein Blockdiagramm eines beispielhaften Systems zur Steuerung eines Batch-Prozesses, wobei das System 200 einen Steuerungsblock mit multiplen Eingängen / multiplen Ausgängen aufweist, der in diesem Fall als ein MPC-Block 204 dargestellt ist, der mit einem First-Principles-Modell 208 kommunikativ verbunden ist. Zusätzlich ist der MPC-Block 204 kommunikativ mit einem Batch-Prozess 212 verbunden. In 4 ist ein Satz von Signalen aus Gründen der Übersichtlichkeit mit einer einzelnen Linie dargestellt. Es ist daher darauf hinzuweisen, dass eine einzelne Linie ein oder mehrere Signale repräsentieren kann. Der MPC-Block 204 kann den MPC-Block 104 in 2 oder jeden geeigneten MPC-Block aufweisen und das First-Principles-Modell 208 kann ein First-Principles-Modell wie beispielsweise das in Bezug auf 2 beschriebene First-Principles-Modell sein.
-
Mindestens einige der als Batch-Prozessausgaben 216 bezeichneten Batch-Prozessausgaben (die beispielsweise Steuerungs- und Einschränkungsmessungen oder Parameter sein können) des Batch-Prozesses 212 können auf Eingänge des MPC-Blocks 204 zurückgeführt werden, wie dies bei einer MPC-Steuerung typisch ist. Entsprechend kann ein Satz gemessener oder bekannter Prozessstöreingaben 220 sowohl für den Batch-Prozess 212 als auch für den Eingang des MPC-Blocks 204 bereitgestellt werden, wie dies ebenfalls bei bekannten MPC-Techniken typisch ist.
-
Weiterhin kann ein Satz von Ausgaben des First-Principles-Modells 208 auf Eingänge des MPC-Blocks 204 zurückgeführt werden und diese Ausgaben des First-Principles-Modells 208 sind in 4 mit 224 bezeichnet. Die Ausgaben 224 des First-Principles-Modells 208 können nicht messbaren Echtzeitparametern des Batch-Prozesses 212 entsprechen. Der MPC-Block 204 kann mit anderen Worten mit Schätzungen nicht messbarer Echtzeitparameter des Batch-Prozesses 212 versehen werden. Optional kann ein Satz geschätzter Parameter 228, der vom First-Principles-Modell 208 erzeugt wurde und den gemessenen Parametern 216 entspricht, auf die Eingänge des MPC-Blocks 204 geführt werden.
-
Der MPC-Steuerungsblock 204 kann eine Standard-MPC-Logik mit einem darin enthaltenen linearen Prozessmodell (d.h. einem Steuerungsprädiktionsprozessmodell) aufweisen und allgemein auf typische oder bekannte Weise arbeiten, um einen Satz von Prozesssteuerungssignalen oder Stellgrößensteuerungssignalen 232 zu entwickeln. Die Stellgrößensteuerungssignale 232 können auf Eingänge des Batch-Prozesses 212 und auf Eingänge des First-Principles-Modells 208 geführt werden. Optional kann ein Schalter 236 vorgesehen werden, um ein Umschalten zwischen Stellgrößensteuerungssignalen 232 und anderen Steuerungssignalen 238 zu ermöglichen. Optional können andere Eingangssignale 240 dem Batch-Prozess 212 und dem First-Principles-Modell 208 zur Verfügung gestellt werden.
-
Das First-Principles-Modell 208 kann, wie bereits diskutiert, nicht messbare Echtzeitparameter sowie Parameter, die mindestens einigen der Ausgaben des Batch-Prozesses 212 entsprechen, erzeugen. Das First-Principles-Modell 208 kann diese Parameter auf der Grundlage mindestens einiger der Ausgaben 232 des MPC-Blocks 204, bekannter Prozessstöreingaben 220 und Prozesseingaben 240 erzeugen. Wie bereits beschrieben, können mindestens einige der Ausgaben des First-Principles-Modells 208 dem MPC-Block 204 zur Verfügung gestellt werden.
-
Allgemein kann der MPC-Block 204 Schätzungen nicht messbarer Echtzeitparameter verwenden, die vom First-Principles-Modell 208 erzeugt wurden um zu helfen, den Batch-Prozess 212 zu steuern. Weil Schätzungen nicht messbarer Echtzeitparameter als Eingaben für den MPC-Block 204 zur Verfügung gestellt werden, kann der MPC-Block 204 weiterhin verwendet werden um zu helfen, einen oder mehrere der nicht messbaren Echtzeitparameter beispielsweise mittels bekannter MPC-Techniken zu steuern. So kann der MPC-Block 204 beispielsweise versuchen, einen Änderungsgeschwindigkeitsparameter zu steuern (beispielsweise eine Konzentrationsänderungsgeschwindigkeit eines Produkts, eine Konzentrationsänderungsgeschwindigkeit eines Nebenprodukts, eine Konzentrationsänderungsgeschwindigkeit einer Charge, eine Konzentrationsänderungsgeschwindigkeit einer Verunreinigung etc.). Es kann nützlich sein, eine auf einen Batch-Prozess bezogene Änderungsgeschwindigkeit nahe an einem gewünschten Profil zu halten. So kann beispielsweise die Konstanthaltung einer Änderungsgeschwindigkeit einer Produktkonzentration auf einem gewünschten Niveau während eines gewissen Zeitraums während eines Batch-Prozesses dazu beitragen, einen Produktertrag zu verbessern, die Produktqualität zu verbessern, eine Chargen-Zykluszeit vorherzusagen, die Chargen-Zykluszeit zu verkürzen etc. Schnelle Reaktionsgeschwindigkeiten können in einigen Fällen dazu führen, dass Reaktionen unkontrolliert verlaufen oder unerwünschte Nebenprodukte erzeugen. Langsame Geschwindigkeiten können im Vergleich zu den ansonsten erzielbaren Ergebnissen zu längeren Chargenzeiten und geringerem Ertrag führen. Kontrollierte Geschwindigkeiten können genauere Vorhersagen der Chargenleistung und eine schnellere und genauere Korrektur von Chargenprofilen ermöglichen, indem sie den Effekt von Zeitverlagerungen durch Haltevorgänge und abnormalen Betrieb verringern.
-
Das System 200 kann allgemein dazu beitragen, die Endpunkte des Batch-Prozesses in Verbindung mit einer Verbesserung von Kapazität und/oder Qualität zu verbessern. Ein System wie beispielsweise das System 200 kann dazu beitragen, eine variable Rampenantwort und nichtstationäres Verhalten von Batch-Prozessen zu handhaben, während Modellidentifikations- und MPC-Systeme nach dem früheren Stand der Technik einen stabilen Zustand oder eine konstante Rampengeschwindigkeit voraussetzen, die für kontinuierliche Prozesse typisch sind.
-
Wie in 1 dargestellt, können Teile des Systems 200 durch verschiedene Rechengeräte implementiert werden. So kann das First-Principles-Modell 208 beispielsweise durch eine oder mehrere der Workstations 16 implementiert werden. In einer Ausführung können die Steuerungsanwendung 30 und/oder die Simulationsanwendung 70, die auf einer oder mehreren Workstations 16 ausgeführt werden, das First-Principles-Modell 208 implementieren. Zusätzlich können eine oder mehrere Steuerungen 12 und/oder ein oder mehrere Feldgeräte 24 - 27 den MPC-Block 204 und andere Steuerungsroutinen in Verbindung mit dem Batch-Prozess 212 implementieren. In einer Ausführung kann der MPC-Block 204 von der Steuerungsanwendung 30 implementiert werden, die von einer Steuerung 12 und/oder einem oder mehreren Feldgeräten 24 - 27 implementiert wird. Der technische Versierte erkennt zahlreiche andere Wege zur Implementierung von Teilen des Systems 200. So könnten beispielsweise zumindest Teile des First-Principles-Modells 208 von einer Steuerung 12 und/oder von Feldgeräten implementiert werden und zumindest Teile des MPC-Blocks 204 könnten von einer oder mehreren Workstations 16 implementiert werden.
-
5 ist ein Flussdiagramm eines beispielhaften Verfahrens 260 zur Steuerung eines Batch-Prozesses. Das Verfahren 260 könnte beispielsweise mittels des Systems 200 in 4 implementiert werden, wobei das Verfahren im Interesse einer leichteren Erläuterung unter Bezugnahme auf 4 beschrieben wird. Der technisch Versierte erkennt jedoch, dass das Verfahren 260 auch mittels anderer Systeme implementiert werden könnte.
-
An einem Block 264 kann ein First-Principles-Modell eines Batch-Prozesses verwendet werden, um Schätzungen nicht messbarer Echtzeitparameter in Verbindung mit dem Batch-Prozess zu erzeugen. So kann das First-Principles-Modell 208 beispielsweise Schätzungen nicht messbarer Echtzeitparameter wie beispielsweise Schätzungen einer Änderungsgeschwindigkeit in Verbindung mit dem Batch-Prozess erzeugen. Am Block 268 können am Block 264 erzeugte Schätzungen einer Steuerungsroutine übergeben werden. Die Steuerungsroutine kann eine Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen wie beispielsweise den MPC-Block 204 aufweisen. Optional können andere Arten von Steuerungsroutinen wie beispielsweise Fuzzy-Logik-Routinen, neuronale Netzwerke etc. verwendet werden.
-
An einem Block 272 werden Steuerungssignale auf der Grundlage von am Block 264 erzeugten Schätzungen erzeugt, wobei die von der Steuerungsroutine erzeugten Signale helfen sollen, den Batch-Prozess zu steuern. Selbstverständlich können die Steuerungssignale auch auf der Grundlage anderer Informationen wie beispielsweise Messungen aus dem laufenden Batch-Prozess und optional anderer vom First-Principles-Modell erzeugter Ausgaben erzeugt werden. Die Steuerungssignale können zur Steuerung des Batch-Prozesses auf diverse Arten verwendet werden. So können die Steuerungssignale beispielsweise versuchen, eine Änderungsgeschwindigkeit in Verbindung mit dem Batch-Prozess, einen Endpunkt des Batch-Prozesses, eine Produktmenge am Ende der Charge, einen Produktertrag etc. zu steuern. Als weiteres Beispiel können die Steuerungssignale versuchen, eine Änderungsgeschwindigkeit auf einem gewünschten Profil zu halten. Das gewünschte Profil kann eine konstante Änderungsgeschwindigkeit während eines gewissen Zeitraums während des Batch-Prozesses sein. Der technisch Versierte kann erkennen, dass sich das gewünschte Profil in Abhängigkeit von dem spezifischen gesteuerten Batch-Prozess ändern kann. Ein gewünschtes Änderungsgeschwindigkeitsprofil kann daher mindestens einige Zeiträume beinhalten, während derer die Änderungsgeschwindigkeit nicht konstant ist.
-
Die Steuerungsroutine, die die am Block 264 erzeugten Schätzungen verwendet, kann unter Verwendung eines First-Principles-Modells und optional mittels den laufenden Batch-Prozess betreffender Daten konfiguriert werden. Allgemein kann die Steuerungsroutine eine Vielzahl von Steuerungstechniken einschließlich bekannter Techniken verwenden, um eine Vielzahl von Aspekten des Batch-Prozesses durch Verwendung von vom First-Principles-Modell erzeugten Daten nicht messbarer Echtzeitparameter zu steuern.
-
6 ist ein Flussdiagramm eines weiteren beispielhaften Verfahrens 280 zur Steuerung eines Batch-Prozesses. Das Verfahren 280 könnte beispielsweise mittels des Systems 200 in 4 implementiert werden, wobei das Verfahren im Interesse einer leichteren Erläuterung unter Bezugnahme auf 4 beschrieben wird. Der technisch Versierte erkennt jedoch, dass das Verfahren 280 auch mittels anderer Systeme implementiert werden könnte.
-
An einem Block 284 können Echtzeitschätzungen einer Änderungsgeschwindigkeit einer Batch-Prozesskomponente erzeugt werden. So kann beispielsweise das First-Principles-Modell 208 die Schätzungen erzeugen. Optional könnten auch andere Modellierungs-/Schätzungssysteme wie beispielsweise Fuzzy-Logik-Systeme, neuronale Netzwerke etc. verwendet werden, um die Schätzungen zu erzeugen. An einem Block 288 können die am Block 284 erzeugten Schätzungen einer Steuerungsroutine zur Verfügung gestellt werden. Die Steuerungsroutine kann eine Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen wie beispielsweise den MPC-Block 204 aufweisen. Optional können andere Arten von Steuerungsroutinen wie beispielsweise Fuzzy-Logik-Routinen, neuronale Netzwerke etc. verwendet werden.
-
An einem Block 292 werden Steuerungssignale auf der Grundlage von am Block 284 erzeugten Schätzungen erzeugt, wobei die von der Steuerungsroutine erzeugten Signale helfen sollen, die Änderungsgeschwindigkeit zu steuern. Selbstverständlich können die Steuerungssignale auch auf der Grundlage anderer Informationen wie beispielsweise Messungen aus dem laufenden Batch-Prozess und optional anderer Schätzungen wie beispielsweise Schützungen nicht messbarer Echtzeitparameter erzeugt werden. Die Steuerungssignale können beispielsweise verwendet werden, um die Änderungsgeschwindigkeit nahe an einem gewünschten Profil zu halten. Das gewünschte Profil kann eine konstante Änderungsgeschwindigkeit während eines gewissen Zeitraums während des Batch-Prozesses sein. Der technisch Versierte kann erkennen, dass sich das gewünschte Profil in Abhängigkeit von dem spezifischen gesteuerten Batch-Prozess ändern kann. Ein gewünschtes Änderungsgeschwindigkeitsprofil kann daher mindestens einige Zeiträume beinhalten, während derer die Änderungsgeschwindigkeit nicht konstant ist. So kann es beispielsweise wünschenswert sein, dass die Änderungsgeschwindigkeit während eines gewissen Zeitraums des Batch-Prozesses konstant ist oder exponentiell zu- oder abnimmt.
-
7 ist ein Blockdiagramm eines weiteren beispielhaften Systems zur Steuerung eines Batch-Prozesses. Das System 300 weist zahlreiche gleich nummerierte Elemente aus dem beispielhaften System 200 in 4 auf. Zusätzlich können optional die Verfahren 260 und 280 in 5 und 6 durch ein System wie beispielsweise das System 300 implementiert werden. Das System 300 weist allgemein eine virtuelle Anlage 304 und eine reale Anlage 308 auf. Die reale Anlage 308 entspricht der Steuerung der tatsächlichen physischen Einrichtungen, die bei der Implementierung des Batch-Prozesses verwendet werden, während die virtuelle Anlage 34 einer Simulation der realen Anlage 308 entspricht. In 7 ist ein Satz von Signalen aus Gründen der Übersichtlichkeit mit einer einzelnen Linie dargestellt. Es ist daher darauf hinzuweisen, dass eine einzelne Linie ein oder mehrere Signale repräsentieren kann. Wie nachstehend beschrieben wird, können während des Ablaufs eines Batch-Prozesses Daten zwischen der virtuellen Anlage 304 und der realen Anlage 308 ausgetauscht werden, um den Batch-Prozess zu steuern zu helfen.
-
Die reale Anlage 308 weist den MPC-Block 204 und den Batch-Prozess 212 in einer gleichartigen Konfiguration wie das System 200 in 4 auf. Die virtuelle Anlage 304 weist das First-Principles-Modell 208 auf, das kommunikativ mit einem MPC-Block 312 der virtuellen Anlage verbunden ist. Der MPC-Block 312 der virtuellen Anlage kann mit Schätzungen nicht messbarer Echtzeitparameter 228 versehen werden. Optional kann der vom First-Principles-Modell 208 erzeugte Satz geschätzter Parameter 228 auf die Eingänge des MPC-Blocks 312 der virtuellen Anlage geführt werden. Weiterhin kann der MPC-Block 312 der virtuellen Anlage mit Signalen 316 versehen werden, die simulierten Werten der gemessenen oder bekannten Prozessstöreingaben 220 oder den gemessenen oder bekannten Prozessstöreingaben 220 selbst entsprechen.
-
Der MPC-Steuerungsblock 312 der virtuellen Anlage kann eine Standard-MPC-Logik mit einem darin enthaltenen linearen Prozessmodell aufweisen und allgemein auf typische oder bekannte Weise arbeiten, um einen Satz von Prozessteuerungssignalen oder Stellgrößensteuerungssignalen 320 zu entwickeln. Die Stellgrößensteuerungssignale 320 können auf Eingänge des First-Principles-Modells 208 geführt werden. Optional kann ein Schalter 324 vorgesehen werden, um ein Umschalten zwischen den Stellgrößensteuerungssignalen 320 und anderen Signalen 328 zu ermöglichen, die simulierte Signale entsprechend den Steuerungssignalen 238 oder die Steuerungssignale 238 selbst sein können. Optional können andere Signale 323, die Simulationen der Prozesssteuerungssignale 240 oder die Prozessteuerungssignale 240 selbst sein können, dem First-Principles-Modell 208 zugeführt werden.
-
Der MPC-Block 204 und der MPC-Block 312 der virtuellen Anlage können mindestens ähnlich konfiguriert sein. So könnte beispielsweise der MPC-Block 204 auf eine bekannte Weise konfiguriert sein, um den Batch-Prozess 212 zu steuern (beispielsweise könnten ein Steuerungsprädiktionsprozessmodell und Steuerungsparameter erzeugt werden). Sodann könnten dasselbe Steuerungsprädiktionsprozessmodell und/oder die Steuerungsparameter dem MPC-Block 312 der virtuellen Anlage übergeben werden. Selbstverständlich erkennt der technisch Versierte zahlreiche andere Techniken für eine ähnliche Konfiguration des MPC-Blocks 204 und des MPC-Blocks 312 der virtuellen Anlage.
-
Allgemein kann die virtuelle Anlage 304 den Betrieb der realen Anlage 308 während eines Batch-Prozesses simulieren. So empfängt beispielsweise das First-Principles-Modell 208 Eingaben, die die Eingaben zum Batch-Prozess 212 widerspiegeln, und das First-Principles-Modell 208 ist allgemein konfiguriert, um den Ablauf des Batch-Prozesses 212 zu modellieren. Die Ausgaben 228 des First-Principles-Modells 208 sollten daher typischerweise den Ausgaben 216 des Batch-Prozesses 212 folgen. Zusätzlich sollten der MPC-Block 204 und der MPC-Block 312 der virtuellen Anlage dieselben oder ähnliche Stellgrößensteuerungssignale erzeugen, da sie dieselbe oder eine ähnliche Konfiguration haben sollten und da sie jeweils dieselben oder ähnliche Eingaben empfangen sollten.
-
Während des Ablaufs eines Batch-Prozesses können zwischen der virtuellen Anlage 304 und der realen Anlage 308 Informationen kommuniziert werden. So werden beispielsweise die nicht messbaren Echtzeitparameter 224 der MPC 204 übergeben. Weiterhin können beispielsweise auch die gemessenen Parameter 216 in der realen Anlage 308 der virtuellen Anlage 304 mitgeteilt werden, damit die virtuelle Anlage 304 optional die gemessenen Parameter 216 verwenden kann. Der technisch Versierte erkennt zahlreiche andere Arten von Informationen, die zwischen der virtuellen Anlage 304 und der realen Anlage 308 kommuniziert werden können.
-
In einer Ausführung kann die virtuelle Anlage 304 optional Prozessmodule verwenden, die in der Lage sein können, Massentransferraten, Resttrübungen und Blasen, einen modularen Druck-Flow-Solver etc. zu verwenden. Dies kann die virtuelle Anlage 304 in die Lage versetzen, leere Prozessbehälter, Nullströmungen, Ungleichgewichtsbedingungen etc. zu handhaben. Zusätzlich kann in dieser Ausführung die virtuelle Anlage 304 optional Prozessmodule mit unterteilten Behältern und Kreislaufströmungen zu verwenden, um eine Simulation von Mischungs- und Transportverzögerungen zu gestatten.
-
Wie in 1 dargestellt, können die virtuelle Anlage 304 und Teile der realen Anlage 308 durch verschiedene Rechengeräte implementiert werden. So können Teile der virtuellen Anlage 304 beispielsweise durch eine oder mehrere der Workstations 16 implementiert werden. In einer Ausführung können die Steuerungsanwendung 30 und/oder die Simulationsanwendung 70, die auf einer oder mehreren Workstations 16 ausgeführt werden, zumindest einen Teil der virtuellen Anlage 304 implementieren. Zusätzlich können einer oder mehrere Steuerungen 12 und/oder ein oder mehrere Feldgeräte 24 - 27 Teile der realen Anlage 308 wie beispielsweise den MPC-Block 204 und andere Steuerungsroutinen in Verbindung mit dem Batch-Prozess implementieren. In einer Ausführung kann der MPC-Block 204 von der Steuerungsanwendung 30 implementiert werden, die von einer Steuerung 12 und/oder einem oder mehreren Feldgeräten 24 - 27 implementiert wird. Der technisch Versierte erkennt zahlreiche andere Arten zur Implementierung von Teilen der virtuellen Anlage 304 und der realen Anlage 308. So könnten beispielsweise Teile der virtuellen Anlage 304 auf einer Steuerung 12 und/oder Feldgeräten implementiert werden und Teile der realen Anlage 308 könnten von einer oder mehreren Workstations 16 implementiert werden.
-
8 ist ein Blockdiagramm eines weiteren beispielhaften Systems zur Steuerung eines Batch-Prozesses. Das System 400 ist dem System 300 in 7 ähnlich und weist zahlreiche identisch nummerierte Elemente des beispielhaften Systems 300 auf. Zusätzlich können optional die Verfahren 260 und 280 in 5 und 6 durch ein System wie beispielsweise das System 200 implementiert werden.
-
Wie bekannt ist, können sich die Bedingungen der Ausrüstung und andere Bedingungen in Bezug auf den Batch-Prozess im Lauf der Zeit ändern. Dies kann dazu führen, dass das First-Principles-Modell 208 im Lauf der Zeit an Genauigkeit verliert. Um dieses potenzielle Problem zu berücksichtigen, weist das System 400 ein Modellaktualisierungssystem 402 zum Aktualisieren des First-Principles-Modells 208 auf, um Änderungen des Batch-Prozesses 212 im Lauf der Zeit Rechnung zu tragen.
-
Allgemein vergleicht das Modellaktualisierungssystem 404 die Ausgaben des Batch-Prozesses 212 mit entsprechenden Ausgaben des First-Principles-Modells 208 und passt das First-Principles-Modell 208 auf der Grundlage dieses Vergleichs an. Das Modellaktualisierungssystem 404 weist einen Modellaktualisierungs-MPC-Block 408 auf, der kommunikativ mit dem First-Principles-Modell 208 verbunden ist. So werden nämlich die Parameter des First-Principles-Modells 208 vom Modellaktualisierungs-MPC-Block 408 manipuliert. Mit anderen Worten sind die Ausgaben des MPC-Blocks 408, die oftmals als Stellgrößensteuerungssignale bezeichnet werden, kommunikativ mit dem First-Principles-Modell 208 verbunden, um im First-Principles-Modell 208 Parameter auf der Grundlage eines Vergleichs zwischen den Ausgaben des First-Principles-Modells 208 und den Ausgaben des Batch-Prozesses 212 zu aktualisieren.
-
Wie bekannt ist, kann eine MPC ein Steuerungsprädiktionsprozessmodell aufweisen, das allgemein Antworten eines Prozesses auf Störungen in von der MPC erzeugten Stellgrößensteuerungssignalen modelliert. Der Modellaktualisierungs-MPC-Block kann ein Steuerungsprädiktionsprozessmodell aufweisen, das allgemein Antworten des First-Principles-Modells 208 auf Störungen von Parametern des First-Principles-Modells 208 modelliert. Der Modellaktualisierungs-MPC-Block kann weiterhin Steuerungsparameter wie beispielsweise eine Matrix, MPC-Koeffizienten etc. aufweisen, die allgemein auf dem Steuerungsprädiktionsmodell des MPC-Blocks 408 basieren oder mittels dessen bestimmt werden.
-
Der MPC-Block kann als Eingaben einige oder sämtliche sowohl der Eingaben als auch der Ausgaben des Batch-Prozesses und die entsprechenden Eingaben und Ausgaben des First-Principles-Modells 208 empfangen. Die Eingaben und Ausgaben des Batch-Prozesses 212 könnten über einen Historienspeicher oder von Feldgeräten, Steuerungen etc. innerhalb der Anlage erhalten werden. Optional kann das Modellaktualisierungssystem 404 ein System zum Erhalt von Messungen von Parametern aufweisen, die in Echtzeit nicht erhalten werden konnten oder werden. Ein derartiges System wird hier als Labor 412 bezeichnet. So könnten beispielsweise während einer Charge entnommene Proben von einem Labor verarbeitet werden, um Messungen von Parametern der Charge zu erzeugen, die in Echtzeit nicht gemessen werden konnten, wie beispielsweise Konzentrationen von Komponenten innerhalb eines Gefäßes, Änderungsgeschwindigkeiten von Komponenten etc. Auch wenn diese Messungen nicht in Echtzeit für die Steuerung des Batch-Prozesses zur Verfügung stehen, können sie dennoch genutzt werden, um das First-Principles-Modell 208 anzupassen, indem vom First-Principles-Modell 208 erzeugte, diesen Messungen entsprechende Schätzungen verglichen werden. Somit können Daten, die den vom Labor 412 erzeugten Messungen entsprechen - entsprechend den vom First-Principles-Modell 208 erzeugten Schätzungen nicht messbarer Echtzeitparameter - dem MPC-Block 408 zur Verfügung gestellt werden. Zusätzlich können vom First-Principles-Modell 28 erzeugte Schätzungen nicht messbarer Echtzeitparameter dem MPC-Block 408 zur Verfügung gestellt werden.
-
Der MPC-Block 408 kann ihm zur Verfügung gestellte Daten verwenden, um Parameter des First-Principles-Modells 208 einzustellen. Dies stellt eine Technik dar, um das First-Principles-Modell 208 einzustellen, wenn sich der Batch-Prozess 212 über die Zeit verändert hat. Selbstverständlich ist das oben beschriebene Modellaktualisierungssystem 404 lediglich ein Beispiel für ein System zur Anpassung eines First-Principles-Modells eines Batch-Prozesses. So können beispielsweise andere Systeme mit multiplen Eingängen / multiplen Ausgängen als Alternative zu einem MPC-Block wie beispielsweise Fuzzy-Logik-Systeme, neuronale Netze etc. verwendet werden.
-
Wie in 1 dargestellt, kann das Modellaktualisierungssystem 404 durch verschiedene Rechengeräte implementiert werden. Teile des Modellaktualisierungssystems 404 können beispielsweise durch eine oder mehrere der Workstations 16 implementiert werden. In einer Ausführung können die Steuerungsanwendung 30 und/oder die Simulationsanwendung 70, die auf einer oder mehreren Workstations 16 ausgeführt werden, zumindest einen Teil des Modellaktualisierungssystems 404 wie beispielsweise den MPC-Block 408 implementieren. Zusätzlich können eine oder mehrere Steuerungen 12 und/oder ein oder mehrere Feldgeräte 24 - 27 Teile des Modellaktualisierungssystems 404 wie beispielsweise den MPC-Block 408 implementieren. Der technische Versierte erkennt zahlreiche andere Wege zur Implementierung des Modellaktualisierungssystems 404.
-
9 ist ein Flussdiagramm eines beispielhaften Verfahrens 450 zur Aktualisierung eines First-Principles-Modells eines Batch-Prozesses. Das Verfahren 450 könnte beispielsweise mittels des Systems 404 in 8 implementiert werden, wobei das Verfahren 450 im Interesse einer leichteren Erläuterung unter Bezugnahme auf 8 beschrieben wird. Der technisch Versierte erkennt jedoch, dass das Verfahren 450 auch mittels anderer Systeme implementiert werden könnte.
-
An einem Block 454 können Ausgaben des First-Principles-Modells einer Steuerungsroutine mit multiplen Eingaben / multiplen Ausgaben übergeben werden. So werden beispielsweise in
8 die Ausgaben des First-Principles-Modells 208 dem Modellaktualisierungsblock 408 übergeben. Die Ausgaben des First-Principles-Modells können Schätzungen
Echtzeitparameter des Batch-Prozesses aufweisen. Zusätzlich oder alternativ können die Ausgaben des First-Principles-Modells Schätzungen nicht messbarer Echtzeitparameter des Batch-Prozesses aufweisen. Die am Block 454 bereitgestellten Daten können beispielsweise aus einem Historienspeicher abgerufene Daten beinhalten. Zusätzlich oder alternativ können die am Block 454 bereitgestellten Daten Daten beinhalten, die aus einer Workstation 16, einer Steuerung 12, einem Feldgerät etc. abgerufen wurden.
-
An einem Block 458 werden Ausgabedaten in Verbindung mit dem Batch-Prozess, die den Ausgaben des First-Principles-Modell entsprechen,s der Steuerungsroutine mit multiplen Eingängen / multiplen Ausgängen übergeben. So werden beispielsweise in 8 die Datenausgaben des Batch-Prozesses 212 dem Modellaktualisierungsblock 408 übergeben. Optional können die übergebenen Ausgabedaten Daten vom Labor 408 beinhalten. Die übergebenen Ausgabedaten können daher zusätzlich oder alternativ Ausgabedaten beinhalten, die Schätzungen nicht messbarer Echtzeitparameter enthalten, die vom First-Principles-Modell erzeugt wurden.
-
An einem Block 462 kann das Steuerungssystem mit multiplen Eingängen / multiplen Ausgängen auf der Grundlage der an den Blöcken 454 und 458 empfangenen Daten Ausgaben erzeugen, um Parameter des First-Principles-Modells zu modifizieren. So kann beispielsweise eine vom First-Principles-Modell erzeugte Schätzung als Regelgröße betrachtet werden und ein entsprechender gemessener Parameter aus der realen Anlage kann als Sollwert betrachtet werden. Das Steuerungssystem mit multiplen Eingängen / multiplen Ausgängen kann sodann Daten erzeugen, um einen Parameter des First-Principles-Modells zu modifizieren um zu versuchen, die Schätzung zu veranlassen, dem entsprechenden gemessenen Parameter zu folgen. Ein Beispiel für einen Modellparameter, der eingestellt werden kann, ist der Henry-Koefficient. Der Henry-Koefficient ist ein Parameter zur Bestimmung der Gleichgewichtskonzentration gelösten Sauerstoffs, die den Massentransfer von Sauerstoff zwischen der Gas- und der Flüssigphase bestimmt. Andere Beispiele für Modellparameter, die eingestellt werden können, sind unter anderem Aktivierungsenergie und Koeffizienten für eine spezifische Reaktion, Wachstum, Massentransfer, Produkt- und Nebenproduktbildungsgeschwindigkeiten, Sauerstoffbegrenzung, Substrathemmung, Zellerhalt, Ionendissoziation, Ertrag und Zykluszeit.
-
Der technische Versierte erkennt, dass zahlreiche Variationen möglich sind. So könnten beispielsweise Ausgaben des First-Principles-Modells und/oder entsprechende gemessene Parameter, die dem Steuerungssystem mit multiplen Eingaben / multiplen Ausgaben übergeben werden, gefiltert werden, um kurzfristige Transienten auszufiltern. Ein weiteres Beispiel sind Ausgaben des First-Principles-Modells, die dem Steuerungssystem mit multiplen Eingaben / multiplen Ausgaben übergeben werden und skaliert werden könnten, um die Prozessverstärkungen und den Einstellbereich innerhalb angemessener Grenzen zu halten. In einem weiteren Beispiel könnte die Anpassung während eines Chargenzyklus automatisch gestartet und angehalten werden, um eine Adaptierung lediglich während geeigneter Teile des Chargenzyklus zu gestatten.
-
10 ist ein Blockdiagramm eines beispielhaften Batch-Prozesssystems 500, das hierin beschriebene Techniken nutzt. Das Batch-Prozesssystem 500 ist konfiguriert, Penicillin zu produzieren. Aus Gründen der einfacheren Erklärung sind zahlreiche Komponenten des Systems 500 in 10 nicht dargestellt. Das System 500 weist einen Bioreaktor 504 auf, der Substrat, basisches Reagens, saures Reagens und Luft aufnimmt. Bei Fertigstellung einer Charge kann der Bioreaktor 504 durch den Batch-Abfluss 508 entleert werden. Eine Pumpe 512 fördert das basische Reagens in den Bioreaktor 504 und eine Pumpe 514 fördert das saure Reagens in den Bioreaktor 504. Die Pumpe 512 kann durch eine Steuerungsroutine 516 und die Pumpe 514 durch eine Steuerungsroutine 518 gesteuert werden. Ein pH-Sensor 520 kann Daten bezüglich des pH-Werts im Bioreaktor erzeugen. Die pH-Daten können einem Splitter 522 zugeführt werden, der seinerseits gesplittete pH-Daten an die Steuerungsroutinen 516 und 518 leitet, die die Pumpen 512 und 514 steuern, um den pH-Wert im Bioreaktor zu steuern.
-
Eine Pumpe 528 fördert das Substrat in den Bioreaktor 504 und die Pumpe 528 kann von einer Steuerungsroutine 530 gesteuert werden. Das Substrat kann Glukose enthalten. Ein Glukosekonzentrationssensor 532 kann die Steuerungsroutine 530 mit Daten bezüglich der Glukosekonzentration im Bioreaktor 504 versorgen. Eine Pumpe 536 fördert die Luft in den Bioreaktor 504 und die Pumpe 536 kann von einer Steuerungsroutine 538 gesteuert werden. Eine Entlüftung 542 zum Bioreaktor 504 kann von einer Steuerungsroutine 544 gesteuert werden.
-
Ein Sensor für gelösten Sauerstoff 520 kann Daten bezüglich einer Konzentration gelösten Sauerstoffs im Bioreaktor 504 erzeugen. Die Daten bezüglich des gelösten Sauerstoffs können einer Steuerungsroutine 550 zugeführt werden. Die Steuerungsroutine 550 kann über einen Splitter 554 ihrerseits Steuerungsdaten zur Steuerungsroutine 538 und zur Steuerungsroutine 544 übermitteln.
-
Ein MPC-Steuerungsblock 560 empfängt Schätzungen einer Biomassen-Wachstumsgeschwindigkeit und einer Produktentstehungsgeschwindigkeit von einer virtuellen Anlage wie beispielsweise der oben beschriebenen virtuellen Anlage, die über ein First-Principles-Modell des Batch-Prozesses verfügt. Die geschätzte Biomassen-Wachstumsgeschwindigkeit und die geschätzte Produktbildungsgeschwindigkeit sind Echtzeitschätzungen der entsprechenden Geschwindigkeiten innerhalb des Bioreaktors 504. Insbesondere kann die geschätzte Biomassen-Wachstumsgeschwindigkeit eine Schätzung der Wachstumsgeschwindigkeit von Pilzzellen innerhalb des Bioreaktors 504 sein und die geschätzte Produktentstehungsgeschwindigkeit kann eine Schätzung der Konzentration von Penicillin innerhalb des Bioreaktors 504 sein.
-
Der MPC-Block 560 erzeugt eine erste Steuerungssignalausgabe und stellt diese der Steuerungsroutine 530 zur Verfügung und erzeugt eine zweite Steuerungssignalausgabe und stellt diese der Steuerungsroutine 550 zur Verfügung. Die vom MPC-Block 560 erzeugten Ausgaben können Sollwerte zur Verwendung durch die Steuerungsroutine 530 und die Steuerungsroutine 550 sein. So kann beispielsweise das erste Steuerungssignal, das der Steuerungsroutine 530 übergeben wird, ein Sollwert für die Glukosekonzentration sein, während das zweite Steuerungssignal, das der Steuerungsroutine 550 übergeben wird, ein Sollwert für die Konzentration des gelösten Sauerstoffs ist. Der MPC-Block 560 kann somit den Sollwert für die Glukosekonzentration und den Sollwert für die Konzentration des gelösten Sauerstoffs während des Ablaufs der Charge als Antwort auf die geschätzte Biomassenwachstumsgeschwindigkeit und die geschätzte Produktbildungsgeschwindigkeit einstellen. Die Steuerungsroutine 530 kann ihrerseits Steuerungsdaten erzeugen, um die Pumpe 536 zu veranlassen, dem Bioreaktor 504 mehr oder weniger Luft zuzuführen, und Steuerungsdaten erzeugen, um die Entlüftung 542 einzustellen, um mehr oder weniger Gase innerhalb des Bioreaktors 504 abzulassen.
-
In einem Batch-Prozess zur Produktion von Penicillin werden Pilzzellen mit Glukose und gelöstem Sauerstoff versorgt. Im Lauf der Zeit sondern die Pilzzellen Penicillin ab und produzieren auch Kohlendioxid. In einer Implementierung wurde die Steuerung unter Verwendung des MPC-Blocks 260 erst nach Verstreichen einer Zeit nach Beginn der Charge verwendet, sobald geschätzt wurde, dass die Produktionsgeschwindigkeit ungefähr ihr Maximum erreicht hatte. Sodann wurde der MPC-Block 260 verwendet um zu versuchen, die Produktionsgeschwindigkeit konstant zu halten.
-
Es wurde beobachtet, dass eine höhere Konzentration des gelösten Sauerstoffs zunehmend in dem Maße die Geschwindigkeit des Biomassenwachstums und der Produktbildung steigerte, in dem die Zellkonzentration zunahm. Ein starker Luftstrom erhöhte jedoch die Kosten der Gasverarbeitung und hohe Drücke erhöhten das gelöste Kohlendioxid, sodass der gelöste Sauerstoff zu Beginn der Charge, als sein nützlicher Effekt minimal war, niedriger gehalten wurde. Eine niedrigere Substratkonzentration verringert auf Grund eines reduzierten Substrathemmungsfaktors die Geschwindigkeit des Biomassenwachstums, steigert jedoch die Geschwindigkeit der Produktbildung. Die Substratkonzentration war somit anfangs hoch, um Zellen wachsen zu lassen, wurde jedoch mit fortschreitender Charge gesenkt, um die Produktbildung zu fördern. Die Einstellung des MPC-Blocks 560 könnte die Verwendung eines höheren Bewegungszuschlags und eines höheren Zuschlags für Fehler für die Produktionsgeschwindigkeit enthalten, da dies wichtiger ist als die Wachstumsgeschwindigkeit während des Fed-Batch-Teils des Batch-Zyklus.
-
Der MPC-Block 560 kann helfen, die Nettoproduktionsgeschwindigkeit vom Absinken abzuhalten. Der MPC-Block 560 kann mithin zu einer Produktkonzentration, die mit einer konstanten Steigung zunimmt, und zu einer kürzeren Chargen-Zykluszeit führen. Zusätzlich sollte die Schätzung der Zeit, innerhalb derer die Charge fertig gestellt wird, relativ genau sein, da die Produktkonzentration mit einer konstanten Steigung zunimmt. Der technische Versierte erkennt, dass mit dem System 500 zahlreiche Variationen möglich sein können. So ist es beispielsweise wünschenswert, das Biomassen-Konzentrationsprofil gegen Ende der Charge zu senken, um die Substratverbrauchsgeschwindigkeit zu reduzieren, und die Steuerung zu entlasten, um die Nettoproduktionsgeschwindigkeit besser aufrechtzuerhalten, und der Sollwert für die Wachstumsgeschwindigkeit könnte gesenkt werden, wenn sich die Produktkonzentration ihrem Endpunkt nähert.
-
Um die Zeit vorherzusagen, die in einer vom System 500 produzierten Charge verbleibt, kann eine Differenz zwischen einer aktuellen Produktkonzentration und einer Endkonzentration durch eine gewichtete Nettoproduktionsgeschwindigkeit geteilt werden. Dies kann sodann zu einer aktuellen Chargenzeit addiert werden, um eine vorhergesagte Chargen-Zykluszeit zu erzeugen. Ein Glukoseverbrauch kann vorhergesagt werden, in dem die in der Charge verbleibende Zeit mit einer gewichteten Glukosezufuhrgeschwindigkeit multipliziert und das Ergebnis zur aktuellen aufsummierten Glukosecharge addiert wird. Eine Produktendkonzentration kann durch einen vorhergesagten Glukoseverbrauch dividiert werden, um einen vorhergesagten Ertrag in Form von Kilogramm Produkt pro Kilogramm Glukose zu erzeugen. Ein vorhergesagter Ertrag kann sodann in Prozent einer Differenz zwischen dem minimalen und maximalen praktischen Ertrag ausgedrückt werden.
-
Das System 500 in 10 ist selbstverständlich lediglich ein Beispiel eines biochemischen Batch-Prozesssystems, das die oben beschriebenen Techniken einsetzen kann. Andere Beispiele sind unter anderem Systeme zur Produktion anderer Antibiotika, komplexer Proteine, Wachstumshormone, Antikörper, Pharmazeutika, Additive, Bier, Wein, Polymere, Schmiermittel, Spezialchemikalien etc.
-
Andere Ausführungen der hier beschriebenen Techniken und Systeme können auf vielfältige Weise verwendet werden. So können beispielsweise Systeme wie das in 2 dargestellte System, die virtuelle Anlage 304 etc. verwendet werden, um Strategien zur Steuerung und/oder zur Behandlung normaler Batch-Vorgänge und/oder abnormaler Situationen zu entwickeln. Derartige Systeme können auch zur Entwicklung von Strategien zur Erkennung abnormaler Situationen entwickelt werden. Weiterhin können Ausführungen der hier beschrieben Techniken und Systeme verwendet werden, um Batch-Profile, die wirtschaftliche Ziele erfüllen, zu identifizieren, vorherzusagen und/oder zu errechnen. Endpunkte einer Charge können vorhergesagt und/oder der Batch-Prozess kann gesteuert werden, um die Kapazität und/oder Qualität zu steigern. Die Chargen-Zykluszeit kann vorhergesagt und/oder der Batch-Prozess kann gesteuert werden, um die Chargen-Zykluszeit zu verkürzen. Identifizierte Profile können gespeichert und verwendet werden, um Änderungen der Chargenablaufbedingungen, Rohstoffe (beispielsweise Spurennährstoffe, Additive etc.) zu erkennen und/oder zu quantifizieren. Profile können a priori mit Werkzeugen wie beispielsweise multivariater statistischer Prozesssteuerung etc. analysiert werden.
-
Verschiedene Steuerungssysteme mit multiplen Eingängen / multiplen Ausgängen wie beispielsweise MPC-Blöcke wurden hier beschrieben. Der technisch Versierte erkennt, dass verschiedene Steuerungssysteme mit multiplen Eingängen / multiplen Ausgängen einschließlich bekannter Systeme in verschiedenen Implementierungen der hier beschriebenen Techniken verwendet werden können. So beschreiben beispielsweise die folgenden allgemein erteilten Patente und Patentanträge Techniken und Systeme, die optional verwendet werden können. Alle der folgenden allgemein erteilten Patente und Patentanträge werden hiermit in ihrer Gesamtheit durch Bezugnahme zum Bestandteil dieser Beschreibung gemacht. Das
US-Patent Nr. 6,445,963 B1 beschreibt erweiterte Steuerungsblöcke, die Steuerungen mit multiplen Eingängen / multiplen Ausgängen implementieren, sowie Techniken zum Erzeugen und Konfigurieren derartiger Steuerungsblöcke. Das
US-Patent Nr. 6,721,609 B1 beschreibt Steuerungsblöcke mit multiplen Eingängen / multiplen Ausgängen, die eine Optimierung von Steuerungslogik implementieren um zu gewährleisten, dass Stellgrößen Einschränkungen nicht überschreiten oder verletzen. Das
US-Patent Nr. 6,901,308 beschreibt Steuerungsblöcke mit multiplen Eingängen / multiplen Ausgängen, die einen Kompensationsblock oder -algorithmus enthalten, um den Ausführungszeitraum des Steuerungsblocks mit multiplen Eingängen / multiplen Ausgängen für verschiedene Betriebsregionen eines Prozesses zu verändern. Der U.S.-Patentantrag Nr. 10/241,350 beschreibt Steuerungsblöcke mit multiplen Eingängen / multiplen Ausgängen, die eine Optimierungsroutine aufweisen, die Betriebsziele für Stellgrößen berechnet. Der U.S.-Patentantrag Nr. 10/454,937 beschreibt Steuerungsblöcke mit multiplen Eingängen / multiplen Ausgängen, die ein lineares Prozessmodell, um den gesteuerten Prozess zu modellieren, sowie ein nicht-lineares Prozessmodell aufweisen, um Korrekturen von Vorhersagen des linearen Prozessmodells zu erzeugen. Dies kann die Steuerung von Prozessen mit nicht-linearen Charakteristiken verbessern.
-
Die hier beschriebenen Steuerungssysteme mit multiplen Eingängen / multiplen Ausgängen, Steuerungsroutinen, Verfahrensblöcke etc. können mittels jeder Kombination von Hardware, Firmware und Software implementiert werden. Die hierin beschriebenen Systeme und Techniken können mithin in einem Standard-Mehrzweck-Prozessor oder mittels eigens konstruierter Hardware oder Firmware, wie gewünscht, implementiert werden. Die Software kann, wenn in Software implementiert, in jedem computerlesbaren Speicher wie beispielsweise auf Magnetplatte, Laser-Disk oder einem anderen Speichermedium, in einem Arbeitsspeicher oder in einem Nurlesespeicher oder Flash-Memory eines Computers oder Prozessors etc. gespeichert werden. Entsprechend kann die Software einem Anwender oder einem Prozesssteuerungssystem mittels jeder bekannten oder gewünschten Übergabemethode wie beispielsweise auf einer computerlesbaren Diskette oder einem anderen transportablen Computer-Speichermedium oder über Kommunikationsmedien übergeben werden. Kommunikationsmedien beinhalten typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal wie beispielsweise einer Trägerwelle oder einem anderen Transportmedium. Der Begriff „moduliertes Datensignal“ bedeutet ein Signal, bei dem eine oder mehrere seiner Charakteristiken dergestalt eingestellt oder verändert werden, dass Informationen im Signal kodiert werden. Kommunikationsmedien beinhalten beispielsweise, nicht jedoch ausschließlich, verdrahtete Medien wie beispielsweise verdrahtete Netzwerke oder direkt verdrahtete Verbindungen sowie drahtlose Medien wie beispielsweise akustische, Hochfrequenz-, Infrarot- oder andere drahtlose Meaien. Die Software kann mithin einem Anwender oder einem Prozesssteuerungssystem über einen Kommunikationskanal wie beispielsweise eine Telefonleitung, das Internet etc. übermittelt werden (wobei diese als identisch mit der Übermittlung dieser Software über ein transportables Speichermedium bzw. als austauschbar damit betrachtet werden).
-
Während somit die vorliegende Erfindung zwar unter Bezugnahme auf spezifische Beispiele beschrieben wird, die lediglich der Veranschaulichung dienen und diese Erfindung nicht einschränken sollen, ist es jedoch für den technisch Versierten offenkundig, dass Änderungen, Ergänzungen oder Streichungen an den dargestellten Ausführungen vorgenommen werden können, ohne vom Geist und Umfang der Erfindung abzuweichen.