DE10341764A1 - Integrated model prediction control and optimization within a process control system - Google Patents

Integrated model prediction control and optimization within a process control system Download PDF

Info

Publication number
DE10341764A1
DE10341764A1 DE10341764A DE10341764A DE10341764A1 DE 10341764 A1 DE10341764 A1 DE 10341764A1 DE 10341764 A DE10341764 A DE 10341764A DE 10341764 A DE10341764 A DE 10341764A DE 10341764 A1 DE10341764 A1 DE 10341764A1
Authority
DE
Germany
Prior art keywords
control
auxiliary
variables
manipulated variables
quantities
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.)
Granted
Application number
DE10341764A
Other languages
German (de)
Other versions
DE10341764B4 (en
Inventor
Ashish Round Rock Mehta
Wilhelm K. Austin Wojsznis
Dirk Austin Thiele
Peter Cedar Park Wojsznis
Mark Round Rock Nixon
Terrence L. Round Rock Blevins
Ron Austin Ottenbacher
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
Priority claimed from US10/627,362 external-priority patent/US7050863B2/en
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE10341764A1 publication Critical patent/DE10341764A1/en
Application granted granted Critical
Publication of DE10341764B4 publication Critical patent/DE10341764B4/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • 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
    • 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/0205Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
    • G05B13/024Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system 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/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/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)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Feedback Control In General (AREA)

Abstract

Ein Prozesssteuerungskonfigurationssystem zur Verwendung bei der Herstellung oder Sichtung eines integrierten Optimierungs- und Steuer-/Regelblocks wird bereitgestellt, das ein Optimierungsprogramm und ein Mehrfacheingabe-/Mehrfachausgabe-Steuerprogramm implementiert. Das Konfigurationssystem kann es einem Benutzer ermöglichen, das Optimierungs- oder Steuerprogramm anzuzeigen oder zu konfigurieren. Ein Speicherprogramm kann Daten speichern, die mehreren Steuer- und Hilfsgrößen und mehrere Stellgrößen betreffen, die vom Optimierungsprogramm und/oder dem Steuerprogramm verwendet werden sollen. Ein Anzeigeprogramm kann einem Benutzer eine Anzeige im Hinblick auf die Daten bieten, die die mehreren Steuer- und Hilfsgrößen und die mehreren Stellgrößen betreffen.A process control configuration system for use in fabricating or viewing an integrated optimization and control block is provided that implements an optimization program and a multiple input / multiple output control program. The configuration system may allow a user to view or configure the optimization or control program. A memory program may store data relating to multiple control and auxiliary variables and a plurality of manipulated variables to be used by the optimizer and / or the control program. A viewer may provide a user with an indication of the data pertaining to the multiple control and auxiliary variables and the plurality of manipulated variables.

Description

Die Anmeldung ist eine Teilweiterverfolgung von und beansprucht Priorität aus der US-Patentanmeldung Nr. 10/310,416 mit dem Titel „Configuration and Viewing Display for an Integrated Model Predictive Control and Optimizer Function Block", eingereicht am 5. Dezember 2002, welche eine Weiterverfolgung der US-Patentanmeldung Nr. 10/241,350 mit dem Titel „Integrated Model Predictive Control and Optimization within a Process Control System", eingereicht am 11. September 2002, ist und Priorität aus dieser beansprucht. Diese Anmeldungen werden hier universal in ihrer Gänze durch Bezug aufgenommen.The login is a partial tracking from and claims priority from U.S. Patent Application No. 10 / 310,416 entitled "Configuration and Viewing Display for Integrated Model Predictive Control and Optimizer Function Block ", filed on December 5, 2002, which is a follow-up to the US patent application No. 10 / 241,350 entitled "Integrated Model Predictive Control and Optimization within a Process Control System ", filed on September 11, 2002, and priority is claimed from this. This Registrations are universally included in their entirety by reference.

Die vorliegende Erfindung bezieht sich allgemein auf Prozesssteuerungssysteme und insbesondere auf einen optimierten Modellvorhersage-Controller im Rahmen eines Prozesssteuerungssystems.The present invention relates generally on process control systems and in particular on an optimized model prediction controller as part of a process control system.

Prozesssteuerungssysteme wie verteilte oder skalierbare Prozesssteuerungssysteme wie diejenigen, die in Chemie-, Erdöl- oder anderen Prozessen verwendet werden, umfassen typischerweise einen oder mehrere, kommunikativ miteinander, mit mindestens einem Haupt- oder Bedienerarbeitsplatzrechner und mit einem oder mehreren Feldgeräten über analoge, digitale oder kombinierte analoge/digitale Busse gekoppelte/n Controller. Die Feldgeräte, bei denen es sich beispielsweise um Ventile, Ventilsteller, Schalter und Messwertgeber (z.B. Temperatur-, Druck- und Fließratensensoren) handeln kann, erfüllen Funktionen im Rahmen des Prozesses wie Öffnen und Schließen von Ventilen und Messen von Pro zessparametern. Der Prozesscontroller empfängt Signale, die für Prozessmessungen stehen, die von den Feldgeräten durchgeführt werden, und/oder andere, die Feldgeräte betreffende Daten, verwendet diese Daten, um ein Steuerprogramm in Gang zu setzen, und erzeugt dann Steuersignale, die über die Busse an die Feldgeräte geschickt werden, um den Ablauf des Prozesses zu steuern. Daten aus den Feldgeräten und dem Controller werden typischerweise einer oder mehreren Anwendung/en zur Verfügung gestellt, die vom Bedienerarbeitsplatzrechner ausgeführt wird/werden, um einen Bediener jede gewünschte Funktion hinsichtlich des Prozesses wie Überwachung des augenblicklichen Prozessstadiums, Abändern des Prozessablaufs, etc. durchführen zu lassen.Process control systems such as distributed or scalable process control systems such as those in Chemical, petroleum or other processes typically include one or more communicatively with each other, with at least one Home or server workstation and with one or more Field devices via analog, digital or combined analog / digital buses coupled controller. The field devices, These are, for example, valves, valve actuators, switches and transducers (e.g., temperature, pressure and flow rate sensors) can act, fulfill Functions within the process such as opening and closing of Valves and measuring process parameters. The process controller receives signals the for Process measurements carried out by the field devices, and / or others, the field devices related data, uses this data to a control program to initiate, and then generates control signals over the Buses to the field devices be sent to control the flow of the process. dates from the field devices and the controller will typically be one or more applications to disposal set up by the operator workstation, around an operator any desired Function regarding the process such as monitoring the current process stage, amend of the process flow, etc. allow.

Prozess-Controller sind typischerweise so programmiert, dass sie verschiedene Algorithmen, Unterprogramme oder Steuer-/Regelkreise (die alle Steuerroutinen sind) für jede einer Anzahl unterschiedlicher Kreise durchführen, die für einen Prozess bestimmt oder darin enthalten sind, wie Durchflussregelkreise, Temperaturregelkreise, Druckregelkreise, etc. Allgemein ausgedrückt umfasst jeder solche Steuer-/Regelkreis einen oder mehrere Eingabeblöcke wie einen Funktionsblock analoge Eingabe (AI), einen Einzelausgabe-Regelblock, wie einen Proportional-, Integral-, Differential-(PID)-Regelblock oder einen Fuzzy-Regelfunktionsblock, und einen einzelnen Ausgabeblock, wie einen Funktionsblock analoger Ausgang (AO). Diese Steuer-/Regelkreise führen typischerweise eine Einzeleingabe-/Einzelausgabesteuerung durch, weil der Steuer-/Regelblock eine einzelne Steuerausgabe erzeugt, die dazu verwendet wird, eine einzelne Prozesseingabe wie eine Ventilposition, etc. zu steuern. In manchen Fällen ist jedoch die Verwendung mehrerer unabhängig arbeitender Einzeleingabe-/Einzelausgabesteuerkreise nicht sinnvoll, weil die zu steuernden Prozessgrößen von mehr als einer einzelnen Prozesseingabe betroffen werden und sich jede Prozesseingabe auf den Status vieler Prozessausgaben auswirken kann. Ein Beispiel dafür könnte beispielsweise in einem Prozess auftreten, bei dem ein Tank durch zwei Zufuhrleitungen befüllt und über eine einzige Auslassleitung geleert werden soll, wobei jede Leitung von einem anderen Ventil gesteuert wird, und bei dem Temperatur, Druck und Durchsatz des Tanks so geregelt werden, dass sie sich auf oder nahe an Sollwerten befinden. Wie oben angegeben, kann die Regelung des Durchsatzes, der Temperatur und des Drucks des Tanks unter Verwendung eines separaten Durchsatzregelkreises, eines separaten Temperaturregelkreises und eines separaten Druckregelkreises durchgeführt werden. In dieser Situation kann jedoch der Betrieb des Temperaturregelkreises beim Ändern der Einstellung eines der Zufuhrventile, um die Temperatur im Tank zu regeln, dazu führen, dass der Druck im Tank ansteigt, was beispielsweise den Druckkreis dazu veranlasst, das Auslassventil zu öffnen, um den Druck zu senken. Dieser Vorgang kann dann den Durchsatzregelkreis dazu bringen, eines der Einlassventile zu schließen, wodurch die Temperatur beeinflusst und der Temperaturregelkreis dazu veranlasst wird, irgendeine weitere Maßnahme zu ergreifen. Wie aus diesem Beispiel klar wird, bringen die Einzeleingabe-/Einzelausgabe-Steuer-/Regelkreise die Prozessausgaben (in diesem Fall Durchsatz, Temperatur und Druck) dazu, sich auf eine inakzeptable Weise zu verhalten, bei der die Ausgaben schwanken ohne jemals einen Beharrungszustand zu erreichen.Process controllers are typical programmed to use different algorithms, subroutines or control loops (which are all control routines) for each one Number of different circles that determines for a process or are included, such as flow control loops, temperature control loops, Pressure control loops, etc. Generally speaking, each includes such control loop one or more input blocks such as a function block analog input (AI), a single output control block, such as a proportional, integral, derivative (PID) rule block or a fuzzy rule function block, and a single output block, like a function block analog output (AO). These control circuits to lead typically a single input / single output control, because the control block generates a single control output, used to process a single process input, such as a valve position, etc. to control. In some cases however, is the use of multiple independently operating single-input / single-output control circuits not useful, because the process variables to be controlled by more than a single Process input are affected and each process input on can affect the status of many process outputs. An example of this could be, for example occur in a process in which a tank passes through two supply lines filled and over a single outlet conduit is to be emptied, each conduit controlled by another valve, and at the temperature, Pressure and flow rate of the tank are regulated so that they are are at or near target values. As stated above, the Control of the flow rate, the temperature and the pressure of the tank using a separate throughput loop, a separate one Temperature control circuit and a separate pressure control loop are performed. In this situation, however, the operation of the temperature control loop when changing adjusting one of the supply valves to the temperature in the tank to regulate, cause that the pressure in the tank rises, which, for example, the pressure circuit caused the exhaust valve to open to lower the pressure. This process can then cause the throughput loop to one close the inlet valves, which affects the temperature and the temperature control loop is prompted to take any further action. How out In this example, the single input / single output control loops bring the process outputs (in this case throughput, temperature and pressure) to act in an unacceptable manner in which the Expenditures fluctuate without ever achieving a steady state.

Modellvorhersagesteuerung (MPC – Model Predictive Control) oder andere Arten von fortgeschrittener Steuerung wurden eingesetzt, um eine Prozesssteuerung in Situationen durchzuführen, bei denen Änderungen an einer bestimmten gesteuerten Prozessgröße sich auf mehr als eine Prozessgröße oder Prozessausgabe auswirken. Seit den späten 70er Jahren des zwanzigsten Jahrhunderts wurde über viele erfolgreiche Implementierungen von Modellvorhersagesteuerung berichtet, und MPC wurde zur primären Form der fortgeschrittenen multivariablen Steuerung in der Prozessindustrie. Darüber hinaus wurde die MPC-Steuerung in verteilten Steuersystemen als verteilte Steuersystem-Mehrschichtensoftware implementiert. Die US-Patente Nr. 4,616,308 und 4,349,869 beschreiben allgemein MPC-Steuergeräte, die in einem Prozesssteuerungssystem verwendet werden können.Model Prediction Control (MPC Model Predictive Control) or other types of advanced control were used to perform process control in situations which changes At a given controlled process size, more than one process variable or Affect process output. Since the late 70s of the twentieth Century was over many successful implementations of model prediction control reported, and MPC became the primary form of advanced multivariable control in the process industry. Furthermore MPC control has become distributed in distributed control systems Control system multi-layer software implemented. US Pat. 4,616,308 and 4,349,869 generally describe MPC controllers that can be used in a process control system.

Allgemein gesprochen ist MPC eine Mehrfacheingabe-/Mehrfachausgabe-Steuerstrategie, bei der die Auswirkungen des Änderns jeweils mehrerer Prozesseingaben auf jeweils mehrere Prozessausgaben gemessen werden, und diese gemessenen Antworten dann dazu verwendet werden, um eine Steuermatrix oder ein Modell des Prozesses zu erzeugen. Das Prozessmodell oder die Steuermatrix (die im Allgemeinen den Beharrungszustand des Prozesses definiert), wird mathematisch invertiert und dann in einer oder als eine Mehrfacheingabe-/Mehrfachausgabe-Steuerung zur Steuerung der Prozessausgaben basierend auf Änderungen verwendet, die an den Prozesseingaben vorgenommen werden. In manchen Fällen wird das Prozessmodell als eine Prozessausgabeansprechkurve (typischerweise eine Schrittantwortkurve) für jede der Prozesseingaben dargestellt, und diese Kurven können basierend auf einer Reihe von beispielsweise Pseudozufallsschrittveränderungen erzeugt werden, die zu jeder der Prozesseingaben geliefert werden. Diese Ansprechkurven können dazu verwendet werden, den Prozess auf bekannte Weise modellhaft darzustellen. Modellvorhersagesteuerung ist im Stand der Technik bekannt, und deshalb werden ihre spezifischen Eigenheiten hier nicht beschrieben. MPC ist jedoch allgemein in Qin, S. Joe und Thomas A. Badgweil, „An Overview of Industrial Model Predictive Control Technology, AIChE Conference, 1996 beschrieben.Generally speaking, MPC is one Multiple input / multiple output control strategy when the effects of changing several process inputs each to several process outputs measured and then uses these measured responses to create a control matrix or model of the process. The process model or the control matrix (which in general is the Steady state of the process defined), is mathematically inverted and then in one or more than one multiple input / multiple output controller used to control the process outputs based on changes made to the process inputs are made. In some cases the process model as a process output response curve (typically a step response curve) for Each of the process inputs is represented, and these curves can be based on on a series of, for example, pseudo-random step changes generated, which are delivered to each of the process inputs. These response curves can be used to model the process in a known manner display. Model prediction control is in the art and therefore their specific characteristics are not described here. However, MPC is generally in Qin, S. Joe and Thomas A. Badgweil, "An Overview of Industrial Model Predictive Control Technology, AIChE Conference, 1996 described.

MPC stellte sich als eine sehr effektive und nützliche Steuertechnik heraus und wurde im Zusammenhang mit Prozessoptimierung eingesetzt. Um einen Prozess zu optimieren, welcher MPC einsetzt, minimiert oder maximiert ein Optimierer bestimmt durch das MPC-Programm eine oder mehrere Prozesseingabegrößen, um den Prozess an einem optimalen Operationspunkt ablaufen zu lassen. Während diese Technik vom Rechnerischen her möglich ist, müssen die Prozessgrößen ausgewählt werden, die beispielsweise einen signifikanten Einfluss auf die Verbesserung des wirtschaftlichen Ablaufs des Prozesses (z.B. Prozessdurchsatz oder Qualität) haben, um den Prozess von einem ökonomischen Standpunkt her zu optimieren. Um den Prozess von einem finanziellen oder wirtschaftlichen Standpunkt her an einem optimalen Operationspunkt ablaufen zu lassen, müssen viele Prozessgrößen, und nicht nur eine einzige Prozessgröße, zusammengenommen gesteuert werden.MPC turned out to be a very effective one and useful Control technology out and was related to process optimization used. To optimize a process that uses MPC, An optimizer determined by the MPC program minimizes or maximizes One or more process input variables to complete the process to run optimal operation point. While this technique of the Computational possible is, must the process variables are selected for example, a significant impact on the improvement the economic flow of the process (e.g., process throughput or Quality) have to do the process of an economic Point of view to optimize. To the process of a financial or economic point of view at an optimal operation point have to expire many process variables, and not just a single process variable, taken together become.

Eine Optimierung mittels quadratischer Programmiertechniken oder geläufigerer Techniken wie Gleitkommaverfahren wurden als eine Lösung vorgeschlagen, um mit MPC eine dynamische Optimierung bereitzustellen. Mit diesen Verfahren wird eine Optimierungslösung bestimmt, und der Optimieren liefert dem Controller Umsetzungen in den Controllerausgaben (d.h. die Stellgrößen des Prozesses), berücksichtigt die Prozessdynamik, bestehende Randbedingungen und Optimierungsziele. Dennoch weist dieser Lösungsweg eine gewaltige rechnerische Belastung auf und ist mit dem gegenwärtigen Stand der Technologie nicht machbar.An optimization by means of quadratic Programming techniques or more common Techniques such as floating-point techniques have been proposed as a solution to provide dynamic optimization with MPC. With these Method, an optimization solution is determined, and the optimization provides the controller with conversions in the controller outputs (i.e. the manipulated variables of the Process) the process dynamics, existing boundary conditions and optimization goals. Nevertheless, this solution shows a huge computational burden on and is with the current state the technology is not feasible.

In den meisten Fällen ist bei der Verwendung von MPC die Anzahl van Prozessstellgrößen, die im Rahmen des Prozesses zur Verfügung stehen (d.h. die Steuerausgaben des MPC-Programms), größer als die Zahl der Steuergrößen des Prozesses (d.h. die Anzahl von Prozessgrößen, die gesteuert werden müssen, um sich an einem bestimmten Sollwert zu befinden). Im Ergebnis bestehen für gewöhnlich mehrere Freiheitsgrade, die zur Abwicklung von Optimierung und Randbedingungen verfügbar sind. Theoretisch sollten zur Durchführung einer solchen Optimierung Werte berechnet werden, die durch Prozessgröße, Randbedingungen, Grenzen und ökonomische Faktoren ausgedrückt werden, die einen optimalen Operationspunkt des Prozesses bestimmen. In vielen Fällen sind diese Prozessgrößen zwangsweise vorgegebene Größen, weil ihnen Grenzen in Bezug auf die physikalischen Eigenschaften des Prozesses, den sie betreffen, gesetzt sind, innerhalb derer sie gehalten werden müssen. Beispielsweise ist eine Prozessgröße, die den Tankfüllstand darstellt, auf den physikalisch erreichbaren maximalen und minimalen Füllstand des jeweiligen Tanks beschränkt. Eine Optimierungsfunktion kann Kosten und/oder Nutzen berechnen, die mit jeder der zwangsweise vorgegebenen oder Hilfsgrößen verbunden sind, um mit einem Füllstand zu arbeiten, bei dem der Nutzen maximiert, die Kosten minimiert sind, etc. Die Messungen dieser Hilfsgrößen können dann dem MPC-Programm als Eingaben zu Verfügung gestellt und vom MPC-Programm als Steuergrößen mit einem Sollwert gleich dem Operationspunkt für die Hilfsgröße, der durch das Optimierungsprogramm definiert ist, zu verarbeiten.In most cases it is in use of MPC the number of process variables that are in the process to disposal are greater than (i.e., the control outputs of the MPC program) the number of control variables of the process (i.e., the number of process variables that need to be controlled to be at a specific setpoint). In the result exist usually several Degrees of freedom, to the execution of optimization and boundary conditions available are. Theoretically, to carry out such optimization Values are calculated by process size, constraints, limits and economic Factors expressed which determine an optimal operation point of the process. In many cases are these process variables compulsory given sizes, because them limits in terms of the physical properties of the Process they concern, within which they are placed must be kept. For example, a process variable is the tank level represents, on the physically achievable maximum and minimum level limited to the respective tank. An optimization function can calculate costs and / or benefits associated with each of the forcibly given or auxiliary sizes are to fill a level to work, maximizing benefits, minimizing costs are, etc. The measurements of these auxiliary quantities can then the MPC program as inputs available provided by the MPC program as control variables with a setpoint equal the operation point for the auxiliary size, the is defined by the optimizer to process.

MPC liefert die beste Leistung, die oft von der Anwendung nur für die quadratische Steuerung benötigt wird, bei der die Anzahl von Steuereingaben in den Prozess (d.h. die vom Steuerprogramm bildeten Stellgrößen) gleich der Anzahl von zu steuernden Steuergrößen ist (d.h. den Eingaben in den Controller). In den meisten Fällen jedoch ist die Anzahl an zwangsweise vorgegebenen Hilfsgrößen plus die Anzahl an Prozesssteuerungsgrößen größer als die Anzahl von Stellgrößen. Eine Implementierung von MPC für solche nicht quadratischen Konfigurationen führt zu einer unannehmbar schlechten Leistung.MPC delivers the best performance that often by the application only for the square control is needed where the number of control inputs into the process (i.e. Control program formed manipulated variables) the number of control variables to be controlled (i.e., the inputs in the controller). In most cases, however, the number is at forcibly specified auxiliary quantities plus the number of process control variables greater than the number of manipulated variables. A Implementation of MPC for Such non-square configurations result in an unacceptably bad configuration Power.

Man geht davon aus, dass Andere versucht haben, dieses Problem zu bewältigen, indem ein Satz von Steuer- und zwangsweise vorgegebenen Größen gleich der Anzahl von Stellgrößen ausgewählt und der Controller online oder während des Prozessablaufs generiert wird, um die nächsten Bewegungen bei den Stellgrößen zu bestimmen. Diese Technik ist jedoch rechnerisch aufwändig, weil sie eine Matrixinversion anwendet und in manchen Fällen wie MPC, die als ein Funktionsblock in einem Prozesssteuerungsgerät eingebaut ist, nicht verwendet werden kann. Genauso wichtig ist, dass manche Kombinationen von Ein- und Ausgaben des generierten Controllers zu einem schlecht bedingten Controller führen können, was zu einem unannehmbaren Betrieb führt. Während der Zustand des Controllers überprüft und verbessert werden kann, wenn die Controllerkonfiguration offline installiert wird, ist diese Aufgabe für den Online-Betrieb eine übermäßige Belastung und auf Controllerniveau praktisch unmöglich zu bewerkstelligen.It is believed that others have attempted to overcome this problem by selecting a set of control and forced sizes equal to the number of manipulated variables and generating the controller online or during the process to estimate the next movements in the manipulated variables determine. However, this technique is computationally expensive because it employs a matrix inversion and, in some cases, can not be used like MPC, which is incorporated as a functional block in a process control device. Equally important, some combinations of inputs and outputs of the generated controller can result in a badly-conditional controller, resulting in unacceptable operation. While the state of the controller can be checked and improved when the Control When the offline configuration is installed offline, this task is too much for on-line operation and virtually impossible at the controller level.

Es wird ein Prozesssteuerungskonfigurationssystem zur Verwendung bei der Erzeugung oder Sichtung eines integrierten Optimierungs- und Steuer-/Regelblocks bereitgestellt, der ein Optimierungsprogramm und ein Mehrfacheingabe/Mehrfachausgabesteuerprogramm ablaufen lässt. Das Konfigurationssystem kann es einem Benutzer ermöglichen, den Optimieren oder das Steuerprogramm anzuzeigen oder zu konfigurieren. Beispielsweise kann ein Speicherprogramm Daten bezüglich mehrerer Steuer- und Hilfsgrößen und mehrerer Stellgrößen speichern, die vom Optimieren und/oder dem Steuerprogramm verwendet werden sollen, und ein Anzeigeprogramm kann einem Benutzer eine Anzeige darbieten, die die Daten bezüglich der mehreren Steuer- und Hilfsgrößen und der mehreren Stellgrößen betreffen.It becomes a process control configuration system for use in creating or viewing an integrated Optimization and control blocks provided an optimization program and Run a multiple input / multiple output control program. The Configuration system may allow a user to optimize or to view or configure the control program. For example a memory program can store data regarding multiple control and data Auxiliary sizes and store several manipulated variables, which are used by the optimizer and / or the control program and a viewer can give an ad to a user presenting the data concerning the multiple control and auxiliary sizes and relate to several variables.

In einer Ausführungsform speichert das Speicherprogramm Ansprechverhaltensdaten oder Antwortdaten für jede von mindestens einigen der Steuer- und Hilfsgrößen. Die Ansprechverhaltensdaten für eine Steuer- oder Hilfsgröße können Daten umfassen, die für ein jeweiliges Ansprechverhalten der Steuer- oder Hilfsgrößen auf jeweilige Stellgrößen stehen. Dieses Ansprechverhalten kann beispielsweise Schrittverhalten, Pulsverhalten, Anstiegsverhalten etc. sein. Das Displayprogramm kann dem Benutzer Ansprechverhaltensdaten anzeigen. Zum Beispiel kann der Benutzer eine Stellgröße festlegen, und das Anzeigeprogramm kann das Ansprechverhalten einer oder mehrerer der Steuer- und Hilfsgrößen auf die festgelegte Stellgröße anzeigen.In one embodiment, the memory program stores Response data or response data for each of at least some the tax and Auxiliary variables. The Response data for a control or auxiliary size can be data include that for a respective response of the control or auxiliary variables respective manipulated variables are available. This response can be, for example, step behavior, pulse behavior, Rise behavior, etc. The display program can be the user Show response data. For example, the user define a manipulated variable, and the viewer may have the responsiveness of one or more the tax and auxiliary sizes show the specified manipulated variable.

In einem weiteren Aspekt umfasst ein Prozesssteuerungssystem zum Steuern eines Prozesses einen Mehrfacheingabe-/Mehrfachausgabe-Controller und einen Optimierer. Der Mehrfacheingabe-/Mehrfachausgabe-Controller erzeugt während jedem Operationszyklus des Prozesssteuerungssystems Mehrfachsteuer ausgaben, die so konfiguriert sind, dass sie den Prozess basierend auf Mehrfachmesseingaben aus dem Prozess und basierend auf einem Satz von Zielwerten steuern, die dem Mehrfacheingabe-/Mehrfachausgabe-Controller während jedem Operationszyklus des Prozesssteuerungssystems bereitgestellt werden. Der Optimierer bildet den Satz von Zielwerten zur Verwendung durch den Mehrfacheingabe-/Mehrfachausgabe-Controller während jedem Operationszyklus des Prozesssteuerungssystems. Der Optimierer versucht, eine Zielfunktion zu minimieren oder zu maximieren und gleichzeitig einen Satz von Steuergrößen innerhalb vorbestimmter Sollwertgrenzen, einen Satz von Hilfsgrößen innerhalb eines Satzes vorbestimmter Hilfsgrößengrenzen und einen Satz von Stellgrößen innerhalb eines Satzes vorbestimmter Stellgrößengrenzen zu halten. Wenn der Optimieren keine Lösung bestimmen kann, versucht der Optimieren, die Zielfunktion zu minimieren oder zu maximieren und erlaubt gleichzeitig, dass mindestens eine der Sollwertgrenzen verletzt wird.In another aspect a process control system for controlling a process of a multiple input / multiple output controller and an optimizer. The multi-input / multi-output controller generated during multi-tax expenditures for each cycle of the process control system, which are configured to run the process based on multiple measurement inputs control from the process and based on a set of target values, the multi-input / multi-output controller during each Operation cycle of the process control system are provided. The optimizer makes the set of targets for use the multi-input / multi-output controller during each Operation cycle of the process control system. The optimizer tries to do a Goal function to minimize or maximize and at the same time one Set of control variables within predetermined Setpoint limits, a set of auxiliary quantities within a set predetermined auxiliary size limits and a set of manipulated variables within to keep a set of predetermined manipulated variable limits. If optimizing no solution Optimize attempts to minimize the objective function or to maximize while allowing at least one the setpoint limits are violated.

In noch einem anderen Aspekt umfasst ein Prozesssteuerungsverfahren zum Steuern eines Prozesses mit mehreren Stellgrößen und mehreren Steuer- und Hilfsgrößen das Auswählen einer Teilmenge von Steuer- und Hilfsgrößen zur Verwendung bei der Durchführung der Prozesssteuerung, wobei mindestens eine der ausgewählten Steuer- und Hilfsgrößen basierend darauf ausgewählt wird, dass sie auf eine der Stellgrößen am stärksten anspricht. Eine Steuermatrix wird unter Verwendung der ausgewählten Steuer- und Hilfsgrößen und der Stellgrößen erzeugt, und aus der Steuermatrix wird eine Controllermatrix generiert. Eingaben in den Controller umfassen die ausgewählten Steuer- und Hilfsgrößen, und Ausgaben des Controllers umfassen die Stellgrößen. Eine Optimierung wird durchgeführt, indem ein Prozessoperationspunkt ausgewählt wird, der Prozessoperationspunkt durch einen Satz von Zielwerten für die ausgewählten Steuer- und Hilfsgrößen bestimmt wird, um eine Zielfunktion zu minimieren oder zu maximieren. Der Controller wird verwendet, um ein Mehrfacheingabe-/Mehrfachausgabesteuerungsverfahren durchzuführen, um aus den Zielwerten einen Satz von Stellgrößenwerten zu bilden.In yet another aspect a process control method for controlling a process with multiple Manipulated variables and several control and auxiliary sizes the Choose a subset of control and auxiliary quantities for use in the execution process control, whereby at least one of the selected control and auxiliary sizes based selected on it is that it responds the most to one of the manipulated variables. A tax matrix is using the selected Tax and auxiliary sizes and generates the manipulated variables, and a controller matrix is generated from the control matrix. entries in the controller include the selected control and auxiliary quantities, and Outputs of the controller include the manipulated variables. An optimization becomes carried out, by selecting a process operation point, the process operation point through a set of target values for the selected tax and auxiliary sizes determined is used to minimize or maximize an objective function. Of the Controller is used to multi-input / multiple output control method perform, to form a set of manipulated variable values from the target values.

Im Folgenden werden bevorzugte Ausführungsformen anhand der Zeichnungen beschrieben. Es zeigen:The following are preferred embodiments described with reference to the drawings. Show it:

1 ist ein Blockschema eines Prozesssteuerungssystems einschließlich eines Steuermoduls mit einem fortgeschrittenen Controller-Funktionsblock, der einen Optimierer mit einem MPC-Controller beinhaltet; 1 FIG. 12 is a block diagram of a process control system including a control module having an advanced controller functional block including an optimizer with an MPC controller; FIG.

2 ist ein Blockschema des fortgeschrittenen Controller-Funktionsblocks von 1 mit integriertem Optimierer und MPC-Controller; 2 is a block diagram of the advanced controller functional block of 1 with integrated optimizer and MPC controller;

3 ist ein Ablaufdiagramm, das eine Art und Weise darstellt, den integrierten Optimierer und den MPC-Controller-Funktionsblock von 2 festzulegen und zu installieren; 3 FIG. 10 is a flowchart illustrating one way of using the integrated optimizer and the MPC controller functional block of FIG 2 to set and install;

4 ist ein Ablaufdiagramm, das den Betrieb des integrierten Optimiereres und MPC-Controllers von 2 während eines Online-Prozessablaufs darstellt; 4 is a flow chart illustrating the operation of the integrated optimizer and MPC controller of 2 during an online process flow;

5 ist eine Bildschirmanzeige eines Konfigurationsprogramms, die einen fortgeschrittenen Steuer-/Regelblock in einem Steuermodul darstellt, das eine Prozesssteuerung durchführt; 5 Fig. 11 is a screen of a configuration program illustrating an advanced control block in a control module that performs process control;

6 ist eine Bildschirmanzeige einer Konfigurationsprogramms, die ein Dialogfeld darstellt, das die Eigenschaften des fortgeschrittenen Steuer/Regelblocks von 5 anzeigt; 6 is a screen of a configuration utility that displays a dialog box showing the properties of the advanced control block of 5 displays;

7 ist eine Bildschirmanzeige eines Konfigurationsprogramms, das eine Art und Weise darstellt, Eingaben in einen oder Ausgaben aus einem in der Anzeige von 5 gezeigten fortgeschrittenen Steuerfunktionsblock auszuwählen oder einzugeben; 7 is a screen display of a configuration program that provides a way of inputting to or outputting from one in the display of 5 to select or input the advanced control function block shown;

8 ist eine Bildschirmanzeige, die von einem Konfigurationsprogramm bereitgestellt wird, das es einem Benutzer oder Bediener ermöglicht, eine aus einem Satz von Zielfunktionen zur Verwendung bei der Festlegung eines fortgeschrittenen Steuer-/Regelblocks auszuwählen; 8th is a screen display provided by a configuration utility that does it allows a user or operator to select one of a set of target functions for use in determining an advanced control block;

9 ist eine Bildschirmanzeige eines Testbildschirms, der dazu verwendet werden kann, es einem Benutzer zu ermöglichen, ein Prozessmodell während des Festlegens eines fortgeschrittenen Steuer-/Regelblocks zu testen und zu erzeugen; 9 Fig. 10 is a screen display of a test screen that may be used to enable a user to test and generate a process model while setting an advanced control block;

10 ist eine Bildschirmanzeige eines Konfigurationsprogramms, das mehrere Schrittantworten darstellt, die das Ansprechverhalten verschiedener Steuer- und Hilfsgrößen auf eine bestimmte Stellgröße anzeigen; 10 Fig. 11 is a screen of a configuration program illustrating multiple step responses indicating the response of various control and auxiliary quantities to a particular manipulated variable;

11 ist eine Bildschirmanzeige eines Konfigurationsprogramms, das eine Art und Weise des Auswählens der Steuer- oder Hilfsgrößen von 9 darstellt, die zuvor der Stellgröße zugeordnet wurden; 11 is a screen of a configuration program that shows a way of selecting the control or auxiliary quantities from 9 represents that were previously assigned to the manipulated variable;

12 ist eine Bildschirmanzeige eines Konfigurationsprogramms, das mehrere Schrittantworten darstellt, die das Ansprechen derselben Steuer- oder Hilfsgröße auf andere der Stellgrößen anzeigt; 12 Fig. 11 is a screen of a configuration program illustrating multiple step responses indicating the response of the same control or auxiliary variable to other ones of the manipulated variables;

13 ist eine Bildschirmanzeige eines Konfigurationsprogramms, das eine andere Art und Weise darstellt, Steuer- oder Hilfsgrößen auszuwählen, die Stellgrößen zugeordnet werden sollen; 13 Fig. 12 is a screen of a configuration program illustrating another way of selecting control or auxiliary variables to be associated with manipulated variables;

14 ist eine Bildschirmanzeige eines Konfigurationsprogramms, das eine andere Art und Weise darstellte, Steuer- oder Hilfsgrößen auszuwählen, die Stellgrößen zugeordnet werden sollen; 14 Figure 12 is a screen of a configuration program that was another way of selecting control or auxiliary quantities to be assigned to manipulated variables;

15 ist eine Bildschirmanzeige, die die Art und Weise darstellt, eine der Schrittantworten eines Modells zu kopieren, die zur Verwendung in einem anderen Modell kopiert werden soll; 15 is a screen display which is the way to copy one of the step responses of a model to be copied for use in another model;

16 ist eine Bildschirmanzeige, die die Art und Weise darstellt, eine Schrittantwortkurve zu sichten und zu ändern; 16 is a screen display that represents the way to view and change a step response curve;

17 ist eine Bildschirmanzeige, die einen Dialogbildschirm darstellt, welcher dem Bediener während des Betriebs des fortgeschrittenen Steuer/Regelblocks Daten zur Verfügung stellt; und 17 Fig. 11 is a screen displaying a dialog screen which provides data to the operator during operation of the advanced control block; and

18 ist eine Bildschirmanzeige, die einen Diagnosebildschirm darstellt, der einem Benutzer oder Bediener zur Verfügung gestellt werden kann, um am fortgeschrittenen Steuer-/Regelblock eine Diagnose vorzunehmen. 18 is a screen that displays a diagnostic screen that may be provided to a user or operator to diagnose the advanced control block.

Nunmehr umfasst mit Bezug auf 1 ein Prozesssteuerungssystem 10 einen Prozess-Controller 11, der kommunikativ mit einer Datensammlung 12 und einem oder mehreren Hauptarbeitsplatzrechnern oder Computern 13 verbunden ist (die von irgendeiner Art von PC, Arbeitsplatzrechner, etc. sein können), wovon jeder einen Anzeigebildschirm 14 aufweist. Der Controller 11 ist über Eingabe/Ausgabekarten (I/O-Karten) 26 und 28 mit Feldgeräten 1522 verbunden. Die Datensammlung 12 kann von irgendeiner gewünschten Art von Datensammeleinheit mit irgendeiner gewünschten Art von Speicher und irgendeiner gewünschten oder bekannten Software, Hardware oder Firmware zum Speichern von Daten sein, und kann getrennt (wie in 1 gezeigt) oder ein Teil von einem der Arbeitsplatzrechner 13 sein. Der Controller 11, der beispielsweise der Controller DeltaVTM sein kann, der von Fisher-Rosemount Systems, Inc. vertrieben wird, ist an die Hauptrechner 13 und die Datensammlung 12 beispielsweise über einen Ethernet-Anschluss oder irgendein anderes Kommunikationsnetz 29 angeschlossen. Bei dem Kommunikationsnetz 29 kann es sich um eines lokalen Datennetzes (LAN), ein überregionales Netz (WAN), ein Telekommunikationsnetzes, etc. handeln, und es kann unter Verwendung festverdrahteter oder drahtloser Technologie implementiert sein. Der Controller 11 ist mittels irgendeiner gewünschten Hard- und Software, die beispielsweise standardmäßigen 4 – 20 ma-Geräten zugeordnet ist und/oder irgendeinem intelligenten Kommunikationsprotokoll wie dem FOUNDATION-Feldbusprotokoll (Fieldbus), dem HART-Protokoll, etc., kommunikativ mit den Feldgeräten 1522 verbunden.Now comprising with respect to 1 a process control system 10 a process controller 11 who is communicative with a data collection 12 and one or more major workstations or computers 13 (which may be of any type of PC, workstation, etc.), each of which has a display screen 14 having. The controller 11 is via input / output cards (I / O cards) 26 and 28 with field devices 15 - 22 connected. The data collection 12 may be of any desired type of data collection unit with any desired type of memory and any desired or known software, hardware or firmware for storing data, and may be separate (as in 1 shown) or a part of one of the workstations 13 his. The controller 11 which may, for example, be the DeltaV controller marketed by Fisher-Rosemount Systems, Inc., is the host 13 and the data collection 12 for example via an Ethernet connection or any other communication network 29 connected. In the communication network 29 it may be a local area network (LAN), a supra-regional network (WAN), a telecommunications network, etc., and it may be implemented using hardwired or wireless technology. The controller 11 is communicative with the field devices by any desired hardware and software associated, for example, with standard 4-20 ma devices and / or any intelligent communication protocol such as FOUNDATION fieldbus protocol (Fieldbus), HART protocol, etc. 15 - 22 connected.

Bei den Feldgeräten 1522 kann es sich um irgendwelche Arten von Geräten handeln, wie Sensoren, Ventile, Messwertgeber, Steller, etc., während es sich bei den I/O-Karten 26 und 28 um irgendwelche Arten von I/O-Geräten handeln kann, die irgendeinem gewünschten Kommunikations- oder Controllerprotokoll entsprechen. In der in 1 dargestellten Ausführungsform sind die Feldgeräte 1518 standardmäßige 4-20 ma-Geräte, die über analoge Leitungen mit der I/O-Karte 26 kommunizieren, während die Feldgeräte 1922 intelligente Geräte sind, wie Fieldbus-Feldgeräte, die über einen digitalen Bus mit der I/O-Karte 28 unter Verwendung von Fieldbusprotokollkommunikation kommunizieren. Selbstverständlich könnten die Feldgeräte 1522 auch irgendeinem anderen Standard oder irgendwelchen anderen Standards oder Protokollen entsprechen, einschließlich derer, die zukünftig noch entwickelt werden.With the field devices 15 - 22 These can be any type of devices, such as sensors, valves, transducers, actuators, etc., while the I / O cards 26 and 28 can be any type of I / O device that meets any desired communication or controller protocol. In the in 1 illustrated embodiment, the field devices 15 - 18 standard 4-20 ma devices that have analog lines with the I / O card 26 communicate while the field devices 19 - 22 Smart devices are, like fieldbus field devices, that have a digital bus with the I / O card 28 communicate using Fieldbus protocol communication. Of course, the field devices could 15 - 22 also comply with any other standard or any other standards or protocols, including those that will be developed in the future.

Der Controller 11, welcher einer von vielen verteilten Controllern innerhalb der Anlage 10 sein kann, weist in sich mindestens einen Prozessor auf, implementiert oder wacht über ein oder mehrere Prozesssteuerungsprogramm/e, die darin gespeicherte oder sonstwie damit verbundene Steuerkreise umfassen kann/können. Der Controller 11 kommuniziert auch mit den Geräten 1522, den Hauptcomputern 13 und der Datensammlung 12, um einen Prozess in irgendeiner gewünschten Weise zu steuern. Es wäre festzuhalten, dass irgendwelche hier beschriebenen Steuerprogramme oder -elemente Teile davon aufweisen können, die, falls gewünscht, von anderen Controllern oder Geräten implementiert oder ausgeführt werden. Gleichermaßen können die hier beschriebenen Steuerprogramme oder -elemente, die im Prozesssteuerungssystem 10 implementiert werden sollen, irgendeine Form annehmen, die Soft-, Firm- und Hardware, etc. umfasst. Zu Zwecken dieser Erläuterung kann ein Prozesssteuerungselement irgendein Teil oder Abschnitt eines Prozesssteuerungssystems sein, der/das beispielsweise ein Programm, einen Block oder ein Modul umfasst, die auf irgendeinem computerlesbaren Medium gespeichert sind. Steuerprogramme, welche Module oder irgendein Teil eines Steuervorgangs sein können, wie ein Unterprogramm, Teile eines Unterprogramms (wie Befehlszeilen), etc., können in jedem gewünschten Softwareformat implementiert werden, wie demjenigen, das KOP-Logik, Sequenzfunktionskurven, Funktionsblockdiagramme, objektorientierte Programmierung oder irgendeine andere Software-Programmiersprache oder irgendein anderes Software-Entwurfsparadigma verwendet. Genauso können die Steuerprogramme beispielsweise in einem oder mehreren EPROM/s, EEPROM/s, anwendungsspezifischen integrierten Schaltungen (ASICs) oder irgendwelchen anderen Hard- oder Firmwarelementen festcodiert sein. Überdies können die Steuerprogramme mittels irgendwelcher Entwurfs-Tools einschließlich graphischer Entwurfs-Tools oder irgendeiner anderen Art von Software-/Hardware-/Firmware-Programmier- oder Entwurfstools festlegt werden. Auf diese Weise kann der Controller 11 so konfiguriert werden, dass er auf irgendeine gewünschte Weise eine Steuerstrategie oder ein Steuerprogramm implementiert.The controller 11 which is one of many distributed controllers within the plant 10 may include at least one processor, implementing or monitoring one or more process control programs that may include control circuits stored therein or otherwise associated therewith. The controller 11 also communicates with the devices 15 - 22 , the main computers 13 and the data collection 12 to control a process in any desired way. It should be noted that any control programs or elements described herein may include portions thereof implemented or executed by other controllers or devices if desired. Likewise, the control programs or elements described herein may be used in the process control system 10 be implemented, take any form that includes software, firmware and hardware, etc. For purposes of this discussion, a process control element may be any part or portion of a process control A system comprising, for example, a program, a block or a module stored on any computer-readable medium. Control programs, which may be modules or any part of a control process, such as a subroutine, subprogram parts (such as command lines), etc., may be implemented in any desired software format, such as LAD logic, sequence function curves, function block diagrams, object oriented programming or use any other software programming language or any other software design paradigm. Likewise, the control programs may, for example, be hard-coded into one or more EPROMs, EEPROMs, application specific integrated circuits (ASICs), or any other hardware or firmware elements. Moreover, the control programs may be defined by any design tools including graphical design tools or any other type of software / hardware / firmware programming or design tools. That way, the controller can 11 be configured to implement a control strategy or program in any desired manner.

In einer Ausführungsform implementiert der Controller 11 eine Steuerstrategie, die einsetzt, was im Allgemeinen als Funktionsblöcke bezeichnet wird, wobei jeder Funktionsblock ein Teil oder Gegenstand eines übergeordneten Steuerprogramms ist und zusammen mit anderen Funktionsblöcken (über Kommunika tion, die Verknüpfungen oder „Links" genannt werden) arbeitet, um Prozesssteuerkreise innerhalb des Prozesssteuerungssystems 10 zu implementieren. Die Funktionsblöcke üben typischerweise eine Eingabefunktion aus, wie diejenige, die mit einem Messwertgeber, einem Sensor oder einem anderen Messgerät für Prozessparameter zusammenhängt, eine Steuerfunktion wie derjenigen, die mit einem Steuerprogramm zusammenhängt, das PID-, Fuzzy-Regelung etc. durchführt, oder eine Ausgabefunktion, welche den Betrieb irgendeines Geräts wie einem Ventil steuert, um irgendeine physikalische Funktion innerhalb des Prozesssteuerungssystems 10 zu erfüllen. Natürlich gibt es hybride und andere Arten von Funktionsblöcken. Funktionsblöcke können im Controller 11 gespeichert und von ihm ablaufen gelassen werden, was typischerweise der Fall ist, wenn diese Funktionsblöcke für oder in Verbindung mit standardmäßigen 4 – 20 ma-Geräten und manchen Arten von intelligenten Feldgeräten wie HART-Geräten verwendet werden, oder können in den Feldgeräten selbst gespeichert und durch diese implementiert werden, was bei FieldbusGeräten der Fall sein kann. Während die Beschreibung des Steuersystems hier unter Verwendung einer Funktionsblocksteuerstrategie beschrieben wird, welche ein objektorientiertes Programmierparadigma einsetzt, könnten die Steuerstrategie oder Steuerkreise oder -module auch unter Verwendung anderer Programmkonventionen implementiert oder entworfen werden, wie KOP-Logik, Sequenzfunktionskurven, etc., oder unter Verwendung irgendeiner anderen Programmiersprache oder irgendeines anderen Programmierparadigmas.In one embodiment, the controller implements 11 a control strategy that employs what are generally referred to as function blocks, where each function block is a part or subject of a parent control program and works with other function blocks (via communications called links or "links") to control process circuits within the system process control Systems 10 to implement. The functional blocks typically perform an input function, such as that associated with a transmitter, sensor or other process parameter measuring device, a control function such as that associated with a control program that performs PID, fuzzy control, etc., or one Output function that controls the operation of any device, such as a valve, to perform any physical function within the process control system 10 to fulfill. Of course, there are hybrid and other types of function blocks. Function blocks can be in the controller 11 stored and drained, which is typically the case when these functional blocks are used for or in conjunction with standard 4-20 ma devices and some types of smart field devices such as HART devices, or may be stored in the field devices themselves and can be implemented by them, which can be the case with Fieldbus devices. While the description of the control system is described herein using a functional block control strategy employing an object-oriented programming paradigm, the control strategy or control circuits or modules could also be implemented or designed using other programming conventions, such as ladder logic, sequence function curves, etc., or using any other programming language or programming paradigm.

Wie durch den erweiterten Block 30 von 1 dargestellt ist, kann der Controller 11 mehrere Einzelkreis-Steuerprogramme umfassen, die als Programme 32 und 34 dargestellt sind, und kann einen oder mehrere fortgeschrittene Regel/Steuerkreise implementieren, der/die als Regel-/Steuerkreis 36 dargestellt ist/sind. Jeder derartige Kreis wird typischerweise als Regel-/Steuermodul bezeichnet. Die Einzelkreis-Steuerprogramme 32 und 34 sind so dargestellt, dass sie eine Einzelkreissteuerung unter Verwendung eines Einzeleingabe-/Einzelausgabe-Fuzzy-Regelblocks bzw. eines Einzeleingabe-/Einzelausgabe-PID-Regelblocks durchführen, die an passende Funktionsblöcke analoger Eingang (AI) und analoger Ausgang (AO) angeschlossen sind, welche Prozesssteuergeräten wie Ventilen, Messgeräten wie Temperatur- und Druckmesswertgebern oder irgendeinem anderen Gerät innerhalb des Prozesssteuerungssystems 10 zugeordnet sein können. Der fortgeschrittene Steuer-/Regelkreis 36 ist so dargestellt, dass er einen fortge schrittenen Steuer-/Regelblock 38 umfasst, dessen Eingänge kommunikativ mit zahlreichen AI-Funktionsblöcken und Ausgänge kommunikativ mit zahlreichen AO-Funktionsblöcken verbunden sind, obwohl die Eingänge und Ausgänge des fortgeschrittenen Steuer-/Regelblocks 38 auch kommunikativ mit irgendwelchen anderen gewünschten Funktionsblöcken oder Steuerelementen verbunden sein können, um andere Arten von Eingaben zu empfangen und andere Arten von Steuerausgaben bereitzustellen. Wie weiter noch beschrieben wird, kann der fortgeschrittene Steuer-/Regelblock 38 ein Steuer-/Regelblock sein, der ein Modellvorhersagesteuerprogramm mit einem Optimierer beinhaltet, um eine optimierte Steuerung des Prozesses oder eines Teils des Prozesses durchzuführen. Während der fortgeschrittene Steuer-/Regelblock 38 hier so beschrieben ist, dass er einen Modellvorhersage-Steuer-/Regelblock (MPC-Block) umfasst, könnte der fortgeschrittene Steuer/Regelblock 38 auch irgendein/e andere/s Mehrfacheingabe-/Mehrfachausgabe-Steuerprogramm oder -prozedur umfassen wie ein Programm für neuronale Netzmodellierung oder -steuerung, ein multivariables Steuerprogramm in Fuzzy-Programmlogik, etc. Es wird klar, dass die in 1 dargestellten Funktionsblöcke, die den fortgeschrittenen Steuer-/Regelblock 38 umfassen, vom Controller 11 ausgeführt werden können, oder alternativ in irgendeinem anderen Verarbeitungsgerät angeordnet und von diesem ausgeführt werden können, wie einem der Arbeitsplatzrechner 13 oder sogar einem der Feldgeräte 1922.As by the extended block 30 from 1 is shown, the controller can 11 Several single-circuit control programs include programs 32 and 34 and may implement one or more advanced rule / control circuits acting as a control circuit 36 is shown / are. Each such circuit is typically referred to as a control module. The single-circuit control programs 32 and 34 are shown performing a single loop control using a single input / single output fuzzy control block or a single input / single output PID control block connected to appropriate analog input (AI) and analog output (AO) function blocks; which process control devices such as valves, gauges such as temperature and pressure transducers or any other device within the process control system 10 can be assigned. The advanced control loop 36 is shown as having a progressed control block 38 whose inputs are communicatively connected to numerous AI function blocks and outputs communicatively connected to numerous AO function blocks, although the inputs and outputs of the advanced control block 38 also communicatively connected to any other desired functional blocks or controls to receive other types of inputs and to provide other types of control outputs. As will be further described, the advanced control block 38 a control block that includes a model prediction control program with an optimizer to perform optimized control of the process or part of the process. While the advanced control block 38 Described here as including a model prediction control block (MPC block) could be the advanced control block 38 Also, any other multiple input / multiple output control program or procedure, such as a neural network modeling or control program, a multivariable control program in fuzzy program logic, etc. It will be appreciated that the in 1 displayed function blocks that the advanced control block 38 include, from the controller 11 can be performed, or alternatively can be arranged in and executed by any other processing device, such as one of the workstation 13 or even one of the field devices 19 - 22 ,

Wie in 1 dargestellt, umfasst einer der Arbeitsplatzrechner 13 ein Generatorprogramm 40 für einen fortgeschrittenen Steuer-/Regelblock, das dazu verwendet wird, den fortgeschrittenen Steuer-/Regelblock 38 festzulegen, herunterzuladen und zu implementieren. Während das Generatorprogramm 40 für den fortgeschrittenen Steuer-/Regelblock in einem Speicher innerhalb des Arbeitsplatzrechners 13 gespeichert und darin von einem Prozessor ausgeführt werden kann, kann dieses Programm (oder irgendein Teil davon) zusätzlich oder alternativ in irgendeinem anderen Gerät innerhalb des Prozesssteuerungssystems 10, falls das so gewünscht wird, gespeichert und von diesem ausgeführt werden. Allgemein ausgedrückt umfasst das Generatorprogramm 40 für den fortgeschrittenen Steuer/Regelblock ein Steuer-/Regelblockfestlegungsprogramm 42, das einen fortgeschrittenen Steuer-/Regelblock festlegt, wie später hier noch beschrieben wird, und das diesen fortgeschrittenen Steuer-/Regelblock in das Prozesssteuerungssystem einbindet, ein Prozessmodellierungsprogramm 44, das ein Prozessmodell für den Prozess oder einen Teil davon erzeugt, basierend auf Daten, die durch den fortgeschrittenen Steuer-/Regelblock erfasst werden, ein Steuerlogikparameterfestlegungsprogramm 46, das Steuerlogikparameter für den fortgeschrittenen Steuer-/Regelblock aus dem Prozessmodell erzeugt, und das diese Steuerlogikparameter im fortgeschrittenen Steuer-/Regelblock zur Verwendung bei der Prozesssteuerung speichert und herunterlädt, und einen Optimierer 48, der ein Optimierungsprogramm zur Verwendung mit dem fortgeschrittenen Steuer-/Regelblock festlegt. Selbstverständlich können die Programme 42, 44, 46 und 48 aus einer Reihe unterschiedlicher Programme bestehen, wie einem ersten Programm, das ein fortgeschrittenes Steuerelement festlegt, dessen Steuereingänge dazu ausgelegt sind, Prozessausgaben zu empfangen, und dessen Steuerausgänge dazu ausgelegt sind, Steuersignale an die Prozesseingänge zu schicken, einem zweiten Programm, das es einem Benutzer ermöglicht, das fortgeschrittene Steuerelement innerhalb des Prozesssteuerungsprogramms (welches irgendein gewünschtes Konfigurationsprogramm sein kann) herunterzuladen und kommunikativ einzubinden, einem dritten Programm, das das fortgeschrittene Steuerelement dazu verwendet, jeder der Prozesseingaben Erregersignalformen zu verleihen, einem vierten Programm, das das fortgeschrittene Steuerelement dazu verwendet, um Daten zu erfassen, die das Ansprechen jeder der Prozessausgaben auf die Erregersignalformen wiederspiegelt, einem fünften Programm, das selbst auswählt oder es einem Benutzer ermöglicht, einen Satz Eingaben für den fortgeschrittenen Steuer-/Regelblock auszuwählen, einem sechsten Programm, das ein Prozessmodell festlegt, einem siebten Programm, das fortgeschrittene Steuerlogikparameter aus dem Prozessmodell bildet, einem achten Programm, das die fortgeschrittene Steuerlogik und, falls nötig, das Prozessmodell in das fortgeschrittene Steuerelement einbringt, um es dem fortgeschrittenen Steuerelement zu ermöglichen, den Prozess zu steuern, und einem neunten Programm, das selbst auswählt oder es einem Benutzer ermöglicht, einen Optimierer zu Verwendung im fortgeschrittenen Steuer-/Regelblock 38 auszuwählen.As in 1 illustrated includes one of the workstations 13 a generator program 40 for an advanced control block used to control the advanced control block 38 set, download and implement. While the generator program 40 for the advanced control block in a memory within the workstation 13 stored and in it may be executed by a processor, this program (or any part thereof) may additionally or alternatively be in any other device within the process control system 10 if so desired, stored and executed by it. Generally speaking, the generator program includes 40 for the advanced control block, a control block setting program 42 setting an advanced control block, as will be described later herein, and incorporating this advanced control block into the process control system, a process modeling program 44 generating a process model for the process or a part thereof, based on data acquired by the advanced control block, a control logic parameter setting program 46 , which generates control logic parameters for the advanced control block from the process model, and stores and downloads those control logic parameters in the advanced control block for use in process control, and an optimizer 48 setting an optimization program for use with the advanced control block. Of course, the programs can 42 . 44 . 46 and 48 consist of a number of different programs, such as a first program defining an advanced control, whose control inputs are designed to receive process outputs, and whose control outputs are adapted to send control signals to the process inputs, a second program to a user allows the advanced control within the process control program (which may be any desired configuration program) to be downloaded and communicated, a third program using the advanced control to give each of the process inputs energizing waveforms, a fourth program using the advanced control to do so; to capture data that reflects the response of each of the process outputs to the excitation waveforms, a fifth program that selects itself or allows a user to make a set of entries for the advanced waveform ridden control block, a sixth program defining a process model, a seventh program forming advanced control logic parameters from the process model, an eighth program introducing the advanced control logic and, if necessary, the process model into the advanced control allowing the advanced control to control the process and a ninth program choosing itself or allowing a user to use an optimizer in the advanced control block 38 select.

2 stellt ein detaillierteres Blockschema einer Ausführungsform des fortgeschrittenen Steuer-/Regelblocks 38 dar, der kommunikativ mit einem Prozess 50 gekoppelt ist, wobei klar ist, dass der Steuer-/Regelblock 38 einen Satz von Stellgrößen MVs erzeugt, die anderen Funktionsblöcken zur Verfügung gestellt werden, die wiederum an Steuereingänge des Prozesses 50 angeschlossen sind. Wie in 2 FIG. 12 illustrates a more detailed block diagram of one embodiment of the advanced control block. FIG 38 communicating with a process 50 It will be appreciated that it will be understood that the control block 38 generates a set of manipulated variables MVs that are provided to other function blocks, in turn, to control inputs of the process 50 are connected. As in

2 dargestellt ist, umfasst der fortgeschrittene Steuer-/Regelblock 38 einen MPC-Controllerblock 52, einen Optimieren 54, einen Zielumsetzungsblock 55, ein Schrittantwortmodell oder eine Steuermatrix 56 und einen Eingabebearbeitungs/Filterblock 58. Bei dem MPC-Controller 52 kann es sich um irgendeinen Standard handeln, ein/e M-mal-M-MPC-Programm oder -prozedur (wobei M irgendeine Zahl größer Eins sein kann) mit derselben Anzahl von Ein- und Ausgaben. Der MPC-Controller 52 empfängt als Eingaben einen Satz von N Steuer- und Hilfsgrößen CV und AV (welche Vektoren von Werten sind), wie sie im Prozess 50 gemessen werden, einen Satz von Störgrößen DV, welche bekannte oder erwartete Änderungen oder Störungen sind, mit denen der Prozess 50 zu irgendeiner Zeit in der Zukunft beaufschlagt wird, und einen Satz von Beharrungszustandsziel- und -hilfsgrößen CVT und AVT, die vom Zielumsetzungsblock 55 bereitgestellt werden. Der MPC-Controller 52 verwendet diese Eingaben, um den Satz von M Stellgrößen MV (in Form von Steuersignalen) festzulegen, und liefert die Signale der Stellgröße MV, um den Prozess 50 zu steuern. 2 is shown, includes the advanced control block 38 an MPC controller block 52 , an optimization 54 , a target conversion block 55 , a step response model or a control matrix 56 and an input processing / filtering block 58 , In the MPC controller 52 may be any standard, an M times M MPC program or procedure (where M can be any number greater than one) with the same number of inputs and outputs. The MPC controller 52 receives as inputs a set of N control and auxiliary quantities CV and AV (which are vectors of values) as they are in the process 50 be measured, a set of disturbances DV, which are known or expected changes or disturbances with which the process 50 at any time in the future, and a set of steady state target and auxiliary variables CV T and AV T generated by the target conversion block 55 to be provided. The MPC controller 52 uses these inputs to set the set of M manipulated variables MV (in the form of control signals) and supplies the signals of the manipulated variable MV to the process 50 to control.

Darüber hinaus berechnet der MPC-Controller 52 noch einen Satz von Vorhersagebeharrungszustandssteuergrößen CVSS und Vorhersagebeharrungszustandshilfsgrößen AVSS und stellt sie, zusammen mit einem Satz von Vorhersagebeharrungszustandsstellgrößen MVSS, die die Vorhersagewerte der Steuergrößen CV, der Hilfsgrößen AV bzw. der Stellgrößen MV darstellen, mit dem Vorhersagehorizont dem Eingabeverarbeitungs-/Filterblock 58 zur Verfügung. Der Eingabeverarbeitungs-/Filterblock 58 verarbeitet die bestimmten Vorhersagebeharrungszustandswerte der Steuer-, Hilfs- und Steilgrößen CVSS, AVSS und MVSS, um die Auswirkungen von Rauschen und nicht vorhergesagten Störungen auf diese Größen zu reduzieren. Selbstverständlich kann der Eingabeverarbeitungs-/Filterblock 58 ein Tiefpassfilter oder irgendeine andere Eingabeverarbeitung umfassen, die die Auswirkungen von Rauschen, Modellierungsfehler und Störungen auf diese Werte reduziert, und liefert die gefilterten Steuer-, Hilfs- und Stellgrößen CVSSfil, AVSSfil und MVSSfil an den Optimieren 54.In addition, the MPC controller calculates 52 even a set of prediction steady state control variables CV SS and forecast steady state auxiliary variables AV SS and provides, along with a set of prediction steady state manipulated variables MV SS representing the prediction values of the control variables CV, the auxiliary variables AV and the manipulated variables MV, the prediction horizon the Eingabeverarbeitungs- / filter block 58 to disposal. The input processing / filter block 58 processes the determined prediction steady-state values of the control, auxiliary, and rapid variables CV SS , AV SS, and MV SS to reduce the effects of noise and unpredicted noise on these quantities. Of course, the input processing / filter block 58 include a low pass filter or any other input processing that reduces the effects of noise, modeling errors, and noise on these values, and provides the filtered control, auxiliary, and manipulated variables CV SSfil , AV SSfil, and MV SSfil to the optimizers 54 ,

Der Optimierer 54 ist in diesem Beispiel ein linear programmierender (LP) Optimierer, der eine Zielfunktion (OF), die von einem Auswahlblock 62 bereitgestellt werden kann, verwendet, um eine Prozessoptimierung durchzuführen. Alternativ könnte der Optimierer 54 ein quadratisch programmierender Optimierer sein, welcher ein Optimierer mit einem linearen Modell und einer quadratischen Zielfunktion ist. Allgemein ausgedrückt, legt die Zielfunktion OF Kosten und Nutzen fest, die jeder von einer Anzahl von Steuer-, Hilfs- und Stellgrößen zugeordnet sind, und der Optimierer 54 stellt Zielwerte für diese Größen ein, indem er die Zielfunktion maximiert oder minimiert. Der Auswahlblock 62 kann die Zielfunktion OF auswählen, die dem Optimierer 54 als eine eines Satzes von vorabgespeicherten Zielfunktionen 64 zur Verfügung gestellt wird, welche auf mathematische Weise verschiedene Arten und Weisen zur Definition des optimalen Ablaufs des Prozesses 50 darstellen. Beispielsweise kann eine der vorabgespeicherten Zielfunktionen 64 so konfiguriert sein, dass sie den Gewinn der Anlage maximiert, eine andere der Zielfunktionen 64 kann so konfiguriert sein, dass sie den Einsatz eines bestimmten Rohmaterials, bei dem Lieferknappheit herrscht, minimiert, während noch eine andere der Zielfunktionen 64 so konfiguriert sein kann, dass sie die Qualität des im Rahmen des Prozesses 50 herzustellenden Produkts maximiert. Allgemein ausgedrückt verwendet die Zielfunktion Kosten oder Nutzen, die mit jeder Bewegung einer Steuer-, Hilfs- und Stellgröße zusammenhängen, um den optimalsten Prozessoperationspunkt innerhalb eines Satzes annehmbarer Punke zu bestimmen, wie sie durch die Sollwerte oder -bereiche der Steuergrößen CV und die Grenzen der Hilfs- und Stellgrößen AV und MV definiert sind. Selbstverständlich kann jede gewünschte Zielfunktion anstelle der oder zusätzlich zu denjenigen verwendet werden, die hier beschrieben sind, einschließlich von Zielfunktionen, die jeweils mehrere Angelegenheiten wie Einsatz von Rohmaterial, Profitabilität, etc. in gewisser Weise optimieren.The optimizer 54 in this example, is a linear programming (LP) optimizer that has an objective function (OF) that is derived from a selection block 62 can be provided used to perform a process optimization. Alternatively, the optimizer could 54 a quadratic programming optimizer, which is an optimizer with a linear model and a quadratic objective function. Generally speaking, the objective function OF determines costs and benefits associated with each of a number of control, auxiliaries and manipulated variables, and the optimizer 54 sets target values for these quantities by maximizing or minimizing the objective function. The selection block 62 can select the objective function OF, which is the optimizer 54 as one of a set of pre-stored objective functions 64 which mathematically provides various ways of defining the optimal course of the process 50 represent. For example, one of the pre-stored objective functions 64 be configured to maximize the asset's return, another of the objective functions 64 can be configured to minimize the use of a particular raw material that is short of supply while still another of the objective functions 64 can be configured to match the quality of the process 50 product to be maximized. Generally speaking, the objective function uses costs or benefits associated with each movement of a control, aux and manipulated variable to determine the most optimal process operation point within a set of acceptable points, as determined by the set values or ranges of the control variables CV and the limits of the control variables Auxiliary and manipulated variables AV and MV are defined. Of course, any desired objective function may be used in place of or in addition to those described herein, including objective functions, each of which optimizes several issues such as raw material usage, profitability, etc. in some way.

Um eine der Zielfunktionen 64 auszuwählen, kann ein Benutzer oder Bediener eine Angabe zu der zu verwendenden Zielfunktion 64 machen, indem er diese Zielfunktion auf einem Bediener- oder Nutzerterminal (wie einem der Arbeitsplatzrechner 13 von 1) auswählt, welche Auswahl über eine Eingabe 66 dem Auswahlblock 62 zur Verfügung gestellt wird. Im Ansprechen auf die Eingabe 66 stellt der Auswahlblock 62 die ausgewählte Zielfunktion OF dem Optimierer 54 zur Verfügung. Selbstverständlich kann der Benutzer oder Bediener die Zielfunktion ändern, die während des Prozessablaufs verwendet wird. Falls gewünscht kann eine Standardzielfunktion in Fällen verwendet werden, bei denen der Benutzer keine Zielfunktion bereitstellt oder auswählt. Eine mögliche Standardzielfunktion wird nachstehend ausführlicher erläutert. Obwohl sie als Teil des fortgeschrittenen Steuer-/Regelblocks 38 dargestellt sind, können die verschiedenen Zielfunktionen auch im Bedienerterminal 13 von 1 gespeichert sein, und eine dieser Zielfunktionen kann dem fortgeschrittenen Steuer-/Regelblock 38 während des Festlegens oder der Generierung dieses Blocks zur Verfügung gestellt werden.To one of the objective functions 64 a user or operator may provide an indication of the objective function to be used 64 by performing this target function on an operator or user terminal (such as one of the workstations 13 from 1 ) selects which selection via an input 66 the selection block 62 is made available. In response to the input 66 represents the selection block 62 the selected objective function OF the optimizer 54 to disposal. Of course, the user or operator may change the objective function used during the process. If desired, a default target function may be used in cases where the user does not provide or select a target function. One possible standard objective function will be explained in more detail below. Although as part of the advanced control block 38 The various target functions can also be displayed in the operator terminal 13 from 1 stored, and one of these objective functions can the advanced control block 38 be provided during the setting or generation of this block.

Zusätzlich zur Zielfunktion OF erhält der Optimierer 54 als Eingaben einen Satz Steuergrößensollwerte (welche typischerweise vom Bediener festgelegte Sollwerte für die Steuergrößen CV des Prozesses 50 sind und vom Bediener oder einem anderen Benutzer geändert werden können) und einen Bereich und eine Gewichtung oder Priorität, der/die den Steuergrößen CV jeweils zugeordnet ist. Der Optimierer 54 erhält darüber hinaus einen Satz Bereichs- oder Zwangsgrenzen und einen Satz Gewichtungen oder Prioritäten für die Hilfsgrößen AV und einen Grenzensatz für die Stellgrößen MV, die zur Steuerung des Prozesses 50 verwendet werden. Allgemein ausgedrückt definieren die Bereiche für die Hilfs- und Stellgrößen die Grenzen (typischerweise basierend auf den physikalischen Eigenschaften der Anlage) für die Hilfs- und Stellgrößen, während die Bereiche für die Steuergrößen einen Bereich bereitstellen, in welchem die Steuergrößen für eine zufriedenstellende Steuerung des Prozesses wirken können. Die Gewichtungen für die Steuer- und Hilfsgrößen legen die relative Wichtigkeit der Steuer- und der Hilfsgrößen im Optimierungsprozess in Bezug aufeinander fest und können unter gewissen Umständen dazu verwendet werden, es dem Optimierer 54 zu ermöglichen, eine Steuerziellösung zu generieren, falls einige der Zwangsgrenzen verletzt werden.In addition to the objective function OF receives the optimizer 54 as inputs, a set of control variable setpoints (which are typically operator set setpoint values for the control variables CV of the process 50 and can be changed by the operator or another user) and a range and weighting or priority associated with each of the control quantities CV. The optimizer 54 also obtains a set of range or constraints and a set of weights or priorities for the auxiliary quantities AV and a set of limits for the manipulated variables MV used to control the process 50 be used. Generally speaking, the ranges for the auxiliaries and manipulated variables define the limits (typically based on the physical properties of the system) for the auxiliary and manipulated variables, while the ranges for the control variables provide a range in which the control variables for a satisfactory control of the process can act. The weights for the control and auxiliary quantities determine the relative importance of the control and auxiliary quantities in the optimization process with respect to each other, and can under some circumstances be used by the optimizer 54 to enable a control target solution to be generated if some of the constraints are violated.

Während des Betriebs kann der Optimierer 54 eine lineare Programmiertechnik (LP-Programmiertechnik) zur Durchführung der Optimierung verwenden. Bekanntlich ist die lineare Programmierung ein mathematisches Verfahren zum Lösen eines Satzes linearer Gleichungen oder Ungleichheiten, die eine bestimmte zusätzliche Funktion, Zielfunktion genannt, maximiert oder minimiert. Wie zuvor erläutert, kann die Zielfunktion einen wirtschaftlichen Wert wie Kosten oder Nutzen ausdrücken, kann aber statt dessen auch andere Ziele ausdrücken. Darüber hinaus definiert, wie vorausgesetzt wird, die Beharrungszustandsverstärkungsmatrix die Beharrungszustandsverstärkung für jedes mögliche Paar der Stellgrößen und der Steuer- und Hilfsgrößen. Mit anderen Worten definiert die Beharrungszustandsverstärkungsmatrix die Beharrungszustandsverstärkung in jeder Steuer- und Hilfsgröße für eine Änderungseinheit in jeder der Stell- und Störgrößen. Diese Beharrungszustandsverstärkungsmatrix ist im Allgemeinen eine N-mal-M-Matrix, worin N die Anzahl von Steuer- und Hilfsgrößen und M die Anzahl von Stellgrößen ist, die in der Optimierungsroutine verwendet werden. Im Allgemeinen kann N größer, gleich oder kleiner M sein, wobei der allgemeinste Fall ist, dass N größer M ist.During operation, the optimizer can 54 use a linear programming technique (LP programming technique) to perform the optimization. As is well known, linear programming is a mathematical method for solving a set of linear equations or inequalities that maximizes or minimizes a particular additional function called the objective function. As previously explained, the objective function may express an economic value such as cost or benefit, but may instead express other goals. Moreover, as is assumed, the steady state gain matrix defines the steady state gain for each possible pair of manipulated variables and the control and auxiliary quantities. In other words, the steady state gain matrix defines the steady state gain in each control and auxiliary variable for a change unit in each of the set and disturbances. This steady state gain matrix is generally an N by M matrix, where N is the number of control and auxiliary quantities and M is the number of manipulated variables used in the optimization routine. In general, N may be greater than, equal to, or less than M, the most common case being that N is greater than M.

Unter Verwendung irgendeines bekannten oder standardmäßigen LP-Algorithmus oder -Verfahrens wiederholt der Optimierer 54 die Bestimmung des Satzes von Zielstellgrößen MVT (wie sie von der Beharrungszustandsverstärkungsmatrix bestimmt sind), welche die ausgewählte Zielfunktion OF maximieren oder minimieren und gleichzeitig zu einem Prozessablauf führen, der die Sollwertbereichsgrenzen der Steuergröße CV, die Zwangsgrenzen der Hilfsgröße AV und die Grenzen der Stellgröße MV erfüllt oder sich innerhalb dieser befindet. In einer Ausführungsform bestimmt der Optimierer 54 sogar die Veränderung der Stellgrößen und verwendet die Angabe der Vorhersagebeharrungszustandssteuergrößen, -hilfsgrößen und -stellgrößen CVSSfil, AVSSfil und MVSSfil, um die Veränderungen im Prozessablauf von seinem gegenwärtigen Ablauf zu bestimmen, d.h., den dynamischen Ablauf des MPC-Steuerprogramms während des Erreichungsprozesses des Ziel- oder optimalen Prozessoperationspunktes zu bestimmen. Dieser dynamische Ablauf ist wichtig, weil sichergestellt werden muss, dass während der Bewegung aus dem gegenwärtigen Operationspunkt zum Zieloperationspunkt keine der Zwangsgrenzen verletzt wird.Using any known or standard LP algorithm or method, the optimizer repeats 54 the determination of the set of target manipulated variables MV T (as determined by the steady state gain matrix) which maximize or minimize the selected objective function OF and at the same time lead to a process flow comprising the setpoint range limits of the control variable CV, the constraints of the auxiliary variable AV and the limits of the manipulated variable MV meets or is located within this. In one embodiment, the optimizer determines 54 even the change of the manipulated variables and uses the indication of the prediction steady state control quantities, auxiliary quantities and manipulated variables CV SSfil , AV SSfil and MV SSfil to determine the changes in the process flow from its present process, ie the dynamic flow of the MPC control program during the reaching process of the target or optimal process operation point. This dynamic process is important because it ensures must be that during the movement from the current operation point to the target operating point none of the constraints is violated.

In einer Ausführungsform kann der LP-Optimierer 54 so ausgelegt sein, dass er eine Zielfunktion der folgenden Form minimiert: Q = Pt·A·ΔMV + CtΔMVworin
Q = Gesamtkosten/-nutzen
P = Nutzenvektor im Zusammenhang mit den AVs und CVs
C = Kostenvektor im Zusammenhang mit MVs
A = Verstärkungsmatrix
ΔMV = Vektor für die berechnete Veränderung bei den MVs
In one embodiment, the LP optimizer 54 be designed to minimize an objective function of the following form: Q = P t · A · ΔMV + C t delta MV wherein
Q = total cost / benefit
P = utility vector in the context of the AVs and CVs
C = cost vector associated with MVs
A = gain matrix
ΔMV = vector for the calculated change in MVs

Die Nutzenwerte sind positive Zahlen und die Kostenwerte sind negative Zahlen, um ihren Einfluss auf das Ziel anzugeben. Unter Verwendung dieser Zielfunktion berechnet der LP-Optimierer 54 die Veränderungen bei den Stellgrößen MV, die die Zielfunktion minimieren, während sichergestellt wird, dass die Steuergrößen CV innerhalb eines Bereichs von ihrem Zielsollwert bleiben, dass sich die Hilfsgrößen AV sich innerhalb ihrer unteren und oberen Zwangsgrenzen befinden, und dass die Stellgrößen MV innerhalb ihrer oberen und unteren Grenzen liegen.The utility values are positive numbers and the cost values are negative numbers to indicate their impact on the goal. Using this objective function, the LP optimizer computes 54 the changes in the manipulated variables MV that minimize the objective function while ensuring that the control variables CV remain within a range of their target setpoint, that the auxiliary variables AV are within their upper and lower constraints, and that the manipulated variables MV are within their upper limits and lower limits.

Bei einem Verfahren zur Optimierung, das verwendet werden kann, werden Inkrementalwerte von Stellgrößen zur momentanen Zeit (t) verwendet, und es wird eine Summe von Stellgrößen über den Steuerhorizont verwendet, wobei die Inkrementalwerte der Steuer- und Hilfsgrößen am Ende des Vorhersagehorizonts und keine momentanen Stellenwerte bestimmt werden, wie dies in LP-Anwendungen typisch ist. Selbstverständlich kann der LP-Algorithmus für diese Variante angemessen abgeändert werden. Der LP-Optimierer 54 kann auf jeden Fall ein Beharrungszustandsmodell verwenden, und im Ergebnis ist eine Beharrungszustandsbedingung für diese Anwendung erforderlich. Mit einem Vorhersagehorizont, wie er normalerweise in der MPC-Entwicklung verwendet wird, ist ein zukünftiger Beharrungszustand für einen Selbstregelungsprozess garantiert. Eine mögliche Prozessvorhersagebeharrungszustandsgleichung für einen m-mal-n-Eingabe-Ausgabe-Prozess mit einem Vorhersagehorizont p, einem Steuerhorizont c, in Inkrementalform ausgedrückt, ist: ΔCV(t + p) = A·ΔMV(t + c)worin:

Figure 00190001
vorhergesagte Änderungen in Ausgaben am Ende des Vorhersagehorizonts (t + p) bezeichnet,
Figure 00200001
der Prozessbeharrungszustand m mal n Verstärkungsmatrix ist,
Figure 00200002
Veränderungen bei den Stellgrößen am Ende des Steuerhorizonts (t + c) bezeichnet.In an optimization method that can be used, incremental values of manipulated variables at the current time (t) are used and a sum of manipulated variables over the control horizon is used, with the incremental values of the control and auxiliary variables at the end of the prediction horizon and no current ones As typical in LP applications. Of course, the LP algorithm for this variant can be modified appropriately. The LP optimizer 54 can definitely use a steady state model, and as a result, a steady state condition is required for this application. With a predictive horizon normally used in MPC development, a future steady state for a self-regulation process is guaranteed. One possible process prediction steady state equation for an m-by-n input-output process with a prediction horizon p, a control horizon c, expressed in incremental form, is: ΔCV (t + p) = A · ΔMV (t + c) wherein:
Figure 00190001
predicted changes in outputs at the end of the forecast horizon (t + p),
Figure 00200001
the process steady state is m times n gain matrix,
Figure 00200002
Changes in the manipulated variables at the end of the tax horizon (t + c).

Der Vektor ΔMV(t + c) stellt die Summe der Veränderungen über den Steuerhorizont dar, die durch jede Controllerausgabe mvi erfolgt ist, so dass

Figure 00200003
The vector ΔMV (t + c) represents the sum of the changes over the control horizon made by each controller output mv i such that
Figure 00200003

Die Veränderungen sollten Grenzen sowohl bei den Stellgrößen MV als auch den Steuergrößen CV entsprechen (hier werden die Hilfsgrößen als Steuergrößen behandelt): MVmi n ≤ MVmomentan + ΔMV (t + c) ≤ MVmax CVmi n ≤ CVvorhergesagt + ΔCV(t + p) ≤ CVmax The changes should have limits both for the manipulated variables MV and the control variables CV correspond (here the auxiliary quantities are treated as control variables): MV Wed. n ≤ MV currently + ΔMV (t + c) ≤ MV Max CV Wed. n ≤ CV predicted + ΔCV (t + p) ≤ CV Max

In diesem Fall kann die Zielfunktion zur Maximierung des Produktwerts und Minimierung der Rohmaterialkosten gemeinsam definiert werden als:

Figure 00200004
worin:
UCV der Kostenvektor für eine Änderungseinheit beim Prozesswert der Steuergröße CV ist; und
UMV der Kostenvektor für eine Änderungseinheit beim Prozesswert der Stellgrößen MV ist.In this case, the objective function of maximizing product value and minimizing raw material costs can be defined together as:
Figure 00200004
wherein:
UCV is the cost vector for a change unit in the process value of the control variable CV; and
UMV is the cost vector for a change unit in the process value of the manipulated variables MV.

Unter Anwendung der obigen ersten Gleichung kann die Zielfunktion in Form von Stellgrößen MV ausgedrückt werden als:

Figure 00210001
Using the above first equation, the objective function can be expressed in the form of manipulated variables MV as:
Figure 00210001

Um eine optimale Lösung zu finden, berechnet der LP-Algorithmus die Zielfunktion für einen anfänglichen Scheitelpunkt in dem durch diese Gleichung definierten Bereich und verbessert die Lösung bei jedem nächsten Schritt, bis der Algorithmus den Scheitelpunkt mit dem höchsten (oder niedrigsten) Wert der Zielfunktion als optimale Lösung bestimmt. Die bestimmten optimalen Stellgrößenwerte werden als die Zielstellgrößen MVT, die innerhalb des Steuerhorizonts erzielt werden sollen, angewandt.To find an optimal solution, the LP algorithm calculates the objective function for an initial vertex in the range defined by this equation, and improves the solution at each next step until the algorithm reaches the vertex with the highest (or lowest) value of the objective function optimal solution determined. The determined optimal manipulated variable values are applied as the target manipulated variables MV T to be achieved within the control horizon.

Allgemein ausgedrückt ergibt das Ablaufenlassen des LP-Algorithmus auf der vorbereiteten Matrix drei mögliche Ergebnisse. Erstens, es gibt eine einzige Lösung für die Zielstellgrößen MVT. Zweitens, die Lösung ist unbegrenzt, was nicht der Fall sein sollte, wenn die Steuer- bzw. Hilfsgröße eine hohe und eine niedrige Grenze hat. Drittens, es gibt keine Lösung, was bedeutet, dass die den Hilfsgrößen auferlegten Grenzen oder Randbedingungen zu eng sind. Um den dritten Fall zu behandeln, können die Randbedingungen gelockert werden, um eine Lösung zu erhalten. Die Grundannahme besteht darin, dass die den Stellgrößen gesetzten Grenzen (hohe/niedrige Grenzen) nicht durch den Optimierer verändert werden können. Selbiges trifft auf die Randbedingungen oder Grenzen der Hilfsgrößen zu (hohe/niedrige Grenzen). Dennoch kann der Optimierer davon abrücken, die Steuergröße CV auf die festgelegten Sollwerte (CV-Sollwertsteuerung) und die Steuergrößen auf irgendwelche anderen Werte innerhalb eines Bereichs von dem oder um den Sollwert (CV-Bereichssteuerung) zu fahren. In diesem Fall können die Werte der Steuergrößen eher in einem Bereich als an einem spezifischen Sollwert angesiedelt werden. Gibt es mehrere Hilfsgrößen AV, die ihre Randbedingungen verletzen und von der CV-Sollwertsteuerung zur CV-Bereichssteuerung überspringen, ist es auch möglich, die Randbedingungen der Hilfsgrößen basierend auf den vorgesehenen Gewichtungs- oder Prioritätszuweisungen zu lockern oder zu ignorieren. In einer Ausführungsform könnte eine Lösung dadurch bestimmt werden, dass der ins Quadrat umgesetzte Fehler der Hilfsgrößen minimiert wird, wodurch es jeder von ihnen möglich ist, ihre jeweilige Randbedingung zu verletzen, oder durch sequentielles Aufgeben der Randbedingungen der Hilfsgrößen mit der niedrigsten Priorität.Generally speaking, running the LP algorithm on the prepared matrix gives three possible results. First, there is a single solution for the target manipulated variables MV T. Second, the solution is unlimited, which should not be the case if the helper size has a high and a low limit. Third, there is no solution, which means that the limits or constraints imposed on the auxiliary quantities are too narrow. To handle the third case, the constraints can be relaxed to get a solution. The basic assumption is that the limits set for the manipulated variables (high / low limits) can not be changed by the optimizer. The same applies to the boundary conditions or limits of the auxiliary quantities (high / low limits). Nevertheless, the optimizer may refrain from driving the control quantity CV to the setpoint values (CV setpoint control) and the control quantities to any other values within a range of or around the setpoint value (CV range control). In this case, the values of the control variables can be settled in a range rather than a specific setpoint. If there are several auxiliary quantities AV that violate their constraints and skip from CV setpoint control to CV range control, it is also possible to relax or ignore the constraints of the auxiliary sizes based on the provided weighting or priority assignments. In one embodiment, a solution could be determined by minimizing the squared error of the auxiliary quantities, thereby allowing each of them to violate their respective constraints, or by sequentially relinquishing the constraints of the lowest priority auxiliary variables.

Wie vorstehend festgestellt wurde, kann die Zielfunktion OF durch das Steuer-/Regelblockgeneratorprogramm 40 ausgewählt werden oder standardmäßig eingestellt sein. Ein Verfahren zum Festlegen einer solchen Standardeinstellung ist nachstehend wiedergegeben. Während es wünschenswert ist, die Optimierungsfähigkeit bereitzustellen, können es insbesondere viele Situationen erforderlich machen, dass nur Sollwerte für die Steuergrößen auf eine Weise beibehalten werden, die die Ablaufrandbedingungen der Hilfs- und Stellgrößen noch berücksichtigt. Für diese Anwendungen kann der Block 38 so konfiguriert sein, dass er einzig als MPC-Funktionsblock wirkt. Um diese einfache Verwendung vorzusehen, kann eine standardmäßige Zielfunktion „Operate" automatisch erzeugt werden, wobei Standardkosten den verschiedenen darin vorkommenden Größen zusammen mit Standardgewichtungen für die Hilfsgrößen AV zugeordnet werden. Diese Standards können alle Kosten für die Hilfsgrößen AV und die Stellgrößen MV gleich festsetzen oder können irgendeine andere Kostenzuordnung zu den Hilfs- und Stellgrößen AV und MV vorsehen. Wird eine fachmännische Option gewählt, kann der Benutzer zusätzliche Optimierungsselektionen festlegen und deren zugeordnete Kosten für unterschiedliche Zielfunktionen 64 definieren. Der fachmännische Benutzer hat dann auch die Möglichkeit, die Gewichtungen der standardmäßigen Hilfs- und Steuergröße AV und CV der Standardzielfunktion abzuändern.As stated above, the objective function OF may be controlled by the control block generator program 40 be selected or set by default. A method for specifying such a default is shown below. In particular, while it is desirable to provide the optimization capability, many situations may require that only setpoint values for the control quantities be maintained in a manner that still takes into account the outflow constraints of the auxiliaries and manipulated variables. For these applications, the block 38 be configured to act solely as an MPC function block. To provide for this ease of use, a standard objective function "Operate" can be generated automatically, with standard costs being assigned to the various variables occurring therein together with standard weights for the auxiliary quantities AV These standards can set all the costs for the auxiliary quantities AV and the manipulated variables MV equal or can provide any other cost allocation to the auxiliary and manipulated variables AV and MV If a professional option is selected, the user can specify additional optimization selections and their associated costs for different objective functions 64 define. The expert user then also has the possibility to change the weights of the standard auxiliary and control variables AV and CV of the standard target function.

In einer Ausführungsform kann, wenn beispielsweise keine wirtschaftlichen Vorgaben für die Prozesskonfiguration definiert sind, die Zielfunktion automatisch aus der MPC-Konfiguration aufgebaut werden. Im Allgemeinen kann die Zielfunktion unter Verwendung der folgenden Formel aufgebaut werden:

Figure 00230001
In one embodiment, if, for example, no economic constraints for the process configuration are defined, the target function is automatically built from the MPC configuration. In general, the objective function can be built using the following formula:
Figure 00230001

Die Größen Cj und pj können aus den Konfigurationseinstellungen definiert werden. Insbesondere unter der Annahme, dass der Sollwert der Steuergröße CV nur auf LL (Low Limit) oder HL (High Limit) festgelegt werden kann, wird der Wert pj folgendermaßen definiert:
pj = –1, wenn der Sollwert auf niedrige Grenze festgelegt oder Minimieren ausgewählt wurde; und
pj = 1, wenn der Sollwert auf hohe Grenze festgelegt oder Maximieren gewählt wurde.
The sizes C j and p j can be defined from the configuration settings. In particular, assuming that the target value of the control variable CV can only be set to LL (Low Limit) or HL (High Limit), the value p j is defined as follows:
p j = -1 if the setpoint has been set to low limit or minimization has been selected; and
p j = 1 if the setpoint has been set to High Limit or Maximize has been selected.

Angenommen, es werden keine Konfigurationsdaten für die Hilfsgrößen AV eingegeben, dann gilt für alle Hilfsgrößen pj = 0. Ähnlich hängt bei den Stellgrößen MV der Wert Cj davon ab, ob die bevorzugte Zielstellgröße MVT definiert ist oder nicht. Steht die bevorzugte Zielstellgröße MVT fest, gilt:
Cj = 1, wenn MVT auf die hohe Grenze festgelegt oder Maximieren gewählt wurde;
Cj = –1, wenn MVT auf die niedrige Grenze festgelegt oder Minimieren gewählt wurde, und
Cj = 0, wenn MVT nicht definiert ist.
Assuming that no configuration data is input for the auxiliary quantities AV, then for all auxiliary quantities p j = 0. Similarly, for the manipulated variables MV, the value C j depends on whether the preferred target manipulated variable MV T is defined or not. If the preferred target manipulated variable MV T is fixed, the following applies:
C j = 1 if MV T was set to the high limit or Maximize was selected;
C j = -1, if MV T was set to the low limit or Minimize was selected, and
C j = 0 if MV T is not defined.

Falls gewünscht, kann die Auswahl der Verwendung des Optimiereres 54 in Zusammenhang mit dem MPC-Controller 52 einstellbar sein, um dadurch einen Optimierungsgrad bereitzustellen. Um diese Funktion zu vollziehen, kann die Änderung bei den vom Controller 52 verwendeten Stellgrößen MV dadurch geändert werden, dass auf die durch den MPC-Controller 52 und den Optimierer 54 bestimmten Änderung bei den Stellgrößen MV unterschiedliche Gewichtungen gelegt werden. Solch eine gewichtete Kombination der Stellgrößen MV wird hier als effektive MV(MVeff) bezeichnet. Die effektive MVeff kann bestimmt werden als: ΔMVeff = MVmpc(α/S) + ΔMVopt(1 – α)0 ≤ α ≤ 1, worin S willkürlich oder heuristisch ausgewählt ist. Typischerweise ist 5 größer als Eins und kann sich im Bereich von Zehn befinden.If desired, the choice of using the optimizer 54 in connection with the MPC controller 52 be adjustable to thereby provide an optimization level. To perform this function, the change may be made by the controller 52 used manipulated variables MV changed by that on the by the MPC controller 52 and the optimizer 54 certain changes in the manipulated variables MV different weights are placed. Such a weighted combination of the manipulated variables MV is referred to here as effective MV (MV eff ). The effective MV eff can be determined as: delta MV eff = MV mpc (α / S) + ΔMV opt (1 - α) 0 ≦ α ≦ 1, where S is selected arbitrarily or heuristically. Typically, 5 is greater than one and may be in the region of ten.

Hier trägt der Optimierer mit α = 0 zur effektiven Ausgabe bei, wie sie bei der Festlegung eingestellt wurde. Mit α = 1 trägt der Controller nur eine dynamische MPC-Steuerung bei. Natürlich liefert der Bereich zwischen 0 und 1 unterschiedliche Optimierer- und MPC-Steuerungsbeiträge.Here the optimizer increases with α = 0 effective output at how it was set when setting. With α = 1 carries the controller only adds a dynamic MPC control. Of course supplies the range between 0 and 1 different optimizer and MPC control contributions.

Die vorstehend beschriebene Standardzielfunktion kann dazu eingesetzt werden, den Ablauf des Optimierers in verschiedenen möglichen Betriebsarten von diesem herzustellen. Insbesondere wenn die Anzahl der Steuergrößen CV zur Anzahl der Stellgrößen MV passt, ist das erwartete Verhalten bei der Standardeinstellung, dass die Sollwerte der Steuergröße CV so lange beibehalten werden, solange die Hilfsgrößen AV und Stellgrößen MV voraussichtlich innerhalb ihrer Grenzen liegen. Wird vorausgesagt, dass eine Hilfsgröße oder eine Stellgröße ihre Grenze verletzen wird, werden die Steuergrößenarbeitssollwerte innerhalb ihres Bereichs verändert, um zu verhindern, dass diese Grenzen verletzt werden. Falls in diesem Fall der Optimierer 54 keine Lösung finden kann, die die Hilfs- und Stellgrößengrenzen einhält, während gleichzeitig die Steuergrößen innerhalb ihres Bereichs gehalten werden, werden die Steuergrößen in ihrem Bereich gehalten, während die Hilfsgrößen von ihren Zwangsgrenzen abweichen dürfen. Beim Finden der besten Lösung werden dann diejenigen Hilfsgrößen AV, die voraussichtlich eine Grenze verletzen, gleich behandelt und ihre durchschnittliche Grenzabweichung wird minimiert.The standard objective function described above can be used to produce the optimizer's operation in various possible modes of operation. In particular, if the number of control variables CV matches the number of manipulated variables MV, the expected behavior in the default setting is that the setpoint values of the control variable CV are maintained as long as the auxiliary variables AV and manipulated variables MV are expected to be within their limits. If it is predicted that an auxiliary quantity or manipulated variable will violate its limit, the control variable work setpoints will be changed within their range to prevent these limits from being violated. If in this case the optimizer 54 can find no solution that adheres to the auxiliary and manipulated variable limits, while at the same time the control variables are kept within their range, the control variables are kept within their range, while the auxiliary variables may deviate from their constraints. In finding the best solution, then those auxiliary quantities AV likely to violate a boundary are treated equally and their average limit deviation is minimized.

Um dieses Verhalten zu erreichen, werden die von der Zielfunktion verwendeten standardmäßigen Kosten/Nutzen automatisch derart eingestellt, dass die Steuergrößen CV einen Nutzen von 1 zugeteilt bekommen, wenn der Bereich so definiert ist, dass er ein Abweichung unter den Sollwert zulässt, und einen Nutzen von –1, wenn der Bereich so definiert ist, dass er eine Abweichung über den Sollwert zulässt. Die innerhalb der Grenzen befindlichen Hilfsgrößen AV bekommen einen Nutzen von 0 und die Stellgrößen Kosten von 0 zugeteilt.To achieve this behavior, become the standard costs / benefits used by the objective function automatically adjusted so that the control variables CV a Get assigned benefits of 1 if the area is defined as that it allows a deviation below the set point, and a benefit of -1 if the area is defined as having a deviation over the Setpoint permits. The auxiliary quantities AV within the limits are used from 0 and the manipulated variables cost allocated from 0.

Ist die Anzahl der Steuergrößen CV geringer als die Anzahl der Stellgrößen MV, dann können die zusätzlichen Freiheitsgrade genutzt werden, um sich der Erfordernisse anzunehmen, die mit der endgültigen Ruheposition der konfigurierten Stellgröße MV zusammenhängen. Hier werden die Steuergrößensollwerte (falls Steuergrößen CV definiert sind) solange beibehalten, wie die Hilfs- und Stellwerte voraussichtlich innerhalb ihrer Grenzen bleiben werden. Die Durchschnittsabweichung der Stellgrößen von der konfigurierten endgültigen Ruheposition wird minimiert. Wird vorausgesagt, dass eine oder mehrere der Hilfs- und Stellgrößen ihre Grenze verletzen wird/werden, dann werden die Steuergrößenarbeitssollwerte innerhalb ihrer Bereiche geändert, um zu verhindern, dass diese Grenzen verletzt werden. Falls es unter dieser Bedingung-mehrere Lösungen gibt, dann wird diejenige, die zur Steuerung verwendet wird, die Durchschnittsabweichung der Stellgrößen von der konfigurierten endgültigen Ruheposition minimieren.Is the number of control variables CV lower as the number of manipulated variables MV, then can the additional Degrees of freedom are used to meet the requirements, with the final Rest position of the configured manipulated variable MV related. Here become the control variable setpoints (if control variables CV defined are retained as long as the auxiliary and control values are expected stay within their limits. The average deviation the manipulated variables of the configured final resting position is minimized. It is predicted that one or more of the auxiliary and their manipulated variables Limit will / will violate, then the control variable work setpoints changed within their areas to to prevent these limits from being violated. If it is under this condition gives several solutions, then the one used for the control becomes the average deviation the manipulated variables of the configured final Minimize resting position.

Kann der Optimierer 54 keine Lösung finden (d.h. es gibt keine Lösung), die die Hilfs- und Stellgrößengrenzen einhält und gleichzeitig die Steuergrenzen innerhalb ihres Bereichs hält, dann werden die Steuergrößen innerhalb des Bereichs gehalten, während die Hilfsgrößen von ihren Zwangsgrenzen abweichen dürfen. Beim Finden der besten Lösung werden dann diejenigen Hilfsgrößen, die voraussichtlich eine Grenze verletzen, gleich behandelt und ihre durchschnittliche Grenzabweichung wird minimiert. Um dieses Verhalten zu erreichen, werden die von der Zielfunktion verwendeten standardmäßigen Kosten/Nutzen automatisch derart eingestellt, dass die Steuergrößen einen Nutzen von 1 zugeteilt bekommen, wenn der Bereich so definiert ist, dass er eine Abweichung unter den Sollwert zulässt, und einen Nutzen von –1, wenn der Bereich so definiert ist, dass er eine Abweichung über den Sollwert zulässt. Die Hilfsgrößen bekommen einen Nutzen von 1 oder –1 und die Stellgrößen Kosten von 0,1 zugeteilt.Can the optimizer 54 find no solution (ie there is no solution), the auxiliary and manipulated variables adherence to limits and at the same time keeps the tax limits within its range, then the control variables are kept within the range, while the auxiliary quantities may deviate from their constraints. When finding the best solution, then those helper sizes likely to violate a boundary are treated equally and their average limit deviation is minimized. To accomplish this behavior, the standard cost / benefits used by the objective function are automatically adjusted such that the control values are assigned a benefit of 1, if the range is defined to allow deviation below the setpoint, and a benefit of -1 if the range is defined to allow deviation from the setpoint. The auxiliary quantities get a benefit of 1 or -1 and the manipulated variables are allocated costs of 0.1.

Jedenfalls stellt nach dem Ablauf der Optimierer 54 dem Zielumsetzungsblock 55 einen Satz optimaler oder Zielstellgrößen MVT zur Verfügung, der die Beharrungszustandsverstärkungsmatrix verwendet, um die Zielbeharrungszustandssteuergrößen und -hilfsgrößen zu bestimmen, die sich aus den Zielstellgrößen MVT ergeben. Diese Umsetzung ist rechnerisch problemlos, da die Beharrungszustandsverstärkungsmatrix die Wechselwirkungen zwischen den Stellgrößen und den Steuer- und Hilfsgrößen definiert und dadurch dazu eingesetzt werden kann, einzig die Zielsteuergrößen und -hilfsgrößen CVT und AVT aus den definierten Ziel(beharrungszustands)stellgrößen MVT zu bestimmen.Anyway, after the expiration of the optimizer 54 the target conversion block 55 provides a set of optimal or target manipulated variables MV T which uses the steady state gain matrix to determine the target steady state control quantities and auxiliaries resulting from the target manipulated variables MV T. This implementation is computationally straightforward, since the steady state gain matrix defines the interactions between the manipulated variables and the control and auxiliary quantities and thereby can be used to only the target control variables and auxiliary variables CV T and AV T from the defined target (steady state) variables MV T determine.

Wenn sie erst bestimmt sind, wird mindestens eine Teilmenge N der Zielsteuergrößen und -hilfsgrößen CVT und AVT dem MPC-Controller 52 als Eingaben zu Verfügung gestellt, welcher, wie zuvor festgestellt, diese Zielwerte CVT und AVT dazu verwendet, um einen neuen Satz von Beharrungszustandsstellgrößen MVss (über den Steuerhorizont) zu bestimmen, welcher die gegenwärtigen Steuer- und Hilfsgrößen CV und AV am Ende des Vorhersagehorizonts auf die Zielwerte CVT und AVT fährt. Natürlich verändert der MPC-Controller bekanntlich die Stellgrößen in Schritten, in einem Versuch, die Beharrungszustandswerte für diese Größen MVss zu erreichen, die theoretisch die vom Optimierer 54 bestimmten Zielstellgrößen MVT sein werden. Da der Optimierer 54 und MPC-Controller 52 wie zuvor beschrieben während jeder Prozessabtastung in Betrieb sind, können sich die Zielwerte der Stellgrößen MVT von Abtastung zu Abtastung ändern, und im Ergebnis kann der MPC-Controller niemals einen bestimmten dieser Sätze von Zielstellgrößen MVT wirklich erreichen, insbesondere dann nicht, wenn Rauschen, unerwartete Störungen, Änderungen im Prozess 50, etc. hinzukommen. Dennoch treibt der Optimierer 54 den Controller 52 immer dazu an, die Stellgrößen MV zu einer optimalen Lösung hin zu bewegen.Once determined, at least a subset N of the target control quantities and auxiliary variables CV T and AV T become the MPC controller 52 As previously stated, these target values CV T and AV T are used to determine a new set of steady state manipulated variables MVss (over the control horizon) which matches the current control and auxiliary quantities CV and AV at the end of the Prediction horizon on the target values CV T and AV T drives. Of course, the MPC controller is known to alter the manipulated variables in steps, in an attempt to achieve the steady state values for these MVsss, theoretically those of the optimizer 54 certain target variables MV T be. Because the optimizer 54 and MPC controllers 52 are as described above during each process scan in operation, the target values of the manipulated variables MV T of scanning can change to sampling, as a result of the MPC controller can never really reach a certain of these sets of target manipulated variables MV T, especially not if noise , unexpected errors, changes in the process 50 , etc. are added. Nevertheless, the optimizer is driving 54 the controller 52 always to move the manipulated variables MV to an optimal solution.

Der MPC-Controller 52 umfasst bekanntermaßen ein Steuerprozessvorhersagemodell 70, welches eine N mal M+D-Schrittantwortmatrix sein kann (in der N die Anzahl der Steuergrößen CV zuzüglich der Anzahl der Hilfsgrößen AV ist, M die Anzahl der Stellgrößen MV und D die Anzahl der Störgrößen DV ist). Das Steuerprozessvorhersagemodell 70 erzeugt in einer Ausgabe 72 eine zuvor berechnete Vorhersage für jede der Steuer- und Hilfsgrößen CV und AV, und ein Vektorsummierer 74 subtrahiert diese Vorhersagewerte für die aktuelle Zeit von den tatsächlich gemessenen Werten der Steuer- und Hilfsgrößen, um in der Eingabe 76 einen Fehler- oder Korrekturvektor zu erzeugen.The MPC controller 52 As is known, it includes a control process prediction model 70 which may be an N by M + D step response matrix (where N is the number of control variables CV plus the number of auxiliary quantities AV, M is the number of manipulated variables MV and D is the number of disturbances DV). The control process prediction model 70 generated in an output 72 a previously calculated prediction for each of the control and auxiliary quantities CV and AV, and a vector summer 74 subtracts these current time prediction values from the actual measured values of the control and auxiliary quantities to input 76 to generate an error or correction vector.

Das Steuerprozessvorhersagemodell 70 verwendet dann die N mal M+D-Schrittantwortmatrix, um für jede der Steuer- und Hilfsgrößen CV und AV einen zukünftigen Steuerparameter über den Vorhersagehorizont basierend auf den Stör- und Stellgrößen vorherzusagen, die anderen Eingaben des Steuerprozessvorhersa gemodells 70 bereitgestellt werden. Das Steuerprozessvorhersagemodell 70 liefert auch die Vorhersagebeharrungszustandswerte der Steuer- und Hilfsgrößen CVSS und AVSS an den Eingabeverarbeitungs-/Filterblock 58.The control process prediction model 70 then uses the N by M + D step response matrix to predict, for each of the control and auxiliary quantities CV and AV, a future control parameter over the prediction horizon based on the disturbance and manipulated variables, the other inputs of the control process prediction model 70 to be provided. The control process prediction model 70 also provides the prediction values of the steady state control and auxiliary variables CV and AV SS SS on the Eingabeverarbeitungs- / filter block 58 ,

Ein Zielsteuer-/Regelblock 80 bestimmt einen Zielsteuervektor für jede der N ihm vom Zielumsetzungsblock 55 unter Verwendung eines zuvor für den Block 38 erstellten Trajektorienfilters 82 zur Verfügung gestellten Zielsteuergrößen und -hilfsgrößen CVT und AVT. Das Trajektorienfilter liefert insbesondere einen Einheitsvektor, der die Art und Weise festlegt, mit der die Steuer- und Hilfsgrößen mit der Zeit auf ihre Zielwerte gefahren werden sollen. Der Zielsteuer-/Regelblock 80 verwendet diesen Einheitsvektor und die Zielgrößen CVT und AVT, um einen dynamischen Zielsteuervektor für jede der Steuer- und Hilfsgrößen zu erzeugen, der die Veränderungen bei den Zielgrößen CVT und AVT über den Zeitraum definiert, der durch die Zeit des Vorhersagehorizonts festgelegt ist. Ein Vektorsummierer 84 subtrahiert dann den zukünftigen Steuerparametervektor für jede der Steuer- und Hilfsgrößen CV und AV von den dynamischen Steuervektoren, um einen Fehlervektor für jede der Steuer- und Hilfsgrößen CV und AV zu definieren. Der zukünftige Fehlervektor für jede der Steuer- und Hilfsgrößen CV und AV wird dann dem MPC-Algorithmus zur Verfügung gestellt, der so wirkt, dass er die Schritte der Stellgröße MV auswählt, die beispielsweise den kleinsten ins Quadrat umgesetzten Fehler über den Steuerhorizont für die Stellgrößen MV und den Vorhersagehorizont für die Steuer- und Hilfsgrößen CV und AV minimiert. Selbstverständlich verwendet der MPC-Algorithmus oder -Controller ein M-mal-M-Prozessmodell oder eine Mmal-M-Steuermatrix, das/die aus den Verhältnissen zwischen den N in den MPC-Controller 52 eingegebenen Steuer- und Hilfsgrößen und den M vom MPC-Controller 52 ausgegebenen Stellgrößen gebildet wird.A destination control block 80 determines a target control vector for each of the N from the target conversion block 55 using one previously for the block 38 created trajectory filter 82 provided target control variables and auxiliary variables CV T and AV T. In particular, the trajectory filter provides a unit vector that determines the manner in which the control and auxiliary variables are to be driven to their target values over time. The destination control block 80 uses this unit vector and the target values CV T and AV T to generate a dynamic target control vector for each of the control and auxiliary quantities that defines the changes in the target values CV T and AV T over the period of time determined by the time of the prediction horizon , A vector sizer 84 then subtracts the future control parameter vector for each of the control and auxiliary quantities CV and AV from the dynamic control vectors to define an error vector for each of the control and auxiliary quantities CV and AV. The future error vector for each of the control and auxiliary quantities CV and AV is then provided to the MPC algorithm, which acts to select the steps of the manipulated variable MV, such as the least squared error over the control horizon for the manipulated variables MV and the prediction horizon for the control and auxiliary variables CV and AV minimized. Of course, the MPC algorithm or controller uses an M by M process model or a Mmal M control matrix, which is the ratio between the N in the MPC controller 52 entered control and auxiliary quantities and the M from the MPC controller 52 output manipulated variables is formed.

Genauer ausgedrückt hat der mit dem Optimierer arbeitende MPC-Algorithmus zwei Hauptziele. Erstens versucht der MPC-Algorithmus, den Steuergrößensteuerfehler mit minimalen Stellgrößenbewegungen innerhalb von Opeationsrandbedingungen zu minimieren, und versucht zweitens, optimale Beharrungszustandsstellgrößenwerte, die vom Optimierer eingestellt werden und die Zielsteuergrößenwerte zu erzielen, die direkt aus den optimalen Beharrungszustandsstellgrößenwerten berechnet werden.More specifically, the optimizer MPC algorithm has two main goals. First, the MPC algorithm attempts to reduce the control size control error with minimal manipulated variable movements in secondly, to minimize optimum steady state setpoint values set by the optimizer and the target control size values calculated directly from the optimal steady state setpoint values.

Um diesen Zielen Genüge zu tun, kann der ursprüngliche unbeschränkte MPC-Algorithmus so erweitert werden, dass er die MV-Ziele in der kleinsten Quadratlösung einschließt. Die Zielfunktion für diesen MPC-Controller ist:

Figure 00280001
worin:
CV(k) der gesteuerte, ausgegebene Vorhersagevektor ist, der um einen p-Schritt voraus ist;
R(k) der Referenztrajektorien(sollwert)vektor ist, der um einen p-Schritt voraus ist;
ΔMV(k) der inkrementale Steuerbewegungsvektor ist, der um einen c-Schritt voraus ist;
Γy = diag{Γy 1, ..., Γy p} eine Penalty-Matrix für den gesteuerten Ausgabefehler ist, Γu = diag{Γu 1, ..., Γu c} eine Penalty-Matrix für die Steuerbewegungen ist,
p der Vorhersagehorizont (Schrittanzahl) ist;
c der Steuerhorizont (Schrittanzahl) ist; und Γ0 eine Penalty für den Fehler der Controllerausgabenbewegungen über den Steuerhorizont in Relation zur optimalen Zielveränderung von MV, die vom Optimierer definiert wurde. Der einfacheren Darstellung halber ist die Zielfunktion für eine Einzeleingabe-/Einzelausgabesteuerung (SISO-Steuerung) gezeigt.To satisfy these goals, the original unrestricted MPC algorithm can be extended to include the MV targets in the least square solution. The objective function for this MPC controller is:
Figure 00280001
wherein:
CV (k) is the controlled output prediction vector that is one p-step ahead;
R (k) of the reference trajectories (setpoint) is vector ahead of a p-step;
ΔMV (k) is the incremental control motion vector ahead by one c-step;
Γ y = diag {Γ y 1 , ..., Γ y p } is a penalty matrix for the controlled output error, Γ u = diag {Γ u 1 , ..., Γ u c } is a penalty matrix for the Tax movements is,
p is the forecast horizon (number of steps);
c is the tax horizon (number of steps); and Γ 0 a penalty for the controller output movement error over the control horizon in relation to the optimal target change of MV defined by the optimizer. For ease of illustration, the objective function for single input / single output (SISO) control is shown.

Wie klar wird, sind die ersten beiden Terme die Zielfunktion für den unbeschränkten MPC-Controller, während der dritte Term eine zusätzliche Bedingung aufstellt, die die Summe der Controllerausgabenbewegungen den Optimalzielen gleich setzt. Mit anderen Worten stellen die ersten beiden Terme Ziele für einen dynamischen Controllerbetrieb auf, während der dritte Term Beharrungszustandsoptimierungsziele aufstellt.As it becomes clear, the first two Terme the objective function for the unrestricted MPC controller while the third term is an additional one Condition that sets the sum of the controller output movements equals the optimal goals. In other words, the first both terms goals for a dynamic controller operation on, while the third term steady state optimization goals sets up.

Es ist festzuhalten, dass die allgemeine Lösung für diesen Controller, ähnlich derjenigen für den unbeschränkten MPC-Controller, folgendermaßen ausgedrückt werden kann:

Figure 00290001
worin:
ΔMV(k) die Veränderung bei der MPC-Controllerausgabe zu einem Zeitpunkt k ist;
Kompc die optimierte MPC-Controllerverstärkung ist;
Su ist die Prozessdynamikmatrix, die aus den Schrittantworten der Dimension p × c für ein SISO-Modell und p*n × c*m für ein Mehrfacheingabe-/Mehrfachausgabe-MIMO-Modell mit m gestellten Eingaben und n gesteuerten Ausgaben aufgebaut ist.It should be noted that the general solution for this controller, similar to that for the unrestricted MPC controller, can be expressed as follows:
Figure 00290001
wherein:
ΔMV (k) is the change in the MPC controller output at a time k;
K ompc is the optimized MPC controller gain ;
S u is the process dynamics matrix made up of the step responses of the dimension p × c for a SISO model and p * n × c * m for a multi-input / multi-output MIMO model with m inputs and n controlled outputs.

Für eine optimierte MPC wird die Dynamikmatrix auf die Größe (p + 1) × m für das SISO-Modell und (p + m)*n × c* für das MIMO-Modell erweitert, um den MV-Fehler unterzubringen. Ep+1(k) ist der CV-Fehlervektor über den Vorhersagehorizont und der Fehler der Summe der Controllerausgabenbewegungen über den Steuerhorizont bezogen auf die optimale Zielveränderung von MV. Die Matrix T fasst die Matrix Γy und Γ0 zusammen und ist eine Quadratmatrix der Dimension (p + 1) für einen SISO-Controller und [n(p + m)] für den multivariablen Controller. Das hochgestellte T bezeichnet eine transponierte Matrix.For an optimized MPC, the dynamics matrix is extended to the size (p + 1) × m for the SISO model and (p + m) * n × c * for the MIMO model to accommodate the MV error. E p + 1 (k) is the CV error vector over the forecast horizon and the error of the sum of the controller output movements over the control horizon related to the optimal target change of MV. The matrix T summarizes the matrix Γ y and Γ 0 and is a square matrix of the dimension (p + 1) for a SISO controller and [n (p + m)] for the multivariable controller. The superscript T denotes a transposed matrix.

Es wurde bestimmt, dass, da der Optimierer 54 basierend auf allen Steuer- und Hilfsgrößen CV und AV optimiert, um einen Zielsatz von Stellgrößen MVT zu bestimmen, die einen einzigen optimalen Operationspunkt definieren, es nichts ausmacht, dass der MPC-Controller 52 nur unter Verwendung einer Teilmenge der Steuer- und Hilfsgrößen CV und AV in seiner Steuermatrix arbeitet, um die daraus ausgegebenen Stellgrößen tatsächlich herzustellen, weil, wenn der Controller 52 die ausgewählte Teilmenge von Steuer- und Hilfsgrößen CV und AV auf ihre zugeordneten Ziele fährt, die anderen des kompletten Satzes der Steuer- und Hilfsgrößen sich auch auf ihren Zielwerten befinden werden. Im Ergebnis wurde festgestellt, dass ein quadratischer (M mal M) MPC-Controller mit einer M-mal-M- Steuermatrix mit einem Optimierer verwendet werden kann, der ein rechteckiges (N mal M) Prozessmodell zur Durchführung von Prozessoptimierung verwendet. Dies macht es möglich, dass standardmäßige MPC-Steuerverfahren mit standardmäßigen Optimierungsverfahren verwendet werden können, ohne eine nicht quadratische Matrix mit den damit einhergehenden Approximationen und den Gefahren, die mit solchen Umsetzungsverfahren bei einem Controller verbunden sind, invertieren zu müssen.It was determined that, since the optimizer 54 based on all control and auxiliary quantities CV and AV optimized to determine a target set of manipulated variables MV T , which define a single optimal operation point, it does not matter that the MPC controller 52 only using a subset of the control and auxiliary variables CV and AV in its control matrix to actually produce the manipulated variables output therefrom, because if the controller 52 the selected subset of control and auxiliary quantities CV and AV will travel to their assigned destinations, the others of the complete set of control and auxiliary quantities will also be at their target values. As a result, it was found that a quadratic (M by M) MPC controller with an M by M control matrix can be used with an optimizer using a rectangular (N by M) process model to perform process optimization. This allows standard MPC control methods to be used with standard optimization techniques without having to invert a non-square matrix with the concomitant approximations and hazards associated with such controller conversion techniques.

In einer Ausführungsform kann die Zielstellgröße MV, wenn der MPC-Controller quadriert ist, d.h. die Anzahl der Stellgrößen MV gleich der Anzahl der Steuergrößen CV ist, wirksam durch Änderungen bei den CV-Werten wie folgt erzielt werden: ΔCV = A*ΔMVTΔMVT - optimale Zielveränderung von MV
ΔCV – CV-Veränderung zur Erlangung einer optimalen MV. CV-Veränderung wird implementiert, indem CV-Sollwerte verwendet werden.
In one embodiment, when the MPC controller is squared, ie, the number of manipulated variables MV is equal to the number of control variables CV, the target manipulated variable MV can be effectively achieved by changing the CV values as follows: ΔCV = A * ΔMVT ΔMVT - optimal target change of MV
ΔCV - CV change to obtain optimal MV. CV modification is implemented using CV setpoints.

Im Betrieb stellt der Optimierer 54 Beharrungszustandsziele für den unbeschränkten MPC-Controller bei jeder Abtastung auf und aktualisiert sie. Somit führt der MPC-Controller 52 den unbeschränkten Algorithmus durch. Da die Ziele CVT und AVT auf eine Weise festgelegt werden, die Randbedingungen so lange berücksichtigt, wie eine machbare Lösung besteht, arbeitet der Controller innerhalb von Zwangsgrenzen. Deshalb ist Optimierung ein integraler Bestandteil des MPC-Controllers.In operation, the optimizer provides 54 Steady state targets for the unrestricted MPC controller at each scan and update them. Thus, the MPC controller performs 52 the unrestricted algorithm. Since the targets CV T and AV T are determined in a way that considers constraints as long as a feasible solution exists, the controller operates within constraints. Therefore, optimization is an integral part of the MPC controller.

Die 3 und 4 stellen ein Ablaufdiagramm 90 dar, das die Schritte zeigt, die zu Durchführung einer integrierter Modellvorhersagesteuerung und -optimierung erfolgen. Das Ablaufdiagramm 90 ist allgemein in zwei Abschnitte 90a (3) und 90b (4) aufgeteilt, die Funktionen zeigen, die vor dem Prozessablauf in Erscheinung treten (90a), und Funktionen, die während des Prozessablaufs in Erscheinung treten (90b), z.B. während jedes Abtastens des Prozessablaufs. Vor dem Prozessablauf ergreift ein Bediener oder Techniker eine Anzahl von Schritten, um den fortgeschrittenen Steuer-/Regelblock 38 einschließlich eines integrierten MPC-Controllers und Optimierers herzustellen. Insbesondere kann bei einem Block 92 eine fortgeschrittene Steuervorlage zu Verwendung als fortgeschrittener Steuer-/Regelblock 38 ausgewählt werden. Die Vorlage kann in einer Bibliothek in einer Konfigurationsanwendung auf der Benutzeroberfläche 13 gespeichert oder daraus kopiert werden, und kann die allgemeinen mathematischen und logischen Funktionen des MPC-Controllerprogramms 52 und des Optimiereres 54 enthalten, ohne die speziellen MPC-, Prozessmodelle und Beharrungszustandsverstärkungs- oder Steuermatrizes und die spezielle Zielfunktion. Diese fortgeschrittene Steuervorlage kann in einem Modul mit anderen Blöcken hinterlegt werden, wie Eingabe- und Ausgabeblöcken, die so konfiguriert sind, dass sie mit Geräten innerhalb des Prozesses 50, sowie anderen Typen von Funktionsblöcken wie Steuer-/Regelblöcken, einschließlich PID-, neuronalen Netz- und Fuzzy-Regelblöcken kommunizieren. Es wird klar, dass in einer Ausführungsform die Blöcke innerhalb eines Moduls jeweils Gegenstände in einem objektorientierten Programmierparadigma sind, deren Einund Ausgaben miteinander verbunden sind, um eine Kommunikation zwischen den Blöcken zu bewerkstelligen. Während des Ablaufs führt der Prozessor, der das Modul bearbeitet, jeden der Blöcke der Reihe nach zu einer anderen Zeit durch, und verwendet die Eingaben in die Blöcke, um Ausgaben aus den Blöcken zu erzeugen, die dann den Eingaben anderer Blöcke wie durch die festgelegten Kommunikationsverbindungen zwischen den Blöcken definiert zur Verfügung gestellt werden.The 3 and 4 set a flowchart 90 which shows the steps taken to perform integrated model prediction control and optimization. The flowchart 90 is generally in two sections 90a ( 3 ) and 90b ( 4 ), which show functions that appear before the process flow ( 90a ), and functions that appear during the process ( 90b ), eg during each sampling of the process sequence. Prior to the process flow, an operator or technician takes a number of steps to complete the advanced control block 38 including an integrated MPC controller and optimizer. In particular, at a block 92 an advanced control template may be selected for use as advanced control block 38. The template may be in a library in a configuration application in the UI 13 can be stored or copied from it, and the general mathematical and logical functions of the MPC controller program 52 and the optimizer 54 without the special MPC, process models and steady state boost or control matrices and special target function. This advanced control template can be stored in a module with other blocks, such as input and output blocks, that are configured to interface with devices within the process 50 , as well as other types of functional blocks such as control blocks, including PID, neural network and fuzzy control blocks. It will be appreciated that in one embodiment, the blocks within a module are each objects in an object-oriented programming paradigm whose in and outputs are interconnected to accomplish communication between the blocks. During the process, the processor that processes the module performs each of the blocks in turn at a different time, and uses the inputs to the blocks to produce outputs from the blocks, which are then input to other blocks as determined by the blocks Communication links defined between the blocks are provided.

Bei einem Block 94 legt der Bediener die speziellen Stellgrößen, Steuergrößen, Randbedingungsgrößen und Störgrößen fest, die im Block 38 verwendet werden sollen. Falls gewünscht, kann der Benutzer in einem Konfigurationsprogramm wie dem Programm 40 von 1, die Steuervorlage sichten, Ein- und Ausgaben, die benannt und konfiguriert werden sollen, auswählen, irgendwelche Standardbrowser in der Konfigurationsumgebung durchsuchen, um die aktuellen Eingabenund Ausgaben innerhalb des Steuersystems zu finden und diese aktuellen Steuergrößen als Eingabe- und Ausgabesteuergrößen für die Steuervorlage auszuwählen. 5 stellt eine Bildschirmanzeige dar, die von einem Konfigurationsprogramm erzeugt wurde, die ein Steuermodul DEB_MPC mit mehreren untereinander verbundenen Funktionsblöcken einschließlich mehrerer Funktionsblöcke mit analogem Eingang (AI) und analogem Ausgang (AO) zeigt, mehrere PID-Regelfunktionsblöcke und einen MPC-PRO-Funktionsblock, welcher ein fortgeschrittener Funkti onsblock ist. Die Baumstruktur auf der linken Seite der Anzeige von 5 stellt die Funktionsblöcke innerhalb des DEB_MPC-Moduls dar, die beispielsweise den Block 1, C4_AI, C4_DGEN, etc. umfassen.At a block 94 The operator specifies the special manipulated variables, control variables, boundary conditions and disturbance variables that are displayed in the block 38 should be used. If desired, the user can in a configuration program such as the program 40 from 1 , sift through the control template, select inputs and outputs to be named and configured, browse any standard browsers in the configuration environment to find the current inputs and outputs within the control system, and select these current control values as control template input and output controls. 5 Fig. 11 is a screen generated by a configuration program showing a DEB_MPC control module with several interconnected functional blocks including multiple analog input (AI) and analog output (AO) function blocks, multiple PID control function blocks, and one MPC PRO function block. which is an advanced function block. The tree structure on the left side of the display of 5 represents the function blocks within the DEB_MPC module, for example the block 1 , C4_AI, C4_DGEN, etc.

Wie klar wird, kann der Benutzer die Eingaben in und Ausgaben aus dem MPC-PRO-Funktionsblock festlegen, indem er zwischen diesen Ein- und Ausgaben und den Ein- und Ausgaben anderer Funktionsblöcke Linien zieht. Alternativ kann der Benutzer den MPC-PRO-Block auswählen, um Zugriff auf die Eigenschaften des MPC-PRO-Blocks zu erhalten. Ein Dialogfeld wie dasjenige von 6, kann angezeigt werden, um es einem Benutzer zu ermöglichen, die Eigenschaften des MPC-PRO-Blocks anzuschauen. Wie in 6 dargestellt ist, kann für jede der Steuer-, Stell-, Stör- und Randbedingungsgrößen (Hilfsgrößen) eine andere Tabelle vorgesehen sein, um diese Größen zu ordnen, was insbesondere dann notwendig ist, wenn zahlreiche Größen wie 20 oder mehr von jeder, dem fortschrittlichen Steuer/Regelblock 38 zugeordnet sind. Innerhalb der Tabelle für eine bestimmte Art von Größe kann eine Beschreibung, eine niedrige und hohe Grenze (Randbedingungen) und eine Pfadbezeichnung vorgesehen sein. Zusätzlich kann der Benutzer oder Bediener festlegen, was der Block im Falle einer verfehlten Bedingung mit der Größe machen soll, wie beispielsweise keine Maßnahme zu ergreifen, den simulierten Wert der Größe anstatt des gemessenen Werts zu verwenden oder eine manuelle Eingabe zuzulassen. Überdies kann der Bediener auch noch festlegen, ob diese Größe zur Optimierung minimiert oder maximiert werden soll, und kann die Priorität oder Gewichtung und die mit dieser Größe zusammenhängenden Nutzwerte festlegen. Diese Felder müssen ausgefüllt werden, wenn keine Standardzielfunktion verwendet wird. Selbstverständlich kann der Benutzer unter Verwendung der geeigneten Tasten auf der rechten Seite des Dialogfelds Daten oder Größen hinzufügen, verschieben, abändern oder löschen.As will be appreciated, the user may specify the inputs to and outputs from the MPC PRO function block by drawing lines between these inputs and outputs and the inputs and outputs of other function blocks. Alternatively, the user can select the MPC-PRO block to gain access to the properties of the MPC-PRO block. A dialog like the one from 6 , can be displayed to allow a user to view the properties of the MPC-PRO block. As in 6 For each of the control, setting, disturbing, and constraining quantities (auxiliary quantities), another table may be provided to order these quantities, which is particularly necessary when numerous quantities such as 20 or more of each, the advanced one control / control block 38 assigned. Within the table for a particular type of size, a description, a low and high limit (boundary conditions), and a path name may be provided. In addition, the user or operator may determine what the block should do in the event of a missed condition, such as taking no action, using the simulated value of size rather than the measured value, or allowing manual entry. In addition, the operator may also decide whether to minimize or maximize this size for optimization, and may specify the priority or weight and the utility values associated with that size. These fields must be completed if no default target function is used. Of course, the user can add, move, modify or delete data or sizes using the appropriate buttons on the right side of the dialog box.

Der Benutzer kann die Daten einer oder mehrerer der Größen festlegen oder ändern, indem er die Größe auswählt. In diesem Fall kann dem Benutzer ein Dialogfeld wie dasjenige von 7 für die RÜCKFLUSS-Stellgröße (REFLUX FLOW) präsentiert werden. Der Benutzer kann die Daten in ihren unterschiedlichen Feldern ändern und Daten wie den Pfadnamen der Größe (d.h. ihre Eingabe- und Ausgabeverbindung) durch Browsen festlegen. Mittels des Bildschirms von 7 kann der Benutzer eine interne Suchtaste oder eine externe Suchtaste auswählen, um innerhalb des Moduls oder außerhalb des Moduls zu suchen, in dem der MPC-PRO-Block untergebracht ist. Natürlich kann der Bediener oder Benutzer, falls gewünscht, manuell eine Adresse, einen Pfad- oder Etikettnamen, etc. bereitstellen, der die Verbindungen zu und aus den Ein- und Ausgaben des fortgeschrittenen Steuer-/Regelblocks definiert, falls das so gewünscht wird.The user can set or change the data of one or more of the sizes by using the Size selects. In this case, the user can see a dialog box like that of 7 for the REFLUX command value (REFLUX FLOW). The user can change the data in their various fields and set data such as the pathname of the size (ie their input and output connection) by browsing. By means of the screen of 7 For example, the user may select an internal search button or an external search button to search within the module or outside the module in which the MPC-PRO block is housed. Of course, if desired, the operator or user may manually provide an address, path or label name, etc. defining the connections to and from the inputs and outputs of the advanced control block, if so desired.

Nach der Auswahl der Ein- und Ausgaben in und aus dem fortgeschrittenen Steuerfunktionsblock, kann der Benutzer die mit den Steuergrößen zusammenhängenden Sollwerte definieren, die mit den Steuer-, Hilfs- und Stellgrößen zusammenhängenden Bereiche oder Grenzen, und die mit jeder der Steuer-, Hilfs- und Stellgrößen zusammenhängenden Gewichtungen. Natürlich können einige dieser Daten wie Zwangsgrenzen oder -bereiche schon mit diesen Größen assoziiert sein, weil diese Größen aus der Konfigurationsumgebung des Prozesssteuerungssystems ausgewählt oder darin aufgefunden wurden. Falls gewünscht, kann der Bediener bei einem Block 96 von 3 die eine oder die mehreren Funktion/en, die im Optimierer verwendet werden sollen, dadurch konfigurieren, dass er die Einheitskosten und/oder den Einheitsnutzen für die Stellgrößen, Steuergrößen bzw. Hilfsgrößen festlegt. Selbstverständlich kann der Bediener dabei auswählen, die Standardzielfunktion, wie zuvor beschrieben, zu verwenden. 8 ist eine Bildschirmanzeige, die von einem Konfigurationsprogramm bereitgestellt wird, das es einem Benutzer oder Bediener ermöglicht, eine aus einem Satz von Zielfunktionen zum Herstellen eines fortgeschrittenen Steuer-/Regelblocks auszuwählen. Es versteht sich, dass der Benutzer die Bildschirmanzeige wie diejenige, die in 8 vorgesehen ist, zur Auswahl eines Satzes von zuvor gespeicherten Zielfunktionen verwenden kann, hier als Standardzielfunktion und Zielfunktionen 2-5 dargestellt.After selecting the inputs and outputs to and from the advanced control function block, the user may define the setpoints associated with the control quantities, the ranges or limits associated with the control, auxiliaries and manipulated variables, and those associated with each of the control and auxiliary functions - and manipulated variables related weights. Of course, some of these data, such as constraints or ranges, may already be associated with these quantities because these quantities have been selected from or found in the configuration environment of the process control system. If desired, the operator at a block 96 from 3 Configure the one or more functions to be used in the optimizer by specifying the unit cost and / or unit benefit for the manipulated variables, control quantities, and auxiliary quantities, respectively. Of course, the operator may choose to use the default target function as previously described. 8th FIG. 10 is a screen display provided by a configuration program that allows a user or operator to select one of a set of targeting functions to produce an advanced control block. It is understood that the user can see the screen like the one in 8th is intended to use for selecting a set of previously stored target functions, here as the default target function and target functions 2-5 shown.

Nachdem die Eingaben (Steuer-, Hilfs- und Störgrößen) benannt und mit der fortgeschrittenen Steuervorlage verknüpft, und die Gewichtungen, Grenzen und Sollwerte bei einem Block 98 von 3 damit assoziiert wurden, wird die fortgeschrittene Steuervorlage in einen ausgewählten Controller innerhalb des Prozesses als Funktionsblock heruntergeladen, der zur Steuerung verwendet werden soll. Die allgemeine Natur dieses Steuer-/Regelblocks und die Art und Weise, diesen Steuer-/Regelblock zu konfigurieren, ist im U.S.-Patent Nr. 6,445,963 mit dem Titel „Integrated Advanced Control Blocks in Process Control Systems" beschrieben, das auf den Inhaber der vorliegenden Anmeldung übertragen wurde und hier ausdrücklich durch Bezugnahme aufgenommen ist. Während dieses Patent die Art beschreibt, einen MPC-Controller in einem Prozesssteuerungssystems herzustellen und die Art und Weise nicht beschreibt, in der ein Optimierer mit diesem Controller verbunden werden kann, wird klar, dass die allgemeinen Schritte, die unternommen werden, um den Controller zu verbinden und zu konfigurieren, für den hier beschriebenen Steuer-/Regelblock 38 verwendet werden können, wobei die Vorlage alle der hier erörterten logischen Elemente für den Steuer/Regelblock 38 umfasst und nicht nur diejenigen, die in diesem Patent beschrieben sind.After the inputs (control, auxiliary and disturbance variables) are named and linked to the advanced control template, and the weights, limits and setpoints in a block 98 from 3 have been associated with, the advanced control template is downloaded to a selected controller within the process as a functional block to be used for control. The general nature of this control block and the manner of configuring this control block is described in U.S. Patent No. 6,445,963 entitled "Integrated Advanced Control Blocks in Process Control Systems", assigned to the assignee of While this patent describes the manner of making an MPC controller in a process control system and does not describe the manner in which an optimizer can be connected to that controller, it will be understood that the present application is hereby incorporated by reference the general steps taken to connect and configure the controller for the control block described here 38 can be used, the template all of the logic elements discussed here for the control block 38 and not just those described in this patent.

Jedenfalls kann der Bediener bei einem Block 100, nachdem die fortgeschrittene Steuervorlage in den Controller heruntergeladen wurde, auswählen, eine Testphase der Steuervorlage ablaufen zu lassen, um die Schrittantwortmatrix und das Prozessmodell herzustellen, das im MPC-Controlleralgorithmus Verwendung finden soll. Wie in dem oben angegebenen Patent beschrieben, stellt während der Testphase die Steuerlogik im fortgeschrittenen Steuer-/Regelblock 38 dem Prozess eine Reihe von Pseudozufallswellenformen als Stellgrößen zur Verfügung und beobachtet die Veränderungen bei den Steuer- und Hilfsgrößen (die vom MPC-Controller im Wesentlichen als Steuergrößen behandelt werden). Falls gewünscht, können die Stell- und Störgrößen sowie die Steuer- und Hilfsgrößen von der Datensammlung 12 von 1 gesammelt werden, und der Bediener kann das Konfigurationsprogramm 40 (1) aufbauen, um diese Daten von der Datensammlung 12 abzurufen und auf irgendeine Weise eine Trenduntersuchung an diesen Daten vorzunehmen, um die Schrittantwortmatrix zu erhalten oder zu bestimmen, wobei jede Schrittantwort das zeitliche Ansprechen einer der Steuer- oder Hilfsgrößen auf eine Einheitsveränderung bei einer (und nur einer) der Stell- und Steuergrößen kennzeichnet. Diese Einheitsveränderung ist im Allgemeinen eine Schrittveränderung, könnte aber auch eine andere Art von Veränderung wie eine Puls- oder Anstiegsänderung sein. Andererseits kann der Steuer-/Regelblock 38, falls gewünscht, die Schrittantwortmatrix im Ansprechen auf die Daten erzeugen, die erfasst werden, wenn die Pseudozufallswellenformen auf den Prozess 50 angewandt werden, und stellt dann diese Wellenformen der Bedieneroberfläche 13 zur Verfügung, die vom Bediener oder Benutzer verwendet wird, um den fortgeschrittenen Steuer-/Regelblock 38 herzustellen und zu installieren.Anyway, the operator at a block 100 After the advanced control template has been downloaded to the controller, select to run a trial phase of the control template to create the step response matrix and the process model to be used in the MPC controller algorithm. As described in the above referenced patent, during the test phase, the control logic is in the advanced control block 38 provide the process with a series of pseudorandom waveforms as manipulated variables and observe the changes in the control and auxiliary quantities (which are essentially treated as control variables by the MPC controller). If desired, the control and disturbance variables as well as the control and auxiliary variables can be obtained from the data collection 12 from 1 be collected, and the operator can configure the configuration 40 ( 1 ) to build this data from the data collection 12 retrieve and somehow trend-examine these data to obtain or determine the step response matrix, each step response identifying the timing of one of the control or auxiliary quantities to a unit change at one (and only one) of the control and manipulated variables. This unit change is generally a step change, but could be another type of change, such as a pulse or slope change. On the other hand, the control block 38 if desired, generate the step response matrix in response to the data detected when the pseudo-random waveforms on the process 50 be applied, and then provides these operator interface waveforms 13 which is used by the operator or user to the advanced control block 38 manufacture and install.

9 stellt eine Bildschirmanzeige dar, die vom Testprogramm bereitgestellt werden kann, um dem Bediener graphische Darstellungen der gesammelten und auf ihren Trend hin untersuchten Daten zu liefern, um es dem Bediener zu ermöglichen, die Erstellung der Schrittantwortkurven und damit der Prozessmodell- oder Steuermatrix anzuleiten, die im MPC-Controller des fortgeschrittenen Steuer-/Regelblocks verwendet werden soll. Insbesondere stellt ein Graphikdarstellungsbereich 101 die Daten für mehrere Ein- oder Ausgaben oder andere Daten (wie zuvor vom Bediener festgelegt) im Ansprechen auf die Testwellenformen dar. Ein Balkendiagrammbereich 102 liefert ein Balkendiagramm für jede der auf ihren Trend hin untersuchten Größendaten, das für jede der Größen, die auf ihren Trend hin untersucht werden, den Namen der Größe, den momentanen Wert der Größe in Balkendiagrammform darstellt, gegebenenfalls einen Sollwert (angezeigt durch ein größeres Dreieck über dem Balkendiagramm) und gegebenenfalls Grenzen (angezeigt durch kleinere Dreiecke über dem Balkendiagramm). Andere Bereiche der Anzeige stellen andere Angaben über den fortgeschrittenen Steuer-/Regelblock dar, wie die Ziel- und aktuelle Betriebsart des Blocks (104) und die konfigurierte Zeit bis Beharrungszustand (106). 9 FIG. 12 illustrates a screen display that may be provided by the test program to provide the operator with graphical representations of the data collected and trend-examined to enable the operator to guide the creation of the step response curves, and thus the process model or control matrix to be used in the MPC controller of the advanced control block. In particular, provides a graphics rendering area 101 the data for multiple inputs or outputs or other data (as previously determined by the operator) in response to the test waveforms Bar chart area 102 provides a bar graph for each of the size data examined for its trend, representing, for each of the quantities examined for its trend, the name of the size, the current value of the size in bar graph form, optionally a setpoint (indicated by a larger triangle above the bar chart) and possibly boundaries (indicated by smaller triangles above the bar chart). Other areas of the display represent other information about the advanced control block, such as the target and current mode of operation of the block ( 104 ) and the configured time to steady state ( 106 ).

Vor der Erstellung eines Prozessmodells für den fortgeschrittenen Steuer/Regelblock kann der Bediener graphisch die Daten festlegen, die aus den trendanzeigenden graphischen Darstellungen 101 verwendet werden sollen. Insbesondere kann der Bediener Beginn- und Endpunkte 108 und 110 der graphischen Darstellung 102 als die Daten festlegen, die zur Herstellung der Schrittantwortkurve verwendet werden sollen. Die Daten in diesem Bereich können in einer anderen Farbe, wie Grün, schraffiert sein, um die ausgewählten Daten visuell anzuzeigen. Genauso kann der Bediener Bereiche innerhalb des schraffierten Bereichs festlegen, die ausgeschlossen werden sollen (weil sie nicht repräsentativ, eine Auswirkung von Rauschen oder eine ungewollte Störung, etc. sind). Dieser Bereich ist zwischen den Linien 112 und 114 dargestellt und kann beispielsweise rot schraffiert sein, um anzuzeigen, dass diese Daten bei der Erstellung der Schrittantworten nicht mit aufgenommen werden sollen. Natürlich könnte der Benutzer irgendwelche gewünschte Daten ein- oder ausschließen und kann diese Funktionen für jede von mehreren graphischen Trenddarstellungen durchführen (9 stellt dar, dass in diesem Falle acht graphische Trenddarstellungen zur Verfügung stehen), wobei die unterschiedlichen graphischen Trenddarstellungen beispielsweise mit unterschiedlichen Stell-, Steuer-, Hilfsgrößen etc. assoziiert werden.Before creating a process model for the advanced control block, the operator can graphically specify the data resulting from the trend-indicating graphs 101 should be used. In particular, the operator can start and end points 108 and 110 the graphic representation 102 as the data to be used to make the step response curve. The data in this area may be hatched in another color, such as green, to visually display the selected data. Likewise, the operator may specify areas within the hatched area that are to be excluded (because they are not representative, an effect of noise or an unwanted disturbance, etc.). This area is between the lines 112 and 114 and, for example, may be hatched in red to indicate that these data should not be included in the creation of the step responses. Of course, the user could include or exclude any desired data and can perform these functions for each of several graphical trend representations ( 9 illustrates that there are eight graphical trend plots available in this case), where the different graphical trend plots are associated, for example, with different control, pilot, auxiliary, and so on.

Um einen Satz von Schrittantworten herzustellen, kann der Bediener auf der Bildschirmanzeige von 9 die Modellherstellungstaste 116 wählen, und das Herstellungsprogramm verwendet die aus den graphischen Trenddarstellungen ausgewählten Daten, um einen Satz von Schrittantworten herzustellen, wobei jede Schrittantwort das Ansprechen einer der Steuer- oder Hilfsgrößen auf eine der Stell- oder Störgrößen anzeigt. Dieser Herstellungsprozess ist hinlänglich bekannt und wird hier nicht mehr ausführlicher beschrieben.To make a set of step responses, the operator can see on the screen of 9 the model making button 116 and the manufacturing program uses the data selected from the graphical trend plots to produce a set of step responses, each step response indicating the response of one of the control or auxiliary quantities to one of the manipulated variables. This manufacturing process is well known and will not be described in more detail here.

Wieder mit Bezug auf 3 wird, nachdem die Schrittantwortmatrix (oder Puls-, Anstiegsantwortmatrix, etc.) hergestellt wurde, in dem Fall, bei dem die Steuer- und Hilfsgrößen die Stellgrößen zahlenmäßig übertreffen, die Schrittantwortmatrix (oder Puls-, Anstiegsantwortmatrix, etc.) dazu verwendet, um die Teilmenge von Steuer- und Hilfsgrößen auszuwählen, die im MPC-Algorithmus als das M-mal-M-Prozessmodell oder die Steuermatrix verwendet wird, die invertiert und im MPC-Controller 52 verwendet werden soll. Dieser Auswahlvorgang kann manuell durch den Bediener oder automatisch durch ein Programm, beispielsweise in der Bedieneroberfläche 13 erfolgen, die Zugriff auf die Schrittantwortmatrix hat. Allgemein ausgedrückt wird eine einzelne der Steuer- und Hilfsgrößen als einer einzelnen der Stellgrößen am nächsten verwandt identifiziert. Somit wird eine einzelne und einzige (d.h. andere) der Steuer- oder Hilfsgrößen (welche Eingaben in den Prozesscontroller sind) mit jeder der anderen Stellgrößen (welche Ausgaben aus dem Prozesscontroller sind) assoziiert (z.B. paarweise zusammengefasst), so dass sich der MPC-Algorithmus auf ein Prozessmodell stützen kann, das aus einem Satz von M-mal-M Schrittantworten hergestellt wurde.Again with respect to 3 After the step response matrix (or pulse, slope response matrix, etc.) has been established, in the case where the control and auxiliary quantities outnumber the manipulated variables, the step response matrix (or pulse, slope response matrix, etc.) is used to select the subset of control and auxiliary variables used in the MPC algorithm as the M by M process model or the control matrix inverted and in the MPC controller 52 should be used. This selection process can be done manually by the operator or automatically by a program, for example in the user interface 13 which has access to the step response matrix. Generally speaking, a single one of the control and auxiliary quantities is identified as being most closely related to a single one of the manipulated variables. Thus, a single and unique (ie other) of the control or auxiliary variables (which are inputs to the process controller) is associated with each of the other manipulated variables (which are outputs from the process controller) (eg, paired together), so that the MPC algorithm can rely on a process model made from a set of M-by-M step responses.

In einer Ausführungsform, welche einen heuristischen Lösungsansatz durch Vorsehen von Paarbildung verwendet, wählt das automatische Programm oder der Bediener den Satz von M Steuer- und Hilfsgrößen (bei dem M gleich der Anzahl von Stellgrößen ist) in einem Versuch aus, die einzelne Steuer- oder Hilfsgröße auszuwählen, die eine gewisse Kombination aus größter Verstärkung und schnellster Ansprechzeit auf eine Einheitsveränderung bei einer einzelnen der Stellgrößen aufweist, und aus diesen beiden Größen ein Paar zu bilden. Natürlich kann in manchen Fällen eine einzelne Steuer- oder Hilfsgröße eine große Verstärkung und schnelle Ansprechzeit auf mehrere Stellgrößen aufweisen. Hier kann diejenige Steuer- oder Hilfsgröße mit irgendeiner der dazugehörigen Stellgrößen zu einem Paar zusammengefasst werden und kann auch mit einer Stellgröße ein Paar bilden, die nicht die größte Verstärkung und Ansprechzeit hervorbringt, weil in der Gruppe die Stellgröße, die die geringere Verstärkung oder langsamere Ansprechzeit verursacht, keine andere Steuer- oder Hilfsgröße in einem annehmbaren Ausmaß beeinflussen kann. Somit werden die Paare von Stellgrößen einerseits und die Steuer- oder Hilfsgrößen andererseits alles in allem so ausgewählt, dass die Stellgrößen mit der Teilmenge von Steuer- und Hilfsgrößen, die die Steuergrößen darstellen, die auf die Stellgrößen am stärksten ansprechen, zu Paaren zusammengefasst werden.In one embodiment, which is a heuristic approach used by providing pairing, the automatic program selects or the operator the set of M control and auxiliary quantities (at M is equal to the number of manipulated variables) in an attempt, to select the single control or auxiliary size that a certain combination from greatest reinforcement and fastest response time to a unit change for a single having the manipulated variables, and from these two sizes a pair to build. Naturally can in some cases a single control or auxiliary size a large gain and fast response time to have several manipulated variables. Here, the control or auxiliary variable with any of the associated control variables to a Pair can be summarized and can also with a manipulated variable a pair form, which is not the biggest reinforcement and Response time produces, because in the group the manipulated variable, the the lower gain or slower response time, no other control or Auxiliary size in one influence the acceptable level can. Thus, the pairs of manipulated variables on the one hand and the control or auxiliary variables on the other all in all so selected that the manipulated variables with the subset of control and auxiliary quantities that represent the control variables, which are the most responsive to the manipulated variables, be combined into pairs.

Das automatische Programm oder der Bediener kann auch versuchen, Steuer- und Hilfsgrößen CV und AV mit aufzunehmen, die nicht korreliert, stark korreliert, minimal korreliert, etc. sind. Außerdem macht es auch nichts aus, wenn nicht alle der Steuergrößen als eine der Teilmenge der M Steuer- und Hilfsgrößen ausgewählt werden und deshalb der MPC-Controller nicht alle der Steuergrößen als Eingaben in ihn erhält, weil der Satz von Zielsteuer- und Hilfsgrößen vom Optimierer ausgewählt wird, um einen Operationspunkt des Prozesses darzustellen, bei dem die nicht ausgewählten Steuergrößen (wie auch die nicht ausgewählten Hilfsgrößen) sich auf ihrem Sollwert oder innerhalb ihres vorgesehenen Operationsbereichs befinden.The automatic program or the Operator can also try control and auxiliary variables CV and Include AV that is uncorrelated, highly correlated, minimal correlated, etc. are. In addition it does not matter, if not all of the control variables as one of the subset of M control and auxiliary variables are selected and therefore the MPC controller does not receive all of the control variables as inputs to it because of the Set of target tax and auxiliary sizes of Optimizer selected is to represent an operation point of the process in which the unselected Control variables (such as also the unselected Auxiliary quantities) themselves at their target value or within their intended operating range are located.

Da es Dutzende und sogar Hunderte von Steuer- und Hilfsgrößen einerseits und Dutzende oder Hunderte von Stellgrößen andererseits gibt, kann es natürlich zumindest vom Visualisierungsstandpunkt her schwierig sein, den Satz von Steuer- und Hilfsgrößen auszuwählen, die das beste Ansprechen auf die verschiedenen Stellgrößen haben. Um dieses Problem zu bewältigen kann das Generatorprogramm 40 für den fortgeschrittenen Steuer-/Regelblock in der Bedienerarbeitsoberfläche 13 einen Satz von Bildschirmanzeigen umfassen oder dem Benutzer oder Bediener darbieten, um es dem Bediener zu ermöglichen, eine angemessene Auswahl der Steuer- und Hilfsgrößen zu treffen, die als Teilmenge der im MPC-Controller 52 während des Betriebs zu verwendenden Steuer- und Hilfsgrößen verwendet werden sollen.Since there are tens and even hundreds of tax and auxiliary sizes on the one hand and dozens or hun On the other hand, given the manipulated variables on the other hand, it may of course be difficult, at least from the point of view of visualization, to select the set of control and auxiliary variables which have the best response to the various manipulated variables. To tackle this problem can be the generator program 40 for the advanced control block in the server work surface 13 comprise a set of on-screen displays or to present to the user or operator to allow the operator to make an appropriate selection of the control and auxiliary sizes, as a subset of those in the MPC controller 52 to be used during operation control and auxiliary variables.

Auf diese Weise kann bei einem in 3 dargestellten Block 120 dem Bediener eine Bildschirmmaske geboten werden, in der der Bediener das Ansprechen jeder der Steuer- und Hilfsgrößen auf eine bestimmte oder ausgewählte der Stellgrößen anschauen kann. Solch eine Bildschirmmaske ist in 10 dargestellt, die das Ansprechen jeder von mehreren Steuer- und Hilfsgrößen (als Randbedingung bezeichnet) auf eine Stellgröße zeigt, die TOP_DRAW genannt wird. Der Bediener kann die Stellgrößen durch Bildverschiebung (Scrollen) eine nach der anderen durchlaufen und die Schrittantworten jeder der Steuer- und Hilfsgrößen auf jede der unterschiedlichen Stellgrößen anschauen und während des Prozesses die eine Steuer- oder Hilfsgröße auswählen, die am besten auf diese Stellgröße anspricht. Typischerweise wird der Bediener versuchen, die Steuer- oder Hilfsgröße auszuwählen, die die beste Kombination aus höchster Beharrungszustandsverstärkung und schnellster Ansprechzeit auf die Stellgröße aufweist. Wie in 11 dargestellt ist, kann eine der Steuer- und Hilfsgrößen unter Verwendung des Dialogfelds als die für diese Stellgröße Signifikanteste ausgewählt werden. Falls gewünscht, kann, wie in 11 dargestellt, die aus den Steuer- und Hilfsgrößen ausgewählte Größe in einer anderen Farbe, wie Rot, hervorgehoben werden (während die zuvor ausgewählten, d.h. Steuer- und Hilfsgrößen, die für andere Stellgrößen ausgewählt wurden, in einer anderen Farbe, wie Gelb, hervorgehoben werden können). In dieser Ausführungsform kann das Steuerprogramm 40, das natürlich die zuvor ausgewählten Steuer- und Hilfsgrößen in einem Speicher hinterlegt, eine Prüfung durchführen, um sicherzustellen, dass der Bediener nicht dieselbe Steuer- oder Hilfsgröße als mit zwei unterschiedlichen Stellgrößen assoziierte Größe auswählt. Falls der Benutzer oder Bediener eine Steuer- oder Hilfsgröße auswählt, die bereits für eine andere Stellgröße ausgewählt wurde, kann das Programm 40 dem Benutzer oder Bediener eine Fehlermeldung zukommen lassen, um den Benutzer oder Bediener über die Auswahl einer zuvor bereits ausgewählten Steuer- oder Hilfsgröße zu informieren. Auf diese Weise verhindert das Programm 40 die Auswahl derselben Steuer- oder Hilfsgröße für zwei oder mehr unterschiedliche Stellgrößen.In this way, at an in 3 block 120, the operator is presented with a screen in which the operator can view the response of each of the control and auxiliary quantities to a specific or selected one of the control variables. Such a screen is in 10 representing the response of each of a plurality of control and auxiliary quantities (referred to as constraints) to a manipulated variable called TOP_DRAW. The operator can scroll through the manipulated variables one by one and look at the step responses of each of the control and auxiliary quantities to each of the different manipulated variables, and during the process select the one control or auxiliary variable that best responds to that manipulated variable. Typically, the operator will attempt to select the control or auxiliary size that has the best combination of highest steady state gain and fastest response time to the manipulated variable. As in 11 1, one of the control and auxiliary quantities can be selected using the dialog box as the most significant for that manipulated variable. If desired, as in 11 4, highlighting the size selected from the control and auxiliary sizes in another color, such as red (while highlighting the previously selected, ie, control and auxiliary sizes selected for other manipulated variables, in a different color, such as yellow can). In this embodiment, the control program 40 , which of course stores the previously selected control and auxiliary quantities in a memory, perform a check to ensure that the operator does not select the same control or auxiliary size as the variable associated with two different control variables. If the user or operator selects a control or auxiliary size that has already been selected for another manipulated variable, the program can 40 provide the user or operator with an error message to inform the user or operator of the selection of a previously selected control or auxiliary size. In this way the program prevents 40 the selection of the same control or auxiliary variable for two or more different control variables.

Wie in 12 dargestellt ist, kann der Bediener oder Benutzer die Wahl treffen, die verschiedenen Schrittantworten für jede der unterschiedlichen Stell- und Störgrößen anzusehen. 12 stellt die Schrittantworten des TOP_END_-POINT auf jede der Stell- und Störgrößen dar, die zuvor für den zu schaffenden fortgeschrittenen Steuer-/Regelblock festgelegt wurden. Natürlich kann der Bedie ner die Bildschirmmaske von 12 verwenden, um eine der Stellgrößen auszuwählen, die mit der Steuergröße TOP_END_POINT assoziiert wird.As in 12 is shown, the operator or user may choose to view the various step responses for each of the different set and disturbances. 12 Represents the step responses of the TOP_END_-POINT to each of the manipulated and disturbing variables previously set for the advanced control block to be created. Of course, the operator the screen of 12 Use to select one of the manipulated variables that is associated with the control variable TOP_END_POINT.

Die mit Bezug auf die 1012 beschriebene Auswahlprozedur basiert auf graphischen Anzeigen, bei denen eine Steuer- oder Hilfsgröße aus einer Anzeige als die Signifikanteste ausgewählt werden kann. Dem Bediener können die Daten zusätzlich oder alternativ auf eine andere Weise dargeboten werden, wie in Tabellenform, um zur Vervollständigung einer M-mal-M-Controllerkonfiguration beizutragen. Ein Beispiel einer Bildschirmanzeige, die zur Vervollständigung einer M-mal-M-Controllerkonfiguration beiträgt und die Daten in Tabellenform bietet, ist in 13 gezeigt. In diesem Beispiel sind die Größen, die der Steuermatrix (Steuer- CV, Hilfs- AV und Stellgrößen MV) zur Verfügung stehen, die Bedingungsanzahlen der Matrixkonfiguration, etc. in Tabellenform bereitgestellt. In einem Abschnitt 204 der Bildschirmanzeige 200 sind Angaben von Steuer- und Hilfsgrößen, die noch nicht Teil einer Steuermatrixkonfiguration sind, zusammen mit Ansprechparametern, die mit den Steuer- und Hilfsgrößen zusammenhängen (z.B. Verstärkung, Totzeit, Priorität, Zeitkonstante, etc.) zu jeder der Prozessstellgrößen aufgelistet. In einem Abschnitt 208 ist eine Angabe der aktuellen Konfiguration des MPC-Controllers angezeigt. Eine Spalte 212 liefert Angaben über verfügbare Stellgrößen, und eine Spalte 216 liefert Angaben über Ausgabengrößen (z.B. Steueroder Hilfsgrößen), die aktuell in der MPC-Steuermatrix enthalten sind.The referring to the 10 - 12 The selection procedure described is based on graphical displays in which a control or auxiliary variable can be selected from a display as the most significant. Additionally or alternatively, the data may be presented to the operator in a different manner, such as in tabular form, to assist in completing an M-by-M controller configuration. An example of a screen display that helps complete an M-by-M controller configuration and provides the data in tabular form is shown in FIG 13 shown. In this example, the sizes available to the control matrix (control CV, auxiliary AV and manipulated variables MV), the condition numbers of the matrix configuration, etc. are provided in tabular form. In a section 204 the screen 200 are indications of control and auxiliary quantities that are not yet part of a control matrix configuration, along with response parameters associated with the control and auxiliary quantities (eg, gain, dead time, priority, time constant, etc.) listed for each of the process manipulated variables. In a section 208 an indication of the current configuration of the MPC controller is displayed. A column 212 provides information about available manipulated variables, and a column 216 provides information about output quantities (eg, control or auxiliary quantities) currently included in the MPC control matrix.

Das Anzeigebeispiel 200 zeigt einen Quadratcontroller mit den Steilgrößen MV TOP_DRAW, SIDE_DRAW und BOT_REFLUX und Controllereingaben einschließlich der Steuer- und Hilfsgrößen BOT_TEMP, SIDE_END_POINT, TOP_END_POINT. Wählt ein Benutzer eine der Stellgrößen unter Verwendung einer Eingabevorrichtung wie einer Maus, einer Rollkugel, eines Berührungsbildschirms, etc., kann die ausgewählte Stellgröße hervorgehoben werden. Beispielsweise ist in der beispielhaften Bildschirmanzeige 200 die Stellgröße TOP_DRAW hervorgehoben. Zusätzlich sind Ansprechparameter, die mit den verfügbaren, im Abschnitt 204 angezeigten Steuer- und Hilfsgrößen zusammenhängen und der ausgewählten Stellgröße entsprechen, angezeigt. Beispielsweise sind in der beispielhaften Bildschirmanzeige 200 Verstärkungen 220 und Totzeiten 224 angezeigt, die der Stellgröße TOP_-DRAW entsprechen und den verfügbaren Steuer- und Hilfsgrößen 228 zugeordnet sind.The display example 200 shows a square controller with the steepnesses MV TOP_DRAW, SIDE_DRAW and BOT_REFLUX and controller inputs including the control and auxiliary quantities BOT_TEMP, SIDE_END_POINT, TOP_END_POINT. If a user selects one of the manipulated variables using an input device such as a mouse, a trackball, a touchscreen, etc., the selected manipulated variable can be highlighted. For example, in the example screen 200 the manipulated variable TOP_DRAW is highlighted. Additionally, response parameters are available with the ones available in the section 204 The displayed control and auxiliary variables are related and correspond to the selected manipulated variable. For example, in the example screen 200 reinforcements 220 and dead times 224 displayed, which correspond to the manipulated variable TOP_DRAW and the available control and auxiliary variables 228 assigned.

Die Anzeige 200 umfasst auch eine Hinzufügetaste 232a und eine Löschtaste 232b, um Steuer- und Hilfsgrößen (Randbedingungsgrößen) zwischen den Abschnitten 204 und 208 zu bewegen. Die Figur zeigt auch die Bedingungsanzahl von Matrixkonfigurationen mit verschiedener Verstärkung:

  • – Prozessmatrix: eine vollständige N-mal-M-Prozessmatrix mit Steuerund Randbedingungsgrößen entlang einer ersten Achse und den Stellgrößen entlang einer zweiten Achse;
  • – Aktuelle Konfiguration: die M-mal-M-Konfiguration, die aktuell vom Bediener ausgewählt wurde und in der Tabelle „MPC Controller Input-Otput Configuration" angezeigt wird;
  • – Automatische Konfiguration: die automatisch von einem Auswahlprogramm in der MPC-Anwendung ausgewählte M-mal-M-Konfiguration.
The ad 200 also includes an add button 232a and a delete key 232b to control and Auxiliary quantities (boundary conditions) between the sections 204 and 208 to move. The figure also shows the number of condition of matrix configurations with different gain:
  • Process matrix: a complete N-by-M process matrix with control and constraint quantities along a first axis and the manipulated variables along a second axis;
  • - Current configuration: the M by M configuration currently selected by the operator and displayed in the "MPC Controller Input-Otput Configuration"table;
  • - Automatic configuration: the M-by-M configuration automatically selected by a selection program in the MPC application.

Die Anzeige 200 umfasst auch eine Taste 236 zum Rücksetzen zu einer Konfiguration, die automatisch bestimmt wurde. Somit kann ein Bediener, nachdem er Änderungen an einer automatischen Konfiguration vorgenommen hat und zur automatischen Konfiguration zurückkehren möchte, die Taste 236 wählen.The ad 200 also includes a button 236 to reset to a configuration that has been determined automatically. Thus, after making changes to an automatic configuration and wanting to return to automatic configuration, an operator may press the key 236 choose.

Unter Verwendung der Daten in einer Anzeige wie sie in der Anzeige 200 angezeigt werden, und unter Kenntnis des Prozesses, kann ein Bediener auf jede gewünschte Weise eine Quadratmatrix aufbauen.Using the data in an ad as shown in the ad 200 and knowing the process, an operator can construct a square matrix in any desired manner.

Wie klar wird, ermöglichen es die Bildschirmanzeigen der 1013 dem Bediener, die Teilmenge von M Steuer- und Hilfsgrößen zu visualisieren und auszuwählen, die als Eingaben in den MPC-Steueralgorithmus (Block 120 von 3) verwendet werden, was besonders nützlich ist, wenn es zahlreiche dieser Größen gibt. Auch kann der Satz Steuer- und Randbedingungsgrößen, die bei Block 120 bestimmt werden, basierend auf gewissen vorher festgelegten Kriterien oder einem Auswahlprogramm automatisch oder elektronisch ausgewählt werden. In einer Ausführungsform kann ein Auswahlprogramm die Eingabegrößen auswählen, die, basierend auf irgendeiner Kombination von Ansprechparametern (eine oder mehrere Verstärkungen, Totzeit, Priorität, Zeitkonstante, etc.), wie sie aus den Schrittantworten (oder Puls-, Anstiegsantworten, etc.) bestimmt wurden, für die Steuerrandbedingungs- und die Stellgrößen verwendet werden sollen. In einer anderen Ausführungsform kann ein Auswahlprogramm irgendeine Form von Zeitreihenanalyse der Werte der Eingabe- und Ausgabeparameter des Controllers nutzen. Beispielsweise kann eine Kreuzkorrelation zwischen den Stell- und Steueroder Hilfsgrößen verwendet werden, um die am stärksten ansprechende Steueroder Hilfsgröße als Controllereingabe zu verwenden. Als weiteres Beispiel kann eine Kreuzkorrelation zwischen den Steuer- und Hilfsgrößen verwendet werden, um kolineare (d.h. korrelierte) Controllereingaben aus der Matrix zu entfernen. Ein Programm kann auch jeden Heuristiksatz umfassen, der aus der Modellanalyse oder der Prozesskenntnis gebildet wurde.As you can see, the screen displays of the 10 - 13 allow the operator to visualize and select the subset of M control and auxiliary quantities that are used as inputs to the MPC control algorithm (Block 120 from 3 ), which is particularly useful when there are many of these sizes. Also, the set of control and constraint sizes used in block 120 be determined automatically or electronically based on certain predetermined criteria or a selection program. In one embodiment, a selection program may select the input quantities that may be determined based on any combination of response parameters (one or more gains, dead time, priority, time constant, etc.) as determined from the step responses (or pulse, slope responses, etc.) were to be used for the control boundary conditions and the manipulated variables. In another embodiment, a selection program may use some form of time series analysis of the values of the input and output parameters of the controller. For example, a cross-correlation between the control and auxiliary quantities may be used to use the most responsive control or auxiliary size as the controller input. As another example, a cross-correlation between the control and auxiliary quantities may be used to remove co-linear (ie, correlated) controller inputs from the matrix. A program may also include any heuristic set formed from model analysis or process knowledge.

In einer anderen Ausführungsform kann ein automatisches Auswahlprogramm zuerst eine Steuermatrix bestimmen, indem eine Eingabe-/Ausgabematrix basierend auf der Bedingungsanzahl der Matrix ausgewählt wird, d.h. durch Minimieren der Anzahl an Bedingungen auf irgendein gewünschtes Maß, und dann eine Controllerkonfiguration aus der Steuermatrix gebildet werden.In another embodiment An automatic selection program may first create a control matrix determine by an input / output matrix based on the number of conditions the matrix selected is, i. by minimizing the number of conditions to either desired Measure, and then a controller configuration is formed from the control matrix become.

In diesem Beispiel kann für eine Prozessverstärkungsmatrix A die Bedingungsanzahl der Matrix ATA bestimmt werden, um die Steuerbarkeit der Matrix zu prüfen. Eine kleine Anzahl an Bedingungen bedeutet im Allgemeinen eine bessere Steuerbarkeit, während eine größere Anzahl an Bedingungen eine geringere Steuerbarkeit und mehr Steuerschritte oder größere Bewegungen während des dynamischen Steuervorgangs bedeuten. Es gibt keine strikten Kriterien, um einen annehmbaren Grad an Steuerbarkeit festzulegen, und deshalb kann die Anzahl an Bedingungen als relativer Vergleich verschiedener potentieller Steuermatrizes und als Prüfung für schlecht bedingte Matrizes verwendet werden. Bekanntlich nähert sich eine Bedingungsanzahl für eine schlecht bedingte Matrix der Unendlichkeit. Mathematisch tritt eine schlechte Bedingtheit im Fall kolinearer Prozessgrößen auf, d.h. aufgrund kolinearer Reihen oder Spalten in der Steuermatrix. Somit ist ein wichtiger Faktor, der die Bedingungsanzahl und Steuerbarkeit betrifft, die Kreuzkorrelation zwischen Matrixreihen und -spalten. Eine sorgfältige Auswahl der Eingabe-/Ausgabegrößen bei der Steuermatrix kann Bedingungsprobleme reduzieren. In der Praxis sollte von Belang sein, ob die Bedingungsanzahl einer Steuermatrix in den Hunderten (z.B. 500) oder darüber liegt. Mit einer solchen Matrix können die Bewegungen der Controllerstellgrößen höchst exzessiv sein.In this example, for a process gain matrix A, the condition number of the matrix A T A can be determined to check the controllability of the matrix. A small number of conditions generally means better controllability, while a larger number of conditions mean less controllability and more control steps or larger movements during the dynamic control process. There are no strict criteria to establish an acceptable level of controllability, and therefore the number of conditions can be used as a relative comparison of various potential tax matrices and as a test for mismatched matrices. As we know, a number of conditions for a bad matrix of infinity approaches. Mathematically, poor conditionality occurs in the case of colinear process variables, ie, due to co-linear rows or columns in the control matrix. Thus, an important factor affecting the number of conditions and controllability is the cross-correlation between matrix rows and columns. Careful selection of the input / output variables in the control matrix can reduce condition problems. In practice, it should be relevant whether the number of conditions of a control matrix is in the hundreds (eg 500) or above. With such a matrix, the movements of the controller control variables can be extremely excessive.

Wie zuvor erläutert löst die Steuermatrix das Problem der dynamischen Steuerung, während der LP-Optimierer das Problem der Beharrungszustandsoptimierung löst, und die Steuermatrix muss eine quadratische Eingabe-/Ausgabematrix sein, selbst wenn der MPC-Controllerblock eine ungleiche Anzahl an MVs und CVs (einschließlich AVs) aufweist. Um mit der Auswahl der Ein- und Ausgaben für die Steuermatrix zu beginnen, die bei der Herstellung des Controllers verwendet werden soll, werden alle verfügbaren MVs typischerweise als Controllerausgaben aufgenommen oder ausgewählt. Nach der Auswahl der Ausgaben (der MVs), müssen die Prozessausgabegrößen (d.h. die CVs und AVs), die zu einem Teil der dynamischen Steuermatrix geworden sind, so ausgewählt werden, dass eine quadratische Steuermatrix entsteht, die nicht schlecht bedingt ist.As discussed previously, the control matrix solves the problem the dynamic control while the LP optimizer solves the problem of steady state optimization triggers, and the control matrix must be a quadratic input / output matrix, even if the MPC controller block has an unequal number of MVs and CVs (including AVs). To deal with the selection of inputs and outputs for the control matrix to begin with, which are used in the manufacture of the controller should be, all available MVs typically recorded or selected as controller outputs. After the selection of outputs (of the MVs), the process output sizes (i.e. the CVs and AVs) that have become part of the dynamic control matrix are, so selected be that a square control matrix is created, not bad condition.

Ein Verfahren, um CVs und AVs als Eingaben in die Steuermatrix automatisch oder manuell auszuwählen, wird nun erörtert, wobei vorausgesetzt wird, dass auch andere Verfahren verwendet werden können. Diese Ausführungsform verstärkt die Robustheit des sich ergebenden Controllers, indem sie eine Technik anwendet, die „MV-Umlauf" (MV wrap arounod) (oder selbststeuernde MVs) genannt wird, und automatisch den Penalty-Faktor auf Bewegungsfaktoren für die MVs des MPC-Controllers schätzt.A method to automatically or manually select CVs and AVs as inputs to the control matrix will now be discussed, assuming that other methods may be used as well. This embodiment enhances the robustness of the resulting controller by adopting a technique called "MV wrap arounod" (or self-controlling MVs) and automatically estimates the penalty factor on motion factors for the MVs of the MPC controller.

Schritt 1 – Die CVs werden ausgewählt, bis, falls möglich, die Anzahl von CVs gleich der Anzahl von MVs ist (d.h. der Anzahl von Controllerausgaben). Falls es mehr CVs als MVs gibt, können die CVs in beliebiger Reihenfolge basierend auf irgendwelchen gewünschten Kriterien wie Priorität, Verstärkung oder Phasenansprechempfindlichkeit, Benutzereingabe, Korrelation, Analyse etc. ausgewählt werden. Ist die gesamte mögliche Anzahl an CVs gleich der Anzahl an MVs, wird zu Schritt 4 übergegangen, um die sich ergebende Bedingungsanzahl der Quadratsteuermatrix auf Annehmbarkeit hin zu überprüfen. Ist die Anzahl an CVs geringer als die Anzahl von MVs, können AVs ausgewählt werden, wie in Schritt 2 beschrieben ist. Gibt es keine definierten CVs, wird die AV mit der höchsten Verstärkung in Relation zu einer MV ausgewählt und dann zu Schritt 2 übergegangen.Step 1 - The CVs are selected until, if possible, the number of CVs is equal to the number of MVs (i.e., the number of controller outputs). If there are more CVs than MVs, the CVs in any order based on any desired Criteria such as priority, reinforcement or phase response, user input, correlation, Analysis etc. selected become. Is the entire possible Number of CVs equal to the number of MVs, proceed to step 4, around the resulting condition number of the square control matrix Acceptability. is the number of CVs less than the number of MVs, AVs can selected as described in step 2. There are no defined ones CVs, the AV with the highest reinforcement selected in relation to a MV and then proceeded to step 2.

Schritt 2 – Es wird die Anzahl der Bedingungen, eine nach der anderen, für jede mögliche AV berechnet, die zur bereits ausgewählten Steuermatrix, die durch die zuvor ausgewählten CVs und AVs festgelegt wurde, hinzugefügt wird. Wie klar wird, enthält die durch die ausgewählten CVs festgelegte Matrix eine Reihe für jede ausgewählte CV und AV, die die Beharrungszustandsverstärkung für diese CV oder AV zu jeder der zuvor ausgewählten MVs festlegt.Step 2 - It will determine the number of conditions one after the other, for every possible one AV computes the already selected control matrix by the previously selected CVs and AVs has been added. As it becomes clear, that contains the selected ones CVs set a row for each selected CV and AV, which gives the steady state gain for that CV or AV to each the previously selected MVs sets.

Schritt 3 – Die in Schritt 2 festgelegte AV wird bestimmt, die die Mindestbedingungsanzahl für die sich ergebende Matrix ergibt, und die Matrix wird wie die vorherige Matrix unter Hinzufügung der ausgewählten AV festgelegt. Ist die Anzahl an MVs nun gleich der Anzahl an ausgewählten CVs, zuzüglich der Anzahl an ausgewählten AVs (d.h. die Matrix ist nun quadratisch), dann wird zu Schritt 4 übergegangen. Andernfalls wird zu Schritt 2 zurückgekehrt.Step 3 - The procedure defined in step 2 AV is determined, which is the minimum condition number for the resulting Matrix yields, and the matrix becomes underneath like the previous matrix addition the selected one AV set. If the number of MVs is now equal to the number of selected CVs, plus the number of selected ones AVs (that is, the matrix is now square), then go to step 4 passed. Otherwise, return to step 2.

Schritt 4 – Die Bedingungsanzahl für die hergestellte quadratische Steuermatrix Ac wird berechnet. Falls gewünscht, kann die Bedingungsanzahlberechnung für die Matrix Ac anstelle der Matrix Ac TAc verwendet werden, weil die Anzahl an Bedingungen für diese unterschiedlichen Matrizes als Quadratwurzel der anderen in Beziehung stehen. Ist die Bedingungsanzahl akzeptabel, werden die Schritte 5 und 6 übersprungen und es wird zu Schritt 7 übergegangen.Step 4 - The number of conditions for the established square control matrix A c is calculated. If desired, the condition number calculation for the matrix A c may be used in place of the matrix A c T A c because the number of conditions for these different matrices are related as the square root of the others. If the number of conditions is acceptable, skip steps 5 and 6 and move to step 7.

Schritt 5 – Eine Umlaufprozedur wird für jede der ausgewählten MVs durchgeführt und die Bedingungsanzahl der Matrix berechnet, die sich aus jeder Umlaufprozedur ergibt. Im Wesentlichen kann eine Umlaufprozedur durchgeführt werden, indem nacheinander eine Einheitsantwort (Verstärkung = 1,0; Totzeit = 0, Zeitkonstante = 0) für jede der unterschiedlichen MVs an die Stelle der beseitigten AV (oder CV) gesetzt wird. Die Einheitsantwort wird an einer der Stellen in der Reihe der Matrix Eins sein und irgendwo anders Null. Im Wesentlichen wird jede der einzelnen MVs in diesem Fall anstelle der AV (oder CV) als eine Eingabe und eine Ausgabe verwendet, um eine gut bedingte, quadratische Steuermatrix zu bilden. Als Beispiel werden für eine Vier-mal-Vier-Matrix die Kombinationen 1000, 0100, 0010 und 0001 in die Reihe der beseitigten AV-Zeile in der Verstärkungsmatrix Ac gesetzt.Step 5 - A recirculation procedure is performed for each of the selected MVs and the number of conditions of the matrix calculated from each recirculation procedure is calculated. In essence, a wrap-around procedure can be performed by successively setting a unit response (Gain = 1.0, Dead Time = 0, Time Constant = 0) for each of the different MVs to the location of the eliminated AV (or CV). The unit response will be at one of the locations in the array's row and zero elsewhere. In essence, each of the individual MVs in this case is used instead of the AV (or CV) as an input and an output to form a well-conditioned quadratic control matrix. As an example, for a four by four matrix, the combinations 1000 . 0100 . 0010 and 0001 is set in the row of the eliminated AV line in the gain matrix A c .

Schritt 6 – Nach dem Durchführen einer Umlaufprozedur für jede der MVs wird die Kombination ausgewählt, die die Mindestbedingungsanzahl ergibt. Falls es keine Verbesserung im Vergleich zur Bedingungsanzahl gibt, die im Schritt 4 erhalten wurde, wird die ursprüngliche Matrix beibehalten.Step 6 - After performing a Circulation procedure for Each of the MVs is selected the combination that the minimum condition number results. If there is no improvement compared to the number of conditions which was obtained in step 4, becomes the original one Retain matrix.

Schritt 7 – An diesem Punkt wird jede ausgewählte CV und ausgewählte AV mit einer MV assoziiert, indem die CV oder AV mit dem besten Ansprechen (Maximalverstärkung, schnelle Ansprechzeit) in Bezug auf eine bestimmte MV ausgewählt wird, ausschließlich der MV, die zur Selbststeuerung verwendet wird (d.h. der MV, die den Umlauf durchgemacht hat). Es ist sicherzustellen, dass jede MV mit einer einzigen CV (oder AV) zu einem Paar zusammengefasst wird, im Falle dass mehr als eine MV eine hohes Verstärkungs- und schnelles Ansprechverhältnis mit einer einzelnen CV (oder AV) oder umgekehrt für die CV-(AV-)Parameter hat. Die umgelaufene MV wird mit sich selbst assoziiert. Wenn die Paarbildung aller Parameter erfolgt ist, ist der Auswahlprozess abgeschlossen.Step 7 - At this point, each one will selected CV and selected AV associated with an MV by the CV or AV with the best Response (maximum gain, fast response time) with respect to a particular MV is selected, exclusively the MV used for self-control (i.e., the MV, the went through the round). It is to ensure that each one MV combined with a single CV (or AV) to a pair in case more than one MV has a high amplification and fast response with a single CV (or AV) or vice versa for the CV (AV) parameters Has. The bypassed MV is associated with itself. If the Pairing of all parameters is done is the selection process completed.

Selbstverständlich kann die durch diese Prozedur gebildete Steuermatrix sowie die sich ergebende Bedingungsanzahl dem Benutzer vorgelegt werden, und der Benutzer kann die gebildete Steuermatrix zur Anwendung bei der Herstellung des Controllers annehmen oder ablehnen.Of course, the through this Procedure formed control matrix and the resulting condition number presented to the user, and the user can be educated Adopt control matrix for use in the manufacture of the controller or reject.

Es wäre anzumerken, dass bei der oben beschriebenen automatischen Prozedur höchstens nur eine (d.h. umgelaufene) MV zur Selbststeuerung ausgewählt wurde, um die Steuerbarkeit zu verbessern. Beim manuellen Vorgang kann die Anzahl von umgelaufenen MVs willkürlich sein. Beispielsweise kann mit Bezug auf 11 die Wahl der höchstwertigen („Most Significant") CVs oder AVs wieder aufgehoben werden. Mit Bezug auf 13 können CVs oder AVs unter Verwendung der Löschtaste 232b entfernt werden. In diesen Beispielen fallen die zur Selbststeuerung ausgewählten MVs durch das Nichtvorhandensein einer entsprechenden Ausgabengrößenauswahl in der Controllerkonfiguration auf. Beispielsweise stellt 14 die Anzeige 200 von 13 dar, in der aber die Stellgrößen TOP_DRAW und SIDE_DRAW keine entsprechende Steuervariable CV enthalten. Auf diese Weise lässt man die Stellgrößen TOP_DRAW und SIDE_DRAW umlaufen. Die Anzeige 200 von 13 könnte auf die in 14 dargestellte abgeändert werden, indem zuerst das Paar BOT_TEMP und TOP_DRAW in der Anzeige 200 ausgewählt und dann die Löschtaste 232b gewählt wird. Als Nächstes könnte das Paar SIDE_END_POINT und SIDE_DRAW in der Anzeige 200 ausgewählt und dann die Löschtaste 232b gewählt werden. In der Anzeige 200 von 14 werden dann die Größen BOT_TEMP und SIDE_END_POINT in die Spalte 228 der verfügbaren Größen gesetzt. Zusätzlich unterscheidet sich die Bedingungsanzahl der aktuellen, in 14 dargestellten Konfiguration von der Bedingungsanzahl der automatischen Konfiguration.It should be noted that in the automatic procedure described above, at most only one (ie, recirculating) MV was selected for self-control to improve controllability. In the manual process, the number of recirculating MVs can be arbitrary. For example, with reference to 11 the selection of the most significant ("Most Significant") CVs or AVs will be repealed 13 Can CVs or AVs using the delete key 232b be removed. In these examples, the self-selected MVs are unaffected by the absence of a corresponding output size selection in the controller configuration. For example 14 the ad 200 from 13 but in which the manipulated variables TOP_DRAW and SIDE_DRAW do not contain a corresponding control variable CV. In this way, the manipulated variables TOP_DRAW and SIDE_DRAW are circulated. The ad 200 from 13 could be on the in 14 Modified by first the pair BOT_TEMP and TOP_DRAW in the display 200 and then the delete key 232b is selected. As Next could be the pair SIDE_END_POINT and SIDE_DRAW in the ad 200 and then the delete key 232b to get voted. In the advertising 200 from 14 then the sizes BOT_TEMP and SIDE_END_POINT are placed in the column 228 set of available sizes. In addition, the condition number of the current, in 14 illustrated configuration of the number of conditions of the automatic configuration.

Auch können mehr MVs als Umlaufgrößen zur Steuerung verwendet werden, falls die Anzahl an MVs größer ist als die Anzahl der gesamten CVs zuzüglich AVs. Auf diese Weise steht dem Controller am Ende immer noch eine quadratische Steuermatrix mit jeder der MVs als Ausgaben zur Verfügung. Es wird klar, dass das Verfahren, Umläufe durchzuführen und zu verwendet, bedeutet, dass die Anzahl an für die Steuermatrix ausgewählten CVs und AVs kleiner sein kann als die Anzahl der vom Controller gesteuerten MVs, wobei der Unterschied in der Umlaufanzahl der MVs als Eingaben in die Steuermatrix besteht. Darüber hinaus kann diese Umlaufprozedur in einem Prozess eingesetzt werden, der weniger CVs zuzüglich AVs als MVs hat.Also, more MVs than recirculation variables can Control be used if the number of MVs is greater as the number of total CVs plus AVs. In this way the controller still has a square control matrix at the end with each of the MVs as expenditures available. It becomes clear that that Procedure, circulations perform and used means that the number of CVs selected for the control matrix and AVs can be less than the number of controllers controlled by the controller MVs, with the difference in the number of cycles of the MVs as inputs exists in the control matrix. About that In addition, this orbital procedure can be used in a process the less CVs plus AVs as MVs has.

Natürlich wird die obige Bedingungsanzahl unter Verwendung der Beharrungszustandsverstärkungen berechnet, und deshalb definiert die Steuermatrix die Steuerbarkeit auch im Wesentlichen für den Beharrungszustand. Die Prozessdynamik (Totzeit, Nachlauf, etc.) und Modellungewissheit haben auch eine Auswirkung auf die dynamische Steuerbarkeit, und diese Auswirkungen können dadurch berücksichtigt werden, dass die Priorität von Prozessgrößen (z.B. Steuer- und Hilfsgrößen) geändert wird, was ihre Mitaufnahme in die Steuermatrix aufgrund der Auswirkungen, die sie auf die dynamische Steuerung haben, gebieten kann.Of course, the above condition number becomes calculated using the steady state gains, and therefore The control matrix also essentially defines the controllability for the Steady state. The process dynamics (dead time, caster, etc.) and modeling uncertainty also have an impact on the dynamic Controllability, and this impact can be taken into account be that priority of process variables (e.g. Control and auxiliary variables) is changed, what their inclusion in the control matrix due to the effects, that they have on the dynamic control can command.

Es ist auch möglich, andere heuristische Verfahren zu verwenden, die sowohl den Beharrungszustand als auch die dynamische Steuerbarkeit verbessern sollen. Solch ein Verfahren würde typischerweise eine Anzahl von heuristischen Kriterien, möglicherweise einige, die widersprüchlich sind, aufweisen, die in mehreren Phasen angewandt werden, um eine Steuermatrix zu bilden und dadurch einen angemessenen Satz von Controllereingaben auszuwählen, die gewisse Verbesserungen der Steuermatrix bereitstellen. In einem solchen heuristischen Ver fahren werden die CVs und die AVs durch MV basierend auf dem höchsten Verstärkungsverhältnis gruppiert. Dann wird für jede MV-Gruppierung die eine Prozessausgabe mit der schnellsten Dynamik und signifikanter Verstärkung ausgewählt. Dieser Auswahlprozess kann einen Konfidenzintervall berücksichtigen und den CVs den Vorzug vor den AVs geben (wobei sonst alle gleich sind). Das Prozessmodellgeneratorprogramm verwendet dann die Parameter, die während der Herstellung der MPC-Steuerung aus jeder Gruppe ausgewählt wurden. Da nur ein Parameter für jede MV ausgewählt wird, ist die Antwortmatrix quadratisch und kann invertiert werden.It is also possible other heuristic To use methods that both the steady state and to improve dynamic controllability. Such a procedure would typically a number of heuristic criteria, possibly some that are contradictory, which are applied in multiple phases to a control matrix and thereby form an appropriate set of controller inputs select which provide some improvements to the control matrix. In one such heuristic procedures are the CVs and AVs MV based on the highest Reinforcement ratio grouped. Then it will be for each MV grouping the one process output with the fastest Dynamics and significant amplification selected. This selection process can take into account a confidence interval and the CVs in preference to the AVs (otherwise all the same are). The process model generator program then uses the parameters the while the production of MPC control from each group. As only one parameter for each MV selected is, the response matrix is square and can be inverted.

Jedenfalls erzeugt nach der Auswahl der Teilmenge von M (oder weniger) Steuer- und Hilfsgrößeneingaben in den MPC-Controller ein Block 124 von 3 aus der bestimmten quadratischen Steuermatrix das Prozessmodell oder den Controller, das/der im MPC-Steueralgorithmus 86 von 2 verwendet werden soll. Bekanntlich ist dieser Controllerherstellungsschritt eine rechenintensive Prozedur. Primäre Abstimmungsfaktoren für die Controllerherstellung sind „Penalty on Move"-Parameter (PM-Parameter) der Controller-Stellgrößen. Eine Analyse hat gezeigt, dass Totzeit ein wichtiger Faktor bei der Berechnung von PM ist, während Verstärkung sich natürlich stark auf die Controllerbewegungen auswirkt. Die folgende Experimentalformel trägt sowohl der Totzeit als auch der Verstärkung beim Schätzen eines PM-Faktors Rechnung, der für einen stabilen und reaktionsschnellen MPC-Ablauf für Modellfehler von bis zu 50% sorgt:

Figure 00460001
worin DTi die Totzeit in MPC-Abtastungen für ein MVi-CVj-Paar ist, Gi die Verstärkung (dimensionslos) für das MVi-CVj-Paar ist, und die Paarbildung diejenige ist, die während der quadratischen Controllerkonfiguration aufgebaut wird. Die Quadratmatrixpaarbildung liefert deshalb PM-Werte, die dazu beitragen, die miteinander in Konflikt stehenden Controllerbedürfnisse nach Leistung und Robustheit zu erfüllen.In any case, after selecting the subset of M (or less) control and auxiliary size inputs into the MPC controller, a block is generated 124 from 3 from the particular quadratic control matrix, the process model or controller that is in the MPC control algorithm 86 from 2 should be used. As is known, this controller manufacturing step is a computationally intensive procedure. Primary tuning factors for controller manufacturing are "Penalty on Move" (PM) parameters of the controller manipulated variables An analysis has shown that dead time is an important factor in the calculation of PM, while amplification naturally has a major impact on controller movements. The following experimental formula accounts for both dead time and gain in estimating a PM factor, which provides a stable and responsive MPC flow for model errors of up to 50%:
Figure 00460001
where DT i is the dead time in MPC samples for an MVi-CVj pair, G i is the gain (dimensionless) for the MVi-CVj pair, and pairing is the one established during the quadratic controller configuration. Square matrix pairing therefore provides PM values that help meet the conflicting controller needs for performance and robustness.

Ein Block 126 lädt dann dieses MPC-Prozessmodell (mit der inhärenten Steuermatrix) oder den Controller und nötigenfalls die Schrittantworten und die Beharrungszustandsschrittantwortverstärkungsmatrix auf den Steuer-/Regelblock 38 herunter, und diese Daten werden in den Steuer-/Regelblock 38 für den Betrieb eingegliedert. Zu diesem Zeitpunkt ist der Steuer-/Regelblock 38 bereit für den Online-Betrieb im Rahmen des Prozesses 50.A block 126 then loads this MPC process model (with the inherent control matrix) or the controller and, if necessary, the step responses and the steady state step response gain matrix onto the control block 38 down, and these data will be in the control block 38 integrated for the operation. At this time, the control block is 38 ready for online operation as part of the process 50 ,

Falls gewünscht können die Prozessschrittantworten rekonfiguriert oder auf eine andere Weise bereitgestellt werden, als diese Schrittantworten generiert wurden. Zum Beispiel kann eine der Schrittantworten aus verschiedenen Modellen herauskopiert und in die Bildschirmmasken beispielsweise der 1012 gestellt werden, um die Schrittantworten einer bestimmten Steuer- oder Hilfsgröße auf eine Stell- oder Störgröße festzulegen. 15 stellt eine Bildschirmanzeige dar, bei der der Benutzer eine der Schrittantworten eines bestimmten Prozesses oder Modells auswählen und kopieren und dann selbige Antwort in ein anderes Modell ziehen oder einfügen und diese Schrittantwort in das neue Modell einfügen kann, um es dadurch dem Benutzer zu ermöglichen, manuell ein Schrittantwortmodell zu spezifizieren. Natürlich kann der Benutzer als Teil dieses Vorgangs eines oder mehrere der automatisch generierten Schrittantwortmodelle wie zuvor beschrieben löschen.If desired, the process step responses may be reconfigured or provided in some other way than these step responses were generated. For example, one of the step responses may be copied out of different models and into the screen masks, for example, the 10 - 12 to set the step responses of a particular control or auxiliary quantity to a manipulated or disturbing variable. 15 FIG. 12 illustrates a screen display where the user can select and copy one of the step responses of a particular process or model and then drag or paste the same response into another model and manually insert that step response into the new model, thereby enabling the user to specify a step response model. Of course, the user can be part of this Delete one or more of the automatically generated step response models as described above.

16 stellt eine Bildschirmanzeige dar, bei der der Benutzer im Besonderen eine der Schrittantworten anschauen kann (hier für die Schrittantwort TOP_END_POINT im Gegensatz zu TOP_DRAW). Die Parameter für diese Schrittantwort wie Beharrungszustandsverstärkung, Ansprechzeit, erstrangige Zeitkonstante und Quadratfehler werden dem Benutzer oder Bediener zur bequemen Bezugnahme auf der Anzeige dargestellt. Falls gewünscht kann der Benutzer die Eigenschaften dieser Schrittantwort anschauen oder ändern, indem er andere Parameter spezifiziert, wie eine andere Verstärkung oder Zeitkonstante, falls das so gewünscht wird. Falls der Benutzer eine unterschiedliche Verstärkung oder einen anderen Parameter festlegt, kann das Schrittantwortmodell mathematisch so regeneriert werden, dass es diesen neuen Parameter oder Parametersatz aufweist. Dieser Vorgang ist dann von Nutzen, wenn der Benutzer die Parameter der Schrittantwort kennt und die generierte Schrittantwort ändern muss, damit sie mit diesen Parametern übereinstimmt oder sie erfüllt. Änderungen am Schrittantwortmodell werden wiederum in der Paarbildung und Herstellung der Quadratsteuermatrix reflektiert, da die Verstärkungs- und Ansprechdynamik verwendet wird. 16 represents a screen display in which the user can in particular view one of the step responses (here for the step response TOP_END_POINT as opposed to TOP_DRAW). The parameters for this step response, such as steady state gain, response time, first order time constant, and squared errors are presented to the user or operator for convenient reference to the display. If desired, the user may view or change the properties of this step response by specifying other parameters, such as another gain or time constant, if so desired. If the user sets a different gain or other parameter, the step response model may be mathematically regenerated to include this new parameter or parameter set. This process is useful when the user knows the parameters of the step response and must change the generated step response to match or meet these parameters. Changes to the step response model are in turn reflected in the pairing and production of the square control matrix because the gain and response dynamics are used.

Nun sind mit Bezug auf 4 die allgemeinen Schritte dargestellt, die während jedes Operationszyklus oder jeder Abtastung des fortgeschrittenen Steuer/Regelblocks 38, wie unter Verwendung des Ablaufdiagramms 90a von 3 hergestellt, durchgeführt werden, während der Prozess 50 online abläuft. Bei einem Block 150 erhält und verarbeitet der MPC-Controller 52 (2) die Messwerte der Steuer- und Hilfsgrößen CV und AV. Insbesondere verarbeitet das Steuervorhersageprozessmodell die CV-, AV- und DV-Messungen oder -Eingaben, um den zukünftigen Steuerparametervektor sowie die vorhergesagten Beharrungszustandssteuergrößen und -hilfsgrößen CVSS und AVSS herzustellen.Well, with respect to 4 the general steps shown during each cycle of operation or each scan of the advanced control block 38 as using the flowchart 90a from 3 produced, performed during the process 50 runs online. At a block 150 receives and processes the MPC controller 52 ( 2 ) the measured values of the control and auxiliary variables CV and AV. In particular, the control prediction process model processes the CV, AV and DV measurements or inputs to produce the future control parameter vector as well as the predicted steady state control variables and auxiliary variables CV SS and AV SS .

Als Nächstes verarbeitet oder filtert bei einem Block 152 der Eingabeverarbeitungs-/Filterblock 58 (2) die vorhergesagten, vom MPC-Controller 52 gebildeten Steuer-, Hilfs- und Stellgrößen CVSS, AVSS und MVSS und stellt dem Optimierer 54 diese gefilterten Werte zur Verfügung. Bei einem Block 154 führt der Optimierer 54 standardmäßige LP-Verfahren durch, um den Satz von M Zielstellgrößen MVT bereitzustellen, welche die ausgewählte oder standardmäßige Zielfunktion maximieren oder minimieren, während keine der Grenzen der Hilfs- und Stellgrößen verletzt wird und während die Steuergrößen auf ihrem festgelegten Sollwert oder innerhalb der für diese Größen festgesetzten Bereichen gehalten werden. Allgemein ausgedrückt berechnet der Optimierer 54 eine Zielstellgrößenlösung MVT, indem er die Steuer- und die Hilfsgrößen jeweils in ihre Grenzen zwingt. Wie vorstehend festgestellt, wird in vielen Fällen eine Lösung bestehen, bei der sich die Steuergrößen jeweils auf ihrem Sollwert befinden (der anfänglich als eine, der Steuergröße gesetzte Obergrenze behandelt wird), während die Hilfsgrößen jeweils innerhalb ihrer jeweiligen Zwangsgrenzen bleiben. Ist das der Fall, muss der Optimierer 54 nur die bestimmten Zielstellgrößen MVT ausgeben, die ein optimales Ergebnis für die Zielfunktion erbringen.Next, it processes or filters on a block 152 the input processing / filter block 58 ( 2 ) the predicted, from the MPC controller 52 formed control, auxiliary and manipulated variables CV SS , AV SS and MV SS and provides the optimizer 54 these filtered values are available. At a block 154 leads the optimizer 54 standard LP techniques to provide the set of M target manipulated variables MV T that maximize or minimize the selected or default objective function while not violating any of the limits of the auxiliaries and manipulated variables, and while the control variables are at or within their setpoint Sizes fixed areas. Generally speaking, the optimizer calculates 54 a target size solution MV T , by forcing the control and auxiliary variables in each case. As stated above, in many cases there will be a solution where the control quantities are each at their setpoint (which is initially treated as an upper limit set to the control amount) while the auxiliary quantities each remain within their respective constraints. If that's the case, the optimizer needs to 54 only the specific target manipulated variables MV T spend that provide an optimal result for the objective function.

In machen Fällen jedoch kann es aufgrund von Randbedingungen, die für einige oder alle der Hilfs- oder Stellgrößen zu eng gesteckt sind, unmöglich sein, einen Operationspunkt zu finden, bei dem sich alle Steuergrößen auf ihrem Sollwert und alle Hilfsgrößen innerhalb ihrer jeweiligen Zwangsgrenzen befinden, weil eine solche Lösung nicht existiert. In diesen Fällen kann, wie zuvor angemerkt, der Optimierer 54 eine Lockerung der festgelegten Sollwertbereiche der Steuergrößen zulassen, um zu versuchen, einen Operationspunkt zu finden, bei dem die Hilfsgrößen innerhalb ihrer jeweiligen Grenzen wirken. Besteht in diesem Falle keine Lösung, kann der Optimierer eine oder mehrere der Hilfsgrößenzwangsgrenzen als Grenze im Rahmen der Lösung fallen lassen und/oder kann den Steuergrößensollwertbereich im Rahmen der Lösung fallen lassen und statt dessen den optimalen Prozessoperationspunkt bestimmen und die fallengelassenen Hilfsgrößenzwangsgrenzen und/oder den fallengelassenen Steuergrößensollwertbereich ignorieren. Hier wählt der Optimierer, welche Hilfs- oder Steuergröße fallengelassen werden soll, basierend auf den jeweiligen Gewichtungen, die für die Steuer- und Hilfsgrößen jeweils vorgesehen sind (wobei beispielsweise die unterste Gewichtung oder höchste Priorität zuerst fallengelassen wird). Der Optimierer 54 fährt fort, Hilfs- oder Steuergrößen basierend auf ihren vorgesehenen Gewichtungen und Prioritäten fallen zu lassen, bis er eine Zielstellgrößenlösung (MVT-Lösung) findet, bei der für die übrigen Steuer- oder Hilfsgrößen mit höherer Priorität, alle Sollwertbereiche für die Steuergrößen und die Grenzen für die Hilfsgrößen eingehalten werden.In some cases, however, due to constraints that are too narrow for some or all of the auxiliaries or manipulated variables, it may be impossible to find an operation point where all the control variables are at their setpoint and all the auxiliary variables are within their respective constraints. because such a solution does not exist. In these cases, as previously noted, the optimizer 54 allow relaxation of the setpoint setpoint ranges of the control variables to attempt to find an operation point where the auxiliary variables operate within their respective limits. If there is no solution in this case, the optimizer may drop one or more of the auxiliary force constraint limits as a solution and / or may drop the control setpoint range within the solution and instead determine the optimal process operation point and the dropped auxiliary force constraints and / or ignore the dropped control value setpoint range. Here, the optimizer chooses which auxiliary or control quantity to drop based on the respective weights provided for the control and auxiliary quantities, respectively (for example, the lowest weighting or highest priority being dropped first). The optimizer 54 Continues to drop helper or control quantities based on their intended weights and priorities until it finds a target size solution (MV T solution) for which the other higher priority control or auxiliary quantities, all setpoint ranges for the control quantities, and the Limits for the auxiliary sizes are met.

Als Nächstes verwendet bei einem Block 156 der Zielumsetzungsblock 55 (2) die Beharrungszustandsschrittantwortverstärkungsmatrix, um die Zielwerte der Steuer- und Hilfsgrößen CVT und AVT aus den Zielwerten für die Stellgrößen MVT zu bestimmen, und stellt die ausgewählte N (wobei N kleiner oder gleich M ist) Teilmenge dieser Werte dem MPC-Controller 52 als Zieleingaben zur Verfügung. Bei einem Block 158 verwendet der MPC-Controller 52 die daraus abgeleitete Steuermatrix oder -logik, um wie zuvor beschrieben als unbeschränkter MPC-Controller zu arbeiten, um den zukünftigen CV- und AV-Vektor für diese Zielwerte zu bestimmen, führt eine Vektorsubtraktion mit dem zukünftigen Steuerparametervektor durch, um den zukünftigen Fehlervektor herzustellen. Der MPC-Algorithmus wirkt auf eine bekannte Weise, um die Beharrungszustandsstellgröße MVSS basierend auf dem Prozessmodell zu bestimmen, das aus den M-mal-M-Schrittantworten gebildet wurde, und stellt diese MVSS-Werte dem Eingabeverarbeitungs/Filterblock 58 (2) zur Verfügung. Bei einem Block 160 bestimmt der MPC-Algorithmus auch die MV-Schritte, die an den Prozess 50 ausgegeben werden sollen, und gibt den ersten dieser Schritte auf irgendeine angemessene Weise an den Prozess 50 aus.Next used in a block 156 the target conversion block 55 ( 2 ) the steady state step response gain matrix to determine the target values of the control and auxiliary quantities CV T and AV T from the target values for the manipulated variables MV T , and sets the selected N (where N is less than or equal to M) subset of these values to the MPC controller 52 as destination input available. At a block 158 uses the MPC controller 52 the derived control matrix or logic to operate as an unrestricted MPC controller as previously described to determine the future CV and AV vector for those target values performs vector subtraction on the future control parameter vector to produce the future error vector. The MPC algorithm operates in a known manner to determine the steady state manipulated variable MV SS based on the process model formed from the M by M step responses, and places these MV SS values into the input processing / filtering block 58 ( 2 ) to disposal. At a block 160 The MPC algorithm also determines the MV steps involved in the process 50 and gives the first of these steps to the process in some appropriate way 50 out.

Während des Ablaufs laufen eine oder mehrere Überwachungsanwendungen beispielsweise in einem der Arbeitsplatzrechner 13 ab, können Daten aus dem fortgeschrittenen Steuer-/Regelblock oder anderen damit verbundenen Funktionsblöcken entweder direkt oder indirekt über die Datensammlung 12 abgerufen werden, und dem Benutzer oder Bediener eine oder mehrere Sicht- oder Diagnosebildschirmmasken zur Verfügung gestellt werden, um den Betriebszustand des fortgeschrittenen Steuer-/Regelblocks anzuzeigen. Die Funktionsblocktechnologie weist Kaskadeneingaben (CAS_IN) und Kaskadenferneingaben (RCAS_IN) sowie entsprechende Rückberechnungsausgaben (BCAL_OUT und RCAS_OUT) auf sowohl den Steuer- als auch Ausgabefunktionsblöcken auf. Unter Verwendung dieser Verknüpfungen ist es möglich, eine optimierte MPC-Überwachungssteuerungsstrategie über die bestehende Steuerungsstrategie zu legen, und diese überwachte Steuerungsstrategie kann unter Verwendung eines oder mehrerer Sichtbildschirme oder einer oder mehrerer Anzeigen dargestellt werden. Gleichermaßen können auch Ziele für den optimierten MPC-Controller aus einer Strategie abgeändert werden, wenn das so gewünscht wird.During the process, one or more monitoring applications are running, for example, in one of the workstations 13 from, data from the advanced control block or other associated function blocks may be either directly or indirectly via the data collection 12 one or more visual or diagnostic screens are provided to the user or operator to indicate the operating status of the advanced control block. Function block technology includes cascade inputs (CAS_IN) and cascade remote inputs (RCAS_IN), as well as corresponding backscaling outputs (BCAL_OUT and RCAS_OUT) on both the control and output function blocks. Using these links, it is possible to lay an optimized MPC supervisory control strategy over the existing control strategy, and this monitored control strategy can be presented using one or more visual screens or one or more displays. Likewise, targets for the optimized MPC controller may be changed from a strategy if so desired.

17 ist eine beispielhafte Bildschirmanzeige, die von einer oder mehreren Sichtanwendungen erzeugt werden können, die einen Optimiererdialogbildschirm darstellen, welcher dem Bediener Daten liefert, die den Betrieb des fortgeschrittenen Steuer-/Regelblocks während dessen Ablauf betreffen. Insbesondere sind die Eingaben in den Prozess (die Stellgrößen MV) und die Ausgaben (die Steuer- und Hilfsgrößen CV und AV) gesondert dargestellt. Für jede dieser Größen stellt die Bildschirmanzeige den Namen (Deskriptor) der Größe, den aktuellen Wert, wie er gemessen wurde, gegebenenfalls einen Sollwert, den Zielwert, wie er vom Optimierer berechnet wurde, die Einheiten und Einheitswerte der Größenänderung und eine Angabe der aktuellen Größenwerte dar. Für die Ausgabegrößen ist auch eine Angabe, ob diese Größe eine der ausgewählten Größen ist, die im MPC-Controller verwendet werden, der Vorhersagewert dieser Größe, wie er vom MPC-Controller bestimmt wurde, und die voreingestellte Priorität für diese Größe angegeben. Diese Bildschirmmaske ermöglicht es dem Bediener, den gegenwärtigen Betriebszustand des fortgeschrittenen Steuer-/Regelblocks zu sichten und die Art und Weise, mit der der fortgeschrittene Steuer-/Regelblock die Steuerung durchführt. Darüber hinaus kann der Benutzer einige Steuerparameter für Fern sollwertfähigkeit konfigurieren, so dass externe Anwendungen Betriebsziele für die Durchsatzkoordination einstellen können. 17 FIG. 10 is an exemplary screen display that may be generated by one or more visual applications that represent an optimizer dialog screen that provides the operator with data pertaining to the operation of the advanced control block during its expiration. In particular, the inputs to the process (the manipulated variables MV) and the outputs (the control and auxiliary variables CV and AV) are shown separately. For each of these sizes, the screen displays the name (descriptor) of the size, the current value as measured, optionally a setpoint, the target value as calculated by the optimizer, the units and unit values of resizing, and an indication of the actual size values The output sizes also include an indication of whether this size is one of the selected sizes used in the MPC controller, the predicted value of that size as determined by the MPC controller, and the default priority for that size. This screen allows the operator to view the current operating state of the advanced control block and the manner in which the advanced control block performs the control. In addition, the user can configure some remote remediation capability control parameters so that external applications can set throughput goals for throughput coordination.

18 ist eine Bildschirmanzeige, die von einer Diagnoseanwendung generiert werden kann, die eine Diagnosebildschirmmaske darstellt, die einem Benutzer oder Bediener bereitgestellt werden kann, um eine Diagnose am fortgeschrittenen Steuer-/Regelblock vorzunehmen. Insbesondere stellt die Diagnosebildschirmmaske von 18 die Steuer- und Randbedingungs(hilfs)größen, die Stellgrößen und die Störgrößen separat dar. Für jede wird der Name oder Deskriptor zusammen mit einer Angabe (in der ersten Spalte) geliefert, ob ein Fehler- oder Warnzustand für diese Größe existiert. Solch ein Fehler bzw. solch eine Warnung kann graphisch unter Verwendung beispielsweise eines grünen Hakens oder eines roten „x" oder auf irgendeine andere gewünschte Weise angezeigt werden. Es ist auch ein Wert oder Status für jede dieser Größen angegeben. Für die Stellgrößen ist der Wert und Status der Back Cal-Größe (rückberechnete oder rückgeführte Größe) für diese Signale dargestellt. Wie klar wird, kann diese Bildschirmmaske dazu verwendet werden, eine Diagnose am fortgeschrittenen Steuer-/Regelblock vorzunehmen, indem der Bediener mit den nötigen Daten versorgt wird, um Probleme innerhalb des Steuersystems zu bestimmen. Natürlich können dem Bediener auch andere Arten von Bildschirmmasken und Daten bereitgestellt werden, um ihn in die Lage zu versetzen, den Betrieb des fortgeschrittenen Steuer-/Regelblocks und des Moduls, in dem er implementiert ist, zu sichten und eine Diagnose daran durchzuführen. 18 is a screen display that may be generated by a diagnostic application that represents a diagnostic screen mask that may be provided to a user or operator to make a diagnosis on the advanced control block. In particular, the diagnostic screen of 18 For each, the name or descriptor is supplied with an indication (in the first column) of whether an error or warning condition exists for that quantity. Such an error or warning may be displayed graphically using, for example, a green tick or a red "x" or in any other desired manner, and a value or status is also given for each of these quantities It will be appreciated that this screen can be used to diagnose the advanced control block by providing the operator with the necessary data to Of course, the operator may be provided with other types of screens and data to enable him to view the operation of the advanced control block and the module in which it is implemented to make a diagnosis on it.

Während der fortgeschrittene Steuer-/Regelblock hier als ein Optimierer umfassend dargestellt ist, der im selben Funktionsblock angeordnet und deshalb in derselben Vorrichtung ausgeführt ist wie der MPC-Controller, ist es auch möglich, den Optimierer in einer gesonderten Vorrichtung unterzubringen. Insbesondere kann der Optimierer in einer anderen Vorrichtung wie beispielsweise einem der Benutzerarbeitsplatzrechner 13 untergebracht werden und mit dem MPC-Controller wie im Zusammenhang mit 2 beschrieben während jeder Ausführung oder Abtastung kommunizieren, um die Zielstellgrößen (MVT) oder die Teilmenge der Steuer- und Hilfsgrößen (CV und AV) zu berechnen und dem MPC-Controller zur Verfügung zu stellen, die daraus berechnet wurden. Selbstverständlich kann eine spezielle Schnittstelle, wie eine bekannte OPC-Schnittstelle verwendet werden, um die Kommunikationsschnittstelle zwischen dem Controller und dem Funktionsblock, der den MPC-Controller beinhaltet, und dem Arbeitsplatzrechner oder einem anderen Computer bereitzustellen, der den Optimierer eingebaut hat oder ihn ausführt. Wie in der im Hinblick auf 2 beschriebenen Ausführungsform, müssen der Optimierer und der MPC-Controller während jedes Abtastzyklus noch miteinander kommunizieren, um eine integrierte, optimierte MPC-Steuerung durchzuführen. In diesem Fall aber können auch andere gewünschte Arten von Optimiereren verwendet werden, wie bekannte oder EchtzeitOptimierere, die in einer Prozesssteuerungsumgebung bereits vorhanden sein können. Dieses Merkmal kann auch zum Vorteil genutzt werden, wenn das Optimierungsproblem nicht linear ist und die Lösung nichtlineare Programmierungstechniken erfordert.While the advanced control block is shown here as an optimizer located in the same functional block and therefore embodied in the same device as the MPC controller, it is also possible to accommodate the optimizer in a separate device. In particular, the optimizer may be in another device, such as one of the user workstations 13 be accommodated and connected with the MPC controller as related to 2 described during each execution or sampling to calculate the target manipulated variables (MV T ) or the subset of the control and auxiliary variables (CV and AV) and to provide the MPC controller, which were calculated therefrom. Of course, a special interface, such as a known OPC interface, may be used to provide the communications interface between the controller and the functional block including the MPC controller and the workstation or other computer that has installed or is running the optimizer. As for in terms of 2 described embodiment, the optimizer and the MPC controller during each scanning cycle still need to communicate with each other to perform an integrated, optimized MPC control. In this case, however, other desired types of optimizers may be used, such as known or real-time optimizers, which may already be present in a process control environment. This feature can also be used to advantage if the optimization problem is not linear and the solution is non-linear tioning techniques.

Während der fortgeschrittene Steuer-/Regelblock und andere hier beschriebenen Blöcke und Programme hier so beschrieben wurden, dass sie zusammen mit Fieldbus- und standardmäßigen 4-20 ma-Geräten verwendet werden, können sie natürlich auch unter Verwendung irgendeines anderen Prozesssteuerungskommunikationsprotokolls oder irgendeiner anderen Programmierumgebung implementiert sein, und können mit irgendwelchen anderen Arten von Geräten, Funktionsblöcken oder Controllern verwendet werden. Obwohl die fortgeschrittenen Steuerblöcke und die dazugehörigen, hier beschriebenen Generierungs- und Testprogramme vorzugsweise in Software implementiert sind, können sie auch in Hardware, Firmware, etc. implementiert werden, und können von irgendeinem anderen Prozessor ausgeführt werden, der einem Prozesssteuerungssystem zugeordnet ist. Somit kann das hier beschriebene Programm 40 in einer standardmäßigen Universal-CPU oder einer speziell entwickelten Hard- oder Firmware, wie beispielsweise ASICs implementiert werden, wenn das so gewünscht wird. Wenn sie in Software implementiert sind, kann die Software in jedem computerlesbaren Speicher wie einer Magnetplatte, Laserplatte, Bildplatte oder einem anderen Speichermedium, auf einen RAM oder ROM eines Computers oder Prozessors, etc. hinterlegt werden. Gleichermaßen kann diese Software einem Benutzer oder einem Prozesssteuerungssystem über jedes bekannte oder gewünschte Übergabeverfahren übergeben werden, wie beispielsweise auf einer computerlesbaren Diskette oder irgendeinem tragbaren Computerspeichermechanismus oder kann über einen Kommunikationskanal wie eine Telefonleitung, das Internet, etc. moduliert werden (was als äqui valent oder austauschbar mit der Bereitstellung einer solchen Software über ein tragbares Speichermedium angesehen wird).Of course, while the advanced control block and other blocks and programs described herein have been described as being used with Fieldbus and standard 4-20 ma devices, they may also be implemented using any other process control communication protocol or programming environment and can be used with any other types of devices, function blocks or controllers. Although the advanced control blocks and associated generation and testing programs described herein are preferably implemented in software, they may also be implemented in hardware, firmware, etc., and may be executed by any other processor associated with a process control system. Thus, the program described here 40 can be implemented in a standard general-purpose CPU or custom hardware or firmware, such as ASICs, if so desired. When implemented in software, the software may be stored in any computer-readable memory such as a magnetic disk, laser disk, optical disk or other storage medium, RAM or ROM of a computer or processor, etc. Likewise, this software may be provided to a user or process control system via any known or desired handover method, such as on a computer readable floppy disk or any portable computer storage mechanism, or modulated over a communication channel such as a telephone line, the Internet, etc. (which may be considered equivalent or is considered interchangeable with the provision of such software via a portable storage medium).

Während somit die vorliegende Erfindung mit Bezug auf spezielle Beispiele beschrieben wurde, die die Erfindung nur veranschaulichen und nicht einschränken sollen, wird dem Fachmann klar sein, dass Änderungen, Hinzufügungen oder Weglassungen an den offenbarten Ausführungsformen vorgenommen werden können, ohne dass dabei vom Aussagegehalt und Umfang der Erfindung abgewichen würde.While thus the present invention with reference to specific examples has been described, which illustrate the invention and not restrict should be clear to the skilled person that changes, additions or Leaks to the disclosed embodiments can be made without that deviated from the content and scope of the invention would.

Bezugszeichenliste

Figure 00530001
LIST OF REFERENCE NUMBERS
Figure 00530001

Figure 00540001
Figure 00540001

Claims (35)

Prozesssteuerungs-Konfigurationssystem zur Verwendung bei der Neuanlegung oder Sichtung eines Steuer-/Regelblocks mit einem integrierten Optimierer und einer Mehrfacheingabe-/Mehrfachausgabe-Steuerroutine, wobei das Prozesssteuerungssystem Folgendes aufweist: ein computerlesbares Medium: eine Konfigurationsroutine, die auf dem computerlesbaren Medium gespeichert und dazu ausgelegt ist, auf einem Prozessor abzulaufen, wobei die Konfigurationsroutine Folgendes enthält: eine Speicherroutine, die Informationen speichert, welche mehrere Steuer- und Hilfsgrößen und mehrere Stellgrößen betrifft, welche vom Optimieren und/oder der Mehrfacheingabe-/Mehrfachausgabe-Steuerroutine verwendet werden, wobei die Informationen, die die mehreren Steuer- und Hilfsgrößen und die mehreren Stellgrößen betreffen, Antwortinformationen für jede von mindestens einigen der Steuer- und Hilfsgrößen umfassen, die Antwortinformationen von jeweiligen Antworten für jede von den mindestens einigen der Steuer- und Hilfsgrößen auf jeweilige Stellgrößen anzeigen; und eine Anzeigeroutine, die dazu ausgelegt ist, einem Benutzer eine Anzeige hinsichtlich einer oder mehrerer der Steuer-, Hilfs- und Stellgrößen zu bieten, wobei die Anzeige eine Teilmenge der Antwortinformationen umfasst, wobei die Teilmenge der Antwortinformation Antwortinformationen umfasst, die Antworten von jeder der mindestens einigen der Steuer- und Hilfsgrößen auf mindestens eine der Stellgrößen anzeigen.Process control configuration system for use during the new creation or sighting of a control block with an integrated optimizer and a multiple input / multiple output control routine, wherein the process control system comprises: a computer readable Medium: a configuration routine that is on the computer readable Stored medium and is designed to run on a processor wherein the configuration routine includes: a memory routine, the information stores which multiple control and auxiliary sizes and concerns several manipulated variables, which of the optimizing and / or the multiple input / multiple output control routine be used, the information provided by the multiple control and auxiliary sizes and which concern several manipulated variables, Answer information for include each of at least some of the control and auxiliary quantities, the answer information from each answer for each of indicate the at least some of the control and auxiliary variables to respective manipulated variables; and a display routine designed for a user an indication of one or more of the tax, assistance and to offer manipulated variables, wherein the display comprises a subset of the response information, wherein the subset of response information comprises answer information, the answers from each of the at least some of the control and auxiliary sizes Show at least one of the manipulated variables. Prozesssteuerungs-Konfigurationssystem nach Anspruch 1, wobei die Konfigurationsroutine ferner eine erste Routine enthält, um es dem Benutzer zu ermöglichen, die eine der Stellgrößen aus mehreren Stellgrößen auszuwählen.Process control configuration system according to claim 1, wherein the configuration routine further includes a first routine to it to enable the user one of the manipulated variables to select several manipulated variables. Prozesssteuerungs-Konfigurationssystem nach Anspruch 2, wobei die Konfigurationsroutine ferner eine zweite Routine enthält, um es dem Benutzer zu ermöglichen, die eine der Stellgrößen einer der Steuer- und Hilfsgrößen zuzuordnen.Process control configuration system according to claim 2, wherein the configuration routine further includes a second routine to it to enable the user the one of the manipulated variables of a attributable to the control and auxiliary quantities. Prozesssteuerungs-Konfigurationssystem nach Anspruch 3, wobei die Konfigurationsroutine ferner eine dritte Routine enthält, um es dem Benutzer zu ermöglichen, die Zuordnung einer der Steuer- und Hilfsgrößen, die der einen der Stellgrößen zugeordnet wurde, wieder aufzuheben.Process control configuration system according to claim 3, wherein the configuration routine further includes a third routine to do it to enable the user the assignment of one of the control and auxiliary variables, which is assigned to one of the manipulated variables was to pick up again. Prozesssteuerungs-Konfigurationssystem nach einem der Ansprüche 1 bis 4, wobei die Anzeigeroutine dazu ausgelegt ist, Angaben der mehreren Stellgrößen anzuzeigen und für jede Stellgröße eine Angabe der zugeordneten mehreren Steuer- und Hilfsgrößen, falls vorhanden, anzuzeigen.Process control configuration system after a the claims 1 to 4, wherein the display routine is adapted to provide information of to display several manipulated variables and for each manipulated variable one Specifying the assigned multiple control and auxiliary quantities, if available to display. Prozesssteuerungs-Konfigurationssystem nach einem der Ansprüche 1 bis 5, wobei die Anzeigeroutine dazu ausgelegt ist, eine Angabe einer aktuellen Konfigurationsbedingungszahl anzuzeigen, die mit einer Konfiguration zusammenhängt, die den aktuell zugeordneten Stellgrößen und Steuer- und Hilfsgrößen entspricht.Process control configuration system after a the claims 1-5, wherein the display routine is adapted to provide an indication display a current configuration condition number using a configuration, which corresponds to the currently assigned control values and control and auxiliary quantities. Prozesssteuerungs-Konfigurationssystem nach einem der Ansprüche 1 bis 6, wobei die Anzeigeroutine dazu ausgelegt ist, eine Angabe einer automatischen Konfigurationsbedingungszahl anzuzeigen, die mit einer automatisch generierten Konfiguration zusammenhängt.Process control configuration system after a the claims 1-6, wherein the display routine is adapted to provide an indication to indicate an automatic configuration condition number with an automatically generated configuration. Prozesssteuerungs-Konfigurationssystem nach einem der vorhergehenden Ansprüche, wobei die Anzeigeroutine dazu ausgelegt ist, eine Angabe einer Prozessmatrix-Konfigurationsbedingungszahl anzuzeigen, die mit einer Konfiguration zusammenhängt, die einer Prozessmatrix entspricht, die alle der mehreren Steuer- und Hilfsgrößen entlang einer ersten Achse der Prozessmatrix und alle der Stellgrößen entlang einer zweiten Achse der Prozessmatrix aufweist.Process control configuration system after a of the preceding claims, wherein the display routine is configured to provide an indication of a process matrix configuration condition number that is related to a configuration that a process matrix corresponds to all of the multiple control and Auxiliary sizes along a first axis of the process matrix and all of the manipulated variables along a second axis of the process matrix. Prozesssteuerungs-Konfigurationssystem nach einem der vorhergehenden Ansprüche, wobei die Anzeigeroutine dazu ausgelegt ist, Angaben von verfügbaren Größen der mehreren Steuer- und Hilfsgrößen anzuzeigen, wobei die verfügbaren Größen Stellgrößen zuzuordnen sind.Process control configuration system after a of the preceding claims, wherein the display routine is adapted to provide indications of available quantities of to display several control and auxiliary quantities, being the available ones Assign variables to manipulated variables are. Prozesssteuerungs-Konfigurationssystem nach einem der vorhergehenden Ansprüche, wobei die Anzeigeroutine dazu ausgelegt ist, Angaben von Antwortsinformationen für jede der verfügbaren Größen anzuzeigen, wobei die Antwortsinformationen Antworten von jeder der verfügbaren Größen auf die eine der Stellgrößen anzeigen.Process control configuration system after a of the preceding claims, wherein the display routine is configured to provide information of response information for every the available Display sizes, the response information includes responses from each of the available sizes which display one of the manipulated variables. Prozesssteuerungs-Konfigurationssystem nach einem der vorhergehenden Ansprüche, wobei dem die Antwortinformationen für jede der verfügbaren Größen mindestens eine Angabe einer Verstärkung, eine Angabe einer Totzeit, eine Angabe einer Priorität und eine Angabe einer Zeitkonstante enthält.Process control configuration system after a of the preceding claims, wherein the answer information for each of the available sizes at least an indication of reinforcement, an indication of a dead time, an indication of a priority and a Specification of a time constant contains. Prozesssteuerungs-Konfigurationssystem nach Anspruch 11, bei dem die Angabe der Verstärkung eine Zahl umfasst.Process control configuration system according to claim 11, where the specification of the gain is a Number includes. Prozesssteuerungs-Konfigurationssystem nach Anspruch 11 oder 12, bei dem die Angabe der Totzeit eine Zahl umfasst.Process control configuration system according to claim 11 or 12, wherein the indication of the dead time comprises a number. Prozesssteuerungs-Konfigurationssystem nach einem der vorhergehenden Ansprüche, wobei die Antwortinformationen für jede der mindestens einigen der Steuer- und Hilfsgrößen mindestens eine Angabe einer Verstärkung, eine Angabe einer Totzeit, eine Angabe einer Priorität und eine Angabe einer Zeitkonstante enthält.Process control configuration system after a of the preceding claims, the answer information for each of the at least some of the control and auxiliary quantities at least one indication a reinforcement, an indication of a dead time, an indication of a priority and a Specification of a time constant contains. Prozesssteuerungs-Konfigurationssystem nach einem der vorhergehenden Ansprüche, wobei die Antwortinformationen für jede der mindestens einigen der Steuer- und Hilfsgrößen Informationen enthalten, die mit einer Schrittantwort zusammenhängen.Process control configuration system after a of the preceding claims, the answer information for each of the at least some of the control and auxiliary quantities contain information which are related to a step response. Prozesssteuerungs-Konfigurationssystem nach einem der vorhergehenden Ansprüche, wobei die Antwortinformationen für jede der mindestens einigen der Steuer- und Hilfsgrößen Daten enthalten, die mit einer Pulsantwort zusammenhängen.The process control configuration system of any one of the preceding claims, wherein the response information for each of the at least some of the control and auxiliary quantities includes data associated with a Pulse response related. Prozesssteuerungs-Konfigurationssystem nach einem der vorhergehenden Ansprüche, wobei die Antwortinformationen für jede der mindestens einigen der Steuer- und Hilfsgrößen Informationen enthalten, die mit einer Anstiegsantwort zusammenhängen.Process control configuration system after a of the preceding claims, the answer information for each of the at least some of the control and auxiliary quantities contain information which are related to a rising response. Prozesssteuerungssystem zum Steuern eines Prozesses, Folgendes umfassend: einen Mehrfacheingabe-/Mehrfachausgabe-Controller, der dazu ausgelegt ist, während jedes Operationszyklus des Prozesssteuerungssystems Mehrfachsteuerausgaben zu erzeugen, die so konfiguriert sind, dass sie den Prozess basierend auf gemessenen Mehrfacheingaben aus dem Prozess und basierend auf einem Satz von Zielwerten steuern, die dem Mehrfacheingabe-/Mehrfach ausgabe-Controller während jedes Operationszyklus des Prozesssteuerungssystems zur Verfügung gestellt werden; und einen Optimierer, der dazu ausgelegt ist, den Satz von Zielwerten zur Verwendung durch den Mehrfacheingabe-/Mehrfachausgabe-Controller während jedes Operationszyklus des Prozesssteuerungssystems zu bilden; bei dem der Optimierer ein linear oder quadratisch programmierender Optimierer einschließlich einer Zielfunktion ist, und der Optimierer dazu ausgelegt ist, die Zielfunktion zu minimieren oder zu maximieren und gleichzeitig einen Satz von Steuergrößen innerhalb vorbestimmter Sollwertgrenzen, einen Satz von Hilfsgrößen innerhalb eines Satzes von vorbestimmten Hilfsgrößengrenzen, und einen Satz von Stellgrößen innerhalb eines Satzes von vorbestimmten Stellgrößengrenzen zu halten, und, falls keine Lösung besteht, zuzulassen, dass mindestens eine der Sollwertgrenzen verletzt wird.Process control system for controlling a process Including: a multiple input / multiple output controller, which is designed while each cycle of operation of the process control system multiple control outputs which are configured to base the process on measured multiple entries from the process and based on Control a set of target values assigned to the multiple-input / multi-output controller while Each operational cycle of the process control system provided become; and an optimizer designed to handle the sentence Target values for use by the multi-input / multi-output controller while to form each operation cycle of the process control system; at the optimizer is a linear or quadratic programming Including optimizer is an objective function, and the optimizer is designed to do the Goal function to minimize or maximize and at the same time one Set of tax variables within predetermined setpoint limits, a set of auxiliary variables within a set of predetermined auxiliary size limits, and a sentence of manipulated variables within to hold a set of predetermined manipulated variable limits, and, if not a solution consists of allowing at least one of the setpoint limits to be violated becomes. Prozesssteuerungssystem nach Anspruch 18, bei dem der Optimierer dazu ausgelegt ist, einen Satz von Prioritäten zu speichern, die dem Satz von Steuergrößen entsprechen, und bei dem der Optimierer die Prioritäten aus dem Satz verwendet, um die mindestens eine der Steuersollwertgrenzen zu bestimmen, die verletzt werden soll.A process control system according to claim 18, wherein the optimizer is designed to store a set of priorities, which correspond to the set of control variables, and where the optimizer uses the priorities from the sentence, to determine the at least one of the control setpoint limits that violates shall be. Prozesssteuerungssystem nach Anspruch 18 oder 19, bei dem der Optimierer dazu ausgelegt ist, falls keine Lösung besteht, zu ermöglichen, dass mindestens eine der Sollwertgrenzen und der Hilfsgrößengrenzen verletzt wird.Process control system according to claim 18 or 19, where the optimizer is designed to, if not, to enable that at least one of the setpoint limits and the auxiliary size limits violated becomes. Prozesssteuerungssystem nach einem der Ansprüche 18 bis 20, bei dem der Optimierer dazu ausgelegt ist, einen ersten Satz von Prioritäten zu speichern, die dem Satz von Steuergrößen entsprechen, und einen zweiten Satz von Prioritäten, die dem Satz von Hilfsgrößen entsprechen, und bei dem der Optimierer die Prioritäten aus dem ersten Satz und die Prioritäten aus dem zweiten Satz verwendet, um die mindestens eine der Steuersollwertgrenzen und der Hilfsgrößengrenzen zu bestimmen, die verletzt werden sollen.Process control system according to one of claims 18 to 20, where the optimizer is designed to be a first set of priorities to store, which correspond to the set of control variables, and a second Set of priorities, which correspond to the set of auxiliary quantities, and where the optimizer has the priorities from the first sentence and the priorities used from the second sentence to the at least one of the control setpoint limits and the auxiliary size limits to be determined, who are to be injured. Prozesssteuerungssystem zum Steuern eines Prozesses, Folgendes umfassend: eine Antwortmatrix, die eine Reaktion jeder eines Satzes von Steuer- und Hilfsgrößen auf eine Veränderung in jedem eines Satzes von Stellgrößen definiert, bei dem eine Anzahl von Steuer- und Hilfsgrößen in dem Satz von Steuer- und Hilfsgrößen gleich einer ersten Zahl ist, bei dem eine Anzahl von Stellgrößen in dem Satz von Stellgrößen gleich einer zweiten Zahl ist; einen linearen oder quadratischen Optimierer, der dazu ausgelegt ist: einen Satz von Zielstellgrößenwerten herzustellen, wobei die Zielstellgrößenwerte einen optimalen Betriebspunkt basierend auf einem Satz von Vorhersagewerten von Steuer- und Hilfsgrößen des Prozesses und basierend auf einem Satz vom aktuellen Werten von Stellgrößen des Prozesses definieren, bei dem eine Anzahl von Vorhersagewerten von Steuer- und Hilfsgrößen in dem Satz von Vorhersagewerten von Steuer- und Hilfsgrößen gleich der ersten Zahl ist, bei dem eine Anzahl von aktuellen Werten von Stellgrößen in dem Satz von aktuellen Werten von Stellgrößen gleich der zweiten Zahl ist; einen Satz von Vorhersagesteuergrößen und -hilfsgrößen, einen Satz von Vorhersagestellgrößen und die Antwortmatrix zu verwenden, um einen Satz von Zielwerten für eine vorbestimmte Teilmenge eines Satzes von Steuer- und Hilfsgrößen herzustellen, bei dem eine Anzahl von Vorhersagesteuergrößen und -hilfsgrößen in dem Satz von Vorhersagesteuergrößen und -hilfsgrößen gleich der ersten Zahl ist, bei dem eine Anzahl von Steuer- und Hilfsgrößen in der vorbestimmten Teilmenge des Satzes von Steuer- und Hilfsgrößen sich von der ersten Zahl unterscheidet; bei dem der lineare oder quadratische Optimierer dazu ausgelegt ist, den Satz von Zielstellgrößenwerten herzustellen, die eine Zielfunktion maximieren oder minimieren, während jede der Steuergrößen auf ihren vorbestimmten Sollwerten und jede der Hilfsgrößen und Stellgrößen innerhalb vorbestimmter Zwangsgrenzen gehalten werden; bei dem der Optimierer dazu ausgelegt ist, den Satz von Zielstellgrößenwerten herzustellen, die die Zielfunktion maximieren oder minimieren, während jede der Steuergrößen innerhalb vorbestimmter Sollwertgrenzen und jede der Hilfsgrößen und Stellgrößen innerhalb von Zwangsgrenzen gehalten werden, wenn keine Lösung besteht, die jede der Steuergrößen auf vorbestimmten Sollwerten und jede der Hilfsgrößen und Stellgrößen innerhalb vorbestimmter Zwangsgrenzen hält; bei dem der Optimierer dazu ausgelegt ist, den Satz von Zielstellgrößenwerten herzustellen, die die Zielfunktion maximieren oder minimieren, während jede der Hilfsgrößen innerhalb vorbestimmter Zwangsgrenzen und die Stellgrößen innerhalb vorbestimmter Zwangsgrenzen gehalten werden, während eine oder mehrere der Steuergrößen vorbestimmte Sollwertgrenzen basierend auf Prioritäten verletzen dürfen, die den Steuergrößen zugeordnet sind, wenn keine Lösung besteht, die jede der Steuergrößen innerhalb vorbestimmter Sollwertgrenzen und jede der Hilfsgrößen und Stellgrößen innerhalb vorbestimmter Zwangsgrenzen hält; einen Mehrfacheingabe-/Mehrfachausgabe-Controller, der dazu ausgelegt ist: den Satz von Vorhersagesteuergrößen und -hilfsgrößen und den Satz von Vorhersagestellgrößen herzustellen, und den Satz von Zielwerten für die vorbestimmte Teilmenge des Satzes von Steuer- und Hilfsgrößen mit Messwerten der vorbestimmten Teilmenge des Satzes von Steuer- und Hilfsgrößen zu kombinieren, um einen Satz von Stellsteuersignalen zur Steuerung der Stellgrößen des Prozesses herzustellen, bei dem eine Anzahl der Stellsteuersignale im Satz von Stellgrößen gleich der zweiten Zahl ist.A process control system for controlling a process, comprising: a response matrix defining a response of each of a set of control and auxiliary quantities to a change in each of a set of manipulated variables, wherein a number of control and auxiliary quantities in the set of control and auxiliary quantities Auxiliary quantities is equal to a first number in which a number of manipulated variables in the set of manipulated variables is equal to a second number; a linear or quadratic optimizer configured to: produce a set of target setpoint values, the target setpoint values defining an optimum operating point based on a set of predictive values of control and auxiliary variables of the process and based on a set of current values of manipulated variables of the process, wherein a number of predictive values of control and auxiliary quantities in the set of predictive values of control and auxiliary quantities equals the first number, wherein a number of current values of manipulated variables in the set of current values of manipulated variables is equal to the second number; use a set of predictive control variables and auxiliary quantities, a set of predictive variable sizes, and the response matrix to produce a set of target values for a predetermined subset of a set of control and auxiliary quantities comprising a number of predictive control variables and auxiliary variables in the set of predictive control variables and -sizes is equal to the first number at which a number of control and auxiliary quantities in the predetermined subset of the set of control and auxiliary quantities is different from the first number; wherein the linear or quadratic optimizer is configured to produce the set of target setpoint values that maximize or minimize an objective function while maintaining each of the control variables at their predetermined setpoints and each of the auxiliary quantities and manipulated variables within predetermined constraints; wherein the optimizer is configured to produce the set of target setpoint values that maximize or minimize the objective function while each of the control quantities are within predetermined setpoint limits and each of the auxiliary quantities and manipulated variables are kept within constraints if there is no solution holding each of the control variables at predetermined setpoints and each of the auxiliary variables and manipulated variables within predetermined constraints; wherein the optimizer is configured to establish the set of target setpoint values that maximize or minimize the objective function while maintaining each of the auxiliary parameters within predetermined constraints and the manipulated variables within predetermined constraints while one or more of the control variables are allowed to violate predetermined setpoint limits based on priorities associated with the control quantities when there is no solution holding each of the control quantities within predetermined setpoint limits and each of the auxiliary quantities and manipulated variables within predetermined constraints; a multiple input / multi-output controller configured to: establish the set of predictive control variables and auxiliary quantities and the set of predictive variable sizes, and the set of target values for the predetermined subset of the set of pilot and auxiliary quantities with measurements of the predetermined subset of the set of control and auxiliary quantities to produce a set of drive control signals for controlling the manipulated variables of the process, wherein a number of drive control signals in the set of manipulated variables is equal to the second number. Prozesssteuerungssystem nach Anspruch 22, bei dem der Optimierer dazu ausgelegt ist, den Satz von Zielstellgrößenwerten herzustellen, die die Zielfunktion maximieren oder minimieren, während die Stellgrößen innerhalb vorbestimmter Zwangsgrenzen gehalten werden, während eine oder mehrere der Steuergrößen vorbestimmte Sollwertgrenzen, und die Hilfsgrößen vorbestimmte Zwangsgrenzen basierend auf Prioritäten, die den Steuergrößen und den Hilfsgrößen zugeordnet sind, verletzen dürfen, wenn keine Lösung besteht, die jede der Hilfsgrößen und Stellgrößen innerhalb vorbestimmter Zwangsgrenzen hält.A process control system according to claim 22, wherein the optimizer is designed to set the set of target setpoint values which maximize or minimize the objective function while the Manipulated variables within predetermined compulsory limits are kept while one or more of the Control variables predetermined Setpoint limits, and the auxiliary variables predetermined Compulsory limits based on priorities, which are the control variables and assigned to the auxiliary quantities are allowed to hurt, if not a solution which consists of each of the auxiliary sizes and Manipulated variables within holds predetermined compulsory limits. Prozesssteuerungssystem nach Anspruch 22 oder 23, bei dem der Optimierer dazu ausgelegt ist, den Satz von Zielstellgrößenwerten herzustellen, die die Zielfunktion maximieren oder minimieren, während die Stellgrößen innerhalb vorbestimmter Zwangsgrenzen gehalten werden, während eine oder mehrere der Steuergrößen vorbestimmte Sollwertgrenzen, und die Hilfsgrößen vorbestimmte Zwangsgrenzen basierend auf Prioritäten, die den Steuergrößen und den Hilfsgrößen zugeordnet sind, verletzen dürfen, wenn keine Lösung besteht, die jede der Steuergrößen innerhalb vorbestimmter Sollwertgrenzen und die Stellgrößen innerhalb vorbestimmter Zwangsgrenzen hält.Process control system according to claim 22 or 23, wherein the optimizer is configured to set the set of target size values which maximize or minimize the objective function while the manipulated variables are within predetermined compulsory limits are kept while one or more of the Control variables predetermined Setpoint limits, and the auxiliary variables predetermined Compulsory limits based on priorities, which are the control variables and assigned to the auxiliary quantities are allowed to hurt, if not a solution which consists of each of the control variables within predetermined setpoint limits and the manipulated variables within a predetermined Forbearance holds. Verfahren zur Steuerung eines Prozesses mit mehreren Stellgrößen und vielen Steuer- und Hilfsgrößen, die durch Änderungen bei den Stellgrößen beeinflusst werden können, bei dem sich die mehreren der Stellgrößen zahlenmäßig von den vielen Steuer- und Hilfsgrößen unterscheiden, wobei das Verfahren umfasst: eine Teilmenge der vielen Steuer- und Hilfsgrößen auszuwählen, die beim Durchführen der Prozesssteuerung verwendet werden sollen, bei dem das Auswählen der Teilmenge umfasst, eine der Steuer- oder Hilfsgrößen auszuwählen, die am stärksten auf eine der Stellgrößen anspricht; eine Steuermatrix unter Verwendung der ausgewählten Teilmenge der vielen der Steuer- und Hilfsgrößen und der mehreren Stellgrößen herzustellen; einen Controller aus der Steuermatrix mit der ausgewählten Teilmenge der vielen der Steuer- und Hilfsgrößen als Eingaben und den mehreren Stellgrößen als Ausgaben zu generieren; eine Prozessoptimierung durchzuführen, indem ein Prozessbetriebspunkt ausgewählt wird, um eine Zielfunktion in Abhängigkeit von den mehreren Stellgrößen und den vielen Steuer- und Hilfsgrößen zu minimieren oder zu maximieren, wobei der Prozessbetriebspunkt durch einen Satz von Zielwerten für die ausgewählte Teilmenge der vielen Steuer- und Hilfsgrößen definiert wird; ein Mehrfacheingabe-/Mehrfachausgabe-Steuerverfahren unter Verwendung eines Controllers durchzuführen, der aus der Steuermatrix generiert wurde, um einen Satz von Stellgrößenwerten aus den Zielgrößen für die ausgewählte Teilmenge der vielen Steuer- und Hilfsgrößen und Messwerte der ausgewählten Teilmenge der vielen Steuer- und Hilfsgrößen zu bilden; und den gebildeten Satz von Stellgrößenwerten zur Steuerung des Prozesses zu verwenden.Method for controlling a process with several Manipulated variables and many control and auxiliary sizes, the through changes influenced by the manipulated variables can be where the number of manipulated variables is numerically different from the many and auxiliary sizes differ, the method comprising: a subset of the many tax and to select auxiliary sizes that when performing the process control to be used in selecting the Subset includes selecting one of the control or auxiliary quantities that is most severe one of the manipulated variables responds; a Control matrix using the selected subset of the many the tax and auxiliary sizes and the produce several manipulated variables; one Controller from the control matrix with the selected subset of the many the tax and auxiliary sizes as Generate inputs and the multiple manipulated variables as outputs; a Perform process optimization, by selecting a process operating point to be an objective function dependent on of the several manipulated variables and to minimize the many control and auxiliary sizes or to maximize, the process operating point by a set of target values for the selected one Subset of the many control and auxiliary variables is defined; on Multi-input / multi-output control method using to perform a controller that from the control matrix was generated to a set of manipulated variable values from the target sizes for the selected subset the many tax and auxiliary sizes and Measured values of the selected Subset of the many control and auxiliary quantities; and the formed set of manipulated variable values to use for controlling the process. Verfahren nach Anspruch 25, bei dem das Auswählen einer der Steuer- oder Hilfsgrößen als die am stärksten auf eine der Stellgrößen ansprechende das Auswählen einer der Steuer- oder Hilfsgrößen basierend zumindest auf einer Kreuzkorrelationsanalyse umfasst.The method of claim 25, wherein selecting a the tax or auxiliary quantities as the strongest responsive to one of the manipulated variables selecting one of the tax or Auxiliary sizes based at least on a cross-correlation analysis. Verfahren nach Anspruch 25 oder 26, bei dem das Auswählen einer der Steuer- oder Hilfsgrößen als die am stärksten auf eine der Stellgrößen ansprechende das Auswählen einer der Steuer- oder Hilfsgrößen basierend zumindest auf ein heuristisches Verfahren umfasst.A method according to claim 25 or 26, wherein the Choose one of the control or auxiliary quantities than the the strongest responsive to one of the manipulated variables selecting one of the tax or Auxiliary sizes based includes at least a heuristic process. Verfahren nach einem der Ansprüche 25 bis 27, bei dem das Auswählen einer der Steuer- oder Hilfsgrößen als die am stärksten auf eine der Stellgrößen ansprechende das Auswählen einer der Steuer- oder Hilfsgrößen basierend zumindest auf Prioritäten umfasst, die den Steuer- und Hilfsgrößen zugeordnet sind.Method according to one of claims 25 to 27, wherein the Choose one of the control or auxiliary quantities as the strongest responsive to one of the manipulated variables selecting based on one of the control or auxiliary quantities at least on priorities includes, which are assigned to the control and auxiliary variables. Verfahren zum Steuern eines Prozesses, der mehrere Stellgrößen und viele Steuer- und Hilfsgrößen aufweist, die durch Änderungen bei den Stellgrößen beeinflusst werden können, bei dem sich die mehreren der Stellgrößen zahlenmäßig von den vielen Steuer- und Hilfsgrößen unterscheiden, wobei das Verfahren umfasst: eine Teilmenge der vielen Steuer- und Hilfsgrößen auszuwählen, die beim Durchführen der Prozesssteuerung verwendet werden sollen, bei der eine Anzahl von Steuer- und Hilfsgrößen in der Teilmenge geringer ist als eine Anzahl von Stellgrößen bei den mehreren Stellgrößen; eine Steuermatrix unter Verwendung der ausgewählten Teilmenge der vielen der Steuer- und Hilfsgrößen und der mehreren Stellgrößen herzustellen; einen Controller aus der Steuermatrix mit der ausgewählten Teilmenge der vielen der Steuer- und Hilfsgrößen als Eingaben und den mehreren Stellgrößen als Ausgaben zu generieren; eine Prozessoptimierung durchzuführen, indem ein Prozessbetriebspunkt ausgewählt wird, um eine Zielfunktion in Abhängigkeit von den mehreren Stellgrößen und den vielen Steuer- und Hilfsgrößen zu minimieren oder zu maximieren, wobei der Prozessbetriebspunkt durch einen Satz von Zielwerten für die ausgewählte Teilmenge der vielen Steuer- und Hilfsgrößen definiert wird; ein Mehrfacheingabe-/Mehrfachausgabe-Steuerverfahren unter Verwendung eines Controllers durchzuführen, der aus der Steuermatrix generiert wurde, um einen Satz von Stellgrößenwerten aus den Zielgrößen für die ausgewählte Teilmenge der vielen Steuer- und Hilfsgrößen und Messwerte der ausgewählten Teilmenge der vielen Steuer- und Hilfsgrößen auszubilden; und den ausgebildeten Satz von Stellgrößenwerten zur Steuerung des Prozesses zu verwenden.Method for controlling a process that has multiple Manipulated variables and has many control and auxiliary sizes, by changes influenced by the manipulated variables can be where the number of manipulated variables is numerically different from the many and auxiliary sizes differ, the method comprising: a subset of the many tax and to select auxiliary sizes that when performing the process control should be used in which a number of tax and auxiliary quantities in the Subset is less than a number of manipulated variables at the multiple manipulated variables; a Control matrix using the selected subset of the many the tax and auxiliary sizes and the produce several manipulated variables; a controller from the control matrix with the selected subset of many of the control and auxiliary sizes as Generate inputs and the multiple manipulated variables as outputs; a Perform process optimization, by selecting a process operating point to be an objective function dependent on of the several manipulated variables and to minimize the many control and auxiliary sizes or to maximize, the process operating point by a set of target values for the selected one Subset of the many control and auxiliary variables is defined; on Multi-input / multi-output control method using to perform a controller that from the control matrix was generated to a set of manipulated variable values from the target sizes for the selected subset the many tax and auxiliary sizes and Measured values of the selected Form subset of the many control and auxiliary quantities; and the trained set of manipulated variable values to use for controlling the process. Prozesssteuerungselement, das dazu ausgelegt ist, als Teil eines auf einem Prozessor implementierten Prozesssteuerungsprogramms verwendet zu werden, um mehrere Steuer- und Hilfsparameter eines Prozesses unter Verwendung von vielen Stellparametern zu steuern, wobei das Prozesssteuerungselement umfasst: ein computerlesbares Medium; einen Funktionsblock, der auf dem computerlesbaren Medium gespeichert und dazu ausgelegt ist, auf dem Prozessor abzulaufen, um während jeder Steuerabtastperiode eine Mehrfacheingabe-/Mehrfachausgabesteuerung des Prozesses zu bewerkstelligen, wobei der Funktionsblock umfasst: eine Zielfunktion, die ein Optimierungskriterium basierend auf den mehreren Steuer- und Hilfsparametern definiert, bei dem die Zielfunktion ein Optimierungskriterium basierend auf einer ersten Anzahl von Steuer- und Hilfsparametern definiert; ein Optimierungsprogramm, das die Zielfunktion verwendet, um während jeder Steuerabtastperiode einen Satz von optimalen Zielwerten für die Steuer- und Hilfsparameter herzustellen, bei dem das Optimierungsprogramm eine lineare oder quadratische Programmierroutine enthält; eine Steuermatrix, die eine vorbestimmte Teilmenge der mehreren der Steuer- und Hilfsparameter zu den vielen Stellparametern in Beziehung setzt, bei dem eine Anzahl von Steuer- und Hilfsparametern bei der vorbestimmten Teilmenge gleich der ersten Zahl ist, bei dem eine Anzahl von Stellparametern bei den vielen Stellparametern gleich der ersten Zahl ist; und ein Mehrfacheingabe-/Mehrfachausgabe-Steuerprogramm, das während jeder Steuerabtastperiode ein Steuersignal für jeden der vielen Stellparameter unter Verwendung der Steuermatrix und der Zielwerte für die Teilmenge der mehreren Steuer- und Hilfsgrößen erzeugt, bei dem die Steuersignale dazu bestimmt sind, die Teilmenge der mehreren der Steuer- und Hilfsparameter auf die für die Teilmenge von Steuer- und Hilfsparametern optimalen Zielwer te zu fahren, bei dem das Mehrfacheingabe-/Mehrfachausgabe-Steuerprogramm ein Modellvorhersagesteuerprogramm umfasst.Process control element designed to as part of a process control program implemented on a processor to be used to create several control and auxiliary parameters of a Control process using many control parameters, wherein the process control element comprises: a computer readable Medium; a functional block on the computer readable Stored medium and is designed to run on the processor, around during Each control scan period is a multiple input / multiple output control of the process, the functional block comprising: a Target function, which is an optimization criterion based on the multiple Defines control and auxiliary parameters in which the objective function an optimization criterion based on a first number of Defined control and auxiliary parameters; an optimization program, which uses the objective function to during each Steuerabtastperiode a set of optimal target values for the control and auxiliary parameters in which the optimizer is a linear or contains quadratic programming routine; a control matrix, the one predetermined subset of the plurality of control and auxiliary parameters relates to the many control parameters in which a number of control and auxiliary parameters at the predetermined subset is equal to the first number, where a number of setting parameters is equal to the first number in the many setting parameters; and on Multiple Input / Multiple Output Control Program During Each Steuerabtastperiode a control signal for each of the many control parameters using the control matrix and target values for the subset which generates several control and auxiliary quantities, in which the control signals are intended to be the subset of several of the control and auxiliary parameters to those for the subset of tax and auxiliary parameters optimal Zielwer te to drive at the multi-input / multi-output control program is a model prediction control program includes. Prozesssteuerungselement, das dazu ausgelegt ist, als Teil eines auf einem Prozessor implementierten Prozesssteuerungsprogramm verwendet zu werden, um mehrere Steuer- und Hilfsparameter eines Prozesses unter Verwendung von vielen Stellparametern zu steuern, wobei das Prozesssteuerungselement umfasst: ein computerlesbares Medium; einen Funktionsblock, der auf dem computerlesbaren Medium gespeichert und dazu ausgelegt ist, auf dem Prozessor abzulaufen, um während jeder Steuerabtastperiode eine Mehrfacheingabe-/Mehrfachausgabesteuerung des Prozesses zu bewerkstelligen, wobei der Funktionsblock umfasst: eine Zielfunktion, die ein Optimierungskriterium basierend auf den mehreren Steuer- und Hilfsparametern definiert; ein Optimierungsprogramm, das die Zielfunktion verwendet, um während jeder Steuerabtastperiode einen Satz von optimalen Zielwerten für die Steuer- und Hilfsparameter herzustellen; eine Steuermatrix, die eine vorbestimmte Teilmenge der mehreren der Steuer- und Hilfsparameter zu den vielen Stellparametern in Beziehung setzt; und ein Mehrfacheingabe-/Mehrfachausgabe-Steuerprogramm, das während jeder Steuerabtastperiode ein Steuersignal für jeden der vielen Stellparameter unter Verwendung der Steuermatrix und der Zielwerte für die Teilmenge der mehreren Steuer- und Hilfsgrößen erzeugt, bei dem die Steuersignale dazu bestimmt sind, die Teilmenge der mehreren der Steuer- und Hilfsparameter auf die für die Teilmenge von Steuer- und Hilfsparametern optimalen Zielwerte zu fahren; bei dem der Funktionsblock einen Speicher zum Speichern eines Satzes von Steuerparametersollwerten und eines Satzes von Hilfs- und Stellparameter grenzen umfasst, und bei dem das Optimierungsprogramm so konfiguriert ist, dass es den Satz von optimalen Zielwerten für die Stellparameter, die die Steuerparameter ergeben, sich auf den Steuerparametersollwerten, die Hilfs- und Stellparameter sich innerhalb der Hilfs- und Stellparametergrenzen befinden und die Zielfunktion minimiert oder maximiert wird; bei dem der Speicher auch einen Satz von Steuerparametersollwertgrenzen gespeichert hat und das Optimierungsprogramm dazu ausgelegt ist, den Satz von optimalen Zielwerten für die Stellparameter herzustellen, die die Zielfunktion maximieren oder minimieren, während jeder der Steuerparameter innerhalb der Steuerparametersollwertgrenzen und jeder der Hilfsparameter und Stellparameter innerhalb der Hilfs- und Stellparametergrenzen gehalten wird, wenn keine Lösung besteht, die die Steuerparameter auf den Steuerparametersollwerten und die Hilfs- und Stellparameter innerhalb der Hilfs- und Stellparametergrenzen hält; bei dem der Speicher auch einen Satz von Prioritätsangaben für die Steuerparameter gespeichert hat und das Optimierungsprogramm dazu ausgelegt ist, den Satz von Zielstellparametern herzustellen, die die Zielfunktion maximieren oder minimieren, während jeder der Steuerparameter innerhalb der Steuerparametersollwertgrenzen gehalten wird, während eine oder mehrere der Steuerparameter die Steuerparametersollwertgrenzen basierend auf den Prioritätsangaben für die Steuerparameter verletzen darf/dürfen, wenn keine Lösung besteht, die jeden der Steuerparameter innerhalb der Steuerparametersollwertgrenzen und jede der Hilfsparameter und Stellparameter innerhalb der Hilfs- und Stellparametergrenzen hält; bei dem der Speicher auch einen Satz von Prioritätsangaben für die Hilfsparameter gespeichert hat und das Optimierungsprogramm dazu ausgelegt ist, den Satz von Zielstellparametern herzustellen, die die Zielfunktion maximieren oder minimieren, während mindestens einer der Hilfsparameter die Hilfsparametergrenzen basierend auf den Prioritätsangaben für die Hilfsparameter verletzten darf, und die Steuerparameter die Steuerparametersollwertgrenzen basierend auf den Prioritätsangaben für die Steuerparameter verletzen dürfen, wenn keine Lösung besteht, die jeden der Steuerparameter innerhalb der Steuerparametersollwertgrenzen und jeden der Hilfsparameter und Stellparameter innerhalb der Hilfs- und Stellparametergrenzen hält.A process control element configured to be used as part of a process control program implemented on a processor to control a plurality of control and auxiliary parameters of a process using a plurality of control parameters, the process control element comprising: a computer readable medium; a functional block stored on the computer-readable medium and adapted to run on the processor to effect multiple input / multiple output control of the process during each control scan period, the functional block comprising: an objective function having an optimization criterion based on the plurality of control criteria; and auxiliary parameters defined; an optimizer that uses the objective function to establish a set of optimal target values for the control and auxiliary parameters during each control scan period; a control matrix relating a predetermined subset of the plurality of control and auxiliary parameters to the plurality of control parameters; and a multiple input / multiple output control program that generates, during each control sampling period, a control signal for each of the plurality of control parameters using the control matrix and the target values for the subset of the plurality of control and auxiliary quantities at which the control signals are determined to be the subset of the plurality to drive the control and auxiliary parameters to the optimum target values for the subset of control and auxiliary parameters; wherein the functional block includes memory for storing a set of control parameter setpoints and a set of auxiliary and setpoint parameters, and wherein the optimizer is configured to obtain the set of optimal target values for the set parameters that yield the control parameters the control parameter setpoints, the assist and control parameters are within the assist and control parameter limits, and the objective function is minimized or maximized; wherein the memory has also stored a set of control parameter setpoint limits and the optimizer is configured to establish the set of optimal target values for the adjustment parameters that maximize or minimize the objective function, while each of the control parameters within the control parameter setpoint limits and each of the auxiliary parameters and set parameters within the control parameters Auxiliary and Stellparametergrenzen is maintained if there is no solution that holds the control parameters on the control parameter setpoints and the auxiliary and control parameters within the auxiliary and Stellparametergrenzen; wherein the memory has also stored a set of priority values for the control parameters and the optimizer is configured to produce the set of target setting parameters that maximize or minimize the objective function while maintaining each of the control parameters within the control parameter setpoint limits while one or more of the control parameters violate the control parameter setpoint limits based on the priority information for the control parameters if there is no solution holding each of the control parameters within the control parameter setpoint limits and each of the auxiliary parameters and set parameters within the auxiliary and setpoint parameter limits; wherein the memory has also stored a set of priority values for the auxiliary parameters and the optimizer is adapted to establish the set of target setting parameters that maximize or minimize the objective function while at least one of the auxiliary parameters is allowed to violate the auxiliary parameter limits based on the auxiliary parameter priority information and the control parameters are allowed to violate the control parameter setpoint limits based on the priority information for the control parameters if there is no solution holding each of the control parameters within the control parameter setpoint limits and each of the auxiliary parameters and set parameters within the auxiliary and setpoint parameter limits. Verfahren zur Durchführung der Steuerung eines Prozesses mit einer ersten Anzahl von Steuer- und Hilfsgrößen, die von einer zweiten Anzahl von Stellgrößen gesteuert werden, wobei das Verfahren Folgendes umfasst: eine Schrittantwortmatrix zu bestimmen, die eine Antwort jeder der Steuer- und Hilfsgrößen auf Veränderungen bei jeder der Stellgrößen definiert; eine Teilmenge der Steuer- und Hilfsgrößen auszuwählen, wobei die Teilmenge dieselbe wie oder eine geringere Anzahl von Steuer- und Hilfsgrößen aufweist als die Stellgrößen, bei dem das Auswählen der Teilmenge das Auswählen einer der am stärksten auf eine der Stellgrößen ansprechenden Steuer- oder Hilfsgrößen umfasst; eine quadratische Steuermatrix aus dem Antworten innerhalb der Antwortmatrix für die ausgewählte Teilmenge der Steuer- und Hilfsgrößen und der Stellgrößen herzustellen; und während jeder Abtastung des Prozesses einen Messwert von jeder der ausgewählten Teilmenge der Steuer- und Hilfsgrößen zu erhalten; einen optimalen Betriebszielwert für jede der ausgewählten Teilmenge der Steuer- und Hilfsgrößen zu berechnen; ein Mehrfacheingabe-/Mehrfachausgabe-Steuerprogramm ablaufen zu lassen, das die Zielwerte für jede der ausgewählten Teilmenge der Steuer- und Hilfsgrößen, die Messwerte der ausgewählten Teilmenge der Steuer- und Hilfsgrößen und die Steuermatrix verwendet, um einen Satz von Stellparametersignalen zu erzeugen; und die Stellparametersignale zur Steuerung des Prozesses zu verwenden.Method for carrying out the control of a process with a first number of control and auxiliary quantities, that of a second Number of manipulated variables controlled which method comprises: a step response matrix determining a response of each of the control and auxiliary quantities to changes in each of the manipulated variables; a Subset of the control and auxiliary quantities, the subset being the same as or a smaller number of control and auxiliary sizes as the manipulated variables, at to choose the subset selecting one of the strongest responsive to one of the manipulated variables Includes control or auxiliary quantities; a square control matrix from the responses within the response matrix for the selected To produce a subset of the control and auxiliary variables and the manipulated variables; and while every sampling of the process a reading of each of the chosen To obtain a subset of the control and auxiliary quantities; one optimal operating target value for each of the selected Calculate subset of the control and auxiliary quantities; on To run multi-input / multi-output control program, that the target values for each of the selected Subset of the control and auxiliary quantities, the measured values of the selected subset the tax and auxiliary sizes and the control matrix uses a set of control parameter signals to create; and the Stellparametersignale for controlling the Process to use. Verfahren nach Anspruch 32, bei dem das Auswählen einer der am stärksten auf eine der Stellgrößen ansprechenden Steuer- oder Hilfsgrößen das Auswählen einer der Steuer- oder Hilfsgrößen basierend zumindest auf einer Kreuzkorrelationsanalyse umfasst.The method of claim 32, wherein selecting a the strongest responsive to one of the manipulated variables Tax or auxiliary sizes that Choose based on one of the control or auxiliary quantities at least on a cross-correlation analysis. Verfahren nach Anspruch 32 oder 33, bei dem das Auswählen einer der am stärksten auf eine der Stellgrößen ansprechenden Steuer- oder Hilfsgrößen das Auswählen einer der Steuer- oder Hilfsgrößen basierend zumindest auf einem heuristischen Verfahren umfasst.The method of claim 32 or 33, wherein selecting one of the strongest on one of the Stell size responsive control or auxiliary quantities comprises selecting one of the control or auxiliary quantities based at least on a heuristic method. Verfahren nach einem der Ansprüche 32 bis 34, bei dem das Auswählen einer der am stärksten auf eine der Stellgrößen ansprechenden Steuer- oder Hilfsgrößen das Auswählen einer der Steuer- oder Hilfsgrößen basierend zumindest auf Prioritäten umfasst, die den Steuer- und Hilfsgrößen zugeordnet sind.Method according to one of claims 32 to 34, wherein the Choose one of the strongest responsive to one of the manipulated variables Tax or auxiliary sizes that Choose based on one of the control or auxiliary quantities at least on priorities includes, which are assigned to the control and auxiliary variables.
DE10341764.8A 2002-09-11 2003-09-10 Integrated model prediction control and optimization within a process control system Expired - Lifetime DE10341764B4 (en)

Applications Claiming Priority (6)

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
US10/241350 2002-09-11
US10/310416 2002-12-05
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
US10/627362 2003-07-25
US10/627,362 US7050863B2 (en) 2002-09-11 2003-07-25 Integrated model predictive control and optimization within a process control system

Publications (2)

Publication Number Publication Date
DE10341764A1 true DE10341764A1 (en) 2004-07-15
DE10341764B4 DE10341764B4 (en) 2019-01-10

Family

ID=29255267

Family Applications (2)

Application Number Title Priority Date Filing Date
DE10341764.8A Expired - Lifetime DE10341764B4 (en) 2002-09-11 2003-09-10 Integrated model prediction control and optimization within a process control system
DE10362369.8A Expired - Lifetime DE10362369B3 (en) 2002-09-11 2003-09-10 Integrated model predictive control and optimization within a process control system

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE10362369.8A Expired - Lifetime DE10362369B3 (en) 2002-09-11 2003-09-10 Integrated model predictive control and optimization within a process control system

Country Status (4)

Country Link
CN (1) CN1514318B (en)
DE (2) DE10341764B4 (en)
GB (4) GB2429539B (en)
HK (3) HK1063223A1 (en)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376472B2 (en) 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
DE10341762B4 (en) * 2002-09-11 2014-05-15 Fisher-Rosemount Systems, Inc. Managing the realizability of constraints and limitations in an optimizer for process control systems
US8005647B2 (en) 2005-04-08 2011-08-23 Rosemount, Inc. Method and apparatus for monitoring and performing corrective measures in a process plant using monitoring data with corrective measures data
US9201420B2 (en) * 2005-04-08 2015-12-01 Rosemount, Inc. Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data
DE102005025282A1 (en) * 2005-06-02 2006-12-07 Bayer Materialscience Ag Data processing system and method for controlling a plant
US7451004B2 (en) 2005-09-30 2008-11-11 Fisher-Rosemount Systems, Inc. On-line adaptive model predictive control in a process control system
GB2446343B (en) * 2005-12-05 2011-06-08 Fisher Rosemount Systems Inc Multi-objective predictive process optimization with concurrent process simulation
US8271103B2 (en) 2007-05-02 2012-09-18 Mks Instruments, Inc. Automated model building and model updating
US8301676B2 (en) 2007-08-23 2012-10-30 Fisher-Rosemount Systems, Inc. Field device with capability of calculating digital filter coefficients
US7702401B2 (en) 2007-09-05 2010-04-20 Fisher-Rosemount Systems, Inc. System for preserving and displaying process control data associated with an abnormal situation
US8065251B2 (en) * 2007-09-28 2011-11-22 Fisher-Rosemount Systems, Inc. Dynamic management of a process model repository for a process control system
US8055479B2 (en) 2007-10-10 2011-11-08 Fisher-Rosemount Systems, Inc. Simplified algorithm for abnormal situation prevention in load following applications including plugged line diagnostics in a dynamic process
US8494798B2 (en) 2008-09-02 2013-07-23 Mks Instruments, Inc. Automated model building and batch model building for a manufacturing process, process monitoring, and fault detection
US8155932B2 (en) 2009-01-08 2012-04-10 Jonas Berggren Method and apparatus for creating a generalized response model for a sheet forming machine
US8209048B2 (en) 2009-01-12 2012-06-26 Abb Automation Gmbh Method and apparatus for creating a comprehensive response model for a sheet forming machine
US9069345B2 (en) 2009-01-23 2015-06-30 Mks Instruments, Inc. Controlling a manufacturing process with a multivariate model
CN105589448A (en) * 2009-02-02 2016-05-18 费希尔-罗斯蒙特系统公司 Model predictive controller with tunable integral component to compensate for model mismatch
US20100198364A1 (en) * 2009-02-05 2010-08-05 Shih-Chin Chen Configurable Multivariable Control System
US8756039B2 (en) * 2010-03-02 2014-06-17 Fisher-Rosemount Systems, Inc. Rapid process model identification and generation
US8855804B2 (en) 2010-11-16 2014-10-07 Mks Instruments, Inc. Controlling a discrete-type manufacturing process with a multivariate model
US9541471B2 (en) 2012-04-06 2017-01-10 Mks Instruments, Inc. Multivariate prediction of a batch manufacturing process
US9429939B2 (en) 2012-04-06 2016-08-30 Mks Instruments, Inc. Multivariate monitoring of a batch manufacturing process
CN102622528B (en) * 2012-04-16 2015-02-18 广东双利电缆有限公司 Method and system for automatic generation of formula parameters required by manufacture of aluminum alloy rods
EP2881822A1 (en) * 2013-12-05 2015-06-10 Bayer Technology Services GmbH Computer-implemented method and system for automatic monitoring and status detection of entire process stages in a process unit
EP2884354A1 (en) * 2013-12-12 2015-06-17 Honeywell spol s.r.o. Model-based predictive controller with steady-state model adaptation
JP6835589B2 (en) * 2014-03-20 2021-02-24 フィッシャー−ローズマウント システムズ,インコーポレイテッド Reduced controller updates in control loops, how to control controlled devices, process control systems, process controllers
CN104765339B (en) * 2015-02-10 2017-05-10 浙江大学 FCC dynamic control method based on control variable priority
US10969135B2 (en) * 2017-07-27 2021-04-06 Johnson Controls Technology Company Central plant control system with computation reduction based on sensitivity analysis
US20190286988A1 (en) * 2018-03-15 2019-09-19 Ants Technology (Hk) Limited Feature-based selective control of a neural network
CN108427284A (en) * 2018-04-09 2018-08-21 中国石油大学(华东) A kind of cascaded structure multi-agent system coordinative coherence control method
EP3938969A1 (en) * 2019-03-15 2022-01-19 3M Innovative Properties Company Determining causal models for controlling environments
JP7358257B2 (en) * 2020-01-28 2023-10-10 住友重機械工業株式会社 Control program generation device, control program generation method, roll-to-roll conveyance system
CN113325696B (en) * 2021-06-01 2022-07-19 吉林大学 Single neuron PID and model prediction combined hybrid control method applied to crosslinked cable production equipment
CN113485109B (en) * 2021-07-12 2022-07-12 山东大学 Converter dynamic cascade control method and system based on variable priority
US20240085861A1 (en) * 2022-09-14 2024-03-14 Rockwell Automation Technologies, Inc. Programmable automation controller based optimization

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4736316A (en) 1986-08-06 1988-04-05 Chevron Research Company Minimum time, optimizing and stabilizing multivariable control method and system using a constraint associated control code
US5457625A (en) 1994-04-13 1995-10-10 The M. W. Kellogg Company Maximizing process production rates using permanent constraints
US5612866A (en) 1994-06-24 1997-03-18 Integrated Systems, Inc. Code generation system to construct an asynchronous real-time controller for a real-time system
US5574638A (en) * 1995-04-03 1996-11-12 Lu; Zhuxin J. Method of optimal scaling of variables in a multivariable predictive controller utilizing range control
US5682309A (en) 1995-04-28 1997-10-28 Exxon Chemical Patents Inc. Feedback method for controlling non-linear processes
US5758047A (en) * 1995-06-14 1998-05-26 Lu; Zhuxin Joseph Method of process controller optimization in a multivariable predictive controller
JP3412384B2 (en) 1996-03-13 2003-06-03 株式会社日立製作所 Control model construction support device
US5930762A (en) 1996-09-24 1999-07-27 Rco Software Limited Computer aided risk management in multiple-parameter physical systems
CN1099060C (en) * 1999-04-14 2003-01-15 袁璞 Universal multi-variable quantity model pre-estimating coordinating control method
US6330483B1 (en) * 1999-05-07 2001-12-11 The Boeing Company Optimal control system
US6445963B1 (en) 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems
US6445936B1 (en) * 1999-11-16 2002-09-03 Agere Systems Guardian Corp. Low power consumption quick charge for wireless device
US6721609B1 (en) 2000-06-14 2004-04-13 Fisher-Rosemount Systems, Inc. Integrated optimal model predictive control in a process control system
CN1449511A (en) * 2000-06-30 2003-10-15 陶氏化学公司 Multi-variable matrix process control
US6772019B2 (en) 2000-11-16 2004-08-03 Lockheed Martin Corporation Method and system for multi-parameter choice optimization

Also Published As

Publication number Publication date
HK1063223A1 (en) 2004-12-17
GB2432682A (en) 2007-05-30
CN1514318B (en) 2010-04-28
GB0609616D0 (en) 2006-06-21
CN1514318A (en) 2004-07-21
GB2432683A (en) 2007-05-30
GB0702678D0 (en) 2007-03-21
GB2429539A (en) 2007-02-28
DE10341764B4 (en) 2019-01-10
GB0321249D0 (en) 2003-10-08
DE10362369B3 (en) 2022-09-29
GB2394312A (en) 2004-04-21
GB2432682B (en) 2007-10-10
GB2394312B (en) 2007-10-03
GB0702680D0 (en) 2007-03-21
HK1102842A1 (en) 2007-12-07
GB2429539B (en) 2007-06-06
GB2432683B (en) 2007-10-10
HK1102841A1 (en) 2007-12-07

Similar Documents

Publication Publication Date Title
DE10341764B4 (en) Integrated model prediction control and optimization within a process control system
DE10362408B3 (en) Integrated model-based predicative control and optimization within a process control system
DE102004026979B4 (en) Multiple input / multiple output control blocks with non-linear prediction capabilities
DE102006045429B4 (en) Adaptive, Model Predictive Online control in a process control system
DE10127788B4 (en) Integrated optimal model predictive control in a process control system
DE10341574A1 (en) Configuration and viewing display for an integrated predictive model control and optimization function block
DE102004058238B4 (en) Adaptive, multivariable process control that uses model switching and attribute interpolation
DE10012258B4 (en) Self-tuning in a distributed process control environment
DE69909838T2 (en) CONTROL UNITS FOR SETTING OPTIMAL PARAMETERS IN PROCESS CONTROL SYSTEMS AND METHODS FOR APPLYING THE SAME
DE10304902B4 (en) Adaptation of extended process control blocks depending on changing process delays
DE10049513B4 (en) Method and system for determining tuning parameters for a process controller from a robustness card
DE102007017039B4 (en) Robust process model identification with model-based control techniques
DE60103037T2 (en) PROCESS CONTROL SYSTEM
DE602005002839T2 (en) PROCESSING OF INDUSTRIAL PRODUCTION PROCESSES
DE10341762B4 (en) Managing the realizability of constraints and limitations in an optimizer for process control systems
DE112009000224T5 (en) Robust and adaptive model predictive controller with tuning to compensate for model mismatch
DE102016008994A1 (en) TOOLING MACHINE, SIMULATING DEVICE AND MACHINE INCOMING DEVICE
EP2553535B1 (en) Engineering tool and method for parameterizing a model-based predictive controller
DE102011012710A1 (en) Fast identification and generation of process models
DE102019001783A1 (en) CONTROL, MACHINE LEARNING DEVICE AND SYSTEM
DE10392599T5 (en) Method for controlling a target system
DE102004025876B4 (en) Apparatus and method for batch property estimation
EP3542229A1 (en) System and method for determining the parameters of a controller
DE69119927T2 (en) Regulatory support system
EP1720080B1 (en) Method for optimising controller parameters

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R130 Divisional application to

Ref document number: 10362369

Country of ref document: DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R071 Expiry of right