DE10341574A1 - Konfiguration und Betrachtungsanzeige für einen integrierten prädiktiven Modellsteuerungs- und Optimierungsfunktionsblock - Google Patents

Konfiguration und Betrachtungsanzeige für einen integrierten prädiktiven Modellsteuerungs- und Optimierungsfunktionsblock Download PDF

Info

Publication number
DE10341574A1
DE10341574A1 DE10341574A DE10341574A DE10341574A1 DE 10341574 A1 DE10341574 A1 DE 10341574A1 DE 10341574 A DE10341574 A DE 10341574A DE 10341574 A DE10341574 A DE 10341574A DE 10341574 A1 DE10341574 A1 DE 10341574A1
Authority
DE
Germany
Prior art keywords
variables
control
auxiliary
manipulated
routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE10341574A
Other languages
English (en)
Inventor
Dirk Austin Thiele
Terrence L. Round Rock Blevins
Ron Austin Ottenbacher
Wilhelm K. Round Rock Wojsznis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/241,350 external-priority patent/US7376472B2/en
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE10341574A1 publication Critical patent/DE10341574A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/32Automatic controllers electric with inputs from more than one sensing element; with outputs to more than one correcting element
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/041Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a variable is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Programmable Controllers (AREA)

Abstract

Es wird eine Schnittstellen- oder Anzeigeroutine zur Betrachtung und Konfigurierung eines Funktionsblocks bereitgestellt, der eine integrierte Optimierung und Steuerung innerhalb eines Prozesssteuerungssystems ausführt. Die Schnittstellenroutine kann es einem Benutzer ermöglichen, Variable, Werte oder anderen Parameter in Zusammenhang mit der integrierten Optimierung und dem Steuerblock innerhalb des Prozesssteuerungssystems zu betrachten oder zu konfigurieren. Die Schnittstellenroutine kann beispielsweise den aktuellen Betriebszustand des integrierten Funktionsblocks anzeigen, es einem Benutzer ermöglichen, Eingänge und Ausgänge des Funktionsblocks zur Verwendung bei der integrierten Optimierung und Steuerung oder eine bestimmte oder gewünschte Optimierungsfunktion zur Verwendung im Funktionsblock zu wählen etc. Die Schnittstellenroutine kann auch die zu den Optimierer- und Steuerungsabschnitten des integrierten Funktionsblocks gehörigen mehreren Eingangs-/Ausgangskurven auf eine solche Weise anzeigen, dass sich diese Kurven gut betrachten lassen und als Teil des vom integrierten Funktionsblock verwendeten Algorithmus gewählt werden können.

Description

  • ZUGEHÖRIGE ANMELDUNG
  • Die Anmeldung ist ein Weiterbehandlungsantrag und beansprucht die Priorität der U.S.-Anmeldung Nr. 10/241,350 mit dem Titel "Integrated Model Predictive Control and Optimization with a Process Control System", die am 11. September 2002 eingereicht wurde.
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein Prozesssteuerungssysteme und insbesondere die Verwendung einer optimierten prädiktiven Modellsteuerung in einem Prozesssteuerungssystem.
  • BESCHREIBUNG DER ZUGEHÖRIGEN TECHNIK
  • Prozesssteuerungssysteme wie verteilte oder skalierbare Prozesssteuerungssysteme, wie sie in chemischen, Erdöl verarbeitenden oder anderen Prozessen verwendet werden, enthalten typischerweise eine oder mehrere zentrale Prozesssteuerungen, die zum Datenaustausch untereinander, mit mindestens einer Host- oder Operator-Workstation und einem oder mehreren Feldgeräten über analoge, digitale oder kombinierte analog/digitale Busse gekoppelt sind. Die Feldgeräte, die beispielsweise Ventile, Ventilstellungsregler, Schalter und Geber (z.B. Temperatur-, Druck- und Durchflusssensoren) sein können, führen Funktionen innerhalb des Prozesses wie Öffnen oder Schließen von Ventilen aus und messen Prozessparameter. Die Prozesssteuerung erhält Signale, die für die von den Feldgeräten vorgenommenen Messungen charakteristisch sind, und/oder andere Informationen bezüglich der Feldgeräte, verwendet diese Informationen, um eine Steuerroutine zu implementieren und erzeugt dann Steuersignale, die über die Busse an die Feldgeräte geschickt werden, um den Betrieb des Prozesses zu steuern. Informationen von den Feldgeräten und der Steuerung werden typischerweise einer oder mehreren Anwendungen, die von der Operator-Workstation ausgeführt werden, zur Verfügung gestellt, damit ein Operator jede gewünschte Funktion bezüglich des Prozesses ausführen kann, wie z.B. die Betrachtung des aktuellen Prozessstatus, Modifizieren des Prozessbetriebs etc.
  • Prozesssteuerungen sind typischerweise zur Ausführung verschiedener Algorithmen, Unterprogramme oder Regelschleifen (die sämtlich Steuerroutinen sind) für jede aus einer Reihe verschiedener Schleifen programmiert, die für einen Prozess definiert oder in diesem enthalten sind, wie Durchsatz- bzw. Durchflussregelschleifen, Temperaturregelschleifen, Druckregelschleifen etc. Allgemein gesagt enthält jede solche Regelschleife einen oder mehrere Eingangsblöcke wie einen analogen Eingangsfunktionsblock (analog Input – AI), einen Steuerblock mit einem einzigen Ausgang wie einen Proportional-Integral-Differential- (PID) oder Fuzzy Logik-Steuerfunktionsblock und einen Block mit einem einzigen Ausgang wie einen analogen Ausgangsfunktionsblock (analog output – AO). Diese Regelschleifen führen typischerweise eine Steuerung mit einem Eingang/einem Ausgang aus, da der Steuerblock einen einzigen Steuerausgang erzeugt, der zur Steuerung eines einzigen Prozesseingangs dient, wie z.B. einer Ventilstellung etc. In bestimmten Fällen ist jedoch die Verwendung einer Reihe unabhängig arbeitender Regelschleifen mit einem Eingang/einem Ausgang nicht sehr effektiv, da die gesteuerten Prozessvariablen von mehr als einem einzigen Prozesseingang beeinflusst werden und in der Tat jeder Prozesseingang den Status zahlreicher Prozessausgänge beeinflussen kann. Ein Beispiel hierfür könnte ein Prozess sein, bei dem ein Behälter über zwei Einlassleitungen befüllt und über eine einzige Auslassleitung entleert wird, wobei jede Leitung von einem anderen Ventil gesteuert wird, und bei dem die Temperatur, der Druck und der Durchfluss des Behälters so gesteuert werden, dass sie auf oder nahezu auf gewünschten Werten liegen. Wie oben erwähnt kann die Steuerung des Durchflusses, der Temperatur und des Drucks des Behälters mittels einer eigenen Durchfluss-Regelschleife, einer eigenen Temperatur-Regelschleife und einer eigenen Druck-Regelschleife erfolgen. Bei dieser Situation kann jedoch die Operation der Temperatur-Regelschleife bei der Änderung der Einstellung eines der Einlassventile zur Temperaturregelung im Behälter einen Druckanstieg im Behälter verursachen, was beispielsweise die Druck-Regelschleife veranlasst, das Auslassventil zu öffnen, um den Druck zu senken. Diese Aktion kann dann die Durchfluss-Regelschleife veranlassen, eines der Einlassventile zu schließen, wodurch die Temperatur beeinflusst und die Temperatur-Regelschleife zu einer anderen Aktion veranlasst wird. Wie dieses Beispiel zeigt, führen Regelschleifen mit einem einzigen Eingang/einem einzigen Ausgang zu einem unzulässigen Verhalten der Prozessausgänge, wobei die Ausgänge pendeln, ohne jemals einen stationären Zustand zu erreichen.
  • Die prädiktive Modellsteuerung (model predictive control – MPC) oder andere weiterentwickelte Steuerungstypen dienen zur Prozesssteuerung bei solchen Situationen, in denen Änderungen einer bestimmten Prozess-Regelgröße mehr als eine Prozessvariable oder einen Ausgang beeinflussen. Seit den späten 1970er Jahren sind zahlreiche erfolgreiche Implementierungen der prädiktiven Modellsteuerung bekannt geworden und die MPC ist die vorherrschende Form der modernen multivariablen Steuerung in der Prozessindustrie geworden. Des Weiteren ist die MPC-Steuerung in verteilten Steuerungssystemen als Schichtsoftware für verteilte Steuerungssysteme implementiert worden. Die U.S.-Patente Nr. 4,616,308 und 4,349,869 beschreiben allgemein MPC-Steuerungen, die in einem Prozesssteuerungssystem verwendet werden können.
  • Allgemein ausgedrückt handelt es sich bei MPC um eine Steuerungsstrategie mit mehreren Eingängen/mehreren Ausgängen, bei der die Auswirkungen der Änderung jedes Eingangs einer Reihe Prozesseingänge auf jeden Ausgang einer Reihe Prozessausgänge gemessen werden, und diese gemessenen Antworten werden dann zur Erzeugung einer Steuermatrix oder eines Modells des Prozesses verwendet. Das Prozessmodell oder die Steuermatrix (die im Allgemeinen den stationären Betrieb des Prozesses definiert) wird mathematisch invertiert und dann in einer oder als eine Steuerung mit mehreren Eingängen/mehreren Ausgängen zur Steuerung der Prozessausgänge auf Basis der Änderungen der Prozesseingänge verwendet. In manchen Fällen wird das Prozessmodell als eine Prozessausgangs-Antwortkurve (typischerweise eine Stufenantwortkurve) für jeden der Prozesseingänge dargestellt, und diese Kurven können auf Basis pseudozufälliger Stufenänderungen jedes Prozesseingangs erzeugt werden. Diese Antwortkurven können auf bekannte Arten zur Modellierung des Prozesses herangezogen werden. Die prädiktive Modellsteuerung ist im Stand der Technik bekannt, so dass hierin nicht auf Einzelheiten eingegangen wird. Die MPC wird jedoch auf allgemeine Weise von Qin, S. Joe und Thomas A. Badgwell in "An Overwiew of Industrial Model Predictive Control Technology", AIChE Conference, 1996, beschrieben.
  • Die MPC hat sich als sehr wirksame und nützliche Steuerungstechnik erwiesen und wird in Zusammenhang mit der Prozessoptimierung eingesetzt. Zur Optimierung eines die MPC verwendenden Prozesses minimiert oder maximiert ein Optimierer eine oder mehrere von der MPC-Routine bestimmten Prozesseingangsvariablen, so dass der Prozess an einem optimalen Punkt läuft. Obwohl diese Technik rechnerisch möglich ist, ist es erforderlich, die Prozessvariablen auszuwählen, die z.B. den wirtschaftlichen Betrieb des Prozesses stark beeinflussen (z.B. den Prozessdurchsatz oder die Qualität), um den Prozess unter einem wirtschaftlichen Gesichtspunkt zu optimieren. Der Betrieb des Prozesses an einem optimalen Punkt unter finanziellen oder wirtschaftlichen Gesichtspunkten erfordert typischerweise die Steuerung zahlreicher Prozessvariablen in ihrem wechselseitigen Zusammenspiel, nicht nur einfach die einer einzigen Prozessvariablen.
  • Die Optimierung unter Anwendung quadratischer Programmiertechniken oder jüngerer Techniken wie die Verfahren der inneren Punkte ist als eine Lösung für die dynamische Optimierung mit MPC vorgeschlagen worden. Mit diesen Verfahren wird eine Optimierungslösung bestimmt, und der Optimierer stellt eine Steuerung mit Bewegungen in den Steuerausgängen (d.h. den Stellgrößen des Prozesses) bereit, wobei die Prozessdynamik, aktuelle Einschränkungen und Optimierungsziele einbezogen werden. Dieser Ansatz bedeutet jedoch einen enormen Rechenaufwand und ist auf dem derzeitigen technologischen Niveau nicht praktikabel.
  • In den meisten Fällen, in denen die MPC angewendet wird, ist die Anzahl der verfügbaren Stellgrößen innerhalb des Prozesses (d.h. der Steuerausgänge der MPC-Routine) größer als die Anzahl der Regelgrößen des Prozesses (d.h. die Anzahl der Prozessvariablen, die auf einen bestimmten Sollwert eingeregelt werden müssen). Als Ergebnis gibt es normalerweise mehr Freiheitsgrade für die Optimierung und die Handhabung der Einschränkungen. Zur Durchführung einer solchen Optimierung sollten Werte, die durch Prozessvariable, Einschränkungen, Grenzen und wirtschaftliche Faktoren, die einen optimalen Betriebspunkt des Prozesses definieren, ausgedrückt werden, berechnet werden. In vielen Fällen sind diese Prozessvariablen eingeschränkte Variablen, da ihre Grenzen mit den physikalischen Eigenschaften des Prozesses in Beziehung stehen, dem sie zugeordnet sind und in dem diese Variablen eingehalten werden müssen. Zum Beispiel ist eine die Behälterfüllstandshöhe repräsentierende Prozessvariable durch die maximalen und minimalen Pegel des tatsächlichen Behälters begrenzt, die physikalisch möglich sind. Eine Optimierungsfunktion kann die Kosten und/oder Gewinne für jede der eingeschränkten oder Hilfsvariablen für den Betrieb auf einem Pegel berechnen, bei dem der Gewinn maximiert, die Kosten minimiert etc. sind. Messungen dieser Hilfsvariablen können dann der MPC-Routine zur Verfügung gestellt und von dieser als Regelgrößen mit einem Sollwert gleich dem Betriebspunkt für die durch die Optimierungsroutine definierte Hilfsvariable behandelt werden.
  • Die MPC liefert die von der Anwendung häufig geforderte beste Leistung nur bei der quadratischen Steuerung, bei der die Anzahl der Steuereingänge in den Prozess (d.h. die von der Steuerroutine entwickelten Stellgrößen) gleich ist der Anzahl gesteuerter Prozessvariabler (d.h. die Eingänge in die Steuerung). In den meisten Fällen ist jedoch die Anzahl der Hilfs-Einschränkungsvariablen plus die Anzahl der Prozessregelgrößen größer als die Anzahl der Stellgrößen. Die Implementierung der MPC für solche nicht quadratische Konfigurationen führt zu einer nicht akzeptablen schlechten Leistung.
  • Es ist bekannt, dass Andere versucht haben, dieses Problem zu überwinden, indem dynamisch eine Menge Regelgrößen und Einschränkungsvariablen gleich der Anzahl Stellgrößen gewählt und die Steuerung online während des Prozessbetriebs erzeugt wird, um die nächsten Bewegungen der Stellgrößen zu bestimmen. Diese Technik ist jedoch rechnerisch teuer, da sie eine Matrixinversion anwendet und in manchen Fällen nicht eingesetzt werden kann, wie dann, wenn die MPC als Funktionsblock in einer Prozesssteuerung implementiert ist. Von gleicher Bedeutung ist, dass manche Kombinationen aus Ein- und Ausgängen der erzeugten Steuerung in einer schlecht konditionierten Steuerung resultieren können, was zu einem nicht akzeptablen Betrieb führt. Obwohl die Konditionierung der Steuerung überprüft und verbessert werden kann, wenn die Steuerungskonfiguration offline gesetzt wird, stellt diese Aufgabe im Online-Betrieb eine übermäßige Belastung dar und kann auf Steuerungsebene praktisch unmöglich implementiert werden.
  • Es wird eine Schnittstellen- oder Anzeigeroutine zur Anwendung bei der Betrachtung und Konfigurierung eines Funktionsblocks bereitgestellt, die eine integrierte Optimierung und Steuerung innerhalb eines Prozesssteuerungssystems ausführt. Die Schnittstellenroutine kann es einem Benutzer ermöglichen, Variablen, Werte oder andere Parameter in Zusammenhang mit dem integrierten Optimierungs- und Steuerblock innerhalb des Prozesssteuerungssystems zu betrachten oder zu konfigurieren. Die Schnittstellenroutine kann beispielsweise den aktuellen Betriebszustand des integrierten Funktionsblocks anzeigen, es einem Benutzer ermöglichen, Eingänge und Ausgänge des Funktionsblocks für die Bereitstellung der integrierten Optimierung und Steuerung, eine bestimmte oder gewünschte Optimierungsfunktion zur Verwendung im Funktionsblock zu wählen etc. Die Schnittstellenroutine kann auch die zum Optimierer und den Steuerungsabschnitten des integrierten Funktionsblocks gehörigen mehreren Eingangs-/Ausgangskurven auf eine solche Weise anzeigen, dass die Betrachtung und die Auswahl dieser Kurven als Teil des vom integrierten Funktionsblock verwendeten Algorithmus vereinfacht wird.
  • Bei einer Ausführungsform enthält ein Prozesssteuerungs-Konfigurationssystem für die Verwendung bei der Erzeugung oder Betrachtung eines Steuerblocks mit einem integrierten Optimierer und einer Steuerroutine mit mehreren Ein- und Ausgängen ein computerlesbares Medium und eine auf dem computerlesbaren Medium für die Ausführung auf einem Prozessor gespeicherte Konfigurationsroutine, wobei die Konfigurationsroutine eine Speicherungsroutine enthält, die Informationen bezüglich einer Vielzahl Regelgrößen und Hilfsvariablen sowie einer Vielzahl Stellgrößen speichert, die entweder vom Optimierer oder der Steuerroutine mit mehreren Ein- und Ausgängen oder von beiden verwendet werden. Das Prozesssteuerungs-Konfigurationssystem enthält außerdem eine Anzeigeroutine, die einem Benutzer eine Anzeige bezüglich eines oder mehrerer der Regelgrößen, Hilfsvariablen und Stellgrößen präsentiert.
  • Falls gewünscht, wird die Speicherungsroutine so angepasst, dass sie eine Vielzahl Antwortkurven speichert, wobei jede Antwortkurve die Antwort einer der Regelgrößen und Hilfsvariablen auf eine der Stellgrößen definiert, und die Anzeigeroutine ist für die Präsentation einer Teilmenge der von einem Benutzer zu betrachtenden Antwortkurven ausgeführt, wobei die Teilmenge der Antwortkurven die Antwort jeder der Regelgrößen und Hilfsvariablen auf eine der Stellgrößen enthält. Falls gewünscht, kann die Konfigurationsroutine eine Routine enthalten, die es einem Benutzer ermöglicht, eine der Regelgrößen und Hilfsvariablen als die beste Antwort auf eine der Stellgrößen auf der Anzeige zu wählen, sowie eine Routine, mit der der Benutzer Antwortkurven für Variable innerhalb des Steuerblocks ausschneiden und kopieren kann.
  • 1 ist ein Blockdiagramm eines Prozesssteuerungssystems, das ein Steuermodul mit einem weiterentwickelten Steuerungsfunktionsblock enthält, in dem ein Optimierer mit einer MPC-Steuerung integriert ist;
  • 2 ist ein Blockschaltbild des weiterentwickelten Steuerungsfunktionsblocks von 1 mit einem integrierten Optimierer und einer integrierten MPC-Steuerung;
  • 3 ist ein Flussdiagramm, das verdeutlicht, wie der integrierte Optimierer und der MPC-Steuerungsfunktionsblock von 2 erzeugt werden;
  • 4 ist ein Flussdiagramm, das die Funktionsweise des integrierten Optimierers und der MPC-Steuerung von 2 während des Online-Prozessbetriebs veranschaulicht;
  • 5 ist eine Bildschirmanzeige einer Konfigurationsroutine, die einen weiterentwickelten Steuerblock innerhalb eines die Prozesssteuerung ausführenden Steuermoduls darstellt;
  • 6 ist eine Bildschirmanzeige einer Konfigurationsroutine, die ein Dialogfeld zeigt, in dem die Eigenschaften des weiterentwickelten Steuerblocks von 5 dargestellt sind;
  • 7 ist eine Bildschirmanzeige einer Konfigurationsroutine, die veranschaulicht, wie die in 5 dargestellten Eingänge in einen und Ausgänge aus einem weiterentwickelten Steuerfunktionsfunktionsblock ausgewählt oder vorgegeben werden;
  • 8 ist eine von einer Konfigurationsroutine gelieferte Bildschirmanzeige, die es einem Benutzer oder Operator ermöglicht, eine Zielfunktion aus einer Menge Zielfunktionen für die Erzeugung eines weiterentwickelten Steuerblocks zu wählen;
  • 9 ist eine Bildschirmanzeige eines Testbildschirms, in dem ein Benutzer die Erprobung und Erzeugung eines Prozessmodells während der Erzeugung eines weiterentwickelten Steuerblocks durchführen kann;
  • 10 ist eine Bildschirmanzeige einer Konfigurationsroutine, die eine Reihe von Stufenantworten zeigt, die die Antwort verschiedener Regelgrößen und Hilfsvariablen auf eine bestimmte Stellgröße darstellt;
  • 11 ist eine Bildschirmanzeige einer Konfigurationsroutine, die eine Möglichkeit der Wahl einer der Regelgrößen oder Hilfsvariablen von 9 als vorrangig zur Stellgröße gehörig darstellt;
  • 12 ist eine Bildschirmanzeige einer Konfigurationsroutine, die eine Reihe von Stufenantworten zeigt, die die Antwort derselben Regelgrößen oder Hilfsvariablen auf verschiedene Stellgrößen darstellt;
  • 13 ist eine Bildschirmanzeige, die veranschaulicht, wie eine der Stufenantworten eines Modells zur Verwendung in einem anderen Modell zu kopieren ist;
  • 14 ist eine Bildschirmanzeige, die eine Möglichkeit der Betrachtung und Änderung einer Stufenantwortkurve darstellt;
  • 15 ist eine Bildschirmanzeige eines Dialogbildschirms, der dem Operator während des Betriebs des weiterentwickelten Steuerblocks Informationen liefert; und
  • 16 ist eine Bildschirmanzeige eines Diagnosebildschirms, der einem Benutzer oder Operator zur Durchführung der Diagnose eines weiterentwickelten Steuerblocks präsentiert werden kann.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Wie aus der 1 zu ersehen ist, enthält ein Prozesssteuerungssystem 10 eine Prozesssteuerung 11, die im Datenaustausch mit einem chronologischen Datensammler (Data Historian) 12 und mit einer oder mehreren Host-Workstations oder Computern 13 (bei denen es sich um jeden Typ Personal Computer, Workstation etc. handeln kann), die jeweils einen Anzeigebildschirm 14 haben, verbunden ist. Die Steuerung 11 ist außerdem über Eingabe-/Ausgabe-(I/O)-Karten 26 und 28 mit Feldgeräten 15 bis 22 verbunden. Der Data Historian 12 kann jede gewünschte Art von Datenerfassungseinheit mit jedem gewünschten Speichertyp und jeder gewünschten oder bekannten Software, Hardware oder Firmware zur Datenspeicherung und kann getrennt von den Workstations 13 angeordnet (wie in 1 dargestellt) oder ein Teil derselben sein. Die Steuerung 11, die beispielsweise die von Fisher-Rosemount Systems, Inc., vertriebene DeltaVTM-Steuerung sein kann, ist im Datenaustausch mit den Host-Computern 13 und dem Data Historian 12 über z.B. eine Ethernet-Verbindung oder jedes andere gewünschte Kommunikationsnetz 29 verbunden. Das Kommunikationsnetz 29 kann die Form eines lokalen Netzes (local area network – LAN), eines Weltverkehrsnetzes (wide area network – WAN), eines Telekommunikationsnetzes etc. haben und mittels Festverdrahtungs- oder drahtloser Technologie implementiert werden. Die Steuerung 11 ist im Datenaustausch mit den Feldgeräten 15 bis 22 unter Verwendung jeder gewünschten Hardware und Software in Zusammenhang mit z.B. 4 – 20 mA-Standard-Geräten und/oder jedem intelligenten Kommunikationsprotokoll wie dem FOUNDATION Fieldbus-Protokoll (Fieldbus), dem HART-Protokoll etc. verbunden.
  • Bei den Feldgeräten 15 bis 22 kann es sich um beliebige Gerätetypen handeln, wie z.B. Sensoren, Ventile, Sender, Stellungsregler etc., während die I/O-Karten 26 und 28 beliebige Typen Ein-/Ausgabegeräte sein können, die jedem gewünschten Kommunikations- oder Steuerungsprotokoll entsprechen. Bei der in 1 dargestellten Ausführungsform sind die Feldgeräte 15 bis 18 4 – 20 mA-Standard-Geräte, die über analoge Leitungen mit der I/O-Karte 26 kommunizieren, während es sich bei den Feldgeräten 19 bis 22 um intelligente Geräte handelt, die über einen digitalen Bus mit der I/O-Karte 28 mittels Fieldbus-Protokollkommunikation kommunizieren. Natürlich könnten die Feldgeräte 15 bis 22 jedem anderen Standard oder Protokoll, einschließlich Standards oder Protokolle, die in Zukunft entwickelt werden, entsprechen.
  • Die Steuerung 11, die eine von zahlreichen verteilten Steuerungen in der Anlage 10 sein kann und mit mindestens einem Prozessor ausgerüstet ist, implementiert oder überwacht eine oder mehrere Prozesssteuerroutinen, die darin gespeicherte oder anderweitig damit zusammenhängende Regelschleifen enthalten können. Die Steuerung 11 kommuniziert auch mit den Geräten 15 bis 22, den Host-Computern 13 und dem Data Historian 12, um einen Prozess auf jede gewünschte Weise zu steuern. Es ist zu beachten, dass von allen hierin beschriebenen Steuerroutinen oder Elementen Teile davon von verschiedenen Steuerungen oder anderen Geräten ausgeführt werden können, wenn dies so gewünscht wird. Ebenso können die hierin beschriebenen im Prozesssteuerungssystem 10 zu implementierenden Steuerroutinen oder Elemente jede Form haben, einschließlich Software, Firmware, Hardware etc. Im Rahmen dieser Beschreibung kann ein Prozessteuerelement jeder Teil oder Abschnitt eines Prozesssteuerungssystems sein, einschließlich z.B. eine Routine, ein Block oder ein Modul, der auf jedem computerlesbaren Medium gespeichert ist. Steuerroutinen, die die Module oder ein beliebiger Teil einer Steuerprozedur wie eine Subroutine, Teile einer Subroutine (z.B. Zeilen eines Codes) etc. sein können, können in jedem gewünschten Software-Format implementiert werden, z.B. unter Verwendung der Leiterlogik, von Funktionsablaufdiagrammen, Funktionsblockdiagrammen, objektorientierter Programmierung oder jeder anderen Software-Programmiersprache oder jedes Entwurfsparadigmas. Ebenso können die Steuerroutinen z.B. in einen oder mehrere EPROM's, EEPROM's, anwendungsspezifische integrierte Schaltungen (application specific integrated circuits – ASIC's) oder jedes andere Hardware- oder Firmware-Element fest codiert werden. Und schließlich können die Steuerroutinen unter Verwendung beliebiger Entwurfswerkzeuge, einschließlich grafische Entwurfswerkzeuge oder andere Typen von Software-/Hardware-/Firmware-Programmierungs- oder Entwurfswerkzeugen konzipiert werden. Die Steuerung 11 kann also so konfiguriert werden, dass sie eine Steuerstrategie oder Steuerroutine auf jede gewünschte Weise implementiert.
  • Bei einer Ausführungsform implementiert die Steuerung 11 eine Steuerstrategie, indem sie so genannte Funktionsblöcke verwendet, wobei jeder Funktionsblock ein Teil oder Objekt einer Gesamtsteuerroutine ist und mit den anderen Funktionsblöcken (über Verbindungen, die als Verknüpfungen bzw. Links bezeichnet werden) zusammenarbeitet, um Prozessregelschleifen innerhalb des Prozesssteuerungssystems 10 zu implementieren. Funktionsblöcke führen typischerweise entweder eine Eingangsfunktion wie die in Zusammenhang mit einem Sender, einem Sensor oder einem anderen Messgerät für einen Prozessparameter, eine Steuerfunktion wie die in Zusammenhang mit einer Steuerroutine, die PID-, Fuzzy-Logik- und ähnliche Steueroperationen ausführt, oder eine Ausgangsfunktion aus, die den Betrieb eines Geräts z.B. eines Ventils steuert, um eine physikalische Funktion innerhalb des Prozesssteuerungssystems auszuführen. Natürlich gibt es auch hybride und andere Typen von Funktionsblöcken. Funktionsblöcke können in der Steuerung 11 gespeichert und von dieser ausgeführt werden, was typischerweise der Fall ist, wenn diese Funktionsblöcke für 4 – 20 mA-Standardgeräte und manche Typen intelligenter Feldgeräte wie die HART-Geräte verwendet werden oder mit diesen in Beziehung stehen, oder sie in den Feldgeräte selbst gespeichert und von diesen implementiert werden, was bei Fieldbus-Geräten der Fall sein kann. Obwohl die vorliegende Beschreibung des Steuerungssystems die Verwendung einer Funktionsblock-Steuerstrategie vorsieht, die ein objektorientiertes Programmierungsparadigma verwendet, könnten die Steuerstrategie oder die Regelschleifen oder Module auch unter Verwendung anderer Konventionen wie der Leiterlogik, der Funktionsablaufdiagramme etc. oder einer anderen gewünschten Programmiersprache oder eines anderen Paradigmas implementiert oder entworfen werden.
  • Wie durch den vergrößerten Block 30 in 1 dargestellt kann die Steuerung 11 eine Reihe Steuerroutinen mit einer Schleife, die als Routinen 32 und 34 gekennzeichnet sind, enthalten und eine oder mehrere weiterentwickelte Schleifen implementieren, die als Regelschleife 36 gekennzeichnet sind. Jede solcher Schleifen wird typischerweise als Steuermodul bezeichnet. Wie dargestellt führen die Steuerroutinen 32 und 34 mit einer Schleife eine Ein-Schleifen-Regelung unter Verwendung eines Fuzzy-Logik-Steuerblocks mit einem Eingang/einem Ausgang bzw. eines PID-Steuerblocks mit einem Eingang/einem Ausgang aus, der mit entsprechenden analogen Eingangs- (analog Input – AI)- und analogen Ausgangsanalog Output – AO)-Funktionsblöcken verbunden ist, die Prozesssteuergeräten wie Ventilen, Messgeräten wie Temperatur- und Druckgebers oder jedem anderen Gerät im Prozesssteuerungssystem 10 zugeordnet sein können. Wie dargestellt enthält die weiterentwickelte Regelschleife 36 einen weiterentwickelten Steuerblock 38, dessen Eingänge im Datenaustausch mit zahlreichen AI-Funktionsblöcken und dessen Ausgänge im Datenaustausch mit zahlreichen AO-Funktionsblöcken verbunden sind, obwohl die Eingänge und Ausgänge des weiterentwickelten Steuerblocks 38 auch im Datenaustausch mit anderen gewünschten Funktionsblöcken oder Steuerelementen verbunden sein können, um andere Eingangstypen zu erhalten und andere Ausgangstypen bereitzustellen. Wie weiter beschrieben wird, kann der weiterentwickelte Steuerblock 38 ein Steuerblock sein, der eine prädiktive Modellsteuerroutine mit einem Optimierer integriert, um eine optimierte Steuerung des Prozesses oder eines Prozessabschnitts auszuführen. Der weiterentwickelte Steuerblock 38 wird hierin zwar als ein eine prädiktive Modellsteuerung (MPC) enthaltender Block beschrieben, er könnte jedoch jede andere Steuerroutine oder -prozedur mit mehreren Eingängen/mehreren Ausgängen enthalten, wie z.B. eine Modellier- oder Steuerroutine für ein neuronales Netz, eine multivariable Fuzzy-Logik-Steuerroutine etc. Es versteht sich, dass die in 1 dargestellten Funktionsblöcke, einschließlich des weiterentwickelten Steuerblocks 38, von der Steuerung 11 ausgeführt werden können, oder alternativ in jedem anderen Verarbeitungsgerät angeordnet und von diesem ausgeführt werden können, wie z.B. in einer der Workstations 13 oder sogar in einem der Feldgeräte 19 bis 22.
  • Wie in der 1 dargestellt enthält eine der Workstations 13 eine weiterentwickelte Steuerblock-Erzeugungsroutine 40, die zum Erzeugen, Herunterladen und Implementieren des weiterentwickelten Steuerblocks 38 dient. Obwohl die weiterentwickelte Steuerblock-Erzeugungsroutine 40 in einem Speicher in der Workstation 13 gespeichert und von einem darin befindlichen Prozessor ausgeführt werden kann, kann diese Routine (oder ein beliebiger Teil derselben) zusätzlich oder alternativ in jedem anderen Gerät innerhalb des Prozesssteuerungssystems 10 gespeichert und ausgeführt werden, sofern dies gewünscht wird. Allgemein gesagt, enthält die weiterentwickelte Steuerblock-Erzeugungsroutine 40 eine Steuerblock-Erzeugungsroutine 42, die einen weiterentwickelten Steuerblock erzeugt, wie hierin weiter beschrieben wird, und die diesen weiterentwickelten Steuerblock in das Prozesssteuerungssystem einschaltet, eine Prozessmodellierungsroutine 44, die ein Prozessmodell für den Prozess oder einen Abschnitt davon auf Basis der vom weiterentwickelten Steuerblock erfassten Daten erzeugt, eine Steuerlogik-Parametererzeugungsroutine 46, die Steuerlogikparameter für den weiterentwickelten Steuerblock vom Prozessmodell erzeugt und diese Steuerlogikparameter speichert oder in den weiterentwickelten Steuerblock zur Verwendung in der Prozesssteuerung herunterlädt, und eine Optimierungsroutine 48, die einen Optimierer zur Verwendung mit dem weiterentwickelten Steuerblock erzeugt. Es versteht sich, dass die Routinen 42, 44, 46 und 48 aus einer Reihe verschiedener Routinen aufgebaut werden können, z.B. aus einer ersten Routine, die ein weiterentwickeltes Steuerelement mit Steuereingängen für den Empfang der Prozessausgänge und mit Steuerausgängen für die Bereitstellung von Steuersignalen an die Prozesseingänge erzeugt, einer zweiten Routine, die es einem Benutzer ermöglicht, das weiterentwickelte Steuerelement herunterzuladen und im Datenaustausch mit der Prozesssteuerroutine zu verbinden (bei der es sich um jede gewünschte Konfigurationsroutine handeln kann), einer dritten Routine, die das weiterentwickelte Steuerelement zur Lieferung von Erregungswellenformen an jeden der Prozesseingänge verwendet, einer vierten Routine, die das weiterentwickelte Steuerelement zur Erfassung von Daten verwendet, die die Antwort jedes der Prozessausgänge auf die Erregungswellenformen wiedergeben, einer fünften Routine, die für den weiterentwickelten Steuerblock eine Menge Eingänge wählt, oder dem Benutzer die Wahl einer Menge Eingänge gestattet, einer sechsten Routine, die ein Prozessmodell erzeugt, einer siebten Routine, die weiterentwickelte Steuerlogikparameter aus dem Prozessmodel entwickelt, einer achten Routine, die die weiterentwickelte Steuerlogik und erforderlichenfalls das Prozessmodell in das weiterentwickelte Steuerelement legt, um es diesem zu ermöglichen, den Prozess zu steuern, und einer neunten Routine, die einen Optimierer wählt, oder dem Benutzer die Wahl eines Optimierers zur Verwendung im weiterentwickelten Steuerblock 38 gestattet.
  • 2 zeigt ein detaillierteres Blockschaltbild einer Ausführungsform des weiterentwickelten Steuerblocks 38, der im Datenaustausch mit einem Prozess 50 gekoppelt ist, wobei es sich versteht, dass der weiterentwickelte Steuerblock 38 eine Menge Stellgrößen (manipulated variables) MV erzeugt, die an andere Funktionsblöcke geliefert werden, die ihrerseits mit Steuereingängen des Prozesses 50 verbunden sind. Wie in der 2 dargestellt enthält der weiterentwickelte Steuerblock 38 einen MPC-Steuerungsblock 52, einen Optimierer 54, einen Zielkonvertierungsblock 55, ein Stufenantwortmodell oder eine Steuermatrix 56 und einen Eingangsverarbeitungs-/Filterblock 58. Die MPC-Steuerung 52 kann jede Standard M2- (wobei M jede Zahl größer eins sein kann) MPC-Routine oder -Prozedur sein, deren Anzahl der Eingänge gleich ist der Anzahl der Ausgänge. Die MPC-Steuerung 52 erhält als Eingänge eine Menge aus N Regelgrößen und Hilfsvariablen CV und AV (die Vektoren von Werten sind), die innerhalb des Prozesses 50 gemessen werden, eine Menge Störgrößen DV, bei denen es sich um bekannte oder erwartete Änderungen oder Störungen des Prozesses in einem künftigen Zeitpunkt handelt, und eine Menge stationärer Zielsteuer- und Hilfsvariablen CVT und AVT, die vom Zielkonvertierungsblock 55 geliefert werden. Die MPC-Steuerung 52 verwendet diese Eingänge, um eine Menge M Stellgrößen MV (in der Form von Steuersignalen) zu erzeugen und setzt die Stellgrößen MV-Signale zur Steuerung des Prozesses 50 ab.
  • Ferner berechnet die MPC-Steuerung 52 eine Menge prädizierter stationärer Regelgrößen CVSS und Hilfsvariablen AVSS zusammen mit einer Menge prädizierter stationärer Stellgrößen MVSS, die die prädizierten Werte der Regelgrößen CV, der Hilfsvariablen AV bzw. der Stellgrößen MV am Steuerhorizont repräsentieren, und übergibt sie dem Eingangsverarbeitungs-/Filterblock 58. Der Eingangsverarbeitungs-/Filterblock 58 verarbeitet die ermittelten prädizierten stationären Werte der Regelgrößen, Hilfsvariablen und Stellgrößen CVSS, AVSS und MVSS, um die Einflüsse von Rauschen und nicht prädizierter Störungen auf diese Variablen zu verringern. Es versteht sich, dass der Eingangsverarbeitungs-/Filterblock 58 ein Tiefpassfilter oder andere Eingangsverarbeitungsmittel enthalten kann, die die Einflüsse von Rauschen, Modellierungsfehlern und Störungen auf diese Werte verringern und die gefilterten Regelgrößen, Hilfsvariablen und Stellgrößen CVSSfil, AVSSfil und MVSSfil an den Optimierer 54 liefern.
  • Der Optimierer 54 ist in diesem Beispiel ein Optimierer mit linearer Programmierung (LP), die eine Zielfunktion (objective function – OF) verwendet, die von einem Auswahlblock 62 zur Ausführung der Prozessoptimierung bereitgestellt werden kann. Alternativ könnte der Optimierer 54 ein Optimierer mit quadratischer Programmierung sein, bei dem es sich um einen Optimierer mit einem linearen Modell und einer quadratischen Zielfunktion handelt. Allgemein gesagt, gibt die Zielfunktion OF Kosten oder Gewinne in Zusammenhang mit jeder aus einer Reihe Steuergrößen, Hilfsvariablen und Stellgrößen an und der Optimierer 54 setzt Zielwerte für diese Variablen, indem er die Zielfunktion maximiert oder minimiert. Der Auswahlblock 62 kann die dem Optimierer 54 übergebene Zielfunktion OF als eine Funktion aus einer Menge vorgespeicherter Zielfunktionen 64 wählen, die verschiedene Arten der optimalen Operation des Prozesses 50 mathematisch repräsentieren. So kann beispielsweise eine der vorgespeicherten Zielfunktionen 64 zur Maximierung des Gewinns der Anlage, eine andere der Zielfunktionen zur Minimierung der Verwendung eines bestimmten knappen Rohmaterials konfiguriert sein, während wieder eine andere der Zielfunktionen 64 zur Maximierung der Qualität des im Prozess 50 hergestellten Produkts konfiguriert sein kann. Allgemein gesagt, verwendet die Zielfunktion die zu jeder Bewegung einer Regelgröße, Hilfsvariablen oder Stellgröße gehörigen Kosten oder Gewinne, um den optimalsten Betriebspunkt in einer Menge akzeptabler Punkte zu bestimmen, wie sie von den Sollwerten oder Sollwertbereichen der Regelgrößen CV und den Grenzwerten der Hilfsvariablen und Stellgrößen AV und MV definiert werden. Natürlich kann anstelle oder zusätzlich zu den hierin beschriebenen Zielfunktionen jede gewünschte Zielfunktion verwendet werden, einschließlich solcher Zielfunktionen, die jeden Aspekt einer Reihe Aspekte in einem gewissen Maß optimieren wie etwa die Verwendung eines Rohmaterials, die Rentabilität etc.
  • Zur Wahl einer der Zielfunktionen 64 kann ein Benutzer oder Operator eine Anzeige der zu verwendenden Zielfunktion 64 bereitstellen, indem er die betreffende Zielfunktion auf einem Operator- oder Benutzer-Endgerät (wie eine der Workstations 13 in 1) wählt, wobei diese Wahl über einen Eingang in den Auswahlblock 62 erfolgt. Als Antwort auf den Eingang 66 stellt der Auswahlblock 62 die gewählte Zielfunktion OF dem Optimierer 54 zur Verfügung. Natürlich kann der Benutzer oder Operator die verwendete Zielfunktion während des Prozessbetriebs ändern. Falls gewünscht, kann eine voreingestellte Zielfunktion in den Fällen verwendet werden, in denen der Benutzer keine Zielfunktion bereitstellt oder auswählt. Eine mögliche voreingestellte Zielfunktion wird nachstehend ausführlicher erörtert. Obwohl die Zielfunktionen als Bestandteil des weiterentwickelten Steuerblocks 38 dargestellt sind, können die verschiedenen Zielfunktionen im Operator-Endgerät 13 von 1 gespeichert werden, und eine dieser Zielfunktionen kann dem weiterentwickelten Steuerblock 38 während der Erzeugung oder Generierung dieses Blocks zu Verfügung gestellt werden.
  • Zusätzlich zur Zielfunktion OF erhält der Optimierer 54 als Eingänge eine Menge Regelgrößen-Sollwerte (die typischerweise vom Operator vorgegebene Sollwerte für die Regelgrößen CV des Prozesses 50 sind und vom Operator oder einem anderen Benutzer geändert werden können) sowie einen Bereich und eine Gewichtung oder Priorität für jede der Regelgrößen CV. Der Optimierer 54 erhält ferner eine Menge Bereiche oder Einschränkungsgrenzen sowie eine Menge Gewichtungen oder Prioritäten für die Hilfsvariablen AV und eine Menge Grenzwerte für die Stellgrößen MV, die zur Steuerung des Prozesses 50 verwendet werden. Allgemein gesagt definieren die Bereiche für die Hilfsvariablen und Stellgrößen die Grenzwerte (typischerweise auf Basis der physikalischen Eigenschaften der Anlage) für die Hilfsvariablen und die Stellgrößen, während die Bereiche für die Regelgrößen einen Bereich vorgeben, in dem sich die Regelgrößen zur einwandfreien Steuerung des Prozesses bewegen können. Die Gewichtungen für die Regelgrößen und Hilfsvariablen geben die relative Bedeutung der Regelgrößen und der Hilfsvariablen untereinander während des Optimierungsprozesses vor und können unter gewissen Umständen dazu verwendet werden, den Optimierer 54 in die Lage zu versetzen, eine Steuerziellösung zu erzeugen, wenn einige der Einschränkungen verletzt werden.
  • Während des Betriebs kann der Optimierer 54 eine lineare Programmiertechnik (LP) für die Optimierung verwenden. Bekanntlich handelt es sich bei der linearen Programmierung um eine mathematische Technik zur Lösung einer Menge linearer Gleichungen und Ungleichungen, die eine bestimmte zusätzliche als Zielfunktion bezeichnete Funktion maximiert oder minimiert. Wie oben erörtert kann die Zielfunktion einen wirtschaftlichen Wert wie Kosten oder Gewinn ausdrücken, aber statt dessen auch andere Ziele. Wie weiterhin bekannt ist, definiert die stationäre Gain-Matrix den stationären Gain für jedes mögliche Paar Stellgrößen und Regelgrößen oder Hilfsvariablen. Mit anderen Worten, die stationäre Gain-Matrix definiert den stationären Gain jeder Regelgröße und Hilfsvariablen für eine Änderung um eine Einheit jeder der Stell- und Störgrößen. Die stationäre Gain-Matrix ist im Allgemeinen eine N × M-Matrix, wobei N die Anzahl der Regelgrößen und Hilfsvariablen und M die Anzahl der Stellgrößen ist, die in der Optimiererroutine verwendet werden. Grundsätzlich kann N größer als, gleich oder kleiner als M sein, wobei der häufigste Fall ist, dass N größer als M ist.
  • Unter Verwendung eines bekannten oder Standard-LP-Algorithmus oder einer bekannten LP-Technik iteriert der Optimierer 54, um die Menge der Ziel-Stellgrößen MWT (wie aus der stationären Gain-Matrix bestimmt) zu bestimmen, die die gewählte Zielfunktion OF maximieren oder minimieren, was in einem Prozessbetrieb resultiert, der die Sollwert-Bereichsgrenzen der Steuergrößen CV, die Einschränkungsgrenzen der Hilfsvariablen AV und die Grenzen der Stellgrößen MV einhält bzw. in diese fällt. Bei einer Ausführungsform bestimmt der Optimierer 54 tatsächlich die Änderungen der Stellgrößen und nutzt die Angabe der prädizierten stationären Regelgrößen, Hilfsvariablen und Stellgrößen CVSSfil, AVSSfil und MVSSfil, um die Änderungen des Prozessbetriebs gegenüber seinem aktuellen Betrieb zu bestimmen, d.h., um den dynamischen Betrieb der MPC-Steuerroutine während des Prozesses bis zum Erreichen des Ziels oder des optimalen Prozessbetriebspunktes zu bestimmen. Dieser dynamische Betrieb ist wichtig, da sichergestellt werden muss, dass keine der Einschränkungsgrenzen während der Bewegung vom aktuellen Betriebspunkt zum Ziel-Betriebspunkt verletzt wird.
  • Bei einer Ausführungsform kann der LP-Optimierer 54 zur Minimierung einer Zielfunktion der nachstehenden Form konzipiert sein: Q = Pt * A * ΔMV + Ct ΔMV;dabei:
    Q = Gesamtkosten/-gewinn
    P = den AV's und CV's zugeordneter Gewinnvektor
    A = Gain-Matrix
    ΔMV = Vektor für die berechnete Änderung der MV's.
  • Die Gewinnwerte sind positive und die Kostenwerte negative Zahlen, um ihren Einfluss auf das Ziel zu kennzeichnen. Unter Verwendung dieser Zielfunktion berechnet der LP-Optimierer 54 die Änderungen der Stellgrößen MV, die die Zielfunktion minimieren, während sichergestellt wird, dass die Regelgrößen CV innerhalb eines Bereichs ihres Ziel-Sollwerts bleiben, dass die Hilfsvariablen AV innerhalb ihrer oberen und unteren Einschränkungsgrenzen und die Stellgrößen MV innerhalb ihrer oberen und unteren Grenzen liegen.
  • Bei einer möglichen Optimierungsprozedur werden inkrementelle Werte der Stellgrößen in der aktuellen Zeit (t) und eine Summe aus Inkrementen der Stellgrößen wird über den Steuerhorizont verwendet, wobei inkrementelle Werte der Regelgrößen und Hilfsvariablen am Ende des Prädiktionshorizontes anstelle der aktuellen Positionswerte bestimmt werden, wie dies für LP-Anwendungen typisch ist. Natürlich kann der LP-Algorithmus für diese Variation geeignet modifiziert werden. In jedem Fall kann der Optimierer 54 ein stationäres Modell verwenden und als Ergebnis ist für seine Anwendung ein stationärer Zustand erforderlich. Bei einem Prädiktionshorizont, wie er normalerweise für den MPC-Entwurf verwendet wird, ist der künftige stationäre Zustand für einen selbstregelnden Prozess garantiert. Eine mögliche prädizierte Gleichung eines stationären Prozesses für einen m × n-Eingangs-/Ausgangsprozess mit einem Prädiktionshorizont p, einem Steuerhorizont c, ausgedrückt in der inkrementellen Form lautet: ΔCV(t + p) = A * Δ MV(t + c);wobei
    Figure 00200001
  • Der Vektor ΔMV(t + c) repräsentiert die Summe der Änderungen, die von jedem Steuerungsausgang mvi über den Steuerhorizont vorgenommen wurden, so dass
    Figure 00200002
  • Die Änderungen sollten die Grenzen sowohl der Stellgrößen MV als auch der Steuergrößen CV erfüllen (hier werden die Hilfsvariablen als Steuergrößen behandelt): MVmin ≤ MVaktuell + ΔMV(t + C) ≤ MVmax; CVmin ≤ CVprädiziert + ΔCV(t + p) ≤ CVmax;
  • In diesem Fall kann die Zielfunktion für die gemeinsame Maximierung des Produktwertes und die Minimierung der Rohmaterialkosten definiert werden als:
    Figure 00210001
    dabei sind
    UCV der Kostenvektor für eine Einheitsänderung des Prozesswertes der Regelgrößen CV; und
    UMV der Kostenvektor für eine Einheitsänderung des Prozesswertes der Stellgrößen.
  • Durch Anwenden der ersten obigen Gleichung kann die Zielfunktion mit Stellgrößen MV wie folgt ausgedrückt werden:
    Figure 00210002
  • Um eine optimale Lösung zu finden, berechnet der LP-Algorithmus die Zielfunktion für einen Anfangsscheitelpunkt in dem durch diese Gleichung definierten Bereich und verbessert die Lösung mit jedem Schritt, bis der Algorithmus den Scheitelpunkt mit dem maximalen (oder minimalen) Wert der Zielfunktion als optimale Lösung bestimmt. Die bestimmten optimalen Stellgrößen werden als die innerhalb des Steuerhorizontes zu erzielenden Ziel-Stellgrößen MVT angewendet.
  • Allgemein gesagt erbringt die Ausführung des LP-Algorithmus auf der erstellten Matrix drei mögliche Ergebnisse. Erstens gibt es eine eindeutige Lösung für die Ziel-Stellgrößen MVT. Zweitens ist die Lösung unbegrenzt, was nicht vorkommen sollte, wenn jede Regelgröße und Hilfsvariable eine obere und eine untere Grenze hat. Drittens gibt es keine Lösung, was bedeutet, dass die Grenzen oder Einschränkungen der Hilfsvariablen zu eng gefasst sind. Im dritten Fall kann so vorgegangen werden, dass die Einschränkungen gelockert werden, um eine Lösung zu erhalten. Die Grundannahme ist, dass Grenzen der Stellgrößen (Hi/Lo Limits) vom Optimierer nicht geändert werden können. Das Gleiche gilt für Einschränkungen oder Grenzen der Hilfsvariablen (Hi/Lo Limits). Der Optimierer kann jedoch vom Steuern der Regelgröße CV auf die vorgegebenen Sollwerte (CV-Sollwertsteuerung) auf das Steuern der Regelgrößen auf jeden Wert innerhalb eines Bereichs vom Sollwert oder um diesen herum (CV-Bereichssteuerung) wechseln. In diesem Fall dürfen die Werte der Regelgrößen in einem Bereich liegen, statt einem bestimmten Sollwert zu entsprechen. Verletzen mehrere Hilfsvariablen AV ihre Einschränkungen und bringt das Umschalten von der CV-Sollwertsteuerung auf die CV-Bereichssteuerung keine Lösung, ist es auch möglich, die Einschränkungen der Hilfsvariablen auf Basis der bereitgestellten Gewichtungen oder Prioritätszuordnungen zu lockern oder zu ignorieren. Bei einer Ausführungsform könnte eine Lösung bestimmt werden, indem der quadratische Fehler der Hilfsvariablen minimiert wird, wobei jede ihre entsprechende Einschränkung verletzen darf, oder indem Einschränkungen der Hilfsvariablen mit niedrigster Priorität auf eine sequentielle Weise aufgehoben werden.
  • Wie oben erwähnt kann die Zielfunktion OF vom Steuerblock-Erzeugungsprogramm 40 gewählt oder voreingestellt werden. Ein Verfahren zur Festlegung einer solchen Voreinstellung wird nachstehend angegeben. Obwohl es im Einzelnen wünschenswert ist, die Fähigkeit zur Optimierung bereitzustellen, gibt es viele Situationen, in denen nur die Einhaltung der Sollwerte für die Regelgrößen auf eine Weise erforderlich ist, bei der die Betriebseinschränkungen der Hilfsvariablen und der Stellgrößen beachtet werden. Für diese Anwendungen kann der Block 38 so konfiguriert werden, dass er nur als MPC-Funktionsblock arbeitet. Um diese komfortable Anwendung bereitzustellen, kann eine Standard "Operate" (Betriebs)-Zielfunktion automatisch erzeugt werden, bei der den verschiedenen Variablen voreingestellte Kosten zusammen mit voreingestellten Gewichtungen der Hilfsvariablen AV zugeordnet werden. Diese Voreinstellungen können alle Kosten für die Hilfsvariablen AV und die Stellgrößen MV gleich setzen oder für die Hilfsvariablen und Stellgrößen AV und MV eine andere vorgegebene Kostenzuordnung bereitstellen. Wird eine Expertenoption gewählt, kann der Benutzer zusätzliche Optimierungs-Wahlmöglichkeiten erzeugen und ihre zugehörigen Kosten für die verschiedenen Zielfunktionen 64 definieren. Der Experte kann auch die Gewichtungen der Hilfsvariablen und der Regelgröße AV und CV der voreingestellten Zielfunktion modifizieren.
  • Bei einer Ausführungsform kann die Zielfunktion automatisch aus der MPC-Konfiguration konstruiert werden, wenn beispielsweise für die Prozesskonfiguration keine wirtschaftlichen Daten konfiguriert sind. Im Allgemeinen kann die Zielfunktion unter Anwendung der nachstehenden Formel aufgebaut werden:
    Figure 00230001
  • Die Variablen Cj und pi können aus den Konfigurationseinstellungen definiert werden. Wird insbesondere angenommen, dass der Sollwert der Regelgröße CV nur bei LL oder HL definiert werden kann, wird der Wert pj wie folgt definiert:
    pj = –1, wenn der Sollwert bei LL definiert ist oder Minimieren gewählt wurde; und
    pj = 1, wenn der Sollwert bei HL definiert ist oder Maximieren gewählt wurde.
  • Unter der Annahme, dass keine Konfigurationsinformationen für die Hilfsvariablen AV eingegeben werden, ist für alle Hilfsvariablen AV pj = 0. Analog hängt für die Stellgrößen MV der Wert von Cj davon ab, ob das bevorzugte Stellgrößenziel MVT definiert ist oder nicht. Ist das bevorzugte Stellgrößenziel MVT definiert, dann:
    Cj = 1, wenn MVT auf HL (high limit – obere Grenze) liegt oder Maximieren gewählt wurde;
    Cj = –1, wenn MVT auf LL (low limit – untere Grenze) liegt oder Minimieren gewählt wurde; und
    Cj = 0, wenn MVT nicht definiert ist.
  • Falls gewünscht, kann die Wahl der Verwendung des Optimierers 54 zusammen mit der MPC-Steuerung 52 veränderlich sein, um dadurch einen Optimierungsgrad zu erhalten. Zur Durchführung dieser Funktion kann die Änderung der von der Steuerung 52 verwendeten Stellgrößen MV verändert werden, indem der Änderung der Stellgrößen MV verschiedene von der MPC-Steuerung 52 und dem Optimierer 54 bestimmte Gewichtungen zugeordnet werden. Eine solche gewichtete Kombination wird hierin als effektive MV (MVeff) bezeichnet. die effektive MVeff kann bestimmt werden zu: ΔMVe ff = ΔMVmpc(1 + α/S) + ΔMVoPt(1 – α); 0 < α < 1wobei S beliebig oder heuristisch gewählt wird. Typischerweise ist S größer als eins und kann im Bereich von zehn liegen.
  • Bei α = 1 trägt hier der Optimierer zu einem effektiven Ausgang bei, wie er bei der Erzeugung gesetzt wurde. Bei α = 0 stellt die Steuerung nur eine dynamische MPC-Steuerung bereit. Natürlich ergibt der Bereich zwischen 0 und 1 verschiedene Beiträge des Optimierers und der MPC-Steuerung.
  • Die oben beschriebene voreingestellte Zielfunktion kann zum Festlegen des Betriebs des Optimierers während verschiedener möglicher Betriebsmodi verwendet werden. Insbesondere wenn die Anzahl der Regelgrößen CV der Anzahl Stellgrößen MV entspricht, ist das erwartete Verhalten bei der Voreinstellung, dass die Sollwerte der Regelgrößen CV so lang beibehalten werden, wie die Hilfsvariablen AV und die Stellgrößen MV als innerhalb ihrer Grenzen projiziert sind. Wird prädiziert, dass eine Hilfsvariable oder eine Stellgröße ihre Grenze verletzt, wird der Arbeitssollwert der Stellgröße innerhalb ihres Bereichs geändert, um die Verletzung dieser Grenzen zu vermeiden. Kann der Optimierer 54 in diesem Fall keine Lösung finden, die die Grenzen der Hilfsvariablen und Stellgrößen einhält, während die Regelgrößen innerhalb ihres Bereichs gehalten werden, dann werden die Regelgrößen innerhalb ihres Bereichs gehalten, während die Hilfsvariablen von ihren Einschränkungsgrenzen abweichen dürfen. Bei der Suche nach der besten Lösung werden die Hilfsvariablen AV, für die die Verletzung einer Grenze projiziert ist, gleich behandelt und ihre mittlere Abweichung von der Grenze wird minimiert.
  • Um dieses Verhalten zu erzielen, werden die von der Zielfunktion verwendeten voreingestellten Kosten/Gewinne automatisch so eingestellt, dass den Regelgrößen CV ein Gewinn von 1 zugeordnet wird, wenn der Bereich so definiert ist, dass eine Abweichung unter den Sollwert zulässig ist, und ein Gewinn von –1, wenn der Bereich so definiert ist, dass eine Abweichung über den Sollwert zulässig ist. Den Hilfsvariablen AV innerhalb der Grenzen wird ein Gewinn 0 und den Stellgrößen MV werden Kosten 0 zugeordnet.
  • Ist die Anzahl der Regelgrößen CV kleiner als die der Stellgrößen MV, können die zusätzlichen Freiheitsgrade dazu genutzt werden, die Erfordernisse in Zusammenhang mit der konfigurierten endgültigen Ruheposition der Stellgrößen MV anzugehen. Die Sollwerte der Regelgrößen (falls Regelgrößen CV definiert sind) werden hier so lange konstant gehalten, wie die Hilfsvariablen und die Stellgrößen als innerhalb ihrer Grenzen projiziert sind. Die mittlere Abweichung der Stellgrößen von der konfigurierten endgültigen Ruheposition wird minimiert. Wird prädiziert, dass eine oder mehrere der Hilfsvariablen und Stellgrößen ihre Grenzen verletzen, werden die Arbeits-Sollwerte der Regelgrößen innerhalb ihrer Bereiche geändert, um zu verhindern, dass diese Grenzen verletzt werden. Wenn unter dieser Bedingung mehrere Lösungen vorhanden sind, dann wird die zur Steuerung herangezogene Lösung die mittlere Abweichung der Stellgrößen von der konfigurierten endgültigen Ruheposition minimieren.
  • Wenn der Optimierer 54 keine Lösung finden kann (d.h. es gibt keine Lösung), die die Grenzen der Hilfsvariablen und Stellgrößen erfüllt, während die Regelgrößen innerhalb ihres Bereichs gehalten werden, werden die Regelgrößen innerhalb ihres Bereichs gehalten und die Hilfsvariablen dürfen von ihren Einschränkungsgrenzen abweichen. Bei der Suche nach der besten Lösung werden die Hilfsvariablen, für die die Verletzung einer Grenze projiziert ist, gleich behandelt und ihre mittlere Abweichung von der Grenze wird minimiert. Um dieses Verhalten zu erzielen, werden die von der Zielfunktion verwendeten voreingestellten Kosten/Gewinne automatisch so eingestellt, dass den Regelgrößen ein Gewinn von 1 zugeordnet wird, wenn der Bereich so definiert ist, dass eine Abweichung unter den Sollwert zulässig ist, und ein Gewinn von –1, wenn der Bereich so definiert ist, dass eine Abweichung über den Sollwert zulässig ist. Den Hilfsvariablen wird ein Gewinn 1 oder -1 und den Stellgrößen werden Kosten 0,1 zugeordnet.
  • In jedem Fall liefert der Optimierer 54 nach der Operation die Menge der optimalen oder Ziel-Stellgrößen MVT an den Zielkonvertierungsblock 55, der die stationäre Gain-Matrix zur Bestimmung der stationären Ziel-Regel- und -Stellgrößen verwendet, die aus den Ziel-Stellgrößen MVT resultieren. Diese Konvertierung ist mathematisch unkompliziert, da die stationäre Gain-Matrix die Wechselwirkungen zwischen den Stellgrößen und den Regelgrößen sowie den Hilfsvariablen definiert und dadurch zur eindeutigen Bestimmung der Ziel-Regelgrößen und Hilfsvariablen CVT und AVT aus den definierten Ziel-(stationären) Stellgrößen MVT verwendet werden kann.
  • Nach der Bestimmung wird zumindest eine Teilmenge N der Ziel-Regelgrößen und Hilfsvariablen CVT und AVT als Eingänge an die MPC-Steuerung 52 gelegt, die wie zuvor erwähnt diese Zielwerte CVT und AVT zur Bestimmung einer neuen Menge stationärer Stellgrößen (über den Steuerhorizont) MVSS verwendet, die die aktuellen Regelgrößen und Hilfvariablen CV und AV auf die Zielwerte CVT und AVT am Ende des Steuerhorizontes steuert. Wie bekannt ist, ändert natürlich die MPC-Steuerung die Stellgrößen in dem Versuch, die stationären Werte für diese Variablen MVSS zu erreichen, stufenweise, die theoretisch die vom Optimierer 54 bestimmten Ziel-Stellgrößen MVT sind. Da der Optimierer 54 und die MPC-Steuerung 52 während jeder Prozessabtastung wie oben beschrieben arbeiten, können sich die Zielwerte der Stellgrößen MVT von Abtastung zu Abtastung ändern, und als Ergebnis erreicht die MPC-Steuerung möglicherweise nie tatsächlich eine bestimmte dieser Mengen Ziel-Stellgrößen MVT, vor allem nicht bei Rauschen, unerwarteten Störungen, Änderungen des Prozesses 50 etc. Der Optimierer 54 treibt jedoch die Steuerung 52 stets so, dass die Stellgrößen MV in Richtung einer optimalen Lösung bewegt werden.
  • Bekanntlich enthält die MPC-Steuerung 52 ein Steuerungsprädiktionsprozessmodell 70, das eine N × M + D-Stufenantwortmatrix sein kann (wobei N die Anzahl der Regelgrößen CV plus Anzahl der Hilfsvariablen AV, M die Anzahl der Stellgrößen MV und D die Anzahl der Störgrößen DV ist). Das Steuerungsprädiktionsprozessmodell 70 erzeugt an einem Ausgang 72 eine zuvor berechnete Prädiktion für jede der Regelgrößen und Hilfsvariablen CV und AV, und ein Summierer 74 subtrahiert diese für die aktuelle Zeit prädizierten Werte von den tatsächlichen gemessen Werten der Regelgrößen und Hilfsvariablen CV und AV, um einen Fehler- oder Korrektorvektor am Eingang 76 zu erzeugen.
  • Das Steuerungsprädiktionsprozessmodell 70 verwendet dann die N × M + D-Stufenantwortmatrix, um einen künftigen Steuerparameter für jede der Regelgrößen und Hilfsvariablen CV und AV über den Steuerhorizont auf Basis der Stör- und Stellgrößen, die an andere Eingänge des Steuerungsprädiktionsprozessmodells 70 geliefert werden. Das Steuerungsprädiktionsprozessmodell 70 stellt auch dem Eingangsverarbeitungs-/Filterblock 58 die prädizierten stationären Werte der Regelgrößen und Hilfsvariablen CVSS und AVSS bereit.
  • Ein Steuerzielblock 80 bestimmt einen Steuerzielvektor für jede der N Ziel-Regelgrößen und Hilfsvariablen CVT und AVT, die ihm vom Zielkonvertierungsblock 55 geliefert wurden, unter Verwendung eines zuvor für den Block 38 eingerichteten Trajektoriefilters 82. Das Trajektoriefilter 82 stellt insbesondere einen Einheitsvektor bereit, der definiert, auf welche Weise die Regelgrößen und Hilfsvariablen über der Zeit auf ihre Zielwerte zu steuern sind. Der Steuerzielblock 80 verwendet diesen Einheitsvektor und die Zielvariablen CVT und AVT, um einen dynamischen Steuerzielvektor für jede der Regelgrößen und Hilfsvariablen, der die Änderungen der Zielvariablen CVT und AVT über der durch die Steuerhorizontzeit definierten Zeitspanne definiert. Ein Vektorsummierer 84 subtrahiert dann den künftigen Steuerparametervektor für jede Regelgröße und Hilfsvariable CV und AV von den dynamischen Steuervektoren, um einen Fehlervektor für jede Regelgröße und Hilfsvariable CV und AV zu definieren. Der künftige Fehlervektor für jede Regelgröße und Hilfsvariable CV und AV wird dann dem MPC-Algorithmus bereitgestellt, der die Schritte der Stellgröße MV wählt, die beispielsweise die kleinsten quadratischen Fehler über den Steuerhorizont minimieren. Natürlich verwendet der MPC-Algorithmus bzw. die MPC-Steuerung ein M × M-Prozessmodell oder eine Steuermatrix, die aus Beziehungen zwischen den in die MPC-Steuerung 52 eingegebenen N Regelgrößen und Hilfsvariablen und den von der MPC-Steuerung 52 ausgegebenen M Stellgrößen entwickelt wird.
  • Im Einzelnen hat der mit dem Optimierer arbeitende MPC-Algorithmus zwei Hauptziele. Erstens versucht der MPC-Algorithmus den CV-Steuerfehler mit minimalen MV-Bewegungen innerhalb betrieblicher Einschränkungen zu minimieren und zweitens versucht er, optimale stationäre MV-Werte zu erzielen, die vom Optimierer und den direkt aus den optimalen stationären MV-Werten berechneten CV-Werten vorgegeben werden.
  • Um diese Ziele zu erfüllen, kann der ursprüngliche nicht eingeschränkte MPC-Algorithmus erweitert werden, so dass die MV-Ziele in die Lösung der kleinsten Quadrate aufgenommen werden. Die Zielfunktion für diese MPC-Steuerung lautet:
    Figure 00280001
    dabei sind:
    CV(k) der p-Schritt-Vorwärtsprädiktionsvektor des Regelausgangs;
    R(k) der p-Schritt-Vorwärtsreferenztrajektorie (Sollwert)-Vektor;
    ΔMV(k) der c-Schritt-Vorwärtsvektor der inkrementellen Steuerbewegungen;
    Γy = diag {Γy 1,..., Γy P} ist eine Strafmatrix für den Regelausgangsfehler;
    Γu = diag {Γu 1,..., Γu c} ist eine Strafmatrix für die Steuerbewegungen;
    p ist der Prädiktionshorizont (Anzahl der Schritte);
    c ist der Steuerhorizont (Anzahl der Schritte); und
    Γ° ist ein Straffaktor auf den Fehler der Summe der Steuerungsausgangsbewegungen über den Steuerhorizont relativ zur optimalen Zieländerung der vom Optimierer definierten MV. Zur Vereinfachung der Schreibweise ist die Zielfunktion für eine Steuerung mit einem Eingang/einem Ausgang (single-input/single-output – SISO) dargestellt.
  • Wie zu ersehen ist, sind die beiden ersten Terme die Zielfunktion für die nicht eingeschränkte MPC-Steuerung, während der dritte Term eine zusätzliche Bedingung einführt, mit der die Summe der Steuerungsausgangsbewegungen den optimalen Zielen gleich gemacht wird. Mit anderen Worten, die ersten beiden Terme beschreiben Ziele für den dynamischen Betrieb der Steuerung, während der dritte Term stationäre Optimierungsziele darstellt.
  • Wie festzustellen ist, kann die allgemeine Lösung für diese Steuerung ähnlich der für die nicht eingeschränkte MPC-Steuerung ausgedrückt werden als: ΔMV(k) = (SuT Γ T ΓSu + ΓuTΓu)–1 SuT Γ ΓEp+1(k) = KopmcEp+1(k);dabei sind:
    ΔMV(k) die Änderung des MPC-Steuerungsausgangs zum Zeitpunkt k; = Kopmc der optimierte MPC-Steuerungs-Gain.
  • Su ist die dynamische Prozessmatrix, die aus den Stufenantworten der Größe p × c für ein SISO-Modell und p*n × c*m für ein Mehrfacheingang-/Mehrfachausgangs (multiple-input/ multiple-output – MIMO)-Modell mit m Stelleingängen und n Regelausgängen aufgebaut wird.
  • Für die optimierte MPC wird die dynamische Matrix auf die Größe (p + 1) × m für das SISO-Modell und (p + m)*n × c*m für das MIMO-Modell erweitert, um den MV- Fehler auszugleichen. Ep+1(k) ist der CV-Fehlervektor über den Prädiktionshorizont und der Fehler der Summe der Steuerungsausgangsbewegungen über den Steuerhorizont relativ zur optimalen Zieländerung der MV. Die Matrix Γ kombiniert die Matrizen Γy und Γ° und ist eine quadratische Matrix der Größe (p + 1) für eine SISO-Steuerung und der Größe [n(p + m)] für die multivariable Steuerung. Der Index T kennzeichnet eine transponierte Matrix.
  • Da der Optimierer 54 auf der Basis aller Regelgrößen und Hilfsvariablen CV und AV optimiert, um eine Zielmenge Stellgrößen MVT zu bestimmen, spielt es keine Rolle, dass die MPC-Steuerung 52 nur mit einer Teilmenge der Regelgrößen und Hilfsvariablen CV und AV in ihrer Steuermatrix arbeitet, um die ausgegebenen Stellgrößen MV tatsächlich zu erzeugen, da dann wenn die Steuerung 52 die gewählte Teilmenge der Regelgrößen und Hilfsvariablen CV und AV auf ihre zugehörigen Ziele steuert, die übrigen Variablen der vollständigen Menge Regelgrößen und Hilfsvariablen ebenfalls auf ihren Zielwerten liegen. Als Ergebnis wurde bestimmt, dass eine quadratische (M × M) MPC-Steuerung mit einer M × M-Steuermatrix mit einem Optimierer verwendet werden kann, der ein rechteckiges (N × M) Prozessmodell zru Prozessoptimierung verwendet. Dadurch können Standard-MPC-Steuerungstechniken mit Standard-Optimierungstechniken verwendet werden, ohne dass eine nicht quadratische Matrix invertiert werden muss, was mit den zugehörigen Näherungen und Risiken solcher Konversionstechniken in einer Steuerung verbunden ist.
  • Bei einer Ausführungsform, bei der die MPC-Steuerung quadratisch ist, d.h. die Anzahl der Stellgrößen MV ist gleich der Anzahl Regelgrößen CV, kann die Ziel-Stellgröße MV durch Änderungen der CV-Werte wie folgt wirksam erzielt werden: ΔCV = A*ΔMVT;ΔMVT – optimale Zieländerung von MV;
    ΔCV – CV-Änderung zur Erzielung der optimalen MV. Die CV-Änderung wird über die CV-Sollwerte implementiert.
  • Im Betrieb stellt der Optimierer 54 die stationären Ziele für die nicht eingeschränkte MPC-Steuerung bei jeder Abtastung ein und aktualisiert sie. Die MPC-Steuerung 52 führt also den nicht eingeschränkten Algorithmus aus. Da die Ziele CVT und AVT so eingestellt werden, dass sie Einschränkungen berücksichtigen, arbeitet die Steuerung so lang eine sinnvolle Lösung vorhanden ist, innerhalb der Einschränkungsgrenzen. Die Optimierung ist deshalb integraler Bestandteil der MPC-Steuerung.
  • Die 3 und 4 zeigen ein Flussdiagramm 90 mit den Schritten bei der Ausführung der integrierten prädiktiven Modellsteuerung und Optimierung. Das Flussdiagramm 90 ist allgemein in zwei Abschnitte 90a (3) und 90b (4) unterteilt, die Funktionen vor der Prozessoperation (90a) und während der Prozessoperation (90b), z.B. während jedes Abtastens der Prozessoperation darstellten. Vor der Prozessoperation führt ein Operator oder Ingenieur eine Reihe Schritte aus, um den weiterentwickelten Steuerblock 38 einschließlich der MPC-Steuerung und des Optimierers zu erzeugen. Insbesondere kann in Block 92 eine weiterentwickelte Steuer-Vorlage zur Verwendung als weiterentwickelter Steuerblock 38 gewählt werden. Die Vorlage kann aus einer Bibliothek in einer Konfigurationsanwendung auf der Benutzerschnittstelle 13 kopiert und in dieser gespeichert werden und kann die allgemeinen Mathematik- und Logikfunktionen der MPC-Steuerroutine 52 und des Optimierers 54 ohne die spezielle MPC, Prozessmodelle und stationäre Gain- oder Steuermatrizen sowie die spezielle Zielfunktion enthalten. Diese weiterentwickelte Steuer-Vorlage kann in ein Modul mit anderen Blöcken gelegt werden, wie z.B. Eingabe- und Ausgabeblöcke, die zur Kommunikation mit Geräten innerhalb des Prozesses 50 konfiguriert sind, sowie andere Typen Funktionsblöcke, wie Steuerblöcke, einschließlich PID-, neuronale Netz- und Fuzzy-Logik-Steuerblöcke. Es versteht sich, dass bei einer Ausführungsform die Blöcke innerhalb eines Moduls jeweils Objekte eines objektorientierten Programmierparadigmas sind, dessen Ein- und Ausgänge miteinander verbunden sind, um den Datenaustausch zwischen den Blöcken durchzuführen. Während des Betriebs führt der das Modul abwickelnde Prozessor jeden der Blöcke sequentiell zu verschiedenen Zeiten aus, indem es die Eingänge an die Blöcke zur Erzeugung der Ausgänge der Blöcke verwendet, die dann an die Eingänge anderer Blöcke wie durch die vorgegebenen Kommunikationsverbindungen zwischen den Blöcken definiert gelegt werden.
  • In Block 94 definiert der Operator bestimmten Stellgrößen, Regelgrößen, eingeschränkten Variablen und Störgrößen, die im Block 38 zu verwenden sind. Falls gewünscht kann der Benutzer in einem Konfigurationsprogramm wie dem Programm 40 von 1 die Steuer-Vorlage betrachten, zu benennende und konfigurierende Ein- und Ausgänge wählen, die Konfigurationsumgebung mit Hilfe jedes Standard-Browsers durchsuchen, um die aktuellen Ein- und Ausgänge innerhalb des Steuerungssystem zu finden und diese aktuellen Regelgrößen als Ein- und Ausgangs-Regelgrößen für die Steuer-Vorlage zu wählen. 5 zeigt eine von einer Konfigurationsroutine erzeugte Bildschirmanzeige, in der ein Steuermodul DEB MPC mit einer Reihe miteinander verbundener Funktionsblöcke, einschließlich einer Reihe AI- (analog input – analoger Eingang) und AO- (analog Output – analoger Ausgang) Funktionsblöcke, eine Reihe PID-Steuerfunktionsblöcke und ein MPC-PRO-Funktionsblock, bei dem es sich um einen weiterentwickelten Funktionsblock handelt, dargestellt ist. Die Baumstruktur auf der linken Seite der Anzeige von 5 zeigt die Funktionsblöcke innerhalb des DEB_MPC-Moduls, einschließlich z.B. Block 1, C4_AI, C4_DGEN usw.
  • Es ist ersichtlich, dass der Benutzer die Eingänge zum und die Ausgänge vom MPC-PRO-Funktionsblock vorgeben kann, indem er Linien zwischen diesen Ein- und Ausgängen und den Ein- und Ausgängen der anderen Funktionsblöcke zieht. Wahlweise kann der Benutzer den MPC-PRO-Block wählen, um Zugriff auf die Eigenschaften des MPC-PRO-Blocks zu erhalten. Ein Dialogfeld wie das in der 6 dargestellte kann angezeigt werden, um dem Benutzer die Möglichkeit zu geben, die Eigenschaften des MPC-PRO-Blocks zu betrachten. Wie in 6 dargestellt können für jede der Regelgrößen, Stellgrößen, Störgrößen und eingeschränkten (Hilfs)-Variablen verschiedene Tabs für die Organisation dieser Variablen vorgesehen werden, was vor allem erforderlich ist, wenn zahlreiche Variable wie 20 oder mehr zum weiterentwickelten Steuerblock 38 gehören. Innerhalb des Tab für den betreffenden Variablentyp können eine Beschreibung, die untere und obere Grenze (Einschränkungen) und ein Pfadname angegeben werden. Außerdem kann der Benutzer oder Operator vorgeben, welche Maßnahmen der Block im Fall einer nicht eingehaltenen Bedingung für die Variable zu veranlassen hat, z.B. keine Maßnahme ausführen, den simulierten Wert der Variablen anstelle des gemessenen Wertes verwenden oder eine manuelle Eingabe akzeptieren. Ferner kann der Operator vorgeben, ob diese Variable zu minimieren oder maximieren ist, um eine Optimierung durchzuführen, sowie die Priorität oder Gewichtung und Gewinnwerte in Zusammenhang mit dieser Variablen. Diese Felder müssen ausgefüllt werden, wenn die voreingestellte Zielfunktion nicht verwendet wird. Natürlich kann der Benutzer Informationen oder Variablen unter Verwendung der Tasten an der rechten Seite des Dialogfeldes hinzufügen, verschieben, modifizieren oder löschen.
  • Der Benutzer kann die Informationen für eine oder mehrere Variable durch Anwählen der Variablen vorgeben oder ändern. In diesem Fall kann dem Benutzer ein Dialogfeld wie das in 7 für die Stellgröße REFLUX FLOW präsentiert werden. Der Benutzer kann die Informationen in den verschiedenen Felder ändern und Informationen wie z.B. einen Pfadnamen der Variablen (d.h. ihren Eingangs- oder Ausgangsanschluss) durch Suchen vorgeben. Anhand des Bildschirms von 7 kann der Benutzer eine Taste für internes Durchsuchen oder eine Taste für externes Durchsuchen wählen, um innerhalb des Moduls oder extern des Moduls, in dem sich der MPC-PRO-Block befindet, zu suchen. Falls gewünscht könnte der Operator natürlich eine Adresse, einen Pfadnamen, einen Tag-Namen etc. manuell eingeben, die die Verbindungen zu und von den Eingängen und Ausgängen des weiterentwickelten Steuerblocks definieren.
  • Nach der Wahl der Eingänge und Ausgänge zum und vom weiterentwickelten Steuerfunktionsblock kann der Benutzer die zu den Regelgrößen gehörigen Sollwerte, die zu den Regelgrößen, Hilfsvariablen und Stellgrößen gehörigen Bereiche oder Grenzen und die zu jeder der Regelgrößen, Hilfsvariablen und Stellgrößen gehörigen Gewichte definieren. Natürlich können einige dieser Informationen wie Einschränkungsgrenzen oder Bereiche bereits den Variablen zugeordnet sein, wenn diese innerhalb der Konfigurationsumgebung des Prozesssteuerungssystems gewählt oder aufgefunden werden. Falls gewünscht kann der Operator in Block 96 von 3 eine oder mehrere im Optimierer zu verwendende(n) Zielfunktionen konfigurieren, indem er die Einheitskosten und/oder -Gewinne für jede der Stellgrößen, Regelgrößen und Hilfsvariablen vorgibt. In diesem Punkt kann der Operator natürlich die voreingestellte Zielfunktion wie oben beschrieben wählen. 8 ist eine Bildschirmanzeige einer Konfigurationsroutine, mit der es einem Benutzer oder Operator ermöglicht wird, aus einer Menge Zielfunktionen eine zur Erzeugung eines weiterentwickelten Steuerblocks zu wählen. Es versteht sich, dass der Benutzer die Bildschirmanzeige wie die gemäß 8 zur Wahl früher gespeicherter Zielfunktionen nutzen kann, die hier als voreingestellte Zielfunktion und Zielfunktionen 2 bis 5 dargestellt sind.
  • Nachdem die Eingaben (Regelgrößen, Hilfsvariable und Störgrößen) benannt und mit der weiterentwickelten Steuer-Vorlage verbunden und die Gewichtungen, Grenzen und Sollwerte dieser zugeordnet worden sind, wird in Block 98 von 3 die weiterentwickelte Steuer-Vorlage in eine ausgewählte Steuerung als ein zur Steuerung zu verwendender Funktionsblock heruntergeladen. Die allgemeine Art des Steuerblock und die Art und Weise, wie dieser Steuerblock konfiguriert wird, wird im U.S.-Patent Nr. 6,445,963 mit dem Titel "Integrated Advanced Control Blocks in Process Control Systems" beschrieben, das dem Rechtsnachfolger der vorliegenden Anmeldung übertragen wurde und hiermit ausdrücklich einbezogen wird. Obwohl dieses Patent beschreibt, wie eine MPC-Steuerung in einem Prozesssteuerungssystem erzeugt wird, und nicht darauf eingeht, wie ein Optimierer mit dieser Steuerung verbunden werden kann, versteht es sich, dass die allgemeinen Schritte zur Verbindung und Konfigurierung der Steuerung für den hierin beschriebenen Steuerblock 38 gelten, wobei die Vorlage alle hierin beschriebenen Logikelemente für den Steuerblock 38 und nicht nur die im genannten Patent beschriebenen enthält.
  • In jedem Fall kann der Operator nach dem Herunterladen der weiterentwickelten Steuer-Vorlage in die Steuerung in Block 100 den Ablauf einer Testphase der Steuer-Vorlage wählen, um die Stufenantwortmatrix und das im Algorithmus der MPC-Steuerung zu verwendende Prozessmodell zu erzeugen. Wie im oben genannten Patent beschrieben liefert eine Steuerlogik im weiterentwickelten Steuerblock 38 eine Reihe pseudozufälliger Wellenformen als Stellgrößen an den Prozess und beachtet die Änderungen der Regelgrößen und Hilfsvariablen (die von der MPC-Steuerung im Wesentlichen als Regelgrößen behandelt werden). Falls gewünscht können die Stell- und Störgrößen sowie die Regelgrößen und Hilfsvariablen vom Historian 12 in 1 gesammelt werden, und der Operator kann das Konfigurationsprogramm 40 (1) so einrichten, dass er diese Daten vom Historian 12 erhält und die Tendenz dieser Daten auf beliebige Weise verfolgt, um die Matrix der Stufenantworten zu erhalten oder zu bestimmen, wobei jede Stufenantwort die zeitliche Antwort einer der Regelgrößen oder Hilfsvariablen auf eine Einheitsänderung einer (und nur einer) der Stell- und Regelgrößen identifiziert. Diese Einheitsänderung ist im Allgemeinen eine stufenweise Änderung, könnte aber auch ein anderer Änderungstyp wie eine Impuls- oder Rampenänderung sein. Falls gewünscht kann andererseits der Steuerblock 38 die Stufenantwortmatrix als Antwort auf die gesammelten Daten erzeugen, wenn die pseudozufälligen Wellenformen an den Prozess 50 angelegt werden, und dann diese Wellenformen an die vom Operator oder Benutzer zur Erzeugung und Installation des weiterentwickelten Steuerblocks 38 verwendete Operator-Schnittstelle 13 liefern.
  • 9 zeigt eine Bildschirmanzeige, die von der Testroutine bereitgestellt werden kann, um dem Operator Graphen der gesammelten und tendenzmäßigen Daten zu bieten, die es ihm ermöglichen, die Erzeugung der Stufenantwortkurven und damit des Prozessmodells oder der in der MPC-Steuerung des weiterentwickelten Steuerblocks verwendeten Steuermatrix vorzunehmen. Insbesondere stellt eines Graphenzone 101 die Daten für eine Reihe Eingänge oder Ausgänge oder andere Daten (wie zuvor vom Operator angegeben) als Antwort auf die Test-Wellenformen grafisch dar. Eine Zone 102 mit Balkengraphen liefert einen Balkengraphen für jede der hinsichtlich ihrer Tendenz verfolgten Datenvariablen und zeigt für jede dieser tendenzmäßig verfolgten Variablen den Namen der Variablen, den aktuellen Wert der Variablen in Balkenform, einen Sollwert, sofern zutreffend (mit einem größeren Dreieck oberhalb des Balkengraphen markiert) und Grenzen, sofern zutreffend (mit kleineren Dreiecken oberhalb des Balkengraphen markiert) an. Andere Bereiche der Anzeige zeigen andere Dinge über den weiterentwickelten Steuerblock an, wie z.B. das Ziel und den aktuellen Modus des Blocks (104) sowie die konfigurierte Zeit bis zum stationären Zustand (106).
  • Vor dem Erzeugen eines Prozessmodells für den weiterentwickelten Steuerblock kann der Operator die zu verwendenden Daten grafisch aus den Tendenz-Graphen 101 vorgeben. Insbesondere kann der Operator die Anfangs- und Endpunkte 108 und 110 des Graphen 102 als die zur Erzeugung der Stufenantwort zu verwendenden Daten vorgeben. Die Daten in diesem Bereich können in einer anderen Farbe getönt sein, z.B. grün, um die gewählten Daten optisch hervorzuheben. Der Operator kann gleichermaßen auszuschließende Bereiche (als nicht repräsentativ, ein Einfluss von Rauschen oder einer unerwünschten Störung etc.) innerhalb dieses getönten Bereichs vorgeben. Dieser Bereich ist zwischen den Linien 112 und 144 dargestellt und kann beispielsweise rot getönt werden, um anzugeben, dass diese Daten nicht in die Stufenantworten aufzunehmen sind. Natürlich könnte der Benutzer beliebige gewünschte Daten einschließen oder ausschließen und kann diese Funktionen mit jeder eine Reihe Tendenz-Graphen (9 zeigt, dass in diesem Fall acht Tendenz-Graphen zur Verfügung stehen) ausführen, wobei die verschiedenen Tendenz-Graphen z.B. verschiedenen Stellgrößen, Regelgrößen, Hilfsvariablen etc. zugeordnet sind.
  • Zur Erzeugung einer Menge Stufenantworten kann der Operator die Taste "Create Model" (Modell erzeugen) 116 in der Bildschirmanzeige von 9 wählen, und die Erzeugungsroutine verwendet die gewählten Daten aus den Tendenzgraphen, um eine Menge Stufenantworten zu erzeugen, wobei jede Stufenantwort die Antwort einer der Regelgrößen oder Hilfsvariablen auf eine der Stell- oder Störgrößen angibt. Dieser Erzeugungsprozess ist hinreichend bekannt und wird hier nicht näher beschrieben.
  • Nach der Erzeugung der Stufenantwortmatrix wird diese in dem Fall, in dem die Regelgrößen und Hilfsvariablen den Stellgrößen zahlenmäßig überlegen sind, zur Wahl der Teilmenge Regelgrößen und Hilfsvariablen verwendet, die im MPC-Algorithmus als M × M-prozessmodell oder Steuermatrix dienen, die zu invertieren und in der MPC-Steuerung 52 zu verwenden ist. Dieser Auswahlprozess kann manuell durch den Operator oder automatisch durch eine Routine erfolgen, z.B. in der Benutzerschnittstelle 13 mit Zugriff auf die Stufenantwortmatrix. Allgemein gesagt wird eine einzelne der Regelgrößen und Hilfsvariablen als diejenige identifiziert, die mit einer einzelnen der Stellgrößen am engsten verwandt ist. Somit kann eine einzelne und eindeutige (d.h. jeweils andere) der Regelgrößen oder Hilfsvariablen (die Eingänge in die Prozesssteuerung sind) jeder der verschiedenen Stellgrößen (die Ausgänge der Prozesssteuerung sind) zugeordnet werden, so dass der MPC-Algorithmus auf einem Prozessmodell basieren kann, das aus einer Menge M × M Stufenantworten erzeugt wird.
  • Bei einer Ausführungsform, die einen heuristischen Ansatz bei der Paarung verwendet, wählt die automatische Routine oder der Operator eine Menge M (wobei M gleich ist der Anzahl Stellgrößen) Regelgrößen und Hilfsvariablen in dem Versuch, die einzelne Regelgröße oder Hilfsvariable zu wählen, die den größten Gain und die schnellste Antwortzeit auf eine Einheitsänderung einer bestimmten Stellgröße hat, und paart diese beiden Variablen. Natürlich wird in manchen Fällen eine bestimmte Regelgröße oder Hilfsvariable einen großen Gain und eine schnelle Antwortzeit auf mehrere Stellgrößen haben. Hier kann die betreffende Regelgröße oder Hilfsvariable mit jeder der zugehörigen Stellgrößen gepaart werden und sogar mit einer Stellgröße, die nicht den größten Gain und die schnellste Antwortzeit erbringt, da im aggregierten Zustand die Stellgröße, die den kleineren Gain und die langsamere Antwortzeit erbringt, eventuell keine andere Regelgröße oder Hilfsvariable in einem akzeptablen Ausmaß beeinflusst. Die Stellgrößenpaare auf der einen Seite und die Regelgrößen oder Hilfsvariablen auf der anderen Seite werden also in einem allgemeinen Sinn gewählt, um die Stellgrößen mit der Teilmenge aus Regelgrößen und Hilfsvariablen zu paaren, die die am besten auf die Stellgrößen ansprechenden Regelgrößen repräsentieren. Ferner spielt es keine Rolle, wenn nicht alle Regelgrößen als die Teilmenge der M Regelgrößen und Hilfsvariablen als Eingänge gewählt werden und deshalb die MPC-Steuerung nicht alle Regelgrößen als Eingänge empfängt, da die Menge der Regelgrößen- und Hilfsvariablenziele vom Optimierer so gewählt werden, dass sie einen Betriebspunkt des Prozesses repräsentieren, in dem die nicht gewählten Regelgrößen (wie auch die nicht gewählten Hilfsvariablen) auf ihrem Sollwert oder innerhalb ihres vorgesehenen Betriebsbereichs liegen.
  • Da es natürlich einerseits etliche zehn und sogar hunderte Regelgrößen und Hilfsvariablen und andererseits etliche zehn oder hunderte Stellgrößen geben kann, kann es – zumindest unter dem Gesichtspunkt der Visualisierung – schwierig werden, die Menge der Regelgrößen und Hilfsvariablen zu wählen, die die beste Antwort auf jede der verschiedenen Stellgrößen bereitstellen. Um dieses Problem zu überwinden, kann die Erzeugungsroutine 40 des weiterentwickelten Steuerblocks in der Operator-Schnittstelle 13 eine Reihe Bildschirmanzeigen enthalten oder diese dem Benutzer oder Operator präsentieren, um ihn bei der richtigen Wahl der Regelgrößen und Hilfsvariablen zu unterstützen, die als die in der MPC-Steuerung 52 während des Betriebs zu verwendende Teilmenge der Regelgrößen und Hilfsvariablen verwendet werden sollten.
  • In Block 120 von 3 könnte also dem Operator ein Bildschirm präsentiert werden, in dem er die Antwort jeder Regelgröße und Hilfsvariablen auf eine bestimmte oder ausgewählte Stellgröße sehen kann. Ein solcher Bildschirm ist in 10 dargestellt, der die Antwort jeder einer Reihe Regelgrößen und Hilfsvariablen (als "constraint" bezeichnet) auf eine Stellgröße mit dem Bezeichnung TOP_DRAW zeigt. Der Operator kann die Stellgrößen nacheinander durchlaufen lassen und die Stufenantworten jeder der Regelgrößen und Hilfsvariablen betrachten und während des Prozesses die eine Regelgröße oder Hilfsvariable mit der besten Antwort auf die betreffende Stellgröße wählen. Typischerweise wird der Operator versuchen, die Regelgröße oder Hilfsvariable zu wählen, die die beste Kombination aus stationärem gain und schnellster Antwortzeit auf die Stellgröße aufweist. Wie aus der 11 ersichtlich ist, kann die gewählte Regelgröße und Hilfsvariable in einer anderen Farbe hervorgehoben werden, z.B. rot, während zuvor gewählte Variable (d.h. Regelgrößen und Hilfsvariablen, die für andere Stellgrößen gewählt worden sind) in einer anderen Farbe, z.B. gelb, hervorgehoben werden können. Bei dieser Ausführungsform kann die Steuerroutine 40, die natürlich die zuvor gewählten Regelgrößen und Hilfsvariablen in einem Speicher speichert, eine Kontrolle durchführen, um sicherzustellen, dass der Operator nicht dieselben Regelgrößen oder Hilfsvariablen wählt, die zu zwei anderen Stellgrößen gehören. Wählt der Benutzer oder Operator eine Regelgröße oder Hilfsvariable, die bereits für eine andere Stellgröße gewählt worden ist, kann die Routine 40 dem Benutzer oder Operator eine Fehlermeldung präsentieren, die ihn darüber informiert, dass er eine bereits zuvor gewählte Regegröße oder Hilfsvariable gewählt hat. Auf diese Weise verhindert die Routine 40 die Wahl derselben Regelgröße oder Hilfsvariablen für zwei oder mehr verschiedene Stellgrößen.
  • Wie 12 zeigt kann der Operator die Ansicht der verschiedenen Stufenantworten für jede der verschiedenen Stellgrößen und Störgrößen wählen. 11 zeigt die Stufenantwort auf den TOP_END_POINT für jede der Stell- und Störgrößen, die zuvor für den in der Erzeugung befindlichen weiterentwickelten Steuerblock vorgegeben wurden. Natürlich kann der Operator den Bildschirm gemäß 12 verwenden, um eine der gewählten Variablen als die der Regelgröße TOP_END_POINT zugehörige zu wählen.
  • Die Anzeigebildschirme der 10 bis 12 ermöglichen es also dem Operator, die Teilmenge der M Regelgrößen und Hilfsvariablen sichtbar zu machen und zu wählen, die als Eingänge des MPC-Steueralgorithmus verwendet werden, was besonders nützlich ist, wenn die Anzahl dieser Variablen sehr groß ist. Natürlich kann die Menge der Regelgrößen und "Constraint"-Variablen, die in Block 74 bestimmt wird, automatisch oder elektronisch auf Basis zuvor festgelegter Kriterien oder einer Auswahlroutine gewählt werden, die die zu verwendenden Eingangsvariablen auf Basis einer Kombination aus Gain-Antwort und Zeitverzögerung, die aus den Stufenantworten für die Regelgrößen und eingeschränkten Variablen bestimmt wird, wählen kann.
  • Bei einer anderen Ausführungsform kann ein automatischer Wählprozess zuerst eine Steuermatrix bestimmen, indem eine Ausgangs-/Ausgangs-Matrix auf Basis der Bedingungsanzahl der Matrix, z.B. durch Minimieren der Bedingungsanzahl in einem gewünschten Maß, gewählt und dann eine Steuerungskonfiguration aus der Steuermatrix entwickelt wird.
  • Bei diesem Beispiel kann für eine Prozess-Gain-Matrix A die Bedingungsanzahl ATA bestimmt werden, um die Kontrollierbarkeit der Matrix zu prüfen. Eine kleinere Bedingungsanzahl bedeutet im Allgemeinen eine bessere Kontrollierbarkeit, während eine größere Bedingungsanzahl eine geringere Kontrollierbarkeit und mehr Steuerschritte oder Bewegungen während der dynamischen Steueroperation bedeutet. Es gibt keine strengen Kriterien für die Definition einer akzeptablen Kontrollierbarkeit, so dass die Bedingungsanzahl als ein relativer Vergleich verschiedener potentieller Steuermatrizen und als Test für schlecht konditionierte Matrizen verwendet werden kann. Bekanntlich nähert sich eine Bedingungsanzahl für eine schlecht konditioniert Matrix unendlich. Mathematisch ergibt sich eine schlechte Konditionierung im Fall kollinearer Prozessvariablen, d.h. aufgrund kollinearer Zeilen oder Spalten in der Steuermatrix. Ein wesentlicher Faktor, der die Bedingungsanzahl und die Kontrollierbarkeit betrifft, ist also die Kreuzkorrelation zwischen den Zeilen und Spalten der Matrix. Die sorgfältige Wahl der Eingangs-/Ausgangsvariablen der Steuermatrix kann Konditionierungsprobleme verringern. In der Praxis sollten Maßnahmen ergriffen werden, wenn die Bedingungsanzahl in der Größenordnung von einigen hundert (z.B. 500) oder darüber liegt. Bei einer solchen Matrix sind die Bewegungen der Steuerungs-Steilgrößen viel zu stark.
  • Wie oben erörtert löst die Steuermatrix das dynamische Steuerproblem, während der LP-Optimierer das stationäre Optimierungsproblem löst, und die Steuermatrix muss eine quadratische Eingangs-/Ausgangsmatrix sein, obwohl der MPC-Steuerungsblock eine ungleiche Anzahl MV's (einschließlich AV's) und CV's haben kann. Beim Beginn der Wahl der Eingänge und Ausgänge der Steuermatrix zur Erzeugung der Steuerung sind typischerweise alle verfügbaren MV's als Steuerungsausgänge enthalten oder werden gewählt. Nach der Wahl der Ausgänge (der MV's) müssen die Prozessausgangsvariablen (d.h. die CV's und AV's), die zu einem Bestandteil der dynamischen Steuermatrix gemacht werden, so gewählt werden, dass eine quadratische Steuermatrix erzeugt wird, die nicht schlecht konditioniert ist.
  • Ein Verfahren für die automatischen oder manuelle Wahl der CV's und AV's als Eingänge in der Steuermatrix soll nunmehr behandelt werden, wobei es sich versteht, dass auch andere Verfahren angewendet werden können.
  • Schritt 1 – CV's werden gewählt, bis – sofern möglich – die Anzahl der CV's gleich ist der Anzahl MV's (d.h. der Anzahl Steuerungsausgänge). In dem Fall, in dem es mehr CV's als MV's gibt, können die CV's in jeder Reihenfolge auf Basis jedes gewünschten Kriteriums, wie Priorität, Gain oder Phasengang, Benutzereingabe etc. gewählt werden. Ist die mögliche Gesamtzahl der CV's gleich der Anzahl MV's, ist mit Schritt 4 fortzufahren, um die resultierende Bedingungsanzahl der quadratischen Steuermatrix auf Zulässigkeit zu prüfen. Ist die Anzahl CV's kleiner als die Anzahl MV's, können AV's gewählt werden wie in Schritt 2 beschrieben. Sind keine CV's definiert, ist die AV mit maximalem Gain relativ zu einer MV zu wählen und zu Schritt 2 zu gehen.
  • Schritt 2 – Jede Bedingungsanzahl einzeln für jede mögliche AV berechnen, die der bereits gewählten durch die zuvor gewählten CV's und AV's definierten Steuermatrix hinzugefügt wird. Es ist klar, dass die durch die gewählten CV's definierte Matrix eine Zeile für jede gewählte CV und AV enthält, die den stationären Gain für diese betreffende CV oder AV zu jeder der zuvor gewählten MV's definiert.
  • Schritt 3 – Die in Schritt 2 bestimmte AV wählen, die die minimale Bedingungsanzahl für die resultierende Matrix ergibt, und die Matrix wie die vorherige unter Hinzufügen der gewählten AV definieren. Ist die Anzahl der MV's nun gleich der Anzahl gewählter CV's plus der Anzahl gewählter AV's (d.h. wenn die Matrix nunmehr quadratisch ist), zu Schritt 4 gehen. Andernfalls zu Schritt 2 zurückgehen.
  • Schritt 4 – Bedingungsanzahl für die erzeugte quadratische Steuermatrix AC berechnen. Falls gewünscht kann die Berechnung der Bedingungsanzahl für die Matrix AC anstelle der Matrix AC TAC angewendet werden, da die Bedingungsanzahlen dieser unterschiedlichen Matrizen wie ihre Quadratwurzeln zueinander im Verhältnis stehen.
  • Schritt 5 – Ist die in Schritt 4 berechnete Bedingungsanzahl akzeptabel, ist jeder CV und gewählten AV eine MV zuzuordnen, indem die CV oder AV mit maximalem Gain relativ zu einer bestimmten MV gewählt wird, bis die Paarung komplett ist. In diesem Punkt ist der Wählprozess abgeschlossen. Ist andererseits die Bedingungsanzahl größer als die minimale akzeptable Bedingungsanzahl, ist die zur Steuermatrix hinzugefügte letzte AV/CV zu entfernen und die Umlaufprozedur von Schritt 6 durchzuführen.
  • Schritt 6 – Für jede gewählte MV ist jeweils eine Umlaufprozedur durchzuführen und die Bedingungsanzahl der Matrix zu berechnen, die sich aus jeder Umlaufprozedur ergibt. Eine Umlaufprozedur erfolgt im Wesentlichen, indem der Reihe nach eine Antwort eins für jede der verschiedenen MV's an die Stelle der entfernten MV (oder AV) gelegt wird. Die Antwort eins ist eins an einer der Positionen der Matrixzeile und null an allen anderen Positionen. Im Wesentlichen wird jede der betreffenden MV's in diesem anstelle der AV Fall als Eingang und Ausgang verwendet, um eine gut konditionierte quadratische Steuermatrix zu bilden. Als Beispiel für eine 4 × 4-Matrix werden die Kombinationen 1000, 0100, 0010 und 0001 in die Zeile der entfernten AV in der Gain-Matrix AC gelegt.
  • Schritt 7 – Nach einer Umlaufprozedur für jede MV ist die Kombination zu wählen, die in der minimalen Bedingungsanzahl resultiert. Falls keine Verbesserung erreicht worden ist, ist die ursprüngliche Matrix beizubehalten. In diesem Punkt ist jeder gewählten CV und AV eine MV zuzuordnen, indem die CV oder AV mit maximalem Gain relativ zu einer spezifischen MV gewählt wird, ausschließlich der MV, die zur Selbststeuerung verwendet wird (d.h. die MV, die umgelaufen ist).
  • Natürlich kann die durch diese Prozedur definierte Steuermatrix sowie die resultierende Bedingungsanzahl dem Benutzer präsentiert werden, der die definierte Steuermatrix zur Verwendung für die Erzeugung der Steuerung akzeptieren oder verwerfen kann.
  • Es ist zu beachten, dass bei der oben beschriebenen automatischen Prozedur höchstens eine MV zur Selbststeuerung (d.h. umgelaufen ist) zur Verbesserung der Kontrollierbarkeit verwendet wurde. Bei der manuellen Prozedur kann die Anzahl der umgelaufenen MV's beliebig sein. Die zur Selbststeuerung gewählten MV's zeigen sich durch das Fehlen einer entsprechenden Wahl der Ausgangsvariablen in der Steuerungskonfiguration. Außerdem können mehr MV's zum Umlauf verwendet werden, wenn die Anzahl der MV's größer ist als die Gesamtzahl der CV's plus der AV's. Auf diese Weise steht der Steuerung am Ende immer noch eine quadratische Steuermatrix mit jeder der MV's als Ausgänge zur Verfügung. Es versteht sich, dass der Prozess der Durchführung und der Verwendung von Umlaufvariablen bedeutet, dass die Anzahl der CV's und AV's, die für die Steuermatrix gewählt werden, kleiner sein kann als die von der Steuerung gesteuerte Anzahl der MV's, wobei die Differenz der Anzahl der umlaufenden MV's als Eingänge der Steuermatrix entspricht. Diese Umlaufprozedur kann außerdem in einem Prozess verwendet werden, bei dem die Anzahl der CV's plus AV's kleiner ist als die Anzahl der MV's.
  • Natürlich wird die Bedingungsanzahl oben unter Verwendung der stationären Gains berechnet und deshalb definiert die Steuermatrix die Kontrollierbarkeit im Wesentlichen für den stationären Zustand. Die Prozessdynamik (Totzeit, Verzögerung etc.) und die Modellunsicherheit haben ebenfalls einen Einfluss auf die dynamische Kontrollierbarkeit, der durch Änderung der Priorität von Prozessvariablen (z.B. Regelgrößen und Hilfsvariablen) berücksichtigt werden kann, die aufgrund ihrer Einflüsse auf die dynamische Steuerung ihre Einbeziehung in die Steuermatrix unabdingbar machen.
  • Es ist ebenfalls möglich, andere heuristische Prozeduren zu verwenden, die dazu dienen, sowohl die stationäre als auch die dynamische Kontrollierbarkeit zu verbessern. Eine derartige Prozedur hätte typischerweise eine Reihe heuristischer Kriterien, von denen möglichst einige widersprüchlich sind, die in mehreren Phasen zur Entwicklung einer Steuermatrix angewendet werden und dadurch eine geeignete Menge Steuerungseingänge wählen, die gewisse Verbesserungen der Steuermatrix mit sich bringen. In einer solche heuristischen Prozedur werden die CV's und AV's nach MV auf der Basis der höchsten Gain-Beziehung gruppiert. Danach wird für jede MV-Gruppierung der eine Prozessausgang mit der schnellsten Dynamik und signifikantem Gain gewählt. Dieser Auswahlprozess kann Vertrauensintervalle einbeziehen und CV's gegenüber AV's präferieren (wobei alle anderen Variablen gleich sind). Die Prozessmodellerzeugungsroutine verwendet dann den aus jeder Gruppe gewählten Parameter während der MPC-Steuerungserzeugung. Da nur ein Parameter für jede MV gewählt wird, ist die Antwortmatrix quadratisch und kann invertiert werden.
  • In jedem Fall erzeugt nach der Wahl der Teilmenge aus M (oder weniger) Regelgrößen- und Hilfsvariableneingänge in den MPC-Steuerung ein Block 124 gemäß 3 das Prozessmodell oder die im MPC-Steueralgorithmus 86 von 2 zu verwendende Steuerung aus der bestimmten quadratischen Steuermatrix. Dieser Schritt der Steuerungserzeugung ist bekanntlich eine rechnerisch aufwändige Prozedur. In Block 126 werden dann dieses MPC-Prozessmodell (das inhärent die Steuermatrix enthält) oder diese Steuerung und erforderlichenfalls die Stufenantworten und die stationäre Stufenantwort-Gain-Matrix in den Steuerblock 38 heruntergeladen und diese Daten für den Betrieb in den Steuerblock 38 integriert. Zu diesem Zeitpunkt ist der Steuerblock 38 für den Online-Betrieb im Prozess 50 bereit.
  • Falls gewünscht können die Prozessschrittantworten neu konfiguriert oder auf eine andere Weise als durch die Erzeugung dieser Stufenantworten bereitgestellt werden. So kann beispielsweise eine der Stufenantworten aus verschiedenen Modellen kopiert und in die Bildschirme z.B. der 10 bis 12 eingefügt werden, um die Stufenantwort einer bestimmten Regelgröße oder Hilfsvariablen auf eine Stell- oder Störgröße anzugeben. 13 zeigt eine Bildschirmanzeige, aus der der Benutzer eine der Stufenantworten eines bestimmten Prozesses oder Modells kopieren und dann dieselbe Antwort in ein anderes Modell einfügen und danach diese Stufenantwort in ein neues Modell einfügen kann, um es dem Benutzer so zu ermöglichen, manuell ein Stufenantwortmodell vorzugeben. Natürlich kann der Benutzer als Bestandteil dieses Prozesses eines oder mehrere der wie oben beschrieben automatisch erzeugten Stufenantwortmodelle löschen.
  • 14 zeigt eine Bildschirmanzeige, in der der Benutzer eine der Stufenantworten genauer sehen kann (hier für die Stufenantwort von TOP_END_POINT über TOP_DRAW). Die Parameter für diese Stufenantwort wie der stationäre Gain, die Antwortzeit, die Zeitkonstante erster Ordnung und der quadratische Fehler sind in der Anzeige zur Unterstützung des Benutzers oder Operators angegeben. Falls gewünscht kann der Benutzer die Eigenschaften dieser Stufenantwort betrachten und ändern, indem er andere Parameter, z.B. einen anderen Gain oder eine andere Zeitkonstante vorgibt. Gibt der Benutzer einen anderen Gain oder einen anderen Parameter vor, kann das Stufenantwortmodell mathematisch neu erzeugt werden, so dass es diesen neuen Parameter oder diese Parametermenge enthält. Diese Operation ist nützlich, wenn der Benutzer die Parameter der Stufenantwort kennt und die erzeugte Stufenantwort ändern muss, damit sie diesen Parametern entspricht.
  • Nunmehr sei auf die 4 verwiesen, in der die während jedes Operationszyklus oder jeder Abtastung des anhand des Flussdiagramms 90a von 3 erzeugten weiterentwickelten Steuerblocks 38 ausgeführten allgemeinen Schritte dargestellt sind. In Block 150 empfängt und verarbeitet die MPC-Steuerung 52 (2) die gemessenen Werte der Regelgrößen und Hilfsvariablen CV und AV. Insbesondere verarbeitet das prädiktive Prozesssteuerungsmodell die CV-, AV- und DV-Messungen oder Eingänge, um den künftigen Steuerparametervektor sowie die prädizierten stationären Regelgrößen und Hilfsvariablen CVSS und AVSS zu erzeugen.
  • Anschließend verarbeitet oder filtert der Eingangsverarbeitungs-/Filterblock 58 ( 2) in Block 152 die von der MPC-Steuerung 52 entwickelten prädizierten Regelgrößen, Hilfsvariablen und Stellgrößen CVSS, AVSS und MVSS und liefert diese gefilterten Werte an den Optimierer 54. In Block 154 führt der Optimierer 54 Standard-LP-Techniken aus, um die Menge der M Ziel-Stellgrößen MVT zu bestimmen, die die gewählte oder voreingestellte Zielfunktion maximiert oder minimiert, wobei die Grenzen der Hilfsvariablen und Stellgrößen nicht verletzt und die Regelgrößen auf ihrem vorgegebenen Sollwert oder innerhalb der für diese Variablen vorgegebenen Bereiche gehalten werden. Allgemein gesagt berechnet der Optimierer 54 eine Lösung für die Ziel-Stellgröße MVT, indem jede der Regelgrößen und Hilfsvariablen in ihre Grenzen gezwungen wird. Wie oben erwähnt wird es in vielen Fällen eine Lösung geben, bei der jede Regelgrößen auf ihrem Sollwert liegt (der zunächst als obere Grenze der Regelgröße behandelt werden kann), während jede Hilfsvariable innerhalb ihrer jeweiligen Einschränkungsgrenzen bleibt. Trifft dies zu, braucht der Optimierer 54 nur die bestimmten Ziel-Stellgrößen MVT auszugeben, die ein optimales Ergebnis für die Zielfunktion erzeugen.
  • In manchen Fällen kann es aufgrund zu enger Einschränkungen für manche oder alle Hilfsvariablen oder Stellgrößen unmöglich sein, einen Betriebspunkt zu finden, in dem alle Regelgrößen auf ihrem Sollwert und alle Hilfsvariablen innerhalb ihrer jeweiligen Einschränkungsgrenzen liegen, da es eine derartige Lösung nicht gibt. In diesen Fällen kann wie oben erwähnt der Optimieret 54 eine Lockerung der Regelgrößen innerhalb ihrer vorgeschriebenen Sollwertbereiche in dem Versuch zulassen, einen Betriebspunkt zu finden, in dem die Hilfsvariablen innerhalb ihrer jeweiligen Grenzen liegen. Wenn es in diesem Fall keine Lösung gibt, kann der Optimierer eine der Einschränkungsgrenzen der Hilfsvariablen als Grenze innerhalb der Lösung fallen lassen und statt dessen den optimalen Prozessbetriebspunkt bestimmen, während die fallen gelassenen Einschränkungsgrenzen der Hilfsvariablen ignoriert werden. Der Optimierer wählt hier, welche Hilfsvariable oder Regelgröße als Einschränkungsgrenze auf Basis der jeweiligen Gewichtungen für jede Regelgröße und Hilfsvariable (wobei z.B. die mit der niedrigsten Gewichtung oder der höchsten Priorität zuerst fallen gelassen wird) fallen gelassen wird. Der Optimierer 54 lässt so lang Hilfsvariablen oder Regelgrößen auf Basis ihrer Gewichtungen oder Prioritäten fallen, bis er eine Lösung der Ziel-Stellgrößen MVT findet, in der alle Sollwertbereiche für die Regelgrößen und die Grenzen für die restlichen Hilfsvariablen höherer Priorität eingehalten werden.
  • Danach verwendet der Ziel-Konvertierungsblock 55 (2) in Block 156 die stationäre Stufenantwort-Gain-Matrix, um die Zielwerte der Regelgrößen und Hilfsvariablen CVT und AVT aus den Zielwerten für die Stellgrößen MVT zu bestimmen und stellt die gewählte Teilmenge N (wobei N gleich ist oder kleiner als M) dieser Werte der MPC-Steuerung 52 als Zieleingänge zur Verfügung. In Block 158 verwendet die MPC-Steuerung 52 die Steuermatrix oder die daraus abgeleitete Logik, um wie oben beschrieben als nicht eingeschränkte MPC-Steuerung zu arbeiten, um die künftigen CV- und AV-Vektoren für diese Zielwerte zu bestimmen, und führt eine Vektorsubtraktion mit dem künftigen Steuerparametervektor aus, um den künftigen Fehlervektor zu erzeugen. Der MPC-Algorithmus arbeitet auf bekannte Weise, um die stationären Stellgrößen MVSS auf Basis des aus den M × M Stufenantworten entwickelten Prozessmodells zu bestimmen und liefert diese MVSS-Werte an den Eingangsverarbeitungs-/Filterblock 58 (2). In Block 160 bestimmt der MPC-Algorithmus auch die an den Prozess 50 auszugebenden Stufen und gibt die erste dieser Stufen auf geeignete Weise an den Prozess 50 aus.
  • Während des Betriebs kann eine oder mehrere Überwachungsanwendungen, die z.B. in einer der Schnittstellen 13 ausgeführt werden, Informationen vom weiterentwickelten Steuerblock oder anderen mit diesem im Datenaustausch verbundenen Funktionsblöcken entweder direkt oder über den Historian 12 abrufen und dem Benutzer oder Operator einen oder mehrere Betrachtungs- oder Diagnosebildschirme zur Betrachtung des Betriebszustands des weiterentwickelten Steuerblocks präsentieren. Die Funktionsblocktechnologie bietet Kaskadeneingänge (CAS_IN) und kaskadierte Ferneingänge (RCAS_IN) sowie entsprechende Rückrechenausgänge (back calculation outputs) (BKCAL_OUT und RCAS_OUT) sowohl für die Steuer- als auch Ausgangsfunktionsblöcke. Mittels dieser Anschlüsse ist es möglich, eine optimierte Überwachungs-Steuerstrategie auf der vorhandenen Steuerstrategie aufzuschalten, und diese Überwachungs-Steuerstrategie kann auf einem oder mehreren Bildschirmen oder auf einer oder mehreren Anzeigen betrachtet werden. Ähnlich können Ziele für die optimierte MPC-Steuerung von einer Strategie aus modifiziert werden, sofern dies gewünscht ist.
  • 15 ist ein Beispiel einer Bildschirmanzeige, die von einer oder mehreren solcher Betrachtungsanwendungen erzeugt werden kann, und zeigt einen Optimierer-Dialogbildschirm, der dem Operator Informationen hinsichtlich des Betriebs des weiterentwickelten Steuerblocks während des Betriebs desselben liefert. Insbesondere sind die Eingänge in den Prozess (die Stellgrößen MV) und die Ausgänge (die Regelgrößen und die Hilfsvariablen CV und AV) getrennt dargestellt. Für jede dieser Variablen gibt die Bildschirmanzeige den Namen (Deskriptor) der Variablen, den aktuellen Wert wie gemessen, einen Sollwert, sofern zutreffend, den Zielwert wie vom Optimierer berechnet, die Einheiten und Einheitswerte der Variablenänderung und eine Anzeige der aktuellen Variablenwerte an. Für die Ausgangsvariablen erfolgt außerdem eine Angabe, ob diese Variable einer der in der MPC-Steuerung verwendeten gewählten Variablen ist, des prädizierten Wertes dieser Variablen wie von der MPC-Steuerung bestimmt sowie der voreingestellten Priorität dieser Variablen. Dieser Bildschirm ermöglicht es dem Operator, den aktuellen Betriebsstatus des weiterentwickelten Steuerblocks und die Weise, in der der weiterentwickelte Steuerblock die Steuerung ausführt, zu betrachten. Außerdem kann der Benutzer einige Regelparameter für die entfernte Sollwertfunktion konfigurieren, so dass externe Anwendungen Betriebsziele für die Durchsatzkoordinierung setzen können.
  • 16 ist eine Bildschirmanzeige, die von einer Diagnoseanwendung erzeugt werden kann und einen Diagnosebildschirm darstellt, der dem Benutzer oder Operator zur Durchführung der Diagnose des weiterentwickelten Steuerblocks präsentiert werden kann. Insbesondere zeigt der Diagnosebildschirm von 16 die Regelgrößen und Constraint-(Hilfs-) Variablen, die Stellgrößen und die Störgrößen getrennt an. Für jede wird der Name oder Deskriptor der Variablen zusammen mit (in der ersten Spalte) einer Angabe, ob eine Fehler- oder eine Alarmbedingung für diese Variable vorliegt. Ein derartiger Fehler oder Alarm kann grafisch beispielsweise durch ein grünes Häkchen oder ein rotes "x" oder auf jede andere gewünschte Weise angezeigt werden. Für jede dieser Variablen wird auch ein Wert und ein Status angegeben. Für die Stellgrößen sind Wert und Status der Back_Cal (Rückrechen- oder Rückkopplungs)-Variablen für diese Signale dargestellt. Es versteht sich, dass dieser Bildschirm zur Durchführung von Diagnosen des weiterentwickelten Steuerblocks verwendet werden kann, indem er dem Operator Informationen bereitstellt, die zur Bestimmung von Problemen im Steuerungssystem erforderlich sind. Natürlich können dem Operator andere Typen von Bildschirmen und Informationen bereitgestellt werden, um es ihm zu ermöglichen, den Betrieb des weiterentwickelten Steuerblocks und des Moduls, in dem dieser implementiert ist, zu beobachten und diagnostische Operationen vorzunehmen.
  • Obwohl der weiterentwickelte Steuerblock hierin so dargestellt ist, dass er einen Optimierer im selben Funktionsblock hat und deshalb im selben Gerät wie die MPC-Steuerung ausgeführt wird, ist es auch möglich, den Optimierer in einem getrennten Gerät zu implementieren. Insbesondere kann der Optimierer in einem anderen Gerät, z.B. in einer der Workstations 13, angeordnet werden und mit der MPC-Steuerung wie in Zusammenhang mit der 2 während jeder Ausführung oder Abtastung der Steuerung kommunizieren, um die Ziel-Stellgrößen (MVT) oder die daraus bestimmte Teilmenge der Regelgrößen und Hilfsvariablen (CV und AV) zu berechnen und der MPC-Steuerung zu liefern. Natürlich kann eine Spezial-Schnittstelle wie eine bekannte OPC-Schnittstelle als Kommunikationsschnittstelle zwischen der Steuerung und dem Funktionsblock mit der darin befindlichen MPC-Steuerung und der Worksation oder einem anderen Computer, der den Optimierer implementiert oder ausführt, verwendet werden. Wie bei der in Zusammenhang mit 2 beschriebenen Ausführungsform müssen der Optimierer und die MPC-Steuerung während jedes Abtastzyklus noch kommunizieren, um eine integrierte optimierte MPC-Steuerung auszuführen. In diesem Fall können jedoch andere gewünschte Typen von Optimierern verwendet werden, wie bekannte oder Standard-Echtzeit-Optimierer, die möglicherweise bereits in einer Prozesssteuerungsumgebung vorhanden sind. Diese Merkmal kann auch vorteilhaft benutzt werden, wenn das Optimierungsproblem nicht linear ist und die Lösung nicht lineare Programmierungstechniken erfordert.
  • Während der weiterentwickelte Steuerblock sowie andere Blöcke und Routinen hierin in ihrer Verwendung zusammen mit Fieldbus- und Standard-20 mA-Geräten beschrieben worden sind, können sie natürlich auch unter Verwendung jedes anderen Prozesssteuerungs-Kommunikationsprotokolls oder jeder anderen Programmierumgebung implementiert und mit anderen Gerätetypen, Funktionsblöcken oder Steuerungen verwendet werden. Obwohl die weiterentwickelten Steuerblöcke und die zugehörigen Erzeugungs- und Prüfroutinen vorzugsweise softwaremäßig implementiert werden, können sie auch als Hardware, Firmware etc. implementiert und von jedem anderen zu einem Prozesssteuerungssystem gehörigen Prozessor ausgeführt werden. Die hierin beschriebene Routine 40 kann also in einer Standard-Mehrzweck-CPU oder in einer speziell konfigurierten Hardware oder Firmware wie z.B. ASIC's implementiert werden, falls dies gewünscht wird. Bei der softwaremäßigen Implementierung kann die Software in jedem computerlesbaren Speicher wie auf einer Magnetplatte, einer Laserplatte, einer optischen Platte oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers oder Prozessors usw. gespeichert werden. Diese Software kann gleichermaßen einem Benutzer oder einem Prozesssteuerungssystem über jedes bekannte oder gewünschte Lieferverfahren übergeben werden, einschließlich z.B. auf einer computerlesbaren Platte oder einem anderen transportablen Computerspeichermechanismus, oder sie kann über einem Kommunikationskanal wie eine Telefonleitung, das Internet etc. (was als gleichwertig oder austauschbar mit der Bereitstellung einer solchen Software über ein transportables Speichermedium gilt) moduliert werden.
  • Obwohl also die vorliegende Erfindung unter Bezugnahme auf bestimmte Beispiele beschrieben worden ist, die rein beispielhaft und für die Erfindung als nicht einschränkend zu sehen sind, ist es für den Durchschnittsfachmann offensichtlich, dass Änderungen, Hinzufügungen oder Streichungen an den offenbarten Ausführungsformen vorgenommen werden können, ohne von Geist und Gültigkeitsbereich der Erfindung abzuweichen.

Claims (32)

  1. Prozesssteuerungs-Konfigurationssystem zur Verwendung bei der Erzeugung oder Betrachtung eines Steuerblocks mit einem integrierten Optimierer und einer Steuerroutine mit mehreren Eingängen/mehreren Ausgängen, aufweisend: ein computerlesbares Medium; eine in dem computerlesbaren Medium gespeicherte Konfigurationsroutine zur Ausführung auf einem Prozessor, wobei die Konfigurationsroutine enthält: eine Speicherroutine, die Informationen hinsichtlich einer Vielzahl Regelgrößen und Hilfsvariablen sowie einer Vielzahl Stellgrößen zur Verwendung durch entweder den Optimierer oder die Steuerroutine mit mehreren Eingängen/mehreren Ausgängen oder durch beide; eine Anzeigeroutine zur Präsentation einer Anzeige für einen Benutzer bezüglich einer oder mehrerer Regelgrößen, Hilfsvariablen und Stellgrößen.
  2. Prozesssteuerungs-Konfigurationssystem nach Anspruch 1, bei dem die Speicherroutine zur Speicherung einer Vielzahl Antwortkurven ausgeführt ist, wobei jede der Antwortkurven die Antwort einer der Regelgrößen und Hilfsvariablen auf eine der Stellgrößen definiert, und bei dem die Anzeigeroutine zur Präsentation einer Teilmenge der Antwortkurven zur Betrachtung durch einen Benutzer auf dem Anzeigebildschirm ausgeführt ist, wobei die Teilmenge der Antwortkurven die Antwort jeder der Regelgrößen und Hilfsvariablen auf eine der Stellgrößen enthält.
  3. Prozesssteuerungs-Konfigurationssystem nach Anspruch 2, bei dem die Konfigurationsroutine eine erste Routine enthält, die es einem Benutzer ermöglicht, eine der Regelgrößen und Hilfsvariablen mit der besten Antwort auf eine der Stellgrößen auf dem Anzeigebildschirm zu wählen.
  4. Prozesssteuerungs-Konfigurationssystem nach Anspruch 1, bei dem die Speicherroutine zur Speicherung einer Vielzahl Antwortkurven ausgeführt ist, wobei jede der Antwortkurven die Antwort einer der Regelgrößen und Hilfsvariablen auf eine der Stellgrößen definiert, und bei dem die Anzeigeroutine zur Präsentation einer Teilmenge der Antwortkurven zur Betrachtung durch einen Benutzer auf dem Anzeigebildschirm ausgeführt ist, wobei die Teilmenge der Antwortkurven die Antwort einer der Regelgrößen und Hilfsvariablen auf jede der Stellgrößen enthält.
  5. Prozesssteuerungs-Konfigurationssystem nach Anspruch 4, bei dem die Konfigurationsroutine eine erste Routine enthält, die es einem Benutzer ermöglicht, eine der Regelgrößen und Hilfsvariablen mit der besten Antwort auf eine der Stellgrößen auf dem Anzeigebildschirm zu wählen.
  6. Prozesssteuerungs-Konfigurationssystem nach Anspruch 5, bei dem die erste Routine dem Benutzer die Wahl einer Regelgröße und Hilfsvariablen mit der besten Antwort auf eine der Stellgrößen durch Wählen einer der Antwortkurven ermöglicht.
  7. Prozesssteuerungs-Konfigurationssystem nach Anspruch 5, bei dem die Anzeigeroutine so ausgeführt ist, dass sie eine zu einer zuvor gewählten Regelgröße und Hilfsvariablen gehörige Antwortkurve in einer Weise anzeigt, die erkennbar macht, dass die Regelgröße oder Hilfsvariable zuvor als die beste Antwort auf eine der Stellgrößen gewählt worden ist.
  8. Prozesssteuerungs-Konfigurationssystem nach Anspruch 1, bei dem die Speicherroutine zur Speicherung einer Vielzahl Antwortkurven ausgeführt ist, wobei jede der Antwortkurven die Antwort einer der Regelgrößen und Hilfsvariablen auf eine der Stellgrößen definiert, und bei dem die Anzeigeroutine in einer ersten Einstellung zur Präsentation einer Teilmenge der Vielzahl Antwortkurven einschließlich der Antwort jeder der Regelgrößen und Hilfsvariablen auf einer der Stellgrößen und in einer zweiten Einstellung zur Präsentation einer Teilmenge der Vielzahl Antwortkurven einschließlich der Antwort auf eine der Regelgrößen und Hilfsvariablen auf jede der Stellgrößen ausgeführt ist.
  9. Prozesssteuerungs-Konfigurationssystem nach Anspruch 8, bei dem die Konfigurationsroutine eine erste Routine enthält, die es einem Benutzer ermöglicht, eine der Regelgrößen und Hilfsvariablen mit der besten Antwort auf eine der Stellgrößen auf dem Anzeigebildschirm zu wählen.
  10. Prozesssteuerungs-Konfigurationssystem nach Anspruch 8, bei dem die Anzeigeroutine so ausgeführt ist, dass sie die Antwortkurven für jede der Regelgrößen und Hilfsvariablen auf jede der Stellgrößen anzeigt, wobei gleichzeitig immer nur die Antwortkurven für eine einzige der Regelgrößen und Hilfsvariablen dargestellt werden.
  11. Prozesssteuerungs-Konfigurationssystem nach Anspruch 8, bei dem die Anzeigeroutine so ausgeführt ist, dass sie die Antwortkurven für jede der Regelgrößen und Hilfsvariablen auf jede der Stellgrößen anzeigt, wobei gleichzeitig immer nur die Antwortkurven für eine einzige der Stellgrößen dargestellt werden.
  12. Prozesssteuerungs-Konfigurationssystem nach Anspruch 8, bei dem die Anzeigeroutine es einem Benutzer ermöglicht, eine der Antwortkurven zu kopieren und die kopierte der Antwortkurven in einen anderen Steuerblock einzufügen.
  13. Prozesssteuerungs-Konfigurationssystem nach Anspruch 1, bei dem die Anzeigeroutine einen Bildschirm anzeigt, in dem ein Benutzer gespeicherte Informationen bezüglich entweder einer Menge Stellgrößen, einer Menge Regelgrößen und einer Menge Hilfsvariablen sowie Tabs, die zu der jeweils anderen Menge Stellgrößen, der Menge Regelgrößen und der Menge Hilfsvariablen gehören, betrachten kann, die gewählt werden können, um die jeweils anderen der Menge Stellgrößen, der Menge Regelgrößen und der Menge Hilfsvariablen zu betrachten.
  14. Prozesssteuerungs-Konfigurationssystem nach Anspruch 13, bei dem die Anzeigeroutine eine Vielzahl Parameter anzeigen kann, die zu jeder Variablen aus einer Menge der Regelgrößen, aus einer Menge der Hilfsvariablen und aus einer der Stellgrößen gehören.
  15. Prozesssteuerungs-Konfigurationssystem nach Anspruch 14, bei dem die Anzeigeroutine einen Namen einer Variablen als einen Parameter aus der Vielzahl Parameter anzuzeigen vermag.
  16. Prozesssteuerungs-Konfigurationssystem nach Anspruch 14, bei dem die Anzeigeroutine einen Namen eines Kommunikationsweges als einen Parameter aus der Vielzahl Parameter anzuzeigen vermag.
  17. Prozesssteuerungs-Konfigurationssystem nach Anspruch 14, bei dem die Anzeigeroutine eine oder mehrere Grenzen als einen Parameter aus der Vielzahl Parameter anzuzeigen vermag.
  18. Prozesssteuerungs-Konfigurationssystem nach Anspruch 14, bei dem die Anzeigeroutine einen Sollwert als einen Parameter aus der Vielzahl Parameter anzuzeigen vermag.
  19. Prozesssteuerungs-Konfigurationssystem nach Anspruch 14, bei dem die Anzeigeroutine eine Prioritätsangabe als einen Parameter aus der Vielzahl Parameter anzuzeigen vermag.
  20. Prozesssteuerungs-Konfigurationssystem nach Anspruch 14, bei dem die Anzeigeroutine eine vom Optimierer zu verwendende Gewinn- oder Kostenangabe als einen Parameter aus der Vielzahl Parameter anzuzeigen vermag.
  21. Prozesssteuerungs-Konfigurationssystem nach Anspruch 13, bei dem die Anzeigeroutine es einem Benutzer ermöglicht, eine oder mehrere der angezeigten Regelgrößen, Hilfsvariablen oder Stellgrößen hinzuzufügen oder zu löschen.
  22. Prozesssteuerungs-Konfigurationssystem nach Anspruch 1, bei dem die Speicherroutine eine Menge Zielfunktionen zur Verwendung im Optimierer zu speichern vermag, und bei dem die Anzeigeroutine zur Präsentation von Anzeigen der Zielfunktionen über den Bildschirm für den Benutzer ausgeführt ist, um es dem Benutzer zu ermöglichen, eine Zielfunktion aus der Menge Zielfunktionen als die im Optimierer zu verwendende Zielfunktion zu wählen.
  23. Prozesssteuerungs-Konfigurationssystem nach Anspruch 1, bei dem die Anzeigeroutine zur Anzeige eines Diagnosebildschirms ausgeführt ist, der Diagnoseinformationen zu mindestens einer Menge der Regelgrößen, Hilfsvariablen und Stellgrößen anzeigt.
  24. Prozesssteuerungs-Konfigurationssystem nach Anspruch 23, bei dem die Diagnoseinformationen die Namen der Regelgrößen, Hilfsvariablen und Stellgrößen in der mindestens einen Menge der Regelgrößen, Hilfsvariablen und Stellgrößen enthalten.
  25. Prozesssteuerungs-Konfigurationssystem nach Anspruch 23, bei dem die Diagnoseinformationen Statusangaben der Regelgrößen, Hilfsvariablen und Stellgrößen in der mindestens einen Menge der Regelgrößen, Hilfsvariablen und Stellgrößen enthalten.
  26. Prozesssteuerungs-Konfigurationssystem nach Anspruch 23, bei dem die Diagnoseinformationen Werte der Regelgrößen, Hilfsvariablen und Stellgrößen in der mindestens einen Menge der Regelgrößen, Hilfsvariablen und Stellgrößen enthalten.
  27. Prozesssteuerungs-Konfigurationssystem nach Anspruch 23, bei dem die Diagnoseinformationen eine Alarm- oder Warnangabe für eine oder mehrere der Regelgrößen, Hilfsvariablen oder Stellgrößen in der mindestens einen Menge der Regelgrößen, Hilfsvariablen und Stellgrößen enthalten.
  28. Prozesssteuerungs-Konfigurationssystem nach Anspruch 1, bei der die Anzeigeroutine einen Betrachtungsbildschirm präsentiert, der aktuelle Informationen bezüglich mindestens einer Menge der Regelgrößen, Hilfsvariablen und Stellgrößen anzeigt.
  29. Prozesssteuerungs-Konfigurationssystem nach Anspruch 28, bei dem die aktuellen Informationen einen aktuellen Wert für jede der einen oder mehreren Regelgrößen, Hilfsvariablen oder Stellgrößen der mindestens einen Menge Regelgrößen, Hilfsvariablen und Stellgrößen enthalten.
  30. Prozesssteuerungs-Konfigurationssystem nach Anspruch 28, bei dem die aktuellen Informationen einen Prädiktionswert für jede der einen oder mehreren Regelgrößen, Hilfsvariablen oder Stellgrößen der mindestens einen Menge Regelgrößen, Hilfsvariablen und Stellgrößen enthalten.
  31. Prozesssteuerungs-Konfigurationssystem nach Anspruch 28, bei dem die aktuellen Informationen einen Grenzwert für jede der einen oder mehreren Regelgrößen, Hilfsvariablen oder Stellgrößen der mindestens einen Menge Regelgrößen, Hilfsvariablen und Stellgrößen enthalten.
  32. Prozesssteuerungs-Konfigurationssystem nach Anspruch 28, bei dem die aktuellen Informationen einen Zielwert für jede der einen oder mehreren Regelgrößen, Hilfsvariablen oder Stellgrößen der mindestens einen Menge Regelgrößen, Hilfsvariablen und Stellgrößen enthalten.
DE10341574A 2002-09-11 2003-09-09 Konfiguration und Betrachtungsanzeige für einen integrierten prädiktiven Modellsteuerungs- und Optimierungsfunktionsblock Ceased DE10341574A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/241,350 US7376472B2 (en) 2002-09-11 2002-09-11 Integrated model predictive control and optimization within a process control system
US241350 2002-09-11
US10/310,416 US7330767B2 (en) 2002-09-11 2002-12-05 Configuration and viewing display for an integrated model predictive control and optimizer function block
US310416 2002-12-05

Publications (1)

Publication Number Publication Date
DE10341574A1 true DE10341574A1 (de) 2004-08-12

Family

ID=29254190

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10341574A Ceased DE10341574A1 (de) 2002-09-11 2003-09-09 Konfiguration und Betrachtungsanzeige für einen integrierten prädiktiven Modellsteuerungs- und Optimierungsfunktionsblock

Country Status (6)

Country Link
US (1) US7050863B2 (de)
JP (2) JP4542323B2 (de)
CN (1) CN1490691A (de)
DE (1) DE10341574A1 (de)
GB (1) GB2394563B (de)
HK (1) HK1060778A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006023458A1 (de) * 2006-05-18 2007-11-22 Siemens Ag Lageregelverfahren für eine Achse

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130189801A1 (en) * 1998-11-06 2013-07-25 Semcon Tech, Llc Advanced finishing control
US7575501B1 (en) 1999-04-01 2009-08-18 Beaver Creek Concepts Inc Advanced workpiece finishing
US8353738B2 (en) * 1998-11-06 2013-01-15 Semcon Tech, Llc Advanced finishing control
US7572169B1 (en) 1998-11-06 2009-08-11 Beaver Creek Concepts Inc Advanced finishing control
US7878882B2 (en) 1999-04-01 2011-02-01 Charles J. Molnar Advanced workpiece finishing
US7377836B1 (en) 2000-10-10 2008-05-27 Beaver Creek Concepts Inc Versatile wafer refining
US7376472B2 (en) * 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
US20050165575A1 (en) * 2003-09-23 2005-07-28 Jacob Mettes Automated regression analysis and its applications such as water analysis
US9983559B2 (en) * 2002-10-22 2018-05-29 Fisher-Rosemount Systems, Inc. Updating and utilizing dynamic process simulation in an operating process environment
DE10348563B4 (de) * 2002-10-22 2014-01-09 Fisher-Rosemount Systems, Inc. Integration von Grafikdisplayelementen, Prozeßmodulen und Steuermodulen in Prozeßanlagen
US7146231B2 (en) * 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
EP1594022A4 (de) * 2003-02-14 2006-11-02 Kansai Tech Licensing Org Co Steuersystem mit virtuellem leistungsüberwacher zur realisierung der funktion zur bewertung/analyse der stabilität eines steuerobjekts
JP3963174B2 (ja) * 2003-03-14 2007-08-22 オムロン株式会社 表示・編集装置及び表示方法並びにプログラム
US7269468B2 (en) 2003-09-05 2007-09-11 Fisher-Rosemount Systems, Inc. State machine function block with a user modifiable output configuration database
US7730415B2 (en) 2003-09-05 2010-06-01 Fisher-Rosemount Systems, Inc. State machine function block with a user modifiable state transition configuration database
US20050222835A1 (en) * 2004-04-02 2005-10-06 Fridolin Faist Method for automatic modeling a process control system and corresponding process control system
US7729789B2 (en) 2004-05-04 2010-06-01 Fisher-Rosemount Systems, Inc. Process plant monitoring based on multivariate statistical analysis and on-line process simulation
JP2007536634A (ja) 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US7546588B2 (en) * 2004-09-09 2009-06-09 International Business Machines Corporation Self-optimizable code with code path selection and efficient memory allocation
US7173539B2 (en) * 2004-09-30 2007-02-06 Florida Power And Light Company Condition assessment system and method
WO2006046251A2 (en) * 2004-10-28 2006-05-04 Insyst Ltd. Detection system for rare situation in processes
US7467614B2 (en) 2004-12-29 2008-12-23 Honeywell International Inc. Pedal position and/or pedal change rate for use in control of an engine
US20060200552A1 (en) * 2005-03-07 2006-09-07 Beigi Mandis S Method and apparatus for domain-independent system parameter configuration
US7444193B2 (en) 2005-06-15 2008-10-28 Cutler Technology Corporation San Antonio Texas (Us) On-line dynamic advisor from MPC models
US7389773B2 (en) 2005-08-18 2008-06-24 Honeywell International Inc. Emissions sensors for fuel control in engines
US7451004B2 (en) * 2005-09-30 2008-11-11 Fisher-Rosemount Systems, Inc. On-line adaptive model predictive control in a process control system
US7738975B2 (en) * 2005-10-04 2010-06-15 Fisher-Rosemount Systems, Inc. Analytical server integrated in a process control network
US8036760B2 (en) * 2005-10-04 2011-10-11 Fisher-Rosemount Systems, Inc. Method and apparatus for intelligent control and monitoring in a process control system
US7444191B2 (en) 2005-10-04 2008-10-28 Fisher-Rosemount Systems, Inc. Process model identification in a process control system
US7831317B2 (en) * 2005-11-14 2010-11-09 Rockwell Automation Technologies, Inc. Distributed historian architecture
US7627385B2 (en) * 2005-11-14 2009-12-01 Rockwell Automation Technologies, Inc. Historian module for use in an industrial automation controller
US7738973B2 (en) * 2005-11-14 2010-06-15 Rockwell Automation Technologies, Inc. Distributed historian architecture and interfaces
WO2007067645A2 (en) * 2005-12-05 2007-06-14 Fisher-Rosemount Systems, Inc. Multi-objective predictive process optimization with concurrent process simulation
US8396731B2 (en) 2005-12-30 2013-03-12 Sap Ag Architectural design for service procurement application software
US8448137B2 (en) * 2005-12-30 2013-05-21 Sap Ag Software model integration scenarios
US8380553B2 (en) 2005-12-30 2013-02-19 Sap Ag Architectural design for plan-driven procurement application software
US8005575B2 (en) 2006-06-01 2011-08-23 General Electric Company Methods and apparatus for model predictive control in a real time controller
US7856280B2 (en) * 2006-08-02 2010-12-21 Emerson Process Management Power & Water Solutions, Inc. Process control and optimization technique using immunological concepts
US7949417B2 (en) * 2006-09-22 2011-05-24 Exxonmobil Research And Engineering Company Model predictive controller solution analysis process
US7599751B2 (en) * 2006-10-13 2009-10-06 Cutler Technology Corporation Adaptive multivariable MPC controller with LP constraints
US7991499B2 (en) 2006-12-27 2011-08-02 Molnar Charles J Advanced finishing control
US8036762B1 (en) 2007-05-09 2011-10-11 Zilker Labs, Inc. Adaptive compensation in digital power controllers
DE102007027276A1 (de) * 2007-06-11 2008-12-18 Endress + Hauser Gmbh + Co. Kg Feldgerät mit einer Vorrichtung zur Durchführung von Diagnoseverfahren
US8689194B1 (en) * 2007-08-20 2014-04-01 The Mathworks, Inc. Optimization identification
US8357286B1 (en) 2007-10-29 2013-01-22 Semcon Tech, Llc Versatile workpiece refining
DE102007062453A1 (de) * 2007-12-22 2009-06-25 Robert Bosch Gmbh Verfahren zum Programmieren und/oder Diagnostizieren einer speicherprogrammierbaren Steuerung
DE112009005510A5 (de) 2008-01-31 2013-06-20 Fisher-Rosemount Systems, Inc. Robuster adaptiver modellprädiktiver Regler mit Abstimmung zum Ausgleich einer Modellfehlanpassung
US8060290B2 (en) 2008-07-17 2011-11-15 Honeywell International Inc. Configurable automotive controller
TWI422128B (zh) * 2008-10-23 2014-01-01 Intersil Inc 功率調節器及用於控制功率調節器輸出的系統和方法
US8401908B2 (en) 2008-12-03 2013-03-19 Sap Ag Architectural design for make-to-specification application software
US8631046B2 (en) * 2009-01-07 2014-01-14 Oracle International Corporation Generic ontology based semantic business policy engine
US8243696B2 (en) * 2009-02-02 2012-08-14 Texas Instruments Incorporated Joint processing downlink coordinated multi-point reference signal support
DE112010000813T5 (de) * 2009-02-02 2012-02-09 Fisher-Rosemount Systems, Inc. Modellprädiktiver Regler mit abstimmbarer Integralkomponente zum Ausgleich von Modellfehlanpassung
US20100198364A1 (en) * 2009-02-05 2010-08-05 Shih-Chin Chen Configurable Multivariable Control System
US9672478B2 (en) 2009-02-26 2017-06-06 Oracle International Corporation Techniques for semantic business policy composition
US8155764B2 (en) * 2009-02-27 2012-04-10 Honeywell International Inc. Multivariable model predictive control for coalbed gas production
JP2010209274A (ja) * 2009-03-12 2010-09-24 Riso Kagaku Corp 活性エネルギー線硬化型インク
US8881039B2 (en) 2009-03-13 2014-11-04 Fisher-Rosemount Systems, Inc. Scaling composite shapes for a graphical human-machine interface
US8620461B2 (en) 2009-09-24 2013-12-31 Honeywell International, Inc. Method and system for updating tuning parameters of a controller
US9141098B2 (en) 2009-10-30 2015-09-22 Rockwell Automation Technologies, Inc. Integrated optimization and control for production plants
DE102009054905A1 (de) * 2009-12-17 2011-06-22 Robert Bosch GmbH, 70469 Verfahren zum Ermitteln von Funktionsparametern für ein Steuergerät
US8949236B2 (en) 2010-02-26 2015-02-03 Oracle International Corporation Techniques for analyzing data from multiple sources
US8825183B2 (en) 2010-03-22 2014-09-02 Fisher-Rosemount Systems, Inc. Methods for a data driven interface based on relationships between process control tags
US8504175B2 (en) 2010-06-02 2013-08-06 Honeywell International Inc. Using model predictive control to optimize variable trajectories and system control
US9400958B2 (en) 2010-06-30 2016-07-26 Oracle International Corporation Techniques for display of information related to policies
WO2012047654A1 (en) 2010-09-27 2012-04-12 Fisher-Rosemount Systems, Inc. Methods and apparatus to virtualize a process control system
US9280146B2 (en) * 2011-02-14 2016-03-08 The Mathworks, Inc. Multi-model, multi-objective tuning of control systems
US8874242B2 (en) * 2011-03-18 2014-10-28 Rockwell Automation Technologies, Inc. Graphical language for optimization and use
US8417361B2 (en) * 2011-03-22 2013-04-09 General Electric Company Model predictive control system and method for integrated gasification combined cycle power generation
US8954309B2 (en) * 2011-05-31 2015-02-10 Oracle International Corporation Techniques for application tuning
US8898096B2 (en) 2011-05-31 2014-11-25 Oracle International Corporation Application configuration generation
US9677493B2 (en) 2011-09-19 2017-06-13 Honeywell Spol, S.R.O. Coordinated engine and emissions control system
US9650934B2 (en) 2011-11-04 2017-05-16 Honeywell spol.s.r.o. Engine and aftertreatment optimization system
US20130111905A1 (en) 2011-11-04 2013-05-09 Honeywell Spol. S.R.O. Integrated optimization and control of an engine and aftertreatment system
EP2607975A1 (de) 2011-12-21 2013-06-26 Siemens Aktiengesellschaft Modellbasierter Prädiktivregler und Verfahren zur Regelung eines technischen Prozesses
US11199824B2 (en) 2012-01-17 2021-12-14 Fisher-Rosemount Systems, Inc. Reducing controller updates in a control loop
US10423127B2 (en) 2012-01-17 2019-09-24 Fisher-Rosemount Systems, Inc. Velocity based control in a non-periodically updated controller
US9298176B2 (en) 2012-01-17 2016-03-29 Fisher-Rosemount Systems, Inc. Compensating for setpoint changes in a non-periodically updated controller
JP6216112B2 (ja) 2012-11-30 2017-10-18 アズビル株式会社 多変数制御装置および方法
US9852481B1 (en) 2013-03-13 2017-12-26 Johnson Controls Technology Company Systems and methods for cascaded model predictive control
US9436179B1 (en) 2013-03-13 2016-09-06 Johnson Controls Technology Company Systems and methods for energy cost optimization in a building system
US9235657B1 (en) 2013-03-13 2016-01-12 Johnson Controls Technology Company System identification and model development
US10418833B2 (en) 2015-10-08 2019-09-17 Con Edison Battery Storage, Llc Electrical energy storage system with cascaded frequency response optimization
US10317857B2 (en) 2013-03-15 2019-06-11 Rockwell Automation Technologies, Inc. Sequential deterministic optimization based control system and method
US9400491B2 (en) 2013-03-15 2016-07-26 Rockwell Automation Technologies, Inc. Stabilized deteministic optimization based control system and method
US9448546B2 (en) 2013-03-15 2016-09-20 Rockwell Automation Technologies, Inc. Deterministic optimization based control system and method for linear and non-linear systems
US9086688B2 (en) 2013-07-09 2015-07-21 Fisher-Rosemount Systems, Inc. State machine function block with user-definable actions on a transition between states
US9639435B2 (en) * 2013-11-11 2017-05-02 Hitachi, Ltd. Management computer and management method of computer system
CN109976144B (zh) * 2014-03-20 2022-10-18 费希尔-罗斯蒙特系统公司 减少控制回路中的控制器更新
US10338543B2 (en) * 2014-04-04 2019-07-02 Schneider Electric Software, Llc Integrated model predictive control and advanced process control
US10386820B2 (en) 2014-05-01 2019-08-20 Johnson Controls Technology Company Incorporating a demand charge in central plant optimization
US9733628B2 (en) * 2014-08-13 2017-08-15 Honeywell International Inc. System and method for advanced process control
US10903778B2 (en) * 2014-12-18 2021-01-26 Eaton Intelligent Power Limited Apparatus and methods for monitoring subsea electrical systems using adaptive models
EP3051367B1 (de) 2015-01-28 2020-11-25 Honeywell spol s.r.o. Ansatz und system zur handhabung von einschränkungen für gemessene störungen mit unsicherer vorschau
EP3056706A1 (de) 2015-02-16 2016-08-17 Honeywell International Inc. Ansatz zur nachbehandlungssystemmodellierung und modellidentifizierung
US10082773B2 (en) * 2015-04-30 2018-09-25 Aspen Technology, Inc. Formulating steady-state targets using prioritized objective functions
EP3091212A1 (de) 2015-05-06 2016-11-09 Honeywell International Inc. Identifikationsansatz für verbrennungsmotor-mittelwertmodelle
EP3734375B1 (de) 2015-07-31 2023-04-05 Garrett Transportation I Inc. Quadratischer programmlöser für mpc mit variabler anordnung
US10272779B2 (en) 2015-08-05 2019-04-30 Garrett Transportation I Inc. System and approach for dynamic vehicle speed optimization
US10190789B2 (en) 2015-09-30 2019-01-29 Johnson Controls Technology Company Central plant with coordinated HVAC equipment staging across multiple subplants
US10554170B2 (en) 2015-10-08 2020-02-04 Con Edison Battery Storage, Llc Photovoltaic energy system with solar intensity prediction
US10283968B2 (en) 2015-10-08 2019-05-07 Con Edison Battery Storage, Llc Power control system with power setpoint adjustment based on POI power limits
US10222083B2 (en) 2015-10-08 2019-03-05 Johnson Controls Technology Company Building control systems with optimization of equipment life cycle economic value while participating in IBDR and PBDR programs
US11210617B2 (en) 2015-10-08 2021-12-28 Johnson Controls Technology Company Building management system with electrical energy storage optimization based on benefits and costs of participating in PDBR and IBDR programs
US10190793B2 (en) 2015-10-08 2019-01-29 Johnson Controls Technology Company Building management system with electrical energy storage optimization based on statistical estimates of IBDR event probabilities
US10700541B2 (en) 2015-10-08 2020-06-30 Con Edison Battery Storage, Llc Power control system with battery power setpoint optimization using one-step-ahead prediction
US10418832B2 (en) 2015-10-08 2019-09-17 Con Edison Battery Storage, Llc Electrical energy storage system with constant state-of charge frequency response optimization
US10564610B2 (en) 2015-10-08 2020-02-18 Con Edison Battery Storage, Llc Photovoltaic energy system with preemptive ramp rate control
US10222427B2 (en) 2015-10-08 2019-03-05 Con Edison Battery Storage, Llc Electrical energy storage system with battery power setpoint optimization based on battery degradation costs and expected frequency response revenue
US10197632B2 (en) 2015-10-08 2019-02-05 Taurus Des, Llc Electrical energy storage system with battery power setpoint optimization using predicted values of a frequency regulation signal
US10250039B2 (en) 2015-10-08 2019-04-02 Con Edison Battery Storage, Llc Energy storage controller with battery life model
US10742055B2 (en) 2015-10-08 2020-08-11 Con Edison Battery Storage, Llc Renewable energy system with simultaneous ramp rate control and frequency regulation
US10389136B2 (en) 2015-10-08 2019-08-20 Con Edison Battery Storage, Llc Photovoltaic energy system with value function optimization
JP6702421B2 (ja) * 2015-12-25 2020-06-03 日本電気株式会社 コスト関数設計システム、コスト関数設計方法、およびコスト関数設計プログラム
US10415492B2 (en) 2016-01-29 2019-09-17 Garrett Transportation I Inc. Engine system with inferential sensor
US10124750B2 (en) 2016-04-26 2018-11-13 Honeywell International Inc. Vehicle security module system
US10036338B2 (en) 2016-04-26 2018-07-31 Honeywell International Inc. Condition-based powertrain control system
US10878140B2 (en) 2016-07-27 2020-12-29 Emerson Process Management Power & Water Solutions, Inc. Plant builder system with integrated simulation and control system configuration
US10643167B2 (en) * 2016-07-28 2020-05-05 Honeywell International Inc. MPC with unconstrained dependent variables for KPI performance analysis
US10594153B2 (en) 2016-07-29 2020-03-17 Con Edison Battery Storage, Llc Frequency response optimization control system
US10778012B2 (en) 2016-07-29 2020-09-15 Con Edison Battery Storage, Llc Battery optimization control system with data fusion systems and methods
WO2018101918A1 (en) 2016-11-29 2018-06-07 Honeywell International Inc. An inferential flow sensor
US10930535B2 (en) 2016-12-02 2021-02-23 Applied Materials, Inc. RFID part authentication and tracking of processing components
US11057213B2 (en) 2017-10-13 2021-07-06 Garrett Transportation I, Inc. Authentication system for electronic control unit on a bus
US10838441B2 (en) 2017-11-28 2020-11-17 Johnson Controls Technology Company Multistage HVAC system with modulating device demand control
US10838440B2 (en) 2017-11-28 2020-11-17 Johnson Controls Technology Company Multistage HVAC system with discrete device selection prioritization
CN112424705A (zh) * 2018-07-13 2021-02-26 西门子股份公司 过程控制预测模型调整方法、装置和过程控制器
US11163271B2 (en) 2018-08-28 2021-11-02 Johnson Controls Technology Company Cloud based building energy optimization system with a dynamically trained load prediction model
US11159022B2 (en) 2018-08-28 2021-10-26 Johnson Controls Tyco IP Holdings LLP Building energy optimization system with a dynamically trained load prediction model
US11150875B2 (en) * 2018-09-27 2021-10-19 Microsoft Technology Licensing, Llc Automated content editor
EP3966641A1 (de) 2019-05-09 2022-03-16 Aspen Technology, Inc. Kombinieren von maschinenlernen mit domänenwissen und ersten prinzipien zur modellierung in der prozessindustrie
US11782401B2 (en) 2019-08-02 2023-10-10 Aspentech Corporation Apparatus and methods to build deep learning controller using non-invasive closed loop exploration
US11663679B2 (en) 2019-10-11 2023-05-30 International Business Machines Corporation Generating mode change alerts with automatic detection from sensor data
WO2021076760A1 (en) * 2019-10-18 2021-04-22 Aspen Technology, Inc. System and methods for automated model development from plant historical data for advanced process control
US11467545B2 (en) * 2020-02-28 2022-10-11 Fisher-Rosemount Systems, Inc. Dual-mode model-based control of a process
US11868932B2 (en) * 2020-09-30 2024-01-09 International Business Machines Corporation Real-time opportunity discovery for productivity enhancement
US11418969B2 (en) 2021-01-15 2022-08-16 Fisher-Rosemount Systems, Inc. Suggestive device connectivity planning
US11630446B2 (en) 2021-02-16 2023-04-18 Aspentech Corporation Reluctant first principles models
CN113139291B (zh) * 2021-04-23 2022-09-16 广东电网有限责任公司电力科学研究院 一种获取被控过程最优滑动窗滤波模型的方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4054408A (en) * 1976-08-30 1977-10-18 Shell Oil Company Method for optimizing the position of a furnace damper without flue gas analyzers
US4349869A (en) * 1979-10-01 1982-09-14 Shell Oil Company Dynamic matrix control method
US4616308A (en) * 1983-11-15 1986-10-07 Shell Oil Company Dynamic process control
JPH0695706A (ja) * 1992-09-11 1994-04-08 Toshiba Corp モデル予測制御装置
US5477444A (en) 1992-09-14 1995-12-19 Bhat; Naveen V. Control system using an adaptive neural network for target and path optimization for a multivariable, nonlinear process
US5351184A (en) * 1993-01-26 1994-09-27 Honeywell Inc. Method of multivariable predictive control utilizing range control
US5682309A (en) * 1995-04-28 1997-10-28 Exxon Chemical Patents Inc. Feedback method for controlling non-linear processes
US5561599A (en) * 1995-06-14 1996-10-01 Honeywell Inc. Method of incorporating independent feedforward control in a multivariable predictive controller
EP0879547B1 (de) * 1996-01-31 2004-03-24 ASM America, Inc. Modellgestützte prädiktive regelung für thermische behandlungen
US5933345A (en) * 1996-05-06 1999-08-03 Pavilion Technologies, Inc. Method and apparatus for dynamic and steady state modeling over a desired path between two end points
US6278899B1 (en) * 1996-05-06 2001-08-21 Pavilion Technologies, Inc. Method for on-line optimization of a plant
US6047221A (en) * 1997-10-03 2000-04-04 Pavilion Technologies, Inc. Method for steady-state identification based upon identified dynamics
JP2000003206A (ja) * 1998-06-12 2000-01-07 Hitachi Ltd 制御対象モデル変更装置
US6445963B1 (en) 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems
US6654649B2 (en) 1999-12-22 2003-11-25 Aspen Technology, Inc. Computer method and apparatus for optimized controller in a non-linear process
US6721609B1 (en) * 2000-06-14 2004-04-13 Fisher-Rosemount Systems, Inc. Integrated optimal model predictive control in a process control system
US7376472B2 (en) * 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006023458A1 (de) * 2006-05-18 2007-11-22 Siemens Ag Lageregelverfahren für eine Achse
DE102006023458B4 (de) * 2006-05-18 2008-03-06 Siemens Ag Lageregelverfahren für eine Achse
US7945352B2 (en) 2006-05-18 2011-05-17 Siemens Aktiengesellschaft Generalized predictive control (GPC) based position control method for an axle

Also Published As

Publication number Publication date
JP4542323B2 (ja) 2010-09-15
JP2004152264A (ja) 2004-05-27
US7050863B2 (en) 2006-05-23
JP2005292862A (ja) 2005-10-20
GB2394563B (en) 2007-09-19
HK1060778A1 (en) 2004-08-20
GB0321279D0 (en) 2003-10-08
CN1490691A (zh) 2004-04-21
GB2394563A (en) 2004-04-28
JP4722388B2 (ja) 2011-07-13
US20040117766A1 (en) 2004-06-17

Similar Documents

Publication Publication Date Title
DE10341574A1 (de) Konfiguration und Betrachtungsanzeige für einen integrierten prädiktiven Modellsteuerungs- und Optimierungsfunktionsblock
DE10341764B4 (de) Integrierte Modell-Vorhersagesteuerung und -Optimierung innerhalb eines Prozesssteuerungssystems
DE10362408B3 (de) Integrierte modellbasierte prädikative Steuerung und Optimierung innerhalb eines Prozesssteuerungssystems
DE10127788B4 (de) Integrierte Optimalmodell-Vorhersagesteuerung in einem Prozeßsteuerungssystem
DE102006045429B4 (de) Adaptive, Modellprädiktive Online-Steuerung in einem Prozesssteuerungssystem
DE69909838T2 (de) Steuerungsgeräte zur einstellung von optimalen parametern in prozessteuersystemen und verfahren zur anwendung derselben
DE69823049T2 (de) Modellfreie adaptive prozesssteuerung
DE102004019352B4 (de) Zustandsbasierter adaptiver Feedback-/Feedforward-PID-Regler (PID-Steuerungseinheit)
DE10341762B4 (de) Handhabung der Realisierbarkeit von Beschränkungen und Grenzen in einem Optimierer für Prozesssteuerungssysteme
DE10012258B4 (de) Selbst-Abstimmung in einer verteilten Prozeß-Regelumgebung
DE102006046870B4 (de) Prozessmodellidentifizierung in einem Prozesssteuersystem
DE10304902B4 (de) Anpassung von erweiterten Prozeßsteuerblöcken in Abhängigkeit von veränderlichen Prozeßverzögerungen
DE102017212270A1 (de) Erstellungsvorrichtung für Modelle für maschinelles Lernen, numerische Steuerung, Erstellungsverfahren für Modelle für maschinelles Lernen, Erstellungsprogramm für Modelle für maschinelles Lernen und Aufzeichnungsmedium
DE102007017039A1 (de) Robuste Prozessmodellidentifikation bei modellbasierten Steuerungstechniken
EP3575890B1 (de) Assistenzsystem zur unterstützung der planung von automatisierungssystemen
DE10031671A1 (de) Dynamische Einheitsauswahl in einem Prozessregelsystem
DE102019204861A1 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE10392599T5 (de) Verfahren zur Steuerung eines Zielsystems
EP0706680B1 (de) Regeleinrichtung, insbesondere für einen nichtlinearen, zeitvarianten prozess
EP1546823B1 (de) Verfahren zur rechnergestützten erstellung von prognosen für operative systeme sowie system zur erstellung von prognosen für operative systeme
DE4204047C2 (de) Verfahren und Vorrichtung zur Positionierung eines Stellers in einem Kraftfahrzeug
WO2000022487A1 (de) Regeleinrichtung zur regelung einer strecke mit mehreren verkoppelten regelgrössen
EP2288969B1 (de) Leitsystem einer anlage mit mehrstufiger modelloptimierung
WO1996014608A1 (de) Verfahren zum entwurf eines fuzzy-reglers
WO2020049051A2 (de) Automatisierte parametrierung eines reglers

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final