DE10341762A1 - Handling the feasibility of restrictions and limits in an optimizer for process control systems - Google Patents

Handling the feasibility of restrictions and limits in an optimizer for process control systems Download PDF

Info

Publication number
DE10341762A1
DE10341762A1 DE10341762A DE10341762A DE10341762A1 DE 10341762 A1 DE10341762 A1 DE 10341762A1 DE 10341762 A DE10341762 A DE 10341762A DE 10341762 A DE10341762 A DE 10341762A DE 10341762 A1 DE10341762 A1 DE 10341762A1
Authority
DE
Germany
Prior art keywords
variables
variable
control
objective function
penalty
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
DE10341762A
Other languages
German (de)
Other versions
DE10341762B4 (en
Inventor
Wilhelm K. Austin Wojsznis
Terrence L. Round Rock Blevins
Mark Round Rock Nixon
Peter Cedar Park Wojsznis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/241,350 external-priority patent/US7376472B2/en
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE10341762A1 publication Critical patent/DE10341762A1/en
Application granted granted Critical
Publication of DE10341762B4 publication Critical patent/DE10341762B4/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
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/32Automatic controllers electric with inputs from more than one sensing element; with outputs to more than one correcting element
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • 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

Eine Optimierungstechnik zur Verwendung beim Betreiben einer Prozessanlagen-Steuereinrichtung wie einer Modellvorhersage-Steuereinrichtung verwendet ein organisiertes, systematisches, aber rechentechnisch einfaches Verfahren des Lockerns oder Neudefinierens von Stell-, Steuer- und/oder Hilfsvariablen-Beschränkungen, wenn es keine realisierbare optimale Lösung innerhalb zuvor festgesetzter Beschränkungen gibt, um dadurch eine erreichbare Lösung zur Verwendung durch die Steuereinrichtung zu entwickeln. Die Optimierungsroutine verwendet mit Strafen belegte Spielraumvariablen und/oder definiert das Beschränkungsmodell in Verbindung mit der Verwendung von Strafvariablen neu, um eine neue Zielfunktion zu entwickeln, und verwendet dann die neue Zielfunktion, um eine Steuerungslösung zu bestimmen, welche die ursprünglichen Beschränkungsgrenzen am besten einhält.An optimization technique for use in operating a process plant control device such as a model prediction control device uses an organized, systematic, but computationally simple method of loosening or redefining control, control and / or auxiliary variable restrictions if there is no feasible optimal solution within previously set limits, thereby developing an achievable solution for use by the controller. The optimization routine uses penalized margin variables and / or redefines the restriction model in conjunction with the use of penalty variables to develop a new objective function, and then uses the new objective function to determine a control solution that best adheres to the original restriction limits.

Description

Diese Anmeldung ist eine Teilfortführungsanmeldung der U.S.-Patentanmeldung mit der Seriennummer 10/241,350 und dem Titel "Integrated Model Predictive Control and Optimization Within a Process Control System", die am 11. September 2002 eingereicht wurde und deren Offenbarung ausdrücklich durch Bezugnahme hierin eingeschlossen wird.This application is a partial continuation application to US patent application serial number 10 / 241,350 and entitled "Integrated Model Predictive Control and Optimization Within a Process Control System", filed September 11 2002 and the disclosure of which is expressly incorporated by reference herein.

Dieses Patent betrifft allgemein Prozesssteuerungssysteme und insbesondere die Handhabung der Realisierbarkeit von Beschränkungen und Grenzen in einem Optimierer für Prozesssteuerungssysteme bei Verwendung beispielsweise mit einer Modellvorhersage-Steuereinrichtung zum Steuern einer Prozessanlage.This patent relates generally Process control systems and especially the handling of feasibility of restrictions and limits in an optimizer for process control systems when used, for example, with a model prediction controller to control a process plant.

Prozesssteuerungssysteme, beispielsweise verteilte oder skalierbare Prozesssteuerungssysteme wie die in chemischen, petrochemischen oder anderen Prozessen verwendeten, enthalten üblicherweise eine oder mehrere Prozesssteuereinrichtungen, welche über analoge, digitale oder kombinierte analoge/digitale Busse kommunikativ miteinander, mit mindestens einer Host- oder Bediener-Workstation und mit einer oder mehreren Anlageneinrichtungen gekoppelt sind. Die Anlageneinrichtungen, welche zum Beispiel Ventile, Ventilstellmechanismen, Schalter und Geber (z.B. Temperatur-, Druck- und Durchflusssensoren) sein können, führen im Prozess Funktionen wie das Öffnen oder Schließen von Ventilen und das Messen von Prozessparametern durch. Die Prozesssteuereinrichtung empfängt Signale, welche von den Anlageneinrichtungen vorgenommene Prozessmessungen melden, und/oder andere die Anlageneinrichtungen betreffende Informationen, verwendet diese Informationen, um eine Steuerroutine zu implementieren, und erzeugt dann Steuersignale, welche über die Busse an die Anlageneinrichtungen gesendet werden, um den Betrieb des Prozesses zu steuern. Informationen von den Anlageneinrichtungen und der Steuereinrichtung werden üblicherweise einer oder mehreren von der Bediener-Workstation ausgeführten Anwendungen verfügbar gemacht, um einen Bediener in die Lage zu versetzen, eine gewünschte Funktion bezüglich des Prozesses, beispielsweise das Anzeigen des aktuellen Zustands des Prozesses, das Verändern des Betriebsablaufs des Prozesses usw., durchzuführen.Process control systems, for example distributed or scalable process control systems like those in chemical, petrochemical or other processes commonly used one or more process control devices, which are connected via analog, digital or combined analog / digital buses communicating with each other, with at least one host or operator workstation and with one or several plant facilities are coupled. The plant facilities, which for example valves, valve actuating mechanisms, switches and Encoders (e.g. temperature, pressure and flow sensors) can lead in the process Functions like opening or closing of valves and measuring process parameters. The process control device receives Signals which process measurements made by the plant equipment report, and / or other information related to the facility, uses this information to implement a control routine and then generates control signals which are sent to the facility equipment via the buses be sent to control the operation of the process. information of the plant facilities and the control facility are usually one or more applications run by the operator workstation available made to enable an operator to perform a desired function in terms of of the process, for example displaying the current status of the process, the changing the operational flow of the process, etc.

Prozesssteuereinrichtungen werden üblicherweise dafür programmiert, verschiedene Algorithmen, Unterroutinen oder Regelschleifen (welche allesamt Steuerroutinen sind) für jede aus einer Anzahl von verschiedenen, für einen Prozess definierten oder in einem Prozess enthaltenen Schleifen, beispielsweise Durchfluss-Regelschleifen, Temperatur-Regelschleifen, Druck-Regelschleifen usw., auszuführen. Allgemein enthält jede solche Regelschleife einen oder mehrere Eingangsblöcke wie einen Analogeingangs- (AI-) Funktionsblock, einen Einzelausgangs-Steuerblock wie einen Proportional-Integrier-Differenzier- (PID-) oder einen Fuzzy-Logic-Regelungs-Funktionsblock, und einen Einzelausgangs-Block wie einen Analogausgangs- (AO-) Funktionsblock. Diese Regelschleifen führen üblicherweise eine Einzeleingangs-/Einzelausgangs-Steuerung durch, weil der Steuerblock einen einzigen Steuerausgang erzeugt, der zum Steuern eines einzigen Prozesseingangs wie einer Ventilstellung usw. verwendet wird. In bestimmten Fällen aber ist die Verwendung einer Anzahl von unabhängig arbeitenden Einzeleingangs-/Einzelausgangs-Regelschleifen nicht sehr effektiv, weil die gesteuerten Prozessvariablen von mehr als einem einzigen Prozesseingang beeinflusst werden und sich tat sächlich jeder Prozesseingang auf den Zustand vieler Prozessausgänge auswirken kann. Ein Beispiel dieser Situation könnte zum Beispiel in einem Prozess mit einem Behälter auftreten, welcher durch zwei Eingangsleitungen gefüllt und durch eine einzige Ausgangsleitung entleert wird, wobei jede Leitung von einem anderen Ventil gesteuert wird und in welchem Temperatur, Druck und Durchsatz des Behälters so gesteuert werden, dass sie auf oder nahe bei gewünschten Werten liegen. Wie oben angedeutet, kann die Steuerung des Durchsatzes, der Temperatur und des Drucks des Behälters mittels einer separaten Durchsatz-Regelschleife, einer separaten Temperatur-Regelschleife und einer separaten Druck-Regelschleife durchgeführt werden. In dieser Situation kann jedoch der Betrieb der Temperatur-Regelschleife durch Ändern der Einstellung eines der Eingangsventile zwecks Steuern der Temperatur im Behälter bewirken, dass der Druck im Behälter steigt, was zum Beispiel die Druck-Regelschleife veranlassst, das Auslassventil zu öffnen, um den Druck zu senken. Diese Maßnahme kann dann die Durchsatz-Regelschleife veranlassen, eines der Eingangsventile zu schließen, was sich auf die Temperatur auswirkt und die Temperatur-Regelschleife veranlasst, irgendeine andere Maßnahme zu ergreifen. In diesem Beispiel versteht es sich, dass die Einzeleingangs-/Einzelausgangs-Regelschleifen die Prozessausgänge (in diesem Fall Durchsatz, Temperatur und Druck) veranlassen, sich auf eine inakzeptable Weise zu verhalten, bei welcher die Ausgänge schwingen, ohne jemals einen stationären Zustand zu erreichen.Process control devices are common programmed for various algorithms, subroutines or control loops (which all are control routines) for each of a number of different ones defined for a process or loops contained in a process, for example flow control loops, temperature control loops, Pressure control loops etc. Generally, each contains such a control loop one or more input blocks such as an analog input (AI) function block, a single output control block like one Proportional-integrating-differentiating (PID) or a fuzzy logic control function block, and a single output block such as an analog output (AO) function block. These control loops usually lead single input / single output control by the control block generates a single control output that is used to control a single one Process input such as a valve position etc. is used. In Certain cases but is the use of a number of independently operating single input / single output control loops not very effective because the controlled process variables by more be influenced as a single process input and everyone did Process input affect the state of many process outputs can. An example of this situation could be found in a Process with a container occur, which is filled by two input lines and is emptied through a single output line, with each line is controlled by another valve and at what temperature, Pressure and throughput of the container can be controlled so that they are at or close to desired Values. As indicated above, control of throughput, the temperature and pressure of the container by means of a separate one Throughput control loop, a separate temperature control loop and a separate pressure control loop. In this situation However, the operation of the temperature control loop can be changed by changing the Setting one of the input valves to control the temperature in the container cause the pressure in the container increases, which causes the pressure control loop, for example, that Open exhaust valve, to lower the pressure. This measure can then cause the throughput control loop to close one of the inlet valves, which is related to the temperature affects and the temperature control loop causes any other measure to take. In this example it is understood that the single input / single output control loops the process outputs (in this case, throughput, temperature and pressure) cause themselves behave in an unacceptable way where the outputs vibrate, without ever having a stationary To achieve state.

Modellvorhersage-Steuerung (MPC – Model Predictive Control) oder andere Arten von hochentwickelten Steuerungen wurden verwendet, um in Situationen, in welchen Änderungen an einer einzelnen gesteuerten Prozessvariablen sich auf mehr als eine Prozessvariable oder auf mehr als einen Ausgang auswirken, eine Prozesssteuerung durchzuführen. Seit den späten 1970er-Jahren wurden viele erfolgreiche Implementierungen von Modellvorhersage-Steuerung berichtet, und MPC ist die wichtigste Form einer hochentwickelten Mehrvariablen-Steuerung in der Prozessindustrie geworden. Überdies wurde MPC in verteilten Steuerungssystemen als eine mehrschichtige Software für ein verteiltes Steuerungssystem implementiert.Model Predictive Control (MPC) or other types of sophisticated controls have been used to perform process control in situations where changes to a single controlled process variable affect more than one process variable or output. Many successful implementations of model prediction control have been reported since the late 1970s, and MPC is the primary form of a sophisticated one Become multi-variable control in the process industry. In addition, MPC has been implemented in distributed control systems as a multi-layer software for a distributed control system.

Allgemein ist MPC eine Mehreingangs-/Mehrausgangs-Steuerstrategie, in welcher die Auswirkungen des Änderns jedes einzelnen einer Anzahl von Prozesseingängen auf jeden einzelnen einer Anzahl von Prozessausgängen gemessen werden und diese gemessenen Antworten dann verwendet werden, um eine Steuermatrix oder ein Modell des Prozesses zu erzeugen. Das Prozessmodell oder die Steuermatrix (welches bzw. welche in der Regel den stationären Betrieb des Prozesses definiert) wird mathematisch invertiert und dann in einer oder als eine Mehreingangs-/Mehrausgangs-Steuereinrichtung verwendet, um die auf an den Prozesseingängen vorgenommenen Änderungen beruhenden Prozessausgänge zu steuern. In manchen Fällen wird das Prozessmodell als eine Prozessausgangs-Ansprechkennlinie (üblicherweise eine Sprungantwort-Kennlinie) für jeden der Prozesseingänge dargestellt, und diese Kennlinien können auf Grundlage einer an jeden der Prozesseingänge gelieferten Reihe von beispielsweise pseudozufälligen Sprungänderungen erzeugt werden. Diese Ansprechkennlinien können verwendet werden, um den Prozess auf bekannte Weisen zu modellieren. MPC ist nach dem Stand der Technik bekannt, und deshalb werden ihre Eigenschaften hierin nicht beschrieben. Allgemein beschrieben wird MPC in Qin, S. Joe und Thomas A. Badgwell, "An Overview of Industrial Model Predictive Control Technology", AKNE Conference, 1996. Darüber hinaus beschreiben die U.S.-Patente Nr. 4,616,308 und Nr. 4,349,869 allgemein MPC-Steuereinrichtungen, die in einem Prozesssteuerungssystem verwendet werden können.In general, MPC is a multi-input / multi-output control strategy, in which the impact of changing each one of a number of process inputs on each one Number of process outputs are measured and these measured responses are then used to create a control matrix or model of the process. The process model or the control matrix (which or which in usually the stationary Operation of the process defined) is inverted mathematically and then in or as a multi-input / multi-output controller used to make the changes made to the process inputs based process outputs to control. In some cases the process model is used as a process output response characteristic (usually a step response characteristic) for each of the process inputs shown, and these characteristics can be based on an each of the process inputs supplied series of, for example, pseudorandom jump changes be generated. These response characteristics can be used to Model the process in known ways. MPC is according to the state known in the art, and therefore their properties are described herein not described. MPC is generally described in Qin, S. Joe and Thomas A. Badgwell, "An Overview of Industrial Model Predictive Control Technology ", AKNE Conference, 1996. About it U.S. Patent Nos. 4,616,308 and 4,349,869 also describe generally MPC controllers used in a process control system can be.

MPC wurde als ein sehr effektives und brauchbares Steuerungsverfahren erkannt und in Verbindung mit Prozessoptimierung verwendet. Zum Optimieren eines Prozesses, der MPC verwendet, minimiert oder maximiert ein Optimierer eine oder mehrere von der MPC-Routine bestimmte Prozesseingangsvariablen, um zu bewirken, dass der Prozess an einem optimalen Punkt läuft. Während dieses Verfahren rechentechnisch möglich ist, ist es, um den Prozess von einem wirtschaftlichen Standpunkt aus gesehen zu optimieren, erforderlich, die Prozessvariablen auszuwählen, welche zum Beispiel beträchtliche Auswirkungen auf die Verbesserung des wirtschaftlichen Betriebs des Prozesses (z.B. Prozessdurchsatz oder -qualität) haben. Von einem finanziellen oder wirtschaftlichen Standpunkt aus gesehen erfordert das Betreiben des Prozesses an einem optimalen Punkt üblicherweise das Steuern vieler Prozessvariablen in Verbindung miteinander, nicht nur einer einzigen Prozessvariable.MPC has been considered a very effective one and usable control method recognized and in connection with Process optimization used. To optimize a process that MPC uses, minimizes, or maximizes an or an optimizer several process input variables determined by the MPC routine, to make the process run at an optimal point. During this Computationally possible procedure is, it is to the process from an economic point of view From the point of view of optimization, it is necessary to select which process variables for example considerable Impact on the improvement of economic operations of the process (e.g. process throughput or quality). From a financial or economic point of view usually requires operating the process at an optimal point controlling many process variables in conjunction with each other, not just a single process variable.

Das Optimieren unter Verwendung quadratischer Programmierungsverfahren oder gebräuchlicherer Verfahren wie Verfahren mit innerhalb liegenden Punkten wurde als eine Lösung vorgeschlagen, um dynamische Optimierung mit MPC zu erzielen. Bei diesen Verfahren wird eine Optimierungslösung bestimmt, und der Optimierer liefert der Steuereinrichtung Bewegungen in den Steuereinrichtungs-Ausgängen (d.h. in den Stellvariablen des Prozesses), wobei er Prozessdynamik, aktuelle Beschränkungen und Optimierungsziele berücksichtigt. Dieser Ansatz ist jedoch mit einem enormen Rechenaufwand verbunden und beim derzeitigen technologischen Stand nicht praktisch realisierbar.Optimizing using quadratic Programming procedures or more common procedures such as procedures with within points has been proposed as a solution to dynamic Achieve optimization with MPC. In this process, a optimization solution determined, and the optimizer provides the controller with movements in the control device outputs (i.e. in the process control variables), whereby he process dynamics, current restrictions and optimization goals are taken into account. However, this approach involves an enormous amount of computing effort and cannot be practically implemented at the current technological level.

In den meisten Fällen ist bei Verwendung von MPC die Anzahl der im Prozess verfügbaren Stellvariablen (d.h. der Steuerausgänge der MPC-Routine) größer als die Anzahl der Steuervariablen des Prozesses (d.h. die Anzahl der Prozessvariablen, die gesteuert werden müssen, um auf einem jeweiligen Sollwert zu liegen). Folglich gibt es in der Regel mehr Freiheitsgrade, die zur Optimierung und zur Handhabung von Beschränkungen zur Verfügung stehen. Theoretisch sollten durch Prozessvariablen, Beschränkungen, Grenzen und wirtschaftliche Faktoren ausgedrückte, einen optimalen Arbeitspunkt des Prozesses definierende Werte berechnet werden, um eine solche Optimierung durchzuführen. In vielen Fällen sind diese Prozessvariablen beschränkte Variablen, weil sie mit physikalischen Eigenschaften des Prozesses, zu welchem sie gehören, zusammenhängende Grenzen aufweisen, innerhalb derer diese Variablen gehalten werden müssen. Zum Beispiel ist eine Prozessvariable, die einen Behälterfüllstand darstellt, auf den Bereich zwischen dem im Behälter physikalisch maximal und minimal erreichbaren Füllstand begrenzt. Eine Optimierungsfunktion kann die mit jeder der beschränkten Variablen oder Hilfsvariablen verknüpften Kosten und/oder Erlöse berechnen, um auf einem Niveau zu arbeiten, auf welchem der Erlös maximiert wird, die Kosten minimiert werden usw. Messungen dieser Hilfsvariablen können dann als Eingänge an die MPC-Routine geliefert und von der MPC-Routine als Steuervariablen behandelt werden, welche einen Sollwert haben, der gleich dem von der Optimierungsroutine definierten Arbeitspunkt für die Hilfsvariable ist.In most cases, when using MPC the number of control variables available in the process (i.e. of the control outputs the MPC routine) larger than the number of control variables of the process (i.e. the number of Process variables that need to be controlled in order to act on a particular Setpoint). So there are usually more degrees of freedom, those for optimizing and handling restrictions to disposal stand. Theoretically, process variables, restrictions, Limits and economic factors expressed an optimal working point values defining the process are calculated to such a Perform optimization. In many cases these process variables are restricted variables because they are with physical properties of the process to which they belong, related boundaries within which these variables must be kept. To the An example is a process variable that represents a tank level to which Area between that in the container physically maximum and minimum achievable level is limited. An optimization function can do that with any of the restricted Calculate variables or auxiliary variables linked costs and / or revenues, to work at a level that maximizes the proceeds the costs are minimized, etc. measurements of these auxiliary variables can then as inputs delivered to the MPC routine and by the MPC routine as control variables that have a setpoint equal to that of the optimization routine defines the working point for the auxiliary variable is.

Die U.S.-Patentanmeldung mit der Seriennummer 10/241,350 und dem Titel "Integrated Model Predictive Control and Optimization Within a Process Control System", die am 11. September 2002 eingereicht wurde und die auf den Rechtsinhaber dieser Anmeldung übertragen ist und deren Offenbarung hiermit ausdrücklich durch Bezugnahme hierin eingeschlossen wird, offenbart ein Verfahren und eine Einrichtung zum Erzielen von Online-Optimierung mit einem hochentwickelten Steuerblock wie beispielsweise einem MPC-Block, in welchem die Optimierung ein integraler Bestandteil der Mehrvariablen-Modellvorhersage-Steuerung ist. Dieses Verfahren ist großenteils erfolgreich, weil die MPC-Steuereinrichtung im normalen Betrieb eine Zukunftsvorhersage der Prozessausgänge bis zu einem stationären Zustand liefert, wodurch sie die notwendigen Bedingungen für das zuverlässige Funktionieren des Optimierers schafft. Dieser Optimierungsansatz zum Finden einer Lösung funktioniert jedoch nicht immer, weil in manchen Situationen einige der Ausgänge der Steuereinrichtung oder der vorhergesagten Ausgänge der Steuereinrichtung (hierin als Stellvariablen bezeichnet) oder einige der Prozessausgänge (hierin als gesteuerte oder Steuervariablen bezeichnet), welche mit jeder der möglichen optimierten Lösungen verknüpft sind, außerhalb zuvor für diese Variablen eingestellter, vordefinierter Beschränkungen oder Grenzen liegen und die Lösung deshalb in einem zuvor definierten, nicht realisierbaren Bereich liegt. Es ist wünschenswert und in vielen Steuersituationen erforderlich, dass der Optimierer, wenn er mit dem Betrieb der MPC oder einer anderen Steuereinrichtung integriert ist, immer eine Lösung findet und gleichzeitig im bestmöglichen Ausmaß vermeidet, in einem nicht realisierbaren Bereich zu arbeiten.US patent application serial number 10 / 241,350 and entitled "Integrated Model Predictive Control and Optimization Within a Process Control System", which was filed on September 11, 2002 and which is assigned to the right holder of this application and the disclosure of which is hereby expressly disclosed Reference, incorporated herein, discloses a method and apparatus for achieving online optimization with a sophisticated control block, such as an MPC block, in which the optimization is an integral part of the multi-variable model prediction control. This method is largely successful because, during normal operation, the MPC control device provides a future forecast of the process outputs up to a steady state, which creates the conditions necessary for the optimizer to function reliably. This optimization approach to finding However, a solution does not always work because in some situations some of the controller outputs or the predicted controller outputs (referred to herein as control variables) or some of the process outputs (referred to herein as controlled or control variables) are associated with each of the possible optimized solutions , lie outside of predefined limits or limits previously set for these variables and the solution therefore lies in a previously defined, unrealizable area. It is desirable, and in many control situations, that the optimizer, when integrated with the operation of the MPC or other control device, always find a solution and at the same time avoid to the best possible extent to work in an unrealizable area.

Wenn ein Optimierer feststellt, dass es keine realisierbare optimale Lösung gibt, welche alle Prozesssteuerungs-Ausgänge oder -Eingänge innerhalb zuvor festgesetzter Beschränkungen oder Grenzen hält, lockert der Optimierer gegenwärtig meistens eine oder mehrere Beschränkungen oder Grenzen, um eine akzeptable Lösung zu finden. Dieses Wiederherstellungsverfahren verwendet üblicherweise mit jeder der Stell- und Steuervariablen verknüpfte Prioritäten, um zu bestimmen, welche Beschränkungsgrenze zuerst zu lockern ist. Hier besteht ein einfacher Ansatz darin, die Beschränkungen niedrigster Priorität fallen zu lassen, um dem Optimierer zu ermöglichen, eine Lösung zu finden, welche die Beschränkungen höherer Priorität einhält. Dieses Verfahren ist jedoch nicht unbedingt die zweckmäßigste Art und Weise, bei nicht realisierbaren Lösungen mit Beschränkungen umzugehen, weil das Fallenlassen von Beschränkungen niedrigerer Priorität zur Folge haben kann, dass diese Beschränkungen weit über ihre Grenzen hinausschießen, nur um eine minimale Verstellung an einer oder mehreren Beschränkungen höherer Priorität zu ermöglichen. Außerdem ist es gewöhnlich erforderlich, abzuschätzen, wie viele Beschränkungen fallengelassen werden müssen, um eine realisierbare Lösung zu finden. Natürlich ist es wünschenswert, die minimale Anzahl von Beschränkungen fallen zu lassen, die erforderlich ist, um die Einhaltung der Beschränkungen höherer Priorität zu ermöglichen. Um die angemessene Anzahl fallenzulassender Beschränkungen zu bestimmen, kann es jedoch erforderlich sein, auf den verfügbaren Freiheitsgraden im System beruhende Offline-Berechnungen durchzuführen oder den Optimierer zu veranlassen, eine Beschränkung iterativ fallen zu lassen und zu bestimmen, ob bei dem neuen reduzierten Satz von Beschränkungen eine realisierbare Lösung existiert, bis eine realisierbare Lösung gefunden wird. In Echtzeit- oder Online-Optimierungssystemen funktionieren Offline-Berechnungen leider nicht gut, und der iterative Ansatz ist in der Regel unbegrenzt und kann deshalb eine inakzeptable Verzögerung beim Finden einer realisierbaren Lösung verursachen. In anderen Worten, der Prozess des Entwickelns einer optimalen Lösung durch aufeinanderfolgendes Fallenlassen von Beschränkungen muss möglicherweise wiederholt werden, bis eine Lösung gefunden wird, und ein solcher zeitlich unbegrenzter iterativer Prozess ist in den meisten Echtzeit-Optimierungsanwendungen nicht wünschenswert.If an optimizer finds that there is no feasible optimal solution which all process control outputs or inputs within predetermined limits or limits, loosens the optimizer currently usually one or more restrictions or limits to one acceptable solution to find. This recovery process is commonly used priorities associated with each of the control and control variables to to determine which restriction limit to loosen first. Here's a simple approach the restrictions lowest priority drop to allow the optimizer to find a solution find what the restrictions higher priority comply. However, this procedure is not necessarily the most appropriate and way, with unrealizable solutions with restrictions deal because dropping lower priority restrictions results may have these restrictions more than push their limits, just a minimal adjustment to one or more restrictions higher priority to enable. Moreover it is usually necessary estimate how many restrictions have to be dropped a feasible solution to find. Naturally is it desirable the minimum number of restrictions drop that is required to comply with the restrictions higher priority to enable. To determine the appropriate number of restrictions to drop however, it may be necessary to determine on the available degrees of freedom offline calculations based on the system perform or to have the optimizer drop an iterative constraint and determine if the new reduced set of constraints a feasible solution exists until a feasible solution is found. Real time- or online optimization systems, offline calculations work unfortunately not good, and the iterative approach is usually unlimited and can therefore cause an unacceptable delay in finding a realizable one solution cause. In other words, the process of developing one optimal solution through successive dropping of restrictions may have to be repeated until a solution is found, and such a time-limited iterative Process is not in most real-time optimization applications desirable.

Es wurden mehrere andere bekannte Ansätze zum Lösen der Optimierung bei Vorliegen nicht realisierbarer Lösungen vorgeschlagen. Zum Beispiel offenbart Tyler, M.L. und Morari M., "Propositional Logic in Control and Monitoring Problems," Proceedings of European Control Conference '97, Seiten 623–628, Brüssel, Belgien, Juni 1997, das Verwenden ganzzahliger Variablen, um die Gewichtung zu bewältigen, wobei die Größe der Übertretung durch Lösen einer Folge von gemischten ganzzahligen Optimierungsproblemen minimiert wird. Alternativ bespricht Vada, J., Slupphaug, O. und Foss, B.A., "Infeasibility Handling in Linear MPC subject to Prioritized Constraints", Preprints IFAC '99, 14th World Congress, Peking, China, Juli 1999, einen Algorithmus, welcher verwendet werden kann, um eine Folge von Problemen linearer Programmierung (LP) oder Problemen quadratischer Programmierung (QP) zu lösen, um die Übertretungen der Beschränkungen, welche nicht eingehalten werden können, zu minimieren. Jedoch sind diese Ansätze beide rechentechnisch anspruchsvoll und für schnelle Echtzeit-Anwendungen in der Regel nicht ausreichend oder akzeptabel. Alternativ offenbart Vada, J., Slupphaug, 0. und Johansen, T.A., "Efficient Infeasibility Handling in Linear MPC subject to Prioritized Constraints," ACC2002 Proceedings, Anchorage, Alaska, Mai 2002, einen Offline-Algorithmus, der LP-Gewichte berechnet, welche die berechneten Beschränkungsübertretungen optimieren. Während dieses Verfahren die Belastung durch übermäßigen Rechenaufwand in eine Offline-Umgebung verlagert, erfordert es das Umgehen mit einem zusätzlichen Offline-Optimierungsproblem und ist für Online- oder Echtzeit-Optimierungsprozeduren nicht sehr nützlich.Several other people became known approaches to solve the optimization in the presence of unrealizable solutions. For example, Tyler, M.L. and Morari M., "Propositional Logic in Control and Monitoring Problems, "Proceedings of European Control Conference '97, pages 623-628, Brussels, Belgium, June 1997, using integer variables to weight to manage something, being the size of the violation by loosening a sequence of mixed integer optimization problems is minimized. Alternatively, Vada, J., Slupphaug, O. and Foss, B.A. discusses "Infeasibility Handling in Linear MPC subject to Prioritized Constraints ", Preprints IFAC '99, 14th World Congress, Beijing, China, July 1999, an algorithm that can be used to a series of linear programming (LP) problems or problems quadratic programming (QP) to solve the violations of restrictions, which cannot be adhered to. however are these approaches both computationally demanding and for fast real-time applications usually not sufficient or acceptable. Alternatively disclosed Vada, J., Slupphaug, 0. and Johansen, T.A., "Efficient Infeasibility Handling in Linear MPC subject to Prioritized Constraints, "ACC2002 Proceedings, Anchorage, Alaska, May 2002, an offline algorithm that calculates LP weights, which the calculated limit violations optimize. While This procedure takes the burden of excessive computing effort into one Moving offline environment, it requires dealing with an additional one Offline optimization problem and is for online or real time optimization procedures not very useful.

Ein integriertes Optimierungsverfahren, welches zum Optimieren einer hochentwickelten Steuerungsprozedur wie einer Modellvorhersage-Steuerungsprozedur verwendet werden kann, verwendet ein organisiertes, systematisches, aber rechentechnisch einfaches Verfahren des Lockerns oder Neudefinierens von Beschränkungen oder Grenzen für Stell- oder Steuervariablen, wenn es keine realisierbare optimale Lösung innerhalb der zuvor festgesetzten Beschränkungen oder Grenzen gibt, um dadurch eine erreichbare optimale Lösung zur Verwendung in der Steuerprozedur zu finden. Insbesondere verwendet die Optimierungsroutine, wenn sie mit einer innerhalb zuvor festgesetzter Beschränkungsgrenzen nicht realisierbaren Optimierer-Lösung konfrontiert wird, auf mit Strafen belegten Spielraumvariablen und/oder auf dem Neudefinieren des Beschränkungsmodells beruhende, robuste und zuverlässige Verfahren, um systematisch die beste Lösung zu wählen. Weil das offenbarte Verfahren rechentechnisch einfach ist, eignet sich dieses Verfahren zur Online-Implementierung eines Echtzeit-Optimierers.An integrated optimization process which is used to optimize a sophisticated control procedure how a model prediction control procedure can be used uses an organized, systematic but computationally simple process of loosening or redefining restrictions or limits for Control or control variables if there is no realizable optimal solution within the limits or limits previously set, to thereby achieve an achievable optimal solution for use in the Find tax procedure. In particular, the optimization routine uses if they with a limitation set within previously unrealizable optimizer solution is faced with penalized margin variables and / or redefining of the restriction model, robust and reliable Procedures to systematically choose the best solution. Because the method disclosed is computationally simple, this method is suitable for online implementation a real-time optimizer.

In einer Ausführungsform kann der Optimierer eine Zielfunktion verwenden, die mit Strafen belegte Spielraumvariablen enthält, um bei Vorliegen einer oder mehrerer Stell- oder Steuervariablen, welche über voreingestellte Grenzen hinaus getrieben werden, eine optimale Lösung zu finden. In einer anderen Ausführungsform kann der Optimierer das Beschränkungsmodell neu definieren, um dadurch die akzeptablen Grenzen für Stell- oder Steuervariablen, welche außerhalb der Grenzen liegen, neu zu definieren, und dann eine im neuen Beschränkungsmodell definierte Zielfunktion mit Strafvariablen verwenden, um die außerhalb der Grenzen liegenden Beschränkungen mit höheren Prioritäten ohne weitere Beschränkungsübertretungen bei Beschränkungen niedrigerer Priorität gegen zuvor festgesetzte Grenzen zu treiben. In einer weiteren Ausführungsform kann der Optimierer die Verwendung von mit Strafen belegten Spielraumvariablen mit dem Neudefinieren des Beschränkungsmodells verschmelzen, um ein flexibles und effizientes Verfahren zur Handhabung von Beschränkungen zu schaffen.In one embodiment, the optimizer use an objective function, the penalized margin variable contains in the presence of one or more control or control variables, which about preset limits are pushed out, an optimal solution too Find. In another embodiment the optimizer can use the constraint model redefine to thereby accept the acceptable limits for or control variables that are outside of boundaries to redefine, and then one in the new constraint model use defined objective function with punitive variables to the outside limits with higher priorities without further violations of restrictions with restrictions lower priority to push against previously set limits. In a further embodiment can the optimizer the use of penalized margin variables with redefining the constraint model merge to create a flexible and efficient method of handling of restrictions to accomplish.

1 ist ein Blockschaltbild eines Prozesssteuerungssystems einschließlich eines Steuermoduls mit einem hochentwickelten Steuereinrichtungs-Funktionsblock, welcher einen Optimierer mit einer MPC-Steuereinrichtung integriert; 1 Figure 4 is a block diagram of a process control system including a control module with a sophisticated controller function block that integrates an optimizer with an MPC controller;

2 ist ein Blockschaltbild des hochentwickelten Steuereinrichtungs-Funktionsblocks aus 1, in welchen ein Optimierer und eine MPC-Steuereinrichtung integriert sind; 2 Fig. 3 is a block diagram of the advanced controller functional block from 1 , in which an optimizer and an MPC control device are integrated;

3 ist ein Flussdiagramm, welches eine Art und Weise des Erzeugens und Einrichtens des integrierten Optimierer- und MPC-Steuereinrichtungs-Funktionsblocks aus 2 veranschaulicht; 3 FIG. 10 is a flowchart outlining one way of creating and setting up the integrated optimizer and MPC controller function block 2 illustrated;

4 ist ein Flussdiagramm, welches den Betrieb des integrierten Optimierers und der MPC-Steuereinrichtung aus 2 während des Online-Prozessbetriebs veranschaulicht; 4 Fig. 3 is a flowchart showing the operation of the integrated optimizer and the MPC controller 2 illustrated during online process operation;

5 ist eine grafische Darstellung, welche eine Art und Weise des Lockerns einer Stellvariablen-Beschränkung oder -Grenze mittels Spielraumvariablen in einer Zielfunktion des Optimierers aus 2 veranschaulicht; 5 FIG. 10 is a graphical representation showing a manner of loosening a variable restriction or limit using margin variables in a target function of the optimizer 2 illustrated;

6 ist eine grafische Darstellung, welche eine Art und Weise des Lockerns von mit einem Sollwert verknüpften Bereichen mittels Spielraumvariablen in der Zielfunktion des Optimierers aus 2 veranschaulicht; 6 FIG. 3 is a graphical representation showing a manner of loosening areas linked to a target value by means of margin variables in the target function of the optimizer 2 illustrated;

7 ist eine grafische Darstellung, welche eine Art und Weise des Lockerns zweier Sätze von mit einem Sollwert verknüpften Bereichen mittels niedrigerer und höherer mit Strafen belegter Spielraumvariablen in der Zielfunktion des Optimierers aus 2 veranschaulicht; 7 FIG. 12 is a graphical representation showing a manner of loosening two sets of ranges associated with a setpoint using lower and higher penalized margin variables in the optimizer target function 2 illustrated;

8 ist eine grafische Darstellung, welche eine Art und Weise des Neudefinierens des Beschränkungsmodells oder der Beschränkungsgrenzen für eine Stellvariable und des Verwendens von mit dem neuen Beschränkungsmodell verknüpften Strafvariablen in der Zielfunktion des Optimierers aus 2 veranschaulicht; 8th Figure 11 is a graphical representation showing a way of redefining the constraint model or constraints for a variable and using penalty variables associated with the new constraint model in the optimizer's objective function 2 illustrated;

9 ist eine grafische Darstellung, welche die Verwendung sowohl von Spielraumvariablen als auch des Neudefinierens eines Beschränkungsmodells zum Durchführen der Optimierung bei Vorliegen einer oder mehrerer außerhalb der Grenzen liegender Stellvariablen veranschaulicht; und 9 FIG. 12 is a graphical representation illustrating the use of both margin variables and redefining a constraint model to perform the optimization when one or more out-of-bounds variables exist; and

10 ist eine grafische Darstellung, welche die Verwendung von Spielraumvariablen zum Optimieren bei Vorliegen eines idealen Ruhewerts einer Stellvariable veranschaulicht. 10 is a graphical representation illustrating the use of margin variables for optimizing when there is an ideal rest value of a control variable.

Wie in 1 gezeigt, enthält ein Prozesssteuerungssystem 10 eine Prozesssteuereinrichtung 11, welche mit einer Datenprotokolliereinrichtung 12 und mit einer bzw. einem oder mehreren Host-Workstations oder -Computern 13 (welche irgendeine Art von Personalcomputern, Workstations usw. sein können), die jeweils einen Anzeigebildschirm 14 haben, kommunikativ verbunden ist. Die Steuereinrichtung 11 ist über Eingangs-/Ausgangs- (E/A-)Karten 26 und 28 auch mit Anlageneinrichtungen 1522 verbunden. Die Datenprotokolliereinrichtung 12 kann irgendeine gewünschte Art von Datenerfassungseinrichtung sein, welche über irgendeine gewünschte Art von Speicher und irgendeine gewünschte oder bekannte Software, Hardware oder Firmware zum Speichern von Daten verfügt, und kann von den Workstations 13 getrennt (wie in 1 dargestellt) oder ein Teil einer der Workstations 13 sein. Die Steuereinrichtung 11, welche beispielsweise die von Emerson Process Management vertriebene Steuereinrichtung Delta VTM sein kann, ist zum Beispiel über eine Ethernet-Verbindung oder irgendein anderes gewünschtes Kommunikationsnetz 29 mit den Host-Computern 13 und der Datenprotokolliereinrichtung 12 kommunikativ verbunden. Das Kommunikationsnetz 29 kann ein mittels drahtgebundener oder drahtloser Technologie implementiertes lokales Netz (LAN), weiträumiges Netz (WAN), Telekommunikationsnetz usw. sein. Die Steuereinrichtung 11 ist mittels irgendeiner gewünschten, zum Beispiel mit standardgemäßen 4-20-mA-Einrichtungen verknüpften Hardware und Software und/oder irgendeines intelligenten Kommunikationsprotokolls wie des FOUNDATIONTM-Fieldbus-Protokolls (Fieldbus), des HARTTM-Protokolls usw. mit den Anlageneinrichtungen 15-22 kommunikativ verbunden.As in 1 shown includes a process control system 10 a process control device 11 which with a data logger 12 and with one or more host workstations or computers 13 (which can be any type of personal computers, workstations, etc.), each with a display screen 14 have communicative connection. The control device 11 is about input / output (I / O) cards 26 and 28 also with plant facilities 15 - 22 connected. The data logger 12 can be any desired type of data acquisition device having any desired type of memory and any desired or known software, hardware or firmware for storing data, and can be from the workstations 13 separated (as in 1 shown) or part of one of the workstations 13 his. The control device 11 , which can be the Delta VTM control device sold by Emerson Process Management, for example, via an Ethernet connection or any other desired communication network 29 with the host computers 13 and the data logger 12 communicatively connected. The communication network 29 can be a local area network (LAN), wide area network (WAN), telecommunications network, etc. implemented using wired or wireless technology. The control device 11 is with the plant equipment using any desired hardware and software and / or any intelligent communication protocol such as the FOUNDATION Fieldbus protocol (Fieldbus), the HART protocol, etc., such as associated with standard 4-20 mA devices 15-22 communicatively connected.

Die Anlageneinrichtungen 15-22 können irgendwelche Arten von Einrichtungen wie Sensoren, Ventile, Geber, Stellmechanismen usw. sein, während die E/A-Karten 26 und 28 irgendwelche Arten von zu irgendeinem gewünschten Kommunikations- oder Steuereinrichtungsprotokoll kompatiblen E/A-Einrichtungen sein können. In der in 1 dargestellten Ausführungsform sind die Anlageneinrichtungen 1518 standardgemäße 4-20-mA-Einrichtungen, die über Analogleitungen mit der E/A-Karte 26 kommunizieren, während die Anlageneinrichtungen 1922 intelligente Einrichtungen wie Fieldbus-Anlageneinrichtungen sind, die mittels Fieldbus-Protokoll-Kommunikation über einen digitalen Bus mit der E/A-Karte 28 kommunizieren. Natürlich könnten die Anlageneinrichtungen 15-22 zu irgendwelchen anderen gewünschten Normen oder Protokollen, einschließlich etwaiger in der Zukunft entwickelter Normen oder Protokolle, kompatibel sein.The plant facilities 15-22 can be any type of devices such as sensors, valves, encoders, actuators etc. while the I / O cards 26 and 28 any kind of to any can be compatible I / O devices in a desired communication or controller protocol. In the in 1 The embodiment shown are the plant facilities 15 - 18 Standard 4-20mA devices that use analog lines with the I / O card 26 communicate while the facility facilities 19 - 22 are intelligent devices such as Fieldbus system devices that communicate with the I / O card 28 by means of Fieldbus protocol communication via a digital bus. Of course, the facility facilities could 15-22 be compatible with any other desired standards or protocols, including any standards or protocols developed in the future.

Die Steuereinrichtung 11, welche eine von vielen verteilten Steuereinrichtungen innerhalb der Anlage 10 sein kann und welche mindestens einen Prozessor enthält, implementiert oder überwacht eine oder mehrere Prozesssteuerungsroutinen, welche darin gespeicherte oder anderweitig damit verknüpfte Regelschleifen enthalten können. Die Steuereinrichtung 11 kommuniziert auch mit den Einrichtungen 1522, den Host-Computern 13 und der Datenprotokolliereinrichtung 12, um einen Prozess auf irgendeine gewünschte Art zu steuern. Es ist zu beachten, dass hierin beschriebene Steuerroutinen oder -elemente Teile haben können, welche, falls so gewünscht, von andersartigen Steuereinrichtungen oder anderen Einrichtungen implementiert oder ausgeführt werden. Desgleichen können die hierin beschriebenen, im Prozesssteuerungssystem 10 zu implementierenden Steuerroutinen oder -elemente jede beliebige Form einschließlich Software, Firmware, Hardware usw. annehmen. Für den Zweck dieser Erörterung kann ein Prozesssteuerungselement ein beliebiger Teil eines Prozesssteuerungssystems einschließlich zum Beispiel einer bzw. eines auf irgendeinem computerlesbaren Medium gespeicherten Routine, Blocks oder Moduls sein. Steuerroutinen, welche Module oder irgendein Teil einer Steuerprozedur wie eine Unterroutine, Teile einer Unterroutine (wie Codezeilen) usw. sein können, können in jedem beliebigen gewünschten Softwareformat wie mittels Kontaktplan-Logik, Sequenzfunktionstabellen, Blockschaltbildern, objektorientierter Programmierung oder einer anderen Software-Programmiersprache oder eines anderen Softwareentwicklungs-Paradigma implementiert werden. Desgleichen können die Steuerroutinen in beispielsweise einen oder mehrere EPROMs, EEPROMs, anwendungsspezifische integrierte Schaltungen (ASICs) oder irgendwelche anderen Hardware- oder Firmware-Elemente hart codiert werden. Überdies können die Steuerroutinen unter Verwendung irgendwelcher Entwicklungswerkzeuge einschließlich grafischer Entwicklungswerkzeuge oder irgendeiner anderen Art von Software-, Hardware- oder Firmware-Programmier- oder Entwicklungswerkzeugen entwickelt werden. Mithin kann die Steuereinrichtung 11 so konfiguriert werden, dass sie eine Steuerstrategie oder Steuerroutine auf eine beliebige gewünschte Art implementiert.The control device 11 which is one of many distributed control devices within the plant 10 and which contains at least one processor, implements or monitors one or more process control routines, which can contain control loops stored therein or otherwise linked to them. The control device 11 also communicates with the facilities 15 - 22 , the host computers 13 and the data logger 12 to control a process in any desired way. It should be noted that control routines or elements described herein may have parts which, if so desired, are implemented or executed by other types of control devices or other devices. Likewise, those described herein can be used in the process control system 10 control routines or elements to be implemented take any form including software, firmware, hardware, etc. For the purpose of this discussion, a process control element may be any part of a process control system including, for example, a routine, block, or module stored on any computer readable medium. Control routines, which can be modules or any part of a control procedure such as a subroutine, parts of a subroutine (such as lines of code), etc., can be in any desired software format, such as ladder logic, sequence function tables, block diagrams, object oriented programming or another software programming language or of another software development paradigm. Likewise, the control routines can be hard coded into, for example, one or more EPROMs, EEPROMs, application specific integrated circuits (ASICs) or any other hardware or firmware elements. Furthermore, the control routines can be developed using any development tools, including graphical development tools, or any other type of software, hardware, or firmware programming or development tool. The control device can therefore 11 configured to implement a control strategy or routine in any desired manner.

In einer Ausführungsform implementiert die Steuereinrichtung 11 unter Verwendung dessen, was im Allgemeinen als Funktionsblöcke bezeichnet wird, eine Steuerstrategie, in welcher jeder Funktionsblock ein Teil oder Objekt einer Gesamt-Steuerroutine ist und (über als Kommunikation bezeichnete Verbindungen) mit anderen Funktionsblöcken zusammenarbeitet, um im Prozesssteuerungssystem 10 Prozessregelschleifen zu implementieren. Üblicherweise führen Funktionsblöcke entweder eine Eingangsfunktion wie die mit einem Transmitter, einem Sensor oder einer anderen Prozessparameter-Meßeinrichtung verknüpfte, eine Steuerfunktion wie die mit einer Steuerroutine, welche PID-, Fuzzy-Logic-Regelung usw. durchführt, verknüpfte, oder eine Ausgangsfunktion, welche den Betrieb irgendeiner Einrichtung wie eines Ventils steuert, um im Prozesssteuerungssystem 10 irgendeine physikalische Funktion durchzuführen, durch. Natürlich gibt es hybride und andere Arten von Funktionsblöcken. Funktionsblöcke können in der Steuereinrichtung 11 gespeichert und durch diese ausgeführt werden, was üblicherweise der Fall ist, wenn diese Funktionsblöcke für standardgemäße 4-20-mA-Einrichtungen und einige Arten von intelligenten Anlageneinrichtungen wie HART-Einrichtungen verwendet werden oder mit solchen verknüpft sind, oder können in den Anlageneinrichtungen selbst gespeichert und durch diese selbst implementiert werden, was bei Fieldbus-Einrichtungen der Fall sein kann. Obwohl die Beschreibung des Steuerungssystems hierin mittels einer Funktionsblock-Steuerstrategie, welche ein objektorientiertes Programmierparadigma verwendet, erfolgt, könnten die Steuerstrategie oder die Regelschleifen oder die Module auch unter Verwendung anderer Konventionen wie Kontaktplan-Logik, Sequenzfunktionstabellen usw. oder unter Verwendung irgendeiner anderen gewünschten Programmiersprache oder irgendeines anderen gewünschten Programmierparadigmas implementiert oder entwickelt werden.In one embodiment, the controller implements 11 using what is commonly referred to as functional blocks, a control strategy in which each functional block is part or object of an overall control routine and interacts with other functional blocks (via connections referred to as communication) to work in the process control system 10 Implement process control loops. Usually function blocks either have an input function such as that linked to a transmitter, a sensor or another process parameter measuring device, a control function such as that linked to a control routine that carries out PID, fuzzy logic control etc., or an output function that controls the operation of any device, such as a valve, in the process control system 10 perform any physical function through. Of course there are hybrid and other types of functional blocks. Function blocks can be in the control device 11 stored and executed by, which is usually the case when these functional blocks are used for or linked to standard 4-20 mA devices and some types of intelligent plant devices such as HART devices, or can be stored in the plant devices themselves and implemented by them themselves, which can be the case with Fieldbus devices. Although the description of the control system herein is done using a function block control strategy that uses an object-oriented programming paradigm, the control strategy or control loops or modules could also be implemented using other conventions such as ladder logic, sequence function tables, etc., or using any other desired programming language or any other desired programming paradigm can be implemented or developed.

Wie durch den ausgebreiteten Block 30 in 1 ersichtlich, kann die Steuereinrichtung 11 eine Anzahl von Einzelschleifen-Regelroutinen enthalten, hier dargestellt als Routinen 32 und 34, und eine oder mehrere hochentwickelte Regelschleifen implementieren, hier dargestellt als Regelschleife 36. Jede solche Schleife wird üblicherweise als ein Steuermodul bezeichnet. Die dargestellten Einzelschleifen-Regelroutinen 32 und 34 führen Einzelschleifen-Regelung mittels eines Einzeleingangs-/Einzelausgangs-Fuzzy-Logic-Regelungsblocks beziehungsweise eines Einzeleingangs-/Einzelausgangs-PID-Regelungsblocks durch, welche mit geeigneten Analogeingangs- (AI-) und Analogausgangs- (AO-) Funktionsblöcken verbunden sind, die mit Prozesssteuerungseinrichtungen wie Ventilen, mit Meßeinrichtungen wie Temperatur- und Druckgebern oder mit irgendeiner anderen Einrichtung im Prozesssteuerungssystem 10 verknüpft sein können. Die dargestellte hochentwickelte Regelschleife 36 enthält einen hochentwickelten Steuerblock 38, dessen Eingänge mit zahlreichen AI-Funktionsblöcken und dessen Ausgänge mit zahlreichen AO-Funktionsblöcken kommunikativ verbunden sind, obwohl die Eingänge und Ausgänge des hochentwickelten Steuerblocks 38 mit beliebigen anderen gewünschten Funktionsblöcken oder Steuerelementen kommunikativ verbunden sein können, um andere Arten von Eingängen zu empfangen und andere Arten von Steuerausgängen zu liefern. Wie im weiteren beschrieben wird, kann der hochentwickelte Steuerblock 38 ein Steuerblock sein, der eine Modellvorhersage-Steuerroutine mit einem Optimierer integriert, um die optimierte Steuerung des Prozesses oder eines Teils des Prozesses durchzuführen. Obwohl der hochentwickelte Steuerblock 38 in der hierin gegebenen Beschreibung einen Modellvorhersage-Steuerungs-(MPC-)Block enthält, kann der hochentwickelte Steuerblock 38 jede beliebige andere Mehreingangs-/Mehrausgangs-Regelungsroutine oder -prozedur, wie eine Neuronennetz-Modellierungs- oder Regelungsroutine, eine Mehrvariablen-Fuzzy-Logic-Regelungsroutine usw. enthalten. Es versteht sich, dass die in 1 dargestellten Funktionsblöcke einschließlich des hochentwickelten Steuerblocks 38 von der Steuereinrichtung 11 ausgeführt werden können oder dass sie sich alternativ in einer beliebigen anderen Verarbeitungseinrichtung wie in einer der Workstations 13 oder sogar in einer der Anlageneinrichtungen 1922 befinden und von dieser ausgeführt werden können.Like through the spread block 30 in 1 can be seen, the control device 11 contain a number of single loop control routines, shown here as routines 32 and 34 , and implement one or more sophisticated control loops, shown here as a control loop 36 , Each such loop is commonly referred to as a control module. The single loop control routines shown 32 and 34 perform single-loop control using a single-input / single-output fuzzy logic control block or a single-input / single-output PID control block, which are connected to suitable analog input (AI) and analog output (AO) function blocks connected to Process control devices such as valves, with measuring devices such as temperature and pressure sensors or with any other device in the process control system 10 can be linked. The sophisticated control loop shown 36 contains a sophisticated control block 38 , whose inputs communicate with numerous AI function blocks and whose outputs communicate with numerous AO function blocks are tied, although the inputs and outputs of the sophisticated control block 38 can be communicatively connected to any other desired function blocks or controls to receive other types of inputs and provide other types of control outputs. As will be further described, the sophisticated control block 38 a control block that integrates a model prediction control routine with an optimizer to perform optimized control of the process or part of the process. Although the sophisticated control block 38 in the description given herein containing a model prediction control (MPC) block, the sophisticated control block can 38 any other multi-input / multi-output control routine or procedure, such as a neural network modeling or control routine, a multi-variable fuzzy logic control routine, etc. It is understood that the in 1 functional blocks shown including the advanced control block 38 from the control device 11 can be executed or that they can alternatively be in any other processing facility such as one of the workstations 13 or even in one of the plant facilities 19 - 22 located and can be executed by this.

Wie in 1 gezeigt, enthält eine der Workstations 13 eine Erzeugungsroutine für einen hochentwickelten Steuerblock 40, welche verwendet wird, um den hochentwickelten Steuerblock 38 zu erzeugen, herunterzuladen und zu implementieren. Während die Erzeugungsroutine für einen hochentwickelten Steuerblock 40 in einem Speicher in der Workstation 13 gespeichert und von einem darin enthaltenen Prozessor ausgeführt werden kann, kann diese Routine (oder irgendein Teil davon), falls gewünscht, zusätzlich oder alternativ in irgendeiner anderen Einrichtung im Prozesssteuerungssystem 10 gespeichert und von dieser ausgeführt werden. Allgemein enthält die Erzeugungsroutine für einen hochentwickelten Steuerblock 40 eine Steuerblock-Erzeugungsroutine 42, welche einen hochentwickelten Steuerblock erzeugt und diesen hochentwickelten Steuerblock in das Prozesssteuerungssystem einbindet, eine Prozessmodellierungsroutine 44, welche ein auf vom hochentwickelten Steuerblock erfassten Daten beruhendes Prozessmodell für den Prozess oder einen Teil des Prozesses erzeugt, eine Steuerlogikparameter-Erzeugungsroutine 46, welche für den hochentwickelten Steuerblock Steuerlogikparameter aus dem Prozessmodell erzeugt und welche diese Steuerlogikparameter zur Verwendung beim Steuern des Prozesses im hochentwickelten Steuerblock speichert oder in diesen herunterlädt, und eine Optimiererroutine 48, welche einen Optimierer zur Verwendung mit dem hochentwickelten Steuerblock erzeugt. Es versteht sich, dass die Routinen 42, 44, 46 und 48 aus einer Reihe von verschiedenen Routinen bestehen können, wie einer ersten Routine, welche ein hochentwickeltes Steuerelement mit zum Empfangen von Prozessausgängen geeigneten Steuereingängen und zum Liefern von Steuersignalen an Prozesseingänge geeigneten Steuerausgängen erzeugt, einer zweiten Routine, welche einem Benutzer ermöglicht, das hochentwickelte Steuerelement in der Prozesssteuerungsroutine (welche jede gewünschte Konfigurationsroutine sein kann) herunterzuladen und kommunikativ zu verbinden, einer dritten Routine, welche das hochentwickelte Steuerelement verwendet, um Anregungs-Wellenformen an jeden der Prozesseingänge anzulegen, einer vierten Routine, welche das hochentwickelte Steuerelement verwendet, um die Antwort jedes einzelnen der Prozessausgänge auf die Anregungs-Wellenformen widerspiegelnde Daten zu erfassen, einer fünften Routine, welche einen Satz von Eingängen für den hochentwickelten Steuerblock auswählt oder dies einem Benutzer ermöglicht, einer sechsten Routine, welche ein Prozessmodell erzeugt, einer siebten Routine, welche hochentwickelte Steuerlogikparameter aus dem Prozessmodell entwickelt, einer achten Routine, welche die hochentwickelte Steuerlogik und, falls erforderlich, das Prozessmodell in das hochentwickelte Steuerelement einfügt, um das hochentwickelte Steuerelement in die Lage zu versetzen, den Prozess zu steuern, und einer neunten Routine, welche einen Optimierer zur Verwendung im hochentwickelten Steuerblock 38 auswählt oder dies einem Benutzer ermöglicht.As in 1 shown contains one of the workstations 13 a sophisticated control block generation routine 40 which is used to control the sophisticated control block 38 to generate, download and implement. During the generation routine for a sophisticated control block 40 in a memory in the workstation 13 stored and executed by a processor included therein, this routine (or any part thereof) may, if desired, additionally or alternatively, in any other facility in the process control system 10 saved and executed by this. Generally, the generation routine for a sophisticated control block contains 40 a control block generation routine 42 , which creates a sophisticated control block and incorporates this sophisticated control block into the process control system, a process modeling routine 44 which generates a process model for the process or part of the process based on data captured by the sophisticated control block, a control logic parameter generation routine 46 which generates control logic parameters for the advanced control block from the process model and which stores or downloads these control logic parameters for use in controlling the process in the advanced control block, and an optimizer routine 48 which creates an optimizer for use with the sophisticated control block. It is understood that the routines 42 . 44 . 46 and 48 may consist of a number of different routines, such as a first routine which creates a sophisticated control element with control inputs suitable for receiving process outputs and for providing control signals suitable for supplying control signals to process inputs, a second routine which enables a user to use the sophisticated control element in the Process Control Routine (which can be any desired configuration routine) to download and connect communicatively, a third routine that uses the sophisticated control to apply excitation waveforms to each of the process inputs, a fourth routine that uses the advanced control to respond to each one of the process outputs to capture data reflecting the excitation waveforms, a fifth routine that selects a set of inputs for the sophisticated control block or allows a user to do so The sixth routine that creates a process model, a seventh routine that develops sophisticated control logic parameters from the process model, an eighth routine that inserts the sophisticated control logic and, if necessary, the process model into the sophisticated control to enable the sophisticated control to control the process and a ninth routine which is an optimizer for use in the sophisticated control block 38 selects or allows a user to do so.

2 zeigt ein detaillierteres Blockschaltbild einer Ausführungsform des mit einem Prozess 50 kommunikativ gekoppelten hochentwickelten Steuerblocks 38, wobei es sich versteht, dass der hochentwickelte Steuerblock 38 einen Satz von Stellvariablen produziert, die an andere Funktionsblöcke geliefert werden, welche wiederum mit Steuereingängen des Prozesses 50 verbunden sind. Wie in 2 gezeigt, enthält der hochentwickelte Steuerblock 38 einen MPC-Steuereinrichtungs-Block 52, einen Optimierer 54, einen Zielwert-Umwandlungsblock 55, ein Sprungantwort-Modell oder eine Steuermatrix 56 und einen Eingangsverarbeitungs-/Filterblock 58 (input processing/filter block). Die MPC-Steuereinrichtung 52 kann jede beliebige standardgemäße quadratische M-mal-M- (wobei M eine beliebige Zahl größer oder gleich eins sein kann) MPC-Routine oder Prozedur sein, welche die gleiche Anzahl Eingänge wie Ausgänge hat. Die MPC-Steuereinrichtung 52 empfängt als Eingänge einen Satz von N Steuer- und Hilfsvariablen CV und AV (welche Vektoren von Werten sind) wie im Prozess 50 gemessen, einen Satz von Störvariablen DV, welche bekannte oder erwartete, zu irgendeinem Zeitpunkt in der Zukunft auf den Prozess 50 einwirkende Änderungen oder Störungen sind, und einen Satz von vom Zielwert-Umwandlungsblock 55 gelieferten stationären Zielwert-Steuer- und Hilfsvariablen CVT und AVT. Die MPC-Steuereinrichtung 52 verwendet diese Eingänge, um den Satz von M Stellvariablen MV (in Form von Steuersignalen) zu erzeugen, und liefert die Stellvariablen- (MV-) Signale zum Steuern des Prozesses 50. 2 shows a more detailed block diagram of an embodiment of the with a process 50 communicatively coupled sophisticated control blocks 38 , it being understood that the sophisticated control block 38 produces a set of control variables that are supplied to other function blocks, which in turn are used with process control inputs 50 are connected. As in 2 shown, contains the sophisticated control block 38 an MPC controller block 52 , an optimizer 54 , a target conversion block 55 , a step response model or a control matrix 56 and an input processing / filter block 58 (input processing / filter block). The MPC controller 52 can be any standard M-by-M square (where M can be any number greater than or equal to one) MPC routine or procedure that has the same number of inputs as outputs. The MPC controller 52 receives as inputs a set of N control and auxiliary variables CV and AV (which are vectors of values) as in the process 50 measured, a set of disturbance variables DV, which are known or expected, at some point in the future on the process 50 changes or disturbances being applied, and a set of from the target conversion block 55 delivered stationary target value control and auxiliary variables CV T and AV T. The MPC controller 52 uses these inputs to generate the set of M variables MV (in the form of control signals) and provides the variable (MV) signals to control the process 50 ,

Außerdem berechnet die MPC-Steuereinrichtung 52 einen Satz von vorhergesagten stationären Steuervariablen CVSS und Hilfsvariablen AVSS sowie einen Satz von vorhergesagten stationären Stellvariablen MVSS, welche die vorhergesagten Werte der Steuervariablen CV, der Hilfsvariablen AV beziehungsweise der Stellvariablen MV am Vorhersagehorizont (für die CVs und AVs) und am Steuerhorizont (für die MVs) darstellen, und liefert sie an den Eingangsverarbeitungs-/Filterblock 58. Der Eingangsverarbeitungs-/Filterblock 58 verarbeitet die bestimmten vorhergesagten stationären Werte der Steuer-, Hilfs- und Stellvariablen CVSS, AVSS und MVSS, um die Auswirkungen von Rauschen und unvorhergesagten Störungen auf diese Variablen zu reduzieren. Es versteht sich, dass der Eingangsverarbeitungs-/Filterblock 58 einen Tiefpassfilter oder irgendeine andere Eingangsverarbeitung enthalten kann, welche die Auswirkungen von Rauschen, Modellierfehlern und Störungen auf diese Werte reduziert und die gefilterten Steuer-, Hilfs- und Stellvariablen CVSSfil, AVSSfil und MVSSfil an den Optimierer 54 liefert.The MPC controller also calculates 52 a set of predicted stationary tax variable CV SS and auxiliary variables AV SS as well as a set of predicted stationary control variables MV SS , which represent the predicted values of the control variables CV, the auxiliary variables AV and the control variables MV on the prediction horizon (for the CVs and AVs) and on the control horizon (for the MVs) , and delivers them to the input processing / filter block 58 , The input processing / filter block 58 processes the determined predicted steady-state values of the control, auxiliary and actuating variables CV SS , AV SS and MV SS in order to reduce the effects of noise and unpredictable disturbances on these variables. It is understood that the input processing / filter block 58 may include a low pass filter or any other input processing that reduces the effects of noise, modeling errors, and disturbances on these values and the filtered control, auxiliary and manipulated variables CV SSfil , AV SSfil and MV SSfil to the optimizer 54 supplies.

Der Optimierer 54 ist in diesem Beispiel ein mit linearer Programmierung (LP) arbeitender Optimierer, welcher eine Zielfunktion (OF) verwendet, die von einem Auswahlblock 62 geliefert werden kann, um die Prozessoptimierung durchzuführen. Alternativ könnte der Optimierer 54 ein mit quadratischer Programmierung arbeitender Optimierer sein, was ein Optimierer mit einem linearen Modell und einer quadratischen Zielfunktion ist. Allgemein legt die Zielfunktion OF mit jeder einzelnen aus einer Anzahl von Steuer-, Hilfs- und Stellvariablen (welche allgemein als Prozessvariablen bezeichnet werden) verknüpfte Kosten oder Erlöse fest und bestimmt der Optimierer 54 durch Finden eines Satzes von Prozessvariablen, welche die Zielfunktion maximieren oder minimieren, Zielwerte für diese Variablen. Der Auswahlblock 62 kann die an den Optimierer 54 gelieferte Zielfunktion OF als eine aus einem Satz von vorgespeicherten Zielfunktionen 64 auswählen, welche mathematisch verschiedene Arten, den optimalen Betrieb des Prozesses 50 zu definieren, darstellen. Zum Beispiel kann eine der vorgespeicherten Zielfunktionen 64 zum Maximieren des Erlöses der Anlage konfiguriert sein, kann eine andere der Zielfunktionen 64 zum Minimieren des Verbrauchs eines besonderen Rohstoffs, der knapp ist, konfiguriert sein, während noch eine weitere der Zielfunktionen 64 zum Maximieren der Qualität des im Prozess 50 hergestellten Produkts konfiguriert sein kann. Allgemein verwendet die Zielfunktion einen mit jeder Bewegung einer Steuer-, Hilfs- und Stellvariable verknüpften Kosten- oder Erlöswert, um den optimalen Prozessarbeitspunkt innerhalb des Satzes von akzeptablen Punkten, wie durch die Sollwerte oder -bereiche der Steuervariablen CV und die Grenzen der Hilfs- und Stellvariablen AV und MV definiert, zu bestimmen. Natürlich kann jede beliebige gewünschte Zielfunktion anstelle der oder zusätzlich zu den hierin beschriebenen verwendet werden, einschließlich Zielfunktionen, welche jeden einzelnen aus einer Anzahl von Aspekten wie Rohstoffverbrauch, Rentabilität usw. bis zu einem bestimmten Grad optimieren.The optimizer 54 in this example is an optimizer that works with linear programming (LP) and uses an objective function (OF) that is generated by a selection block 62 can be delivered to carry out the process optimization. Alternatively, the optimizer could 54 be an optimizer using quadratic programming, which is an optimizer with a linear model and a quadratic objective function. In general, the objective function OF defines costs or revenues associated with each of a number of control, auxiliary and actuating variables (which are generally referred to as process variables) and is determined by the optimizer 54 by finding a set of process variables that maximize or minimize the objective function, target values for these variables. The selection block 62 can the to the optimizer 54 delivered target function OF as one of a set of pre-stored target functions 64 choose which mathematically different types, the optimal operation of the process 50 to define, represent. For example, one of the pre-stored target functions 64 Configured to maximize system revenue, another of the target functions 64 configured to minimize the consumption of a particular resource that is in short supply while still another of the target functions 64 to maximize the quality of the process 50 manufactured product can be configured. In general, the objective function uses a cost or revenue value associated with each movement of a control, auxiliary and actuating variable in order to find the optimal process operating point within the set of acceptable points, such as the setpoints or ranges of the control variables CV and the limits of the auxiliary and Control variables AV and MV defined to determine. Of course, any desired objective function may be used in place of or in addition to that described herein, including objective functions that optimize each one to a certain extent from a number of aspects such as resource consumption, profitability, etc.

Ein Benutzer oder Bediener kann eine der Zielfunktionen 64 auswählen, indem er an einem Bediener- oder Benutzerterminal (beispielsweise an einer der Workstations 13 aus 1) eine Angabe zur zu verwendenden Zielfunktion 64 macht, welche Auswahl über einen Eingang 66 an den Auswahlblock 62 gegeben wird. Als Antwort auf den Eingang 66 liefert der Auswahlblock 62 die ausgewählte Zielfunktion OF an den Optimierer 54. Natürlich kann der Benutzer oder Bediener die zu verwendende Zielfunktion während des Betriebs des Prozesses ändern. Falls gewünscht, kann in Fällen, in denen der Benutzer keine Zielfunktion angibt oder auswählt, eine Vorgabe-Zielfunktion verwendet werden. Eine mögliche Vorgabe-Zielfunktion wird nachfolgend noch ausführlicher erörtert. Obwohl sie als Bestandteile des hochentwickelten Steuerblocks 38 dargestellt sind, können die verschiedenen Zielfunktionen im Bedienerterminal 13 aus 1 gespeichert sein und kann eine dieser Zielfunktionen während der Erschaffung oder Erzeugung des hochentwickelten Steuerblock 38 an diesen geliefert werden.A user or operator can use one of the target functions 64 select by using an operator or user terminal (e.g. one of the workstations 13 out 1 ) an indication of the target function to be used 64 makes what choice about an input 66 to the selection block 62 is given. In response to the entrance 66 delivers the selection block 62 the selected target function OF to the optimizer 54 , Of course, the user or operator can change the objective function to be used during the operation of the process. If desired, a default objective function can be used in cases where the user does not specify or select an objective function. A possible target-objective function is discussed in more detail below. Although they are part of the sophisticated tax block 38 The various target functions can be shown in the operator terminal 13 out 1 and can be one of these objective functions during the creation or creation of the sophisticated control block 38 be delivered to them.

Zusätzlich zur Zielfunktion OF empfängt der Optimierer 54 als Eingänge einen Satz von Steuervariablen-Sollwerten (welche üblicherweise vom Bediener festgelegte Sollwerte für die Steuervariablen CV des Prozesses 50 sind und vom Bediener oder einem anderen Benutzer geändert werden können) und einen mit jeder einzelnen der Steuervariablen CV verknüpften Bereich sowie ein damit verknüpftes Gewicht oder eine damit verknüpfte Priorität. Außerdem empfängt der Opti mierer 54 einen Satz von Bereichen oder Beschränkungsgrenzen und einen Satz von Gewichten oder Prioritäten für die Hilfsvariablen AV und einen Satz von Grenzen für die Stellvariablen MV, welche zum Steuern des Prozesses 50 verwendet werden. Der Optimierer 54 kann auch Sollwerte, bevorzugte Arbeitsbereiche, ideale Ruhewerte oder andere Grenzen, welche mit einer oder mehreren der Prozessvariablen verknüpft sind, empfangen. Allgemein definieren die Bereiche für die Hilfs- und Stellvariablen die (gewöhnlich auf den physikalischen Eigenschaften der Anlage beruhenden) Grenzen für die Hilfs- und Stellvariablen, wohingegen die Bereiche für die Steuervariablen einen Bereich liefern, in welchem die Steuervariablen zur befriedigenden Steuerung des Prozesses arbeiten können. Die Gewichte für die Steuer-, Hilfs- und Stellvariablen können die relative Bedeutung der Steuervariablen, der Hilfsvariablen und der Stellvariablen bezüglich einander während des Optimierungsprozesses festlegen und können unter manchen Umständen verwendet werden, um dem Optimierer 54 zu ermöglichen, eine Steuerungszielwert-Lösung zu erzeugen, wenn einige der mit diesen Variablen verknüpften Beschränkungen oder Grenzen übertreten werden müssen.In addition to the target function OF, the optimizer receives 54 as inputs a set of control variable setpoints (which are usually setpoints set by the operator for the control variable CV of the process 50 and can be changed by the operator or another user) and an area associated with each of the control variables CV as well as an associated weight or an associated priority. The optimizer also receives 54 a set of ranges or limitation limits and a set of weights or priorities for the auxiliary variables AV and a set of limits for the control variables MV, which are used to control the process 50 be used. The optimizer 54 can also receive setpoints, preferred work areas, ideal idle values or other limits that are linked to one or more of the process variables. In general, the areas for the auxiliary and control variables define the limits (usually based on the physical properties of the plant) for the auxiliary and control variables, whereas the areas for the control variables provide an area in which the control variables can work for satisfactory control of the process , The weights for the control, auxiliary and actuating variables can determine the relative importance of the control variables, the auxiliary variables and the actuating variables with respect to one another during the optimization process and can in some circumstances be used to assist the optimizer 54 to enable a control target value solution to be created when some of the constraints or limits associated with these variables must be exceeded.

Während des Betriebs kann der Optimierer 54 ein lineares Programmierungsverfahren (LP-Verfahren) verwenden, um die Optimierung durchzuführen. Bekanntermaßen ist lineare Programmierung ein mathematisches Verfahren zum Lösen eines Satzes von linearen Gleichungen und Ungleichungen, das eine gewisse Zusatzfunktion, die als Zielfunktion bezeichnet wird, maximiert oder minimiert. Wie oben erörtert, kann die Zielfunktion einen wirtschaftlichen Wert wie Kosten oder Erlös ausdrücken, aber anstelle von oder zusätzlich zu wirtschaftlichen Zielen kann sie auch andere Ziele ausdrücken. Außerdem kann die Zielfunktion, wie oben erörtert, maßgeschneidert werden, so dass sie mit dem Übertreten von Beschränkungen oder Grenzen verknüpfte Kosten oder Strafen enthält, um der zu verwendenden Zielfunktion zu ermöglichen, eine akzeptable Lösung zu bestimmen, wenn es keine Lösung gibt, die alle CVs, AVs und MVs innerhalb der voreingestellten Grenzen hält.During operation, the optimizer 54 use a linear programming (LP) method to perform the optimization. As is well known, linear programming is mathematical method for solving a set of linear equations and inequalities that maximizes or minimizes a certain additional function called an objective function. As discussed above, the objective function can express an economic value such as cost or revenue, but instead of or in addition to economic objectives, it can express other objectives. In addition, as discussed above, the objective function can be tailored to include costs or penalties associated with breaking boundaries or boundaries to allow the objective function to be used to determine an acceptable solution, if there is no solution, all of them Keeps CVs, AVs and MVs within the preset limits.

Es versteht sich, dass die Matrix der stationären Verstärkungen die stationäre Verstärkung für jedes mögliche Paar der Stellvariablen und der Steuer- oder Hilfsvariablen definiert. In anderen Worten, die Matrix der stationären Verstärkungen definiert die stationäre Verstärkung in jeder Steuer- und Hilfsvariable für eine Einheitsänderung in jeder der Stell- und Störvariablen. Diese Matrix der stationären Verstärkungen ist in der Regel eine N-mal-M-Matrix, wobei N die Anzahl der Steuer- und Hilfsvariablen und M die Anzahl der Stellvariablen ist, welche in der Optimiererroutine verwendet werden. Allgemein kann N größer als, gleich oder kleiner als M sein, wobei N meistens größer als M ist.It is understood that the matrix the stationary reinforcements the stationary reinforcement for any couple the control variables and the control or auxiliary variables. In other words, the stationary gain matrix defines the steady state gain in each control and auxiliary variable for a unit change in each of the control and disturbance variables. This matrix of the stationary reinforcements is usually an N-by-M matrix, where N is the number of tax and auxiliary variables and M is the number of control variables which be used in the optimizer routine. In general, N can be greater than be equal to or less than M, where N is usually greater than Damn.

Bei Verwendung eines beliebigen bekannten oder standardgemäßen LP-Algorithmus oder -Verfahrens geht der Optimierer 54 in der Regel iterativ vor, um den Satz von Zielwert-Stellvariablen MVT (wie aus der Matrix der stationären Verstärkungen bestimmt) zu bestimmen, welche die ausgewählte Zielfunktion OF maximieren oder minimieren, wobei er, falls möglich, einen Prozessbetrieb erzielt, der innerhalb der Steuervariablen- (CV-) Sollbereichsgrenzen, der Hilfsvariablen-(AV-) Beschränkungsgrenzen und der Stellvariablen- (MV-) Grenzen bleibt. In einer Ausführungsform bestimmt der Optimierer 54 die Änderung in den Stellvariablen und verwendet die Angabe der vorhergesagten stationären Steuervariablen, Hilfsvariablen und Stellvariablen CVSSfil, AVSSfil und MVSSfil, um die Änderungen im Prozessbetrieb aus seinem aktuellen Betrieb zu bestimmen, das heißt, um während des Prozesses des Erreichens des Zielwerts oder optimalen Prozess-Arbeitspunkts den dynamischen Betrieb der MPC-Steuerroutine zu bestimmen. Dieser dynamische Betrieb ist wichtig, da es wünschenswert ist, sicherzustellen, dass keine der Beschränkungsgrenzen während der Bewegung vom aktuellen Arbeitspunkt zum Ziel-Arbeitspunkt übertreten wird.The optimizer goes using any known or standard LP algorithm or method 54 usually iteratively to determine the set of target value control variables MV T (as determined from the matrix of the stationary gains) which maximize or minimize the selected objective function OF, if possible achieving process operation that takes place within the Control variable (CV) setpoint limits, auxiliary variable (AV) restriction limits and actuating variable (MV) limits remain. In one embodiment, the optimizer determines 54 the change in the control variables and uses the indication of the predicted steady-state control variables, auxiliary variables and control variables CV SSfil , AV SSfil and MV SSfil to determine the changes in process mode from its current mode, i.e. during the process of reaching the target value or optimal process operating point to determine the dynamic operation of the MPC control routine. This dynamic operation is important because it is desirable to ensure that none of the restriction limits are crossed during the movement from the current working point to the target working point.

In einer Ausführungsform kann der LP-Optimierer 54 so ausgelegt werden, dass er eine Zielfunktion der folgenden Form minimiert: Q = Pt*A*ΔMV+CtΔMV (1)
wobei:
Q = Gesamtkosten/Erlös;
P = mit AVs und CVs verknüpfter Erlösvektor;
C = mit MVs verknüpfter Kostenvektor;
A = Verstärkungsmatrix; und
ΔMV = Vektor für berechnete Änderung in MVs.
In one embodiment, the LP optimizer 54 be designed to minimize an objective function of the following form: Q = P t * A * delta MV + C t ΔMV (1)
in which:
Q = total cost / revenue;
P = revenue vector associated with AVs and CVs;
C = cost vector associated with MVs;
A = gain matrix; and
ΔMV = vector for calculated change in MVs.

Die Erlöswerte sind generell positive und die Kostenwerte generell negative Zahlen, damit ihr Einfluss auf das Ziel erkennbar ist. Unter Verwendung dieser oder einer anderen Zielfunktion berechnet der LP-Optimierer 54 die Änderungen in den Stellvariablen MV, welche die Zielfunktion minimieren und gleichzeitig sicherstellen, dass die Steuervariablen CV innerhalb eines Bereichs um ihren Ziel-Sollwert bleiben, dass die Hilfsvariablen AV innerhalb ihrer Beschränkungs-Ober- und Untergrenzen liegen und dass die Stellvariablen MV innerhalb ihrer Ober- und Untergrenzen liegen.The revenue values are generally positive and the cost values are generally negative numbers, so that their influence on the goal can be seen. The LP optimizer calculates using this or another objective function 54 the changes in the control variables MV which minimize the objective function and at the same time ensure that the control variables CV remain within a range around their target setpoint, that the auxiliary variables AV are within their upper and lower limit limits and that the control variables MV are within their upper limits - and lower limits.

In einer Optimierungsprozedur, die verwendet werden kann, werden zur augenblicklichen Zeit (t) Inkrementalwerte von Stellvariablen verwendet und wird über den Vorhersagehorizont eine Summe von Inkrementen von Stellvariablen verwendet, wobei am Ende des Vorhersagehorizonts Inkrementalwerte von Steuer- und Hilfsvariablen bestimmt werden statt, wie in LP-Anwendungen üblich, aktuelle Positionswerte. Natürlich kann der LP-Algorithmus für diese Abwandlung entsprechend verändert werden. Auf jeden Fall kann der LP-Optimierer 54 ein stationäres Modell verwenden, und folglich ist in der Regel ein stationärer Zustand für seine Anwendung erforderlich. Mit einem Vorhersagehorizont, wie er bei der Auslegung einer MPC normalerweise verwendet wird, ist ein zukünftiger stationärer Zustand für einen selbstregelnden Prozess gewährleistet. Eine mögliche Gleichung des stabilen Zustands eines vorhergesagten Prozesses für einen m-mal-n-Eingangs-Ausgangs-Prozess mit Vorhersagehorizont p, Steuerhorizont c, in inkrementaler Form ausgedrückt, lautet: ΔCV(t + p) = A * ΔMV(t + c) (2)
wobei:

Figure 00220001
vorhergesagte Änderungen in Ausgängen am Ende des Vorhersagehorizonts (t + p) angibt,
Figure 00220002
die m-mal-n-Verstärkungsmatrix des stabilen Zustands des Prozesses ist, und
Figure 00220003
Änderungen in Stellvariablen am Ende des Steuerhorizonts (t + c) angibt.In an optimization procedure that can be used, incremental values of actuating variables are used at the current time (t) and a sum of increments of actuating variables is used over the prediction horizon, with incremental values of control and auxiliary variables being determined at the end of the prediction horizon instead of as in LP applications common, current position values. Of course, the LP algorithm for this modification can be changed accordingly. In any case, the LP optimizer 54 use a stationary model and consequently a steady state is usually required for its application. With a prediction horizon, as is normally used when designing an MPC, a future steady state is guaranteed for a self-regulating process. A possible equation of the stable state of a predicted process for an m-by-n input-output process with prediction horizon p, control horizon c, expressed in incremental form is: ΔCV (t + p) = A * ΔMV (t + c) (2)
in which:
Figure 00220001
indicates predicted changes in outputs at the end of the forecast horizon (t + p),
Figure 00220002
is the m-by-n gain matrix of the stable state of the process, and
Figure 00220003
Indicates changes in control variables at the end of the control horizon (t + c).

Der Vektor ΔMV(t + c) stellt die Summe der von jedem Steuereinrichtungs-Ausgang mvi gemachten Änderungen über den Steuerhorizont dar, so dass:

Figure 00220004
The vector ΔMV (t + c) represents the sum of the changes made by each control device output mv i over the control horizon, so that:
Figure 00220004

Die Änderungen sollten vorzugsweise den Grenzen sowohl der Stellvariablen MV als auch der Steuervariablen CV genügen (hier werden Hilfsvariablen als Steuervariablen behandelt), so dass: MVmin ≤ MVaktuell + ΔMV(t + c) ≤ MVmax (4) CVmin ≤ CVvorhergesagt + ΔCV(t + p) ≤ CVmax (5) The changes should preferably meet the limits of both the MV control variable and the CV control variable (auxiliary variables are treated here as control variables), so that: MV min ≤ MV current + ΔMV (t + c) ≤ MV Max (4) CV min ≤ CV predicted + ΔCV (t + p) ≤ CV Max (5)

In diesem Fall kann die Zielfunktion zum Maximieren des Produktwerts und zum Minimieren der Rohstoffkosten gemeinsam definiert werden als:

Figure 00230001
wobei:
UCV der Kostenvektor für eine Einheitsänderung im Steuervariablen- (CV-) Prozesswert ist; und
UMV der Kostenvektor für eine Einheitsänderung im Stellvariablen- (MV-) Prozesswert ist.In this case, the objective function to maximize the product value and minimize the raw material costs can be defined together as:
Figure 00230001
in which:
UCV is the cost vector for a unit change in the control variable (CV) process value; and
UMV is the cost vector for a unit change in the control variable (MV) process value.

Bei Anwendung der obenstehenden Gleichung (1) kann die Zielfunktion in Form von Stellvariablen MV ausgedrückt werden als:

Figure 00230002
Using equation (1) above, the objective function can be expressed in the form of control variables MV as:
Figure 00230002

Um eine optimale Lösung zu finden, berechnet der LP-Algorithmus die Zielfunktion für einen anfänglichen Scheitelpunkt im durch Gleichung (7) definierten Bereich und verbessert die Lösung in jedem nächsten Schritt, bis der Algorithmus den Scheitelpunkt mit dem maximalen (oder minimalen) Wert der Zielfunktion als optimale Lösung bestimmt. Die bestimmten optimalen Stellvariablenwerte werden dann als die innerhalb des Steuerhorizonts zu erreichenden Zielwert-Stellvariablen MVT auf die Steuereinrichtung angewendet oder an diese geliefert.To find an optimal solution, the LP algorithm calculates the objective function for an initial vertex in the range defined by equation (7) and improves the solution in every next step until the algorithm reaches the vertex with the maximum (or minimum) value of the objective function determined as the optimal solution. The determined optimal control variable values are then applied to or delivered to the control device as the target value control variables MV T to be reached within the control horizon.

Allgemein ergibt das Anwenden des LP-Algorithmus auf die vorbereitete Matrix drei mögliche Ergebnisse. Erstens, es gibt eine eindeutige Lösung für die Zielwert-Stellvariablen MVT. Zweitens, die Lösung ist unbegrenzt, was nicht passieren sollte, wenn jede Steuer- und Hilfsvariable eine Ober- und eine Untergrenze hat. Drittens, es gibt keine Lösung, welche die Grenzen der Prozessvariablen einhält, was bedeutet, dass die Grenzen oder Beschränkungen der Prozessvariablen zu eng sind. Um den dritten Fall zu handhaben, können die Gesamtbeschränkungen gelockert werden und kann der Optimierer mit den gelockerten Beschränkungen erneut ausgeführt werden, um eine Lösung zu erhalten. Die Grundannahme ist, dass die Grenzen von Stellvariablen (Ober-/Untergrenzen) vom Optimierer nicht geändert werden können, obwohl diese Annahme nicht zutreffen muss. Dieselbe Annahme kann auch für Beschränkungen oder Grenzen der Hilfsvariablen (Ober-/Untergrenzen) verwendet werden. Jedoch kann der Optimierer vom Treiben der Steuervariable CV gegen die festgelegten Sollwerte (von der CV-Sollwertregelung) zum Treiben der Steuervariablen gegen irgendeinen der Werte innerhalb eines Bereichs um den Sollwert (zur CV-Bereichsregelung) wechseln. In diesem Fall dürfen die Werte der Steuervariablen statt auf einem genauen Sollwert innerhalb eines Bereichs liegen. Wenn es mehrere Hilfsvariablen AV gibt, die ihre Beschränkungen übertreten, und das Umschalten von CV-Sollwertregelung auf CV-Bereichsregelung keine Lösung liefert, ist es auch möglich, die Beschränkungen der Hilfsvariablen auf Grundlage der jeweiligen Gewichte oder Prioritätsangaben zu lockern oder zu ignorieren. In einer Ausführungsform konnte durch Minimieren des ins Quadrat erhobenen Fehlers der Hilfsvariablen, was jeder einzelnen gestattete, ihre jeweilige Beschränkung zu übertreten, oder durch aufeinanderfolgendes Fallenlassen von Beschränkungen der Hilfsvariablen mit niedrigster Priorität eine Lösung bestimmt werden. Wie nachfolgend ausführlicher beschrieben wird, zählen zu anderen Arten des Umgangs mit außerhalb der Grenzen liegenden Lösungen das Abändern der Zielfunktion, so dass sie Spielraumvariablen oder Strafvariablen enthält, welche einen Kostenwert oder eine Strafe für jede Prozessvariable, die eine voreingestellte Grenze oder Beschränkung übertritt, auferlegen, und das erneute Ausführen des Optimierers mit der neuen Zielfunktion und/oder das Neudefinieren der Grenzen für eine oder mehrere außerhalb der Grenzen liegende Prozessvariablen, das Abändern der Zielfunktion, so dass sie Strafen für die innerhalb der neuen Grenzen liegenden Prozessvariablen enthält, um diese Variablen gegen die ursprünglichen Grenzen zu treiben, und das erneute Ausführen des Optimierers mit der neuen Zielfunktion, um die optimale Lösung innerhalb dieser neu definierten Grenzen zu finden. Zuerst wird aber ein Verfahren des anfänglichen Auswählens einer Zielfunktion beschrieben.Generally, applying the LP algorithm to the prepared matrix gives three possible results. First, there is a clear solution for the MV T target variable. Second, the solution is un limits what should not happen if each control and auxiliary variable has an upper and a lower limit. Third, there is no solution that adheres to the limits of the process variables, which means that the limits or limitations of the process variables are too narrow. To deal with the third case, the overall constraints can be relaxed and the optimizer can be run again with the relaxed constraints to get a solution. The basic assumption is that the limits of control variables (upper / lower limits) cannot be changed by the optimizer, although this assumption does not have to apply. The same assumption can also be used for restrictions or limits of the auxiliary variables (upper / lower limits). However, the optimizer can switch from driving the control variable CV against the specified setpoints (from the CV setpoint control) to driving the control variable against any of the values within a range around the setpoint (for the CV range control). In this case, the values of the control variables may lie within a range instead of an exact setpoint. If there are several auxiliary variables AV that exceed their restrictions and switching from CV setpoint control to CV range control does not provide a solution, it is also possible to relax or ignore the restrictions of the auxiliary variables based on the respective weights or priority information. In one embodiment, a solution could be found by minimizing the squared error of the auxiliary variables that allowed each to exceed their respective constraints, or by successively dropping constraints on the lowest priority auxiliary variables. As will be described in more detail below, other ways of dealing with out-of-bounds solutions include modifying the objective function to include margin variables or penalty variables that impose a cost or penalty for each process variable that exceeds a preset limit or limitation , and re-executing the optimizer with the new objective function and / or redefining the limits for one or more out-of-bound process variables, modifying the objective function to include penalties for those process variables within the new limits around those variables to push against the original limits, and re-run the optimizer with the new objective function to find the optimal solution within these newly defined limits. First, however, a method of initially selecting a target function will be described.

Wie oben erwähnt, kann die Zielfunktion OF gewählt oder vom Programm zur Erzeugung von Steuerblöcken 40 als Vorgabe eingestellt werden. Obwohl es wünschenswert ist, die Fähigkeit zum Optimieren zu schaffen, können viele Situatio nen lediglich erfordern, dass Sollwerte für die Steuervariablen auf eine Weise gehalten werden, welche die Betriebsbeschränkungen der Hilfsvariablen und Stellvariablen noch beachtet. Für diese Anwendungen kann der Block 38 so konfiguriert werden, dass er ausschließlich als MPC-Funktionsblock arbeitet. Um diese Benutzerfreundlichkeit zu ermöglichen, kann eine Vorgabe-"Bedienungs"-Zielfunktion mit den verschiedenen Variablen darin zugewiesenen vorgegebenen Kosten nebst den vorgegebenen Hilfsvariablen- (AV-) Gewichten automatisch erzeugt werden. Diese Vorgaben können alle Kosten für die Hilfsvariablen AV und die Stellvariablen MV gleich einstellen oder eine andere vorbestimmte Zuweisung von Kosten zu den Hilfs- und Stellvariablen AV und MV schaffen. Wenn eine Option für erfahrene Benutzer ausgewählt ist, kann der Benutzer zusätzliche Optimierungsauswahlen erzeugen und die mit diesen verknüpften Kosten für die verschiedenen Zielfunktionen 64 definieren. Dem erfahrenen Benutzer kann auch gestattet werden, die Hilfsvariablen- (AV-) und Steuervariablen- (CV-) Vorgabegewichte der Vorgabe-Zielfunktion sowie die Beschränkungsgrenzen- oder Sollwertbereichs-Übertretungskosten zu verändern, welche nachfolgend ausführlicher beschrieben werden und welche vom Optimierer verwendet werden können, wenn der Optimierer anfänglich keine realisierbare Lösung finden kann.As mentioned above, the target function OF can be selected or by the program for generating control blocks 40 can be set as default. Although it is desirable to provide the ability to optimize, many situations may only require that control variable setpoints be maintained in a manner that still respects the operational constraints of the auxiliary and manipulated variables. For these applications, the block 38 configured so that it works exclusively as an MPC function block. In order to make this user-friendliness possible, a default "operating" target function with the various variables assigned predetermined costs in addition to the predetermined auxiliary variable (AV) weights can be generated automatically. These specifications can set all costs for the auxiliary variables AV and the actuating variables MV equally or create a different predetermined allocation of costs to the auxiliary and actuating variables AV and MV. If an option for experienced users is selected, the user can generate additional optimization selections and the associated costs for the various objective functions 64 define. The experienced user can also be allowed to change the auxiliary variable (AV) and control variable (CV) default weights of the default objective function, as well as the limit or setpoint violation costs, which are described in more detail below and which can be used by the optimizer if the optimizer cannot find a feasible solution initially.

In einer Ausführungsform kann die Zielfunktion, wenn zum Beispiel wirtschaftliche Faktoren für die Prozesskonfiguration nicht definiert sind, automatisch aus der MPC-Konfiguration erstellt werden. Im Allgemeinen kann die Zielfunktion mittels folgender Formel erstellt werden.In one embodiment, the objective function, if, for example, economic factors for process configuration are not defined, created automatically from the MPC configuration become. In general, the objective function can be done using the following formula to be created.

Figure 00250001
Figure 00250001

Die Variablen Cj und pj können aus den Konfigurationseinstellungen definiert werden. Insbesondere unter der Annahme, dass der Steuervariablen- (CV-) Sollwert nur an einer Untergrenze (LL) oder an einer Obergrenze (HL) definiert werden kann, kann der Wert pj auf die folgende Weise definiert werden:
pj = –1, wenn der Sollwert bei LL definiert oder "Minimieren" ausgewählt ist; und
pj = 1, wenn der Sollwert bei HL definiert oder "Maximieren" ausgewählt ist.
The variables C j and p j can be defined from the configuration settings. In particular, assuming that the control variable (CV) setpoint can only be defined at a lower limit (LL) or at an upper limit (HL), the value p j can be defined in the following way:
p j = -1 if the setpoint is defined at LL or "minimize" is selected; and
p j = 1 if the setpoint is defined at HL or "Maximize" is selected.

Unter der Annahme, dass für die Hilfsvariablen AV keine Konfigurationsinformationen eingegeben sind, ist pj = 0 für alle Hilfsvariablen AV. Entsprechend hängt für die Stellvariablen MV der Wert Cj davon ab, ob der bevorzugte Stellvariablen-Zielwert MVT definiert ist oder nicht. Wo der bevorzugte Stellvariablen-Zielwert MVT definiert ist, gilt:
Cj = 1, wenn MVT bei HL liegt oder "Maximieren" ausgewählt ist;
Cj= –1, wenn MVT bei LL liegt oder "Minimieren" ausgewählt ist; und
Cj = 0, wenn MVT nicht definiert ist.
Assuming that no configuration information has been entered for the auxiliary variables AV, p j = 0 for all auxiliary variables AV. Accordingly, the value C j for the control variables MV depends on whether the preferred control variable target value MV T is defined or not. Where the preferred target variable value MV T is defined:
C j = 1 when MV T is HL or "Maximize" is selected;
C j = -1 when MV T is LL or "minimize" is selected; and
C j = 0 if MV T is not defined.

Falls gewünscht, kann die Auswahl der Verwendung des Optimierers 54 in Verbindung mit der MPC-Steuereinrichtung 52 einstellbar sein, um dadurch einen Optimierungsgrad zu schaffen. Um diese Funktion durchzuführen, kann die von der Steuereinrichtung 52 verwendete Änderung in den Stellvariablen MV durch Anwenden verschiedener Gewichte auf die durch die MPC-Steuereinrichtung 52 und den Optimierer 54 bestimmte Änderung in den Stellvariablen MV abgeändert werden. Ein solche gewichtete Kombination der Stellvariablen MV wird hierin als eine effektive MV (MVeff) bezeichnet. Die effektive MVeff kann bestimmt werden als: ΔMVeff = ΔMVmpc (1 + α/S) + ΔMVopt(1 – α) 0 < α < 1 (9) wobei S willkürlich oder heuristisch ausgewählt wird. Üblicherweise ist S größer als eins und kann im Bereich von zehn liegen. Hier trägt der Optimierer bei α = 1 zum effektiven Ausgang bei, wie er bei der Erzeugung eingestellt wurde. Bei α = 0 liefert die Steuereinrichtung nur dynamische MPC-Steuerung. Natürlich liefert der Bereich zwischen 0 und 1 verschiedene Beiträge von Optimierer und MPC-Steuerung.If desired, the choice of using the optimizer 54 in connection with the MPC control device 52 be adjustable in order to create a degree of optimization. In order to carry out this function, that of the control device 52 change used in the control variables MV by applying different weights to those by the MPC control device 52 and the optimizer 54 certain changes in the control variables MV can be modified. Such a weighted combination of the control variables MV is referred to herein as an effective MV (MV eff ). The effective MV eff can be determined as: delta MV eff = ΔMV mpc (1 + α / S) + ΔMV opt (1 - α) 0 <α <1 (9) where S is chosen arbitrarily or heuristically. Usually S is greater than one and can be in the range of ten. Here the optimizer contributes to the effective output at α = 1, as was set during generation. If α = 0, the control device only delivers dynamic MPC control. Of course, the range between 0 and 1 provides different contributions from the optimizer and MPC control.

Die oben beschriebene Vorgabe-Zielfunktion kann verwendet werden, um den Betrieb des Optimierers während verschiedener möglicher Betriebsarten desselben festzusetzen. Insbesondere wenn die Anzahl der Steuervariablen CVs mit der Anzahl der Stellvariablen MVs übereinstimmt, besteht das erwartete Verhalten bei der Vorgabeeinstellung darin, dass die Steuervariablen- (CV-) Sollwerte gehalten werden, solange die Hilfsvariablen AVs und die Stellvariablen MVs voraussichtlich innerhalb ihrer Grenzen liegen werden. Wenn vorhergesagt wird, dass eine Hilfsvariable oder eine Stellvariable ihre Grenze übertreten wird, können die Betriebs-Sollwerte der Steuervariablen innerhalb ihrer Bereiche geändert werden, um, falls möglich, zu verhindern, dass diese Grenzen übertreten werden. Wenn in diesem Fall der Optimierer 54 keine Lösung finden kann, welche, während die Steuervariablen innerhalb ihres Bereich gehalten werden, den Hilfs- und Stellvariablen-Grenzen genügt, können die Steuervariablen innerhalb ihres Bereichs gehalten werden, während den Hilfs- und/oder Stellvariablen gestattet wird, von ihren Beschränkungsgrenzen abzuweichen. Beim Finden der besten Lösung können jene Hilfsvariablen AVs und Stellvariablen MVs, die voraussichtlich eine Grenze übertreten werden, gleich behandelt und ihre mittlere Grenzabweichung minimiert werden. Um dieses Verhalten zu erreichen, kann der von der Zielfunktion verwendete Kosten/Erlös-Vorgabewert automatisch so eingestellt werden, dass den Steuervariablen CV ein Erlös von 1 zugewiesen wird, wenn der Bereich so definiert ist, dass er eine Abweichung unter dem Sollwert zulässt, und ein Erlös von –1, wenn der Bereich so definiert ist, dass er eine Abweichung über dem Sollwert zulässt. Den Hilfsvariablen AVs innerhalb der Grenzen kann ein Erlös von 0 zugewiesen werden und den Stellvariablen MVs kann ein Kostenwert von 0 zugewiesen werden. Alternativ kann den Hilfsvariablen ein Erlös von 1 oder –1 und den Stellvariablen ein Kostenwert von 0,1 zugewiesen werden.The default objective function described above can be used to set the optimizer's operation during various possible modes of operation thereof. In particular, if the number of control variables CVs matches the number of control variables MVs, the expected behavior in the default setting is that the control variable (CV) setpoints are maintained as long as the auxiliary variables AVs and the control variables MVs are expected to be within their limits , If it is predicted that an auxiliary variable or a control variable will exceed its limit, the operating setpoints of the control variables can be changed within their ranges to prevent these limits from being exceeded, if possible. If in this case the optimizer 54 cannot find a solution which, while keeping the control variables within their range, meets the auxiliary and control variable limits, the control variables can be kept within their range while allowing the auxiliary and / or control variables to deviate from their limitation limits. When finding the best solution, those auxiliary variables AVs and control variables MVs that are likely to cross a limit can be treated equally and their mean limit deviation can be minimized. To achieve this behavior, the target cost / revenue value used by the objective function can be automatically set to assign a 1 revenue to the CV control variables if the range is defined to allow a deviation below the setpoint, and proceeds of –1 if the range is defined to allow deviation from the target. The auxiliary variables AVs within the limits can be assigned a revenue of 0 and the control variables MVs can be assigned a cost value of 0. Alternatively, a revenue of 1 or -1 can be assigned to the auxiliary variables and a cost value of 0.1 to the control variables.

Wenn die Anzahl der Steuervariablen CVs kleiner als die Anzahl von Stellvariablen MVs ist, können die zusätzlichen Freiheitsgrade verwendet werden, um die mit der konfigurierten Stellvariablen- (MV-) End-Ruheposition verbundenen Anforderungen zu befriedigen. Hier können die Steuervariablen-Sollwerte (falls irgendwelche Steuervariablen- (CV-) Sollwerte definiert sind) gehalten werden, solange die Hilfs- und Stellvariablen voraussichtlich innerhalb ihrer Grenzen liegen werden. Die mittlere Abweichung der Stellvariablen von der konfigurierten End-Ruheposition wird minimiert. Wenn für eine oder mehrere der Hilfs- und Stellvariablen vorhergesagt wird, dass sie ihre Grenzen übertreten werden, können die Betriebs-Sollwerte der Steuervariablen innerhalb ihrer Bereiche geändert werden, um zu verhindern, dass diese Grenzen übertreten werden. Unter dieser Bedingung kann, wenn es mehrere Lösungen gibt, die zur Steuerung verwendete Lösung die Lösung sein, welche die mittlere Abweichung der Stellvariablen von der konfigurierten End-Ruheposition minimiert.If the number of control variables CVs is smaller than the number of control variables MVs, the additional Degrees of freedom can be used to compare the (MV) end rest position to satisfy related requirements. Here you can the control variable setpoints (if any control variables- (CV) setpoints are defined) as long as the auxiliary and control variables are expected to be within their limits become. The mean deviation of the control variables from the configured one End-rest position is minimized. If for one or more of the auxiliary and control variables is predicted, that they cross their borders can be the operating setpoints of the control variables within their ranges changed to prevent these limits from being exceeded. Under this Condition can, if there are several solutions to control solution used be the solution which is the mean deviation of the control variables from the configured one End rest position minimized.

In normalen Situationen liegen die vom Optimierer 54 auf die oben beschriebene Weise entwickelten Ziel-Sollwerte innerhalb akzeptabler Bereiche und bleiben die Stell-, Hilfs- und Steuervariablen innerhalb der voreingestellten Grenzen oder Bereiche. Wenn aber die Störungen zu schwerwiegend sind, um innerhalb der Beschränkungsgrenzen ausgeglichen zu werden, werden einige Beschränkungen übertreten, in welchem Fall der Optimierer 54 möglicherweise nicht in der Lage ist, unter Verwendung der vorgegebenen oder ausgewählten Zielfunktion mit den oben beschriebenen Sollwertlockerungsverfahren eine realisierbare Lösung (d.h. eine Lösung, in welcher keine der Beschränkungen oder Grenzen übertreten wird) zu finden. Zu den möglichen Weisen, unter diesen Umständen für Optimierung zu sorgen, zählen der Verzicht auf jede Optimierungsmaßnahme und das Fallenlassen von Beschränkungen niedrigerer Priorität.In normal situations it is up to the optimizer 54 Target setpoints developed in the manner described above within acceptable ranges and the actuating, auxiliary and control variables remain within the preset limits or ranges. However, if the perturbations are too severe to be compensated for within the constraint limits, some constraints will be exceeded, in which case the optimizer 54 may not be able to find a feasible solution (that is, a solution in which none of the restrictions or limits will be exceeded) using the setpoint loosening methods described above using the predetermined or selected objective function. Possible ways of optimizing under these circumstances include refraining from any optimization measure and dropping lower priority constraints.

Während der Verzicht auf Optimierung die einfachste mögliche Weise ist, mit einer nicht realisierbaren Lösung umzugehen, ist es nicht das beste Verfahren zur Handhabung von Beschränkungen, weil, wenn es keine realisierbare Lösung innerhalb der Grenzen gibt, es in den meisten Fällen noch möglich ist, unter Berücksichtigung der Optimierungsziele Beschränkungsübertretungen zu minimieren. Überdies ist das Fallenlassen von Beschränkungen niedrigerer Priorität eine extreme Maßnahme, die, während sie ermöglicht, Beschränkungen höherer Priorität einzuhalten, übermäßige unkontrollierte Übertretungen der Grenzen der fallengelassenen Beschränkungen zur Folge haben kann, was inakzeptabel sein kann. Ein anderes Problem beim Fallenlassen von Beschränkungen niedrigerer Priorität ist, dass abgeschätzt werden muss, wie viele Beschränkungen niedrigerer Priorität fallengelassen werden müssen, um eine Lösung zu erhalten. Eine solche Abschätzung beruht auf den im System verfügbaren Freiheitsgraden, welche Abschätzung vor der Optimierungsprozedur berechnet oder während der Prozedur bestimmt werden muss. Im letzteren Fall muss der Prozess des Entwickelns einer optimalen Lösung durch aufeinanderfolgendes Fallenlassen von Beschränkungen möglicherweise wiederholt werden, bis eine Lösung gefunden wird, und ein solcher zeitlich unbegrenzter iterativer Prozess ist in den meisten Echtzeit-Optimierungsanwendungen nicht wünschenswert.While avoiding optimization is the easiest way to deal with an unrealizable solution, it is not the best way to handle constraints because if there is no viable solution within the limits, in most cases it is still possible to under consideration to minimize optimization violations. Furthermore, dropping lower priority constraints is an extreme measure that, while allowing compliance with higher priority constraints, can result in excessive uncontrolled violations of the boundaries of the dropped constraints, which may be unacceptable. Another problem with dropping lower priority constraints is to estimate how many lower priority constraints need to be dropped to get a solution. Such an estimate is based on the degrees of freedom available in the system, which estimate must be calculated before the optimization procedure or determined during the procedure. In the latter case, the process of developing an optimal solution by successively dropping constraints may need to be repeated until a solution is found, and such an indefinite iterative process is not desirable in most real-time optimization applications.

Es wurde jedoch entdeckt, dass es in manchen Situationen noch möglich ist, eine akzeptable Lösung zu finden, wenn die Zielfunktion ursprünglich so konfiguriert ist, dass keine realisierbare Lösung existiert, indem, je nach der Priorität der Variable und dem Ausmaß der Beschränkungsübertretung, in der Zielfunktion eine Strafe für jede Beschränkungsübertretung zugewiesen wird (was gewöhnlich als Verwenden von Spielraumvariablen in der Zielfunktion bezeichnet wird), indem die Beschränkungsgrenzen für eine oder mehrere Prozessvariablen neu definiert werden und die Zielfunktion neu definiert wird, um die Prozessvariable unter Verwendung der neu definierten Grenzen gegen die vorherige Grenze zu treiben, während anderen Prozessvariablen nicht gestattet wird, ihre ursprünglichen Beschränkungen oder Grenzen zu übertreten, oder durch eine Kombination dieser beider Verfahren.However, it was discovered that it still possible in some situations is an acceptable solution too find if the objective function is originally configured that no viable solution exists by, depending on the priority of the variable and the extent of the violation, in the objective function a penalty for each violation of the restriction assigned (which is usually referred to as using margin variables in the objective function will) by limiting limits for one or several process variables are redefined and the target function is redefined to the process variable using the pushing redefined borders against the previous border while others Process variables are not allowed to be their original restrictions or to cross borders or by a combination of these two methods.

Insbesondere lassen sich nicht realisierbare Optimierer-Lösungen mittels des wohlbekannten Konzepts der Spielraumvariablen handhaben. Dieses Verfahren weist Strafen zu, welche auf der Priorität der übertreten werdenden Beschränkung oder auf dem Ausmaß der Grenzübertretung oder auf beidem beruhen. Obwohl nach dem Stand der Technik allgemein vorgeschlagen wurde, dass es möglich ist, bei Vorliegen von Übertretungen von Steuereinrichtungs-Beschränkungsgrenzen Spielraumvariablen beim Optimieren zu verwenden, ist den Erfindern keine konkrete Offenbarung über eine Art, dies zu tun, bekannt. Also wurde das im Folgenden beschriebene Verfahren von den Erfindern entwickelt, um Spielraumvariablen zu verwenden, um eine von einem Optimierer verwendete Zielfunktion neu zu definieren, wenn in der mittels der ursprünglichen Zielfunktion entwickelten Lösung notwendigerweise Beschränkungsübertretungen vorliegen.In particular, they cannot be implemented Optimizer solutions handle using the well-known concept of margin variables. This procedure assigns penalties based on the priority of the violators becoming restriction or on the extent of border transgression or be based on both. Although common in the prior art it was suggested that it was possible is in the presence of violations of tax facility restriction limits The inventors have used the use of margin variables when optimizing no concrete revelation about known a way of doing this. So that was described below Processes developed by the inventors to adjust travel variables use an objective function used by an optimizer redefine if developed in the using the original objective function solution necessarily violations of restrictions available.

Allgemein sind Spielraumvariablen als der Wert oder das Ausmaß definiert, um welchen bzw. welches die vorhergesagte Prozessvariable die übertretene Grenze überschreitet (über oder unter dieser liegt). Um die Spielraumvariable zu minimieren (und dadurch die Grenzübertretung zu minimieren), wird die vom Optimierer verwendete Zielfunktion neu definiert, so dass sie eine Strafe für jeden Spielraumvariablen-Wert, der nicht null ist, enthält, welche im Wesentlichen den Optimierer veranlasst, eine Lösung zu finden, welche in Verbindung mit den anderen von der Zielfunktion definierten Zielen wie ökonomischen Zielen die Spielraumvariable minimiert. Gemäß diesem Verfahren wird, wenn der Optimierer auf eine Situation stößt, in welcher er nur nicht realisierbare Lösungen liefern kann, die Zielfunktion neu definiert, so dass sie einen Kostenwert oder eine Strafe enthält, welcher bzw. welche mit einer Grenzübertretung für jede Prozessvariable (z.B. Stell-, Hilfs- oder Steuervariable) oder mindestens für jede Prozessvariable, welche voraussichtlich eine voreingestellte Grenze übertreten wird, verknüpft ist. Falls gewünscht, kann für jede der Prozessvariablen die gleiche oder eine unterschiedliche Strafe definiert werden, so dass die Zielfunktion eine Spielraumvariable enthält, die einen Kostenwert oder eine Strafe definiert, welcher bzw. welche aus jeder Grenzübertretung für jede Prozessvariable, die eine zugehörige Grenze übertritt, resultiert. Der Spielraumvariablen-Kostenwert oder Strafwert in der neu definierten Zielfunktion kann sowohl vom Ausmaß der Grenzübertretung als auch von der Prozessvariable, in welcher die Grenzübertretung auftritt, abhängen. Die Einheitskosten oder -strafen können zum Beispiel für Prozessvariablengrenzen höherer Priorität höher und für Prozessvariablengrenzen niedrigerer Priorität niedriger sein. Auf jeden Fall wird dann die neu definierte Zielfunktion verwendet, um durch Minimieren (oder Maximieren) der neu definierten Zielfunktion bei Vorliegen beider der zuvor definierten wirtschaftlichen Faktoren (Erlöse und Kosten) sowie der mit dem Vorliegen von Spielraumvariablen, welche nicht null sind, verknüpften Kosten oder Strafen für eine oder mehrere der Prozessvariablen eine optimale Lösung zu finden.Generally, there are scope variables defined as the value or extent by which or which the predicted process variable the violated Limit (over or is below this). To minimize the margin variable (and thereby crossing the border to minimize), the objective function used by the optimizer redefined so they have a penalty for each margin variable value, that is not null contains which essentially prompts the optimizer to find a solution find which one in conjunction with the others from the objective function defined goals such as economic Aiming the scope variable minimized. According to this procedure, if the optimizer encounters a situation in which he just doesn't feasible solutions can deliver, redefine the objective function so that it has a Cost value or contains a penalty which one or which with a limit violation for each process variable (e.g. control, auxiliary or control variable) or at least for each process variable, which are likely to exceed a preset limit is linked is. If desired, can for each of the process variables the same or a different one Punishment can be defined so that the objective function is a margin variable contains which defines a cost value or a penalty, which one or which from every border crossing for every Process variable which is an associated Crossing the border, results. The margin variable cost value or penalty value in The newly defined objective function can depend both on the extent of the border crossing as well as the process variable in which the border crossing occurs, depend. Unit costs or penalties can be, for example, for process variable limits higher priority higher and for process variable limits lower priority be lower. In any case, the newly defined objective function used to minimize (or maximize) the newly defined Objective function in the presence of both of the previously defined economic ones Factors (proceeds and costs) as well as with the existence of margin variables, which are not zero, associated costs or penalties for one or more of the process variables to an optimal solution Find.

Insbesondere können bei der linearen Programmierung Spielraumvariablen-Vektoren Smax ≥ 0 und Smin ≥ 0 wie folgt verwendet werden: CVvorhergesagt + A * ΔMV(t + c) = CVmax + Smin (10) CVvorhergesagt + A * ΔMV(t + c) = CVmax – Smax (11) In particular, linear variable vectors S max ≥ 0 and S min ≥ 0 can be used in linear programming as follows: CV predicted + A * ΔMV (t + c) = CV Max + S min (10) CV predicted + A * ΔMV (t + c) = CV Max - p Max (11)

Hier versteht es sich, dass AVs in den CV-Termen in diesen Gleichungen enthalten sind (d.h. die Variablen CVs decken alle Ausgänge ab, wo Steuervariablen Hilfsvariablen sind). In den Gleichungen (10) und (11) für das lineare Programmierungsmodell ist die Gleichheit erforderlich, und die Spielraumvariablen Smin und Smax dienen nur zur Unterstützung formaler Parameter ohne besondere Bedeutung in der Anwendung. In dieser Anwendung werden zusätzliche Spielraumvariablen S+ und S verwendet, um die Bereichsgrenzen des Spielraumvektors zu erweitern, wobei S+ ≥ 0 zum Erhöhen der Obergrenze und S ≥ 0 zum Absenken der Untergrenze verwendet wird. Effektiv können die Gleichungen (10) und (11) neu definiert oder neu formuliert werden als: CVvorhergesagt + A * ΔMV(t + c) = CVmin + Smin – S (12) CVvorhergesagt + A * ΔMV(t + c) = CVmax – Smax + S+ (13) wobei die Werte S und S+ die Werte sind, um welche die vorhergesagte Prozessvariable die Unter- beziehungsweise Obergrenzen der Beschränkung übertritt. Bei dieser Definition werden die neuen Spielraumvariablen S und S+ verwendet, um Straffaktoren in der Zielfunktion zu definieren, um eine LP-Lösung innerhalb der Bereiche oder mit lediglich minimaler Überschreitung der Bereiche zu erhalten.It is understood here that AVs in the CV terms are included in these equations (ie the Va Variable CVs cover all outputs where control variables are auxiliary variables). Equality is required in equations (10) and (11) for the linear programming model, and the range variables S min and S max are only used to support formal parameters of no particular importance in application. In this application, additional latitude variables S + and S - are used to extend the range boundaries of the margin vector, using S + ≥ 0 to increase the upper limit and S - ≥ 0 to lower the lower limit. Effectively, equations (10) and (11) can be redefined or reformulated as: CV predicted + A * ΔMV (t + c) = CV min + S min - p - (12) CV predicted + A * ΔMV (t + c) = CV Max - p Max + S + (13) where the values S - and S + are the values by which the predicted process variable exceeds the lower and upper limits of the restriction. In this definition, the new latitude variables S - and S + are used to define penalty factors in the target function in order to obtain an LP solution within the areas or with only minimal exceeding of the areas.

Als Beispiel kann die Zielfunktion durch Addieren der Terme

Figure 00320001
und
Figure 00320002
erweitert werden, so dass:
Figure 00320003
wobei:
PS der Spielraumvariablen-Strafenvektor für das Übertreten von Untergrenzen ist;
PS+ der Spielraumvariablen-Strafenvektor für das Übertreten von Obergrenzen ist; und
PS >> UCV und PS+ >> UCV (wobei das Symbol >> "viel größer als" bedeutet).As an example, the objective function can be obtained by adding the terms
Figure 00320001
and
Figure 00320002
be expanded so that:
Figure 00320003
in which:
PS - is the margin variable penalty vector for crossing lower bounds;
PS + is the margin variable penalty vector for violating ceilings; and
PS - >> UCV and PS + >> UCV (where the symbol >> means "much larger than").

Danach kann die neu definierte Zielfunktion auf eine standardgemäße Weise verwendet werden, so dass durch Minimieren der neu definierten Zielfunktion die Werte S und S+ minimiert werden wie durch mit diesen Werten verknüpfte Kosten definiert, um eine Lösung zu erhalten, welche optimal ist in dem Sinn, dass sie die Grenzüberschreitungen bezüglich der anderen Ziele der Zielfunktion optimal reduziert.The newly defined objective function can then be used in a standard manner so that by minimizing the newly defined objective function the values S - and S + are minimized as defined by the costs associated with these values in order to obtain a solution which is optimal in the It makes sense that it optimally reduces the border crossings with regard to the other goals of the objective function.

Allgemein sollten die mit den Spielraumvariablen S und S+ verknüpften Strafen beträchtlich höher sein als die in oder verknüpft mit der Zielfunktion optimiert werdenden wirtschaftlichen Kosten oder Erlöse. Also sollten alle Komponenten der Vektoren PS. und PS+ (welche die mit den verschiedenen Spielraumvariablen verknüpften Strafen definieren) beträchtlich größer sein als diejenigen der in der Zielfunktion verwendeten wirtschaftlichen Kosten/Erlös-Vektoren. Es ist angemessen, anzunehmen, dass die kleinste Komponente der Vektoren PS und PS+ im Allgemeinen mehrfach größer sein sollte als die größte Komponente des UCV-Vektors. Somit sollten die Spielraumvariablen in der Zielfunktion, wie hierin beschrieben, im Vergleich zu den wirtschaftlichen Kosten, Erlösen usw. mit hohen Strafen belegt sein.In general, the penalties associated with the S - and S + scope variables should be significantly higher than the economic costs or revenues optimized in or linked to the objective function. So all components of the vectors PS. and PS + (which define the penalties associated with the various margin variables) are considerably greater than those of the economic cost / revenue vectors used in the objective function. It is reasonable to assume that the smallest component of the PS - and PS + vectors should generally be several times larger than the largest component of the UCV vector. Thus, the margin variables in the objective function, as described herein, should be punished with high penalties compared to the economic costs, proceeds, etc.

5 veranschaulicht grafisch die Verwendung von Spielraumvariablen für den Umgang mit Beschränkungsübertretungen einer Prozessvariablen (ohne zugehörigen Sollwert). Insbesondere veranschaulicht 5 die Werte für Smax(i), Smin(i) für die Fälle, in welchen (1) die vorhergesagte Prozessvariable innerhalb der (durch die Linien 202 und 204 definierten) vordefinierten Beschränkungsgrenzen liegt, wie durch den Punkt 206 veranschaulicht, (2) die vorhergesagte Prozessvariable über der Beschränkungs-Obergrenze 202 liegt, wie durch den Punkt 208 veranschaulicht, und (3) die vorhergesagte Prozessvariable unter der Beschränkungs-Untergrenze 204 liegt, wie durch den Punkt 210 veranschaulicht. Im ersten (mit dem Punkt 206 verbundenen) Fall sind die Werte von S+(i) und S(i) null, weil die Beschränkungs-Obergrenze und die Beschränkungs-Untergrenze nicht übertreten werden. In diesem Fall wird keine Strafe mit der Prozessvariable in der Zielfunktion verknüpft oder dieser zugeordnet. Im zweiten (durch den Punkt 208 veranschaulichten) Fall aber ist der Wert von S+(i) nicht null, weil der Punkt 208 die Obergrenze 202 überschreitet. Die fette gestrichelte Linie veranschaulicht den Wert der Spielraumvariable S+(i), welcher der Wert ist, der mit einem mit einer Übertretung der Obergrenze für diese Prozessvariable in der Zielfunktion verknüpften Einheitskostenwert multipliziert wird. Entsprechend ist im (durch den Punkt 210 veranschaulichten) dritten Fall der Wert von S(i) nicht null, weil der Punkt 210 die Untergrenze 204 überschreitet. Die fette gestrichelte Linie veranschaulicht hier den Wert der Spielraumvariable S(i), welcher der Wert ist, der mit einem mit einer Übertretung der Untergrenze für diese Prozessvariable in der Zielfunktion verknüpften Einheitskostenwert multipliziert wird. Natürlich veranschaulicht 5 einen einzigen mit einer Signal-Prozessvariable verknüpften Zeitpunkt, und es versteht sich, dass die neu definierte Zielfunktion die Beschränkungsübertretungen über die Zeit bis zum Steuerhorizont minimiert. 5 illustrates graphically the use of scope variables to deal with violation of a process variable (without associated setpoint). Illustrated in particular 5 the values for S max (i), S min (i) for the cases in which ( 1 ) the predicted process variable within the (by the lines 202 and 204 defined) predefined restriction limits, as indicated by the point 206 illustrated ( 2 ) the predicted process variable above the restriction upper limit 202 lies as through the point 208 illustrated, and ( 3 ) the predicted process variable below the restriction lower limit 204 lies as through the point 210 illustrated. In the first (with the point 206 connected) case, the values of S + (i) and S - (i) are zero because the upper limit and lower limit are not exceeded. In this case, no penalty is linked to or assigned to the process variable in the target function. In the second (through the point 208 illustrated case) but the value of S + (i) is not zero because of the point 208 the upper limit 202 exceeds. The bold dashed line illustrates the value of the margin variable S + (i), which is the value that is multiplied by a unit cost value associated with exceeding the upper limit for this process variable in the objective function. Accordingly, in (by the point 210 illustrated) third case the value of S - (i) not zero because of the point 210 the lower limit 204 exceeds. The bold dashed line here illustrates the value of the Margin variable S - (i), which is the value multiplied by a unit cost value associated with violating the lower limit for this process variable in the objective function. Illustrated of course 5 a single point in time associated with a signal process variable, and it is understood that the newly defined objective function minimizes the violation of restrictions over time up to the tax horizon.

Zusätzlich zum Minimieren (oder statt des Minimierens) von Übertretungen von Beschränkungsgrenzen wie oben beschrieben kann der Optimierer mit Strafen belegte Spielraumvariablen verwenden, um Sollwertoptimierung entweder in dem Fall, in welchem eine nicht realisierbare Lösung gefunden wird, oder in dem Fall, in welchem aus anderen Gründen gewünscht wird, auf einen Sollwert zu optimie ren, zu leisten. Insbesondere können mit Strafen belegte Spielraumvariablen verwendet werden, um, als Antwort auf eine nicht realisierbare Lösung oder aus irgendeinem anderen gewünschten Grund, das Lockern von Sollwerten innerhalb um einen vorgewählten Sollwert (z.B. einen vom Bediener oder irgendeiner anderen Quelle gelieferten Sollwert) definierter akzeptabler Bereiche zu gestatten, um anderen Prozessvariablen zu ermöglichen, ihre zugehörigen Grenzen einzuhalten oder dem Einhalten derselben näher zu kommen. Die Sollwertbereiche könnten einen hohen Bereich (in welchem dem Sollwert gestattet wird, innerhalb eines Bereichs oberhalb des vorgewählten Sollwerts abzuweichen), einen niedrigen Bereich (in welchem dem Sollwert gestattet wird, innerhalb eines Bereichs unterhalb des vorgewählten Sollwerts abzuweichen) oder beide einschließen. Die in diesem Verfahren verwendeten Sollwertbereiche können einseitig oder zweiseitig sein. Einseitige Bereiche können mit einer Minimierungs- oder einer Maximierungs-Zielfunktion verknüpft sein, welche für das Abweichen außerhalb eines vorgewählten Sollwertbereichs eine Strafe in der Zielfunktion definiert, aber welche für eine Abweichung vom Sollwert innerhalb des Sollwertbereichs nur wirtschaftliche Kosten in der Zielfunktion auferlegt. Zweiseitige Bereiche andererseits haben üblicherweise keine wirtschaftlichen Ziele, sondern werden verwendet, um die optimale Lösung so nah wie möglich am vorgewählten Sollwert innerhalb eines bevorzugten Bereichs, welcher durch Verwendung von mit hohen Strafen belegten Spielraumvariablen außerhalb des Bereichs erweitert werden kann, zu erhalten. Wenn der bevorzugte Sollwertbereich gleich null ist, liegt im Wesentlichen die gleiche Situation vor wie bei einem Sollwert mit den mit Strafen belegten Spielraumvariablen um ihn herum.In addition to minimizing (or instead of minimizing) violations of restriction limits as described above, the optimizer can be penalized margin variables use to setpoint optimization either in the case in which an unrealizable solution is found, or in the case where it is desired for other reasons, to optimize to a target value. In particular, with Penalized travel variables are used to, in response for an unrealizable solution or from any other desired Reason, the loosening of setpoints within a preselected setpoint (e.g. one supplied by the operator or any other source Setpoint) to allow defined acceptable ranges to others To enable process variables their associated Keeping boundaries or getting closer to them. The setpoint ranges could be one high range (within which the setpoint is allowed, within deviate from a range above the preselected setpoint), a low range (in which the setpoint is allowed, deviate within a range below the preselected setpoint) or include both. The setpoint ranges used in this procedure can be one-sided or be two-sided. Unilateral areas can be minimized or be linked to a maximization objective function which is used for the deviation outside of one preselected Setpoint range defines a penalty in the objective function, however which for a deviation from the setpoint within the setpoint range only economic costs imposed in the objective function. two-sided Areas on the other hand typically have not economic goals, but are used to find the optimal one solution as close as possible at the selected Setpoint within a preferred range, which is determined by use of travel variables outside of which are subject to high penalties of the area can be expanded. If the preferred If the setpoint range is zero, the situation is essentially the same like a setpoint with the margin variables that are subject to penalties around him.

Die 6 beziehungsweise 7 veranschaulichen die Verwendung von Spielraumvariablen ohne und mit Verwendung eines erweiterten Bereichs. In 6 veranschaulicht ein Punkt 215 einen Sollwert für eine Prozessvariable innerhalb eines durch die Linien 217 und 219 definierten Bereichs. Mit der Abweichung vom Sollwert innerhalb des durch die Linien 217 und 219 begrenzten Bereichs ist keine Spielraumvariablen-Strafe verknüpft. Wie für einen Punkt 221 gezeigt, wird aber, wenn die Prozessvariable die obere Bereichsgrenze 217 überschreitet, eine mit einer Strafe belegte Spielraumvariable S+(i) verwendet, um, ähnlich wie bei der Verwendung von Spielraumvariablen in den oben erörterten Beschränkungsübertretungssituationen, in der Zielfunktion eine Strafe für diese Abweichung aufzuerlegen. Entsprechend wird, wie für einen Punkt 223 gezeigt, wenn die Prozessvariable die untere Bereichsgrenze 219 überschreitet, eine mit einer Strafe belegte Spielraumvariable S(i) verwendet, um, ähnlich wie bei der Verwendung von Spielraumvariablen in den oben beschriebenen Beschränkungsübertretungssituationen, in der Zielfunktion eine Strafe für diese Abweichung aufzuerlegen.The 6 respectively 7 illustrate the use of travel variables without and with the use of an extended range. In 6 illustrates a point 215 a setpoint for a process variable within a through the lines 217 and 219 defined area. With the deviation from the target value within the through the lines 217 and 219 limited range is not associated with a margin variable penalty. As for a point 221 is shown, however, if the process variable exceeds the upper range limit 217 a punished margin variable S + (i) is used to impose a penalty for this deviation in the objective function, similar to the use of margin variables in the constraint violation situations discussed above. Correspondingly, as for a point 223 shown when the process variable is the lower range limit 219 a punished margin variable S - (i) is used to impose a penalty for this deviation in the objective function, similar to the use of margin variables in the constraint violation situations described above.

7 veranschaulicht die Verwendung von Spielraumvariablen in einer Situation mit erweitertem Bereich, in welcher eine erste Spielraumvariablen-Strafe für Abweichungen vom Sollwert innerhalb eines ersten Bereichs auferlegt wird und mit hohen Strafen belegte Spielraumvariablen (mit mit hohen Strafen belegten Kosten) verwendet werden, um den möglichen Bereich des Sollwerts außerhalb des ersten Bereichs zu erweitern. Insbesondere veranschaulicht ein Punkt 230 die Situation, wenn die vorhergesagte Prozessvariable über einem vorgewählten Sollwert 231, aber innerhalb eines voreingestellten zulässigen, durch die Linien 232 und 234 definierten Bereichs liegt. Hier wird eine Variable S(i)oben verwendet, um die mit der Abweichung des Punktes 230 vom voreingestellten Sollwert 231 verknüpfte Strafe zu definieren. Wie durch die gestrichelte Linie angedeutet, ist der nicht null betragende Wert der Variable S(i)oben in der Zielfunktion mit einer Strafe belegt. Andererseits veranschaulicht der Punkt 236 die Verwendung von mit hohen Strafen belegten Spielraumvariablen, wenn die mit dem Sollwert verknüpfte Stellvariable die voreingestellte obere Bereichsgrenze 232 um einen Wert S+(i) überschreitet. Hier deutet die besonders fette gestrichelte Linie an, dass die Variable S+(i) in der Zielfunktion mit einer im Vergleich zur Variable S(i)oben hohen Strafe belegt ist, um Abweichungen außerhalb der Bereichsgrenze 232 viel höher zu bestrafen als Abweichungen vom Sollwert 231 innerhalb der Bereichsgrenze 232. 7 illustrates the use of margin variables in an extended range situation in which a first margin variable penalty for deviations from the target within a first range is imposed and high penalty penalties (with high penalty costs) are used to cover the possible range expand the setpoint outside the first range. One point in particular illustrates 230 the situation when the predicted process variable is above a preselected setpoint 231 , but within a preset allowable, through the lines 232 and 234 defined range. Here a variable S (i) is used above to match the deviation of the point 230 from the preset setpoint 231 to define associated punishment. As indicated by the dashed line, the non-zero value of the variable S (i) at the top of the objective function is punished. On the other hand, the point illustrates 236 the use of margin variables with high penalties if the actuating variable linked to the setpoint exceeds the preset upper range limit 232 by a value S + (i). Here, the particularly bold dashed line indicates that the variable S + (i) in the objective function has a high penalty compared to the variable S (i) above , by deviations outside the range limit 232 to punish much higher than deviations from the target value 231 within the range limit 232 ,

Auf eine ähnliche Art veranschaulicht ein Punkt 238 die Situation, wenn die vorhergesagte Prozessvariable unter dem vorgewählten Sollwert 231, aber innerhalb eines voreingestellten zulässigen, durch die Linien 232 und 234 definierten Bereichs liegt. Hier wird eine Variable S(i)unten verwendet, um die mit der Abweichung des Punktes 238 vom vorgewählten Sollwert 231 verknüpfte Strafe zu definieren. Wie durch die gestrichelte Linie angedeutet, wird der nicht null betragende Wert der Variable S(i)unten in der Zielfunktion mit einer Strafe belegt. Außerdem veranschaulicht ein Punkt 240 die Verwendung von mit hohen Strafen belegten Spielraumvariablen, wenn die mit dem Sollwert verknüpfte Prozessvariable die voreingestellte untere Bereichsgrenze 234 um einen Wert S(i) überschreitet. Hier deutet die besonders fette gestrichelte Linie wieder an, dass die Variable S(i) in der Zielfunktion mit einer im Vergleich zur Variable S(i)unten hohen Strafe belegt ist, um Abweichungen außerhalb der Bereichsgrenze 234 viel höher zu bestrafen als Abweichungen vom Sollwert 231 innerhalb der Bereichsgrenze 234.In a similar way, a point illustrates 238 the situation when the predicted process variable is below the preselected setpoint 231 , but within a preset allowable, through the lines 232 and 234 defined range. Here a variable S (i) below is used to match the deviation of the point 238 from the preselected setpoint 231 to define associated punishment. As indicated by the dashed line, the non-zero value of the variable S (i) is punished in the target function below . It also illustrates a point 240 the use of margin variables with high penalties, if the process variable linked to the setpoint is the preset lower range limit 234 by a value S - (i). Here, the particularly bold dashed line again indicates that the variable S - (i) in the objective function is punished with a high penalty compared to the variable S (i) below , to reject checks outside the range limit 234 to punish much higher than deviations from the target value 231 within the range limit 234 ,

Die Gleichungen für die Sollwertregelung mit den zweiseitigen Bereichen können in folgender Form dargestellt werden: CVvorhergesagt + A * ΔMV(t + c) = SP – Sunten + Soben (15) CVvorhergesagt + A * ΔMV(t + c) = CVmin + Smin – S (16) CVvorhergesagt + A * ΔMV(t + c) = CVmax – Smax + S+ (17) The equations for the setpoint control with the two-sided areas can be represented in the following form: CV predicted + A * ΔMV (t + c) = SP - S below + S above (15) CV predicted + A * ΔMV (t + c) = CV min + S min - p - (16) CV predicted + A * ΔMV (t + c) = CV Max - p Max + S + (17)

Hier sind Sunten und Soben Vektoren von Spielraumvariablen für die Lösungen unterhalb und oberhalb der Sollwerte, und die Terme

Figure 00360001
sollten zur Zielfunktion hinzuaddiert werden, wobei:
Figure 00360002
die Einheitsstrafe für die Lösung unter dem Sollwert ist; und
Figure 00360003
die Einheitsstrafe für die Lösung über dem Sollwert ist.Here S below and S above are vectors of travel variables for the solutions below and above the target values, and the terms
Figure 00360001
should be added to the objective function, where:
Figure 00360002
the unit penalty for the solution is below the target; and
Figure 00360003
the unit penalty for the solution is above the target value.

Es versteht sich, dass die Zielfunktion auch die Spielraumvariablen-Strafen für die Variablen S und S+ enthält wie oben definiert.It is understood that the objective function also includes the margin variable penalties for the variables S - and S + as defined above.

Dieses Verfahren zum Handhaben von Beschränkungen mit Spielraumvariablen, welche mit Strafen belegt sind, schafft beträchtliche Flexibilität beim Handhaben nicht realisierbarer Situationen. Insbesondere durch Anwenden von mit Strafen belegten Spielraumvariablen kann der Optimierer immer eine optimale Lösung finden, welche die Gesamtkosten von Beschränkungsübertretungen wie von der Zielfunktion definiert minimiert, auch wenn die Lösung außerhalb der vorgewählten Grenzen oder Beschränkungen liegt. Jedoch können manche Prozessvariablen-Ausgänge, welche vor dem Ausführen des neu definierten Optimierers mit den mit Strafen belegten Spielraumvariablen innerhalb der Grenzen liegen, infolge der Lösung mit Spielraumvariablen die Grenzen übertreten. Außerdem wird der Betrag der Grenzüberschreitung für eine bestimmte Prozessvariable vor dem Erzeugen der Lösung nicht quantitativ definiert. Diese zwei Merkmale sind möglicherweise in vielen Anwendungen nicht wünschenswert, weil manche Anwendungen erfordern können, dass die Prozessvariablen niedrigerer Priorität, welche anfänglich innerhalb der Bereichsgrenzen liegen, nicht über die Grenzen hinaus getrieben werden, um Prozessvariablen höherer Priorität in die Grenzen zu befördern. Überdies können manche Anwendungen wohldefinierte Lösungsgrenzen für alle Prozessvariablen erfordern. Diesen zwei Zielen kann genügt werden, indem das Beschränkungsmodell als Antwort auf eine nicht realisierbare Situation oder Lösung neu definiert wird.This procedure for handling restrictions with scope variables that are subject to penalties considerable flexibility when handling unrealizable situations. In particular through The optimizer can apply penalties always an optimal solution Find the total cost of constraint violations as from the objective function defined minimized even if the solution is outside the pre-selected limits or restrictions lies. However, can some process variable outputs, which ones before running of the newly defined optimizer with the scope variables that are subject to penalties are within the limits due to the solution with margin variables to cross the borders. Moreover becomes the amount of border crossing for one certain process variables not defined quantitatively before generating the solution. These two characteristics are possible not desirable in many applications, because some applications may require the process variables lower priority, which initially are within the range limits, not pushed beyond the limits be higher to process variables priority to push the limits. moreover can some applications have well-defined solution limits for all process variables require. These two goals can be met by using the restriction model new in response to an unrealizable situation or solution is defined.

Insbesondere um Nichtrealisierbarkeiten auf eine Weise zu handhaben, welche genau definierte Grade von Grenzübertretungen erzwingt, kann das Beschränkungsmodell selbst neu definiert werden. Natürlich erfolgt diese Neudefinierung nach dem ersten Optimierungslauf, wenn mit Strafen belegte Spielraumvariablen nicht verwendet werden und es keine Lösung innerhalb ursprünglicher Grenzen gibt oder wenn mit Strafen belegte Spielraumvariablen verwendet werden, aber die Lösung mit mit Strafen belegten Spielraumvariablen nicht akzeptabel ist. Allgemein werden die neu definierten Grenzen als der Wert der vorhergesagten Prozessvariable (z.B. einer Steuervariable CV), welche eine ursprüngliche Grenze und die ursprüngliche Grenze minus irgendeinem Nominalwert übertritt, eingestellt. Diese neu definierten Grenzen werden dann in einem zweiten Optimierungslauf verwendet, um bei gleichzeitigem Minimieren oder Maximieren der Zielfunktion eine Lösung zu finden, welche die neu definierten Grenzen nicht übertritt. Dieses Neudefinieren von Grenzen verhindert, dass die Prozessvariable, die eine ursprüngliche Grenze übertritt, sich verschlechtert, und verhindert gleichzeitig, dass andere Prozessvariablen, welche ihre ursprünglichen voreingestellten Grenzen nicht übertraten, dies im zweiten Optimierungslauf tun. Die Prozessvariablen werden jedoch immer noch innerhalb der ursprünglichen Grenzen (wenn der vorhergesagte Wert der Prozessvariable die ursprüngliche Grenze nicht übertrat) oder innerhalb der neu definierten Grenzen (wenn der vorhergesagte Wert der Prozessvariable die ursprüngliche Grenze übertrat) optimiert, um bei Vorliegen von Grenzübertretungen eine begrenzte optimierte Lösung zu schaffen.The restriction model itself can be redefined, in particular in order to handle non-realizations in a way that forces precisely defined degrees of border crossings. Of course, this redefinition takes place after the first optimization run if penalized margin variables are not used and there is no solution within original limits or if penalized margin variables are used but the solution with penalized margin variables is not acceptable. Generally, the newly defined limits are set as the value of the predicted process variable (e.g., a control variable CV) that crosses an original limit and the original limit minus any nominal value. These newly defined limits are then used in a second optimization run in order to find a solution that does not exceed the newly defined limits while minimizing or maximizing the target function. This redefinition of boundaries prevents the process variable that crosses an original boundary from deteriorating, and at the same time prevents other process variables that did not exceed their original preset limits from doing so in the second optimization run. However, the process variables are still within the original limits (if the predicted value of the process variable did not exceed the original limit) or within the newly defined limits (if the predicted value of the process variable was the original border was exceeded) to create a limited, optimized solution in the event of border violations.

Dieses Verfahren kann für eine Steuervariable CV wie folgt mathematisch definiert werden: Wenn es keine Lösung gibt und eine Obergrenze CHL überschritten wird, werden neue Grenzen für die CV definiert als: CVHL' = CVV orhersage CVLL' = CVHL – Δ wobei Δ = 1–3%, um eine Lösung genau auf der ursprünglichen Grenze zu vermeiden.This method can be mathematically defined for a control variable CV as follows: If there is no solution and an upper limit C HL is exceeded, new limits for the CV are defined as: CV HL ' = CV V orhersage CV LL ' = CV HL - Δ where Δ = 1-3% to avoid a solution exactly on the original limit.

Entsprechend werden, wenn eine Untergrenze CV" überschritten wird, die neuen Grenzen definiert als: CVLL' = CVV orhersage CVHL' = CVLL – Δ Accordingly, when a lower limit CV "is exceeded, the new limits are defined as: CV LL ' = CV V orhersage CV HL ' = CV LL - Δ

Natürlich können entsprechende Grenzen für andere Prozessvariablen wie Stellvariablen MV und Hilfsvariablen AV definiert werden.Of course, appropriate limits for others Process variables such as control variables MV and auxiliary variables AV defined become.

Diese neu definierten Grenzen sind allgemein in 8 dargestellt. Insbesondere sind die ursprünglichen Beschränkungen CVHL und CVLL auf der linken Seite von 8 durch die Linien 250 und 252 dargestellt und sind zwei CV-Vorhersagen, welche diese Beschränkungen übertreten (und welche vom ersten Durchgang des Optimierers unter Verwendung der ursprünglichen Zielfunktion erzeugt werden würden) durch die Punkte 254 und 256 dargestellt. Zwei Sätze von neu definierten Grenzen CVHL' und CVLL' sind durch die Sätze von Linien 258, 260 und 262, 264 dargestellt. Es versteht sich, dass der Satz von neu definierten Grenzen 258 und 260 den neuen Grenzen für den Punkt 254 entspricht und durch den Punkt 254 auf der hohen Seite und durch die ursprüngliche Grenze 250 minus eine Delta-Funktion auf der niedrigen Seite begrenzt wird. Entsprechend entspricht der Satz von neu definierten Grenzen 262 und 264 den neuen Grenzen für den Punkt 256 und wird auf der hohen Seite (der positiveren Seite) durch den Punkt 256 und auf der niedrigen Seite (der weniger positiven Seite) durch die ursprüngliche Grenze 252 plus eine Delta-Funktion begrenzt. Diese neuen Sätze von Grenzen werden in der Zielfunktion als neue Grenzen für die Punkte 254 oder 256 (je nachdem, um welchen es geht) verwendet, und der neuen Zielfunktion wird nicht gestattet, eine Lösung außerhalb dieser Grenzen zu finden. Außerdem kann ein auf dem Abstand zwischen der neuen Grenze 260 (im Falle des Punktes 254) oder der neuen Grenze 262 (im Falle des Punktes 256) und dem neuen CV-Wert beruhender hoher Straffaktor zugewiesen und in der neuen Zielfunktion verwendet werden, um die neue CV mit den neuen Grenzen gegen die neue Untergrenze 260 (im Falle des Punktes 254) oder gegen die neue Obergrenze 262 (im Falle des Punktes 256) zu treiben. Insbesondere nach dem Neudefinieren des Beschränkungshandhabungsmodells oder der Grenzen kann der Strafenvektor für alle außerhalb der Bereiche oder Grenzen liegenden CVs auf eine Weise, welche diese CVs in Richtung der überschrittenen Grenzen treibt, neu berechnet werden. Um dieses Ziel zu erreichen, sollte die Strafe für Grenzübertretung sich über wirtschaftliche Kriterien hinwegsetzen und sollten folglich die mit den neuen Grenzen verknüpften Strafen mit hohen Strafen belegte Variablen sein.These newly defined limits are common in 8th shown. In particular, the original CV HL and CV LL restrictions are on the left hand side of 8th through the lines 250 and 252 and are two CV predictions that exceed these constraints (and which would be generated by the optimizer's first pass using the original objective function) through the points 254 and 256 shown. Two sets of newly defined limits CV HL ' and CV LL' are through the sets of lines 258 . 260 and 262 . 264 shown. It is understood that the set of newly defined limits 258 and 260 the new boundaries for the point 254 corresponds and by the point 254 on the high side and through the original border 250 minus a delta function is limited on the low side. The set of newly defined limits corresponds accordingly 262 and 264 the new boundaries for the point 256 and is on the high side (the more positive side) by the point 256 and on the low side (the less positive side) through the original boundary 252 plus a delta function limited. These new sets of limits will function as new limits for the points 254 or 256 (whichever it is) and the new objective function is not allowed to find a solution outside of these limits. You can also see the distance between the new border 260 (in the case of the point 254 ) or the new border 262 (in the case of the point 256 ) and the new CV value based high penalty factor and used in the new objective function to the new CV with the new limits against the new lower limit 260 (in the case of the point 254 ) or against the new upper limit 262 (in the case of the point 256 ) to drive. In particular after redefining the restriction handling model or the limits, the penalty vector can be recalculated for all CVs lying outside the ranges or limits in a way that drives these CVs in the direction of the exceeded limits. In order to achieve this goal, the penalty for crossing the border should go beyond economic criteria and should consequently be the penalties associated with the new borders with high penalties.

Auf diese Weise werden neue Grenzen für jede Prozessvariable (z.B. CV) festgesetzt, für welche vorhergesagt wird, dass sie außerhalb der Grenzen liegen wird, um einen begrenzten Bereich für diese Prozessvariable zu schaffen, wird aber in der Zielfunktion eine Bestrafung verwendet, um die Prozessvariable im zweiten Durchgang des Optimierers gegen die ursprüngliche Grenze zu treiben, um dadurch die Prozessvariablen ohne Übertreten irgendwelcher Grenzen (entweder neu definierter Grenzen im Falle von Prozessvariablen außerhalb der Grenzen oder ursprünglicher Grenzen im Falle von Prozessvariablen, welche ursprüngliche Grenzen nicht übertreten) zu optimieren. In diesem Fall werden jedoch die Grenzen (entweder die ursprünglichen Grenzen für Prozessvariablen, welche ihre ursprünglichen Grenzen im ersten Durchgang der Zielfunktion nicht übertraten oder die neu definierten Grenzen für die Prozessvariablen, welche ihre ursprünglichen Grenzen im ersten Durchgang der Zielfunktion übertraten) in Schranken gehalten und ist der Optimierer in der Lage, eine Lösung innerhalb dieser Grenzen zu finden.In this way, new frontiers for every Process variables (e.g. CV) for which predictions are made that they're outside the limits will be around a limited range for this Creating process variables becomes a goal function Punishment used the process variable in the second pass of the optimizer against the original Push the limit, thereby avoiding the process variables any limits (either redefined limits in the case of process variables outside of borders or more original Limits in the case of process variables which original Do not cross borders) to optimize. In this case, however, the limits (either the original boundaries for process variables, which are their original Limits were not exceeded in the first pass of the objective function or the newly defined limits for the process variables, which their original Limits exceeded in the first pass of the objective function) and the optimizer is able to find a solution within these limits to find.

Eine allgemeine Form einer LP-Zielfunktion, welche neu definierte Grenzen und die Straffaktoren für diese Grenzen verwendet, kann ausgedrückt werden als: (PT * A + CT) * (MVt – MVt–1) (18) wobei die Kosten der Prozessausgänge durch folgenden Vektor ausgedrückt werden können:

Figure 00400001
A general form of an LP target function that uses newly defined limits and the penalty factors for these limits can be expressed as: (P T * A + C T ) * (MV t - MV t-1 ) (18) where the cost of the process outputs can be expressed by the following vector:
Figure 00400001

Der resultierende Vektor ist:

Figure 00400002
The resulting vector is:
Figure 00400002

Um der Beschränkungshandhabung Priorität zu geben, kann für die Ausgänge mit übertretenen Beschränkungen eine zusätzliche Strafe vi, wenn die Prozessvariable (z.B. eine CV) eine Obergrenze überschreitet, als ein negativer Wert und, wenn die Prozessvariable eine Untergrenze überschreitet, als ein positiver Wert definiert werden. Ein Beitrag der zusätzlichen Strafe vi zum Kostenvektor ist:

Figure 00410001
In order to give priority to the restriction handling, an additional penalty v i can be defined for the outputs with exceeded restrictions if the process variable (e.g. a CV) exceeds an upper limit as a negative value and if the process variable exceeds a lower limit as a positive value become. A contribution of the additional penalty v i to the cost vector is:
Figure 00410001

Damit die Beschränkungshandhabung Vorrang vor wirtschaftlichen Faktoren bekommt, sollte jede Komponente dieses Vektors größer sein als die jeweils entsprechende des Vektors CMT. Deshalb:

Figure 00410002
wobei: ri die Prioritäts-/Rangnummer der neu definierten CV ist; rmax die maximale Prioritäts-/Rangnummer für die niedrigste Priorität/den niedrigsten Rang ist; und rmin die minimale Prioritäts-/Rangnummer für die höchste Priorität/den höchsten Rang ist.So that the restriction handling takes precedence over economic factors, each component of this vector should be larger than the corresponding one of the vector CM T. Therefore:
Figure 00410002
where: r i is the priority / rank number of the newly defined CV; r max is the maximum priority / rank number for the lowest priority / lowest rank; and r min is the minimum priority / rank number for the highest priority / rank.

Berechnungen können vereinfacht werden durch Verwendung der hohen Abschätzung von |vi| als:

Figure 00410003
Calculations can be simplified using the high estimate of | v i | as:
Figure 00410003

Für praktische Zwecke wird |aij| > 0,05 angenommen, um extrem niedrige Prozessverstärkungen von den Berechnungen auszunehmen. Nach Berechnen der Strafe v für alle Prozessvariablen (z.B. CVs), welche außerhalb der voreingestellten Grenzen oder außerhalb der voreingestellten Bereiche liegen, können die Strafen je nach der Priorität der Prozessvariable eingestellt werden als:

Figure 00420001
For practical purposes, | a ij | > 0.05 assumed to exclude extremely low process gains from the calculations. After calculating the penalty v for all process variables (e.g. CVs) that lie outside the preset limits or outside the preset ranges, the penalties can be set depending on the priority of the process variable as:
Figure 00420001

Nach Berechnen der Kosten für die einzelnen Prozessvariablen, welche ihre jeweiligen Beschränkungen gemäß Gleichung (23) überschreiten, können die Gesamtkosten aller Beschränkungen für alle Stellvariablen aus der Gleichung (19) berechnet werden. Die Prozedur zum Berechnen von Strafen sollte aufeinanderfolgend für alle CVs, welche die Beschränkungen übertreten, durchgeführt werden, indem Gleichung (23) beginnend mit der übertretenen Beschränkung niedrigster Priorität (größte ri) und hinarbeitend auf die übertretene Beschränkung höchster Priorität angewendet wird. Für praktische Zwecke kann der effektive Strafenvektor normalisiert werden. Ein mögliches Normalisierungsverfahren besteht darin, alle Vektorkomponenten durch eine maximale Komponente zu dividieren und mit 100 zu multiplizieren.After calculating the costs for the individual process variables that exceed their respective restrictions according to equation (23), the total cost of all restrictions for all control variables can be calculated from equation (19). The penalty calculation procedure should be performed sequentially for all CVs that violate the constraints by applying Equation (23) starting with the lowest priority constraint violated (greatest r i ) and working towards the highest priority constraint violated. For practical purposes, the effective penalty vector can be normalized. One possible normalization method is to divide all vector components by a maximum component and multiply them by 100.

Falls gewünscht, kann das Konzept der Beschränkungshandhabung auf eine Situation erweitert werden, welche die zwei oben beschriebenen Ansätze integriert, und insbesondere durch Kombinieren der Verwendung mit Strafen belegter Spielraumvariablen und der Neudefinierung des Modells. Wenn es keine Beschränkungsübertretungen gibt oder wenn die mit mit Strafen belegten Spielraumvariablen berechnete optimale Lösung akzeptabel ist, werden in diesem integrierten Ansatz nur die mit Strafen belegten Spielraumvariablen verwendet. Wenn aber Beschränkungen übertreten werden und die Lösung mit mit Strafen belegten Spielraumvariablen nicht akzeptabel ist, werden die Prozessausgangsgrenzen neu definiert. In diesem Fall werden die neuen Ausgangsgrenzen gleich den Vorhersagen für die vorhergesagten Prozessausgänge, welche Grenzen übertreten, wie in 8 dargestellt. Die ursprüngliche Grenze wird jedoch noch verwendet, um mit Strafen belegte Spielraumvariablen wie in der bereits beschriebenen Spielraumvariablen-Anwendung zu definieren.If desired, the concept of constraint handling can be extended to a situation that integrates the two approaches described above, and in particular by combining the use of penalized margin variables and redefining the model. If there are no violations of the restrictions or if the opti If the solution is acceptable, only the margin variables with penalties are used in this integrated approach. However, if limits are violated and the solution with penalized margin variables is not acceptable, the process exit limits are redefined. In this case, the new output limits will be the same as the predictions for the predicted process outputs that cross the limits as in 8th shown. However, the original limit is still used to define penalties for travel variables, as in the Travel Variables application described earlier.

9 veranschaulicht diese integrierte Verwendung von Spielraumvariablen und Neudefinierung der Grenzen. Insbesondere veranschaulicht ein Punkt 270 eine vorhergesagte Prozessvariable oder CV innerhalb der durch die Linien 272 und 274 dargestellten ursprünglichen Grenzen CVHL und CVLL. Ein Punkt 276 veranschaulicht eine vorhergesagte Prozessvariable oder CV, welche die Obergrenze CVHL 272 übertritt. In diesem Fall werden die Grenzen als CVHL' und CVLL' neu definiert, wie oben bezüglich der Neudefinierung der Grenzen in 8 allgemein erörtert. Außerdem werden Spielraumvariablen S'max und S+(i) verwendet, um mittels Spielraumvariablen-Strafen wie oben erörtert eine Strafe für die Übertretung der ursprünglichen Grenze aufzuerlegen. Auf eine ähnliche Art veranschaulicht ein Punkt 280 eine vorhergesagte Prozessvariable oder CV, welche die Untergrenze CVLL 274 übertritt. In diesem Fall werden die Grenzen als CVHL' und CVLL' neu definiert, wie oben bezüglich der Neudefinierung der Grenzen in 8 allgemein erörtert. Außerdem werden Spielraumvariablen S'min und S(i) verwendet, um mittels Spielraumvariablen-Strafen wie oben erörtert eine Strafe für die Übertretung der ursprünglichen Grenze aufzuerlegen. 9 illustrates this integrated use of margin variables and redefinition of boundaries. One point in particular illustrates 270 a predicted process variable or CV within the through the lines 272 and 274 shown initial limits CV HL and CV LL . One point 276 illustrates a predicted process variable or CV, which is the upper limit CV HL 272 transgresses. In this case, the limits are redefined as CV HL ' and CV LL' , as above regarding the redefinition of the limits in 8th generally discussed. In addition, margin variables S ' max and S + (i) are used to impose a penalty for violating the original limit by means of margin variable penalties as discussed above. In a similar way, a point illustrates 280 a predicted process variable or CV, which is the lower limit CV LL 274 transgresses. In this case, the limits are redefined as CV HL ' and CV LL' , as above regarding the redefinition of the limits in 8th generally discussed. In addition, margin variables S ' min and S - (i) are used to impose a penalty for violating the original limit using margin variable penalties as discussed above.

Dieses Verfahren kann mittels folgender Gleichungen ausgedrückt werden: CVvorhergesagt + A * ΔMV(t + c) = CVLL + Smin – S (25) CVvorhergesagt + A * ΔMV(t + c) = CVHL – Smax + S+ (26) CVvorhergesagt + A * ΔMV(t + c) = CVLL' + S'min (27) CVvorhergesagt + A * ΔMV(t + c) = CVHL' – S'max (28) This method can be expressed using the following equations: CV predicted + A * ΔMV (t + c) = CV LL + S min - p - (25) CV predicted + A * ΔMV (t + c) = CV HL - p Max + S + (26) CV predicted + A * ΔMV (t + c) = CV LL ' + S ' min (27) CV predicted + A * ΔMV (t + c) = CV HL ' - S ' Max (28)

Hier sind die neu definierten Grenzwerte CVLL' und CVHL' Unter- und Obergrenzen, welche vom Optimierer nicht überschritten werden können. Die Grenzwerte werden als außerhalb der Grenzen liegende CV-Vorhersagen oder außerhalb der Grenzen liegende Werte mit einem ausgedehnteren Bereich als die ursprünglichen Grenzen eingestellt. Integrierte Gleichungen für die CV-Bereichsregelung und zweiseitige CV-Bereichsregelung können auf eine ähnliche Weise entwickelt werden. Überdies sind integrierte Gleichungen für einseitige Bereichsregelung mit den Gleichungen (25)–(28) identisch. Zweiseitige Bereichsregelung kann mit der folgenden Gleichung implementiert werden: CVvorhergesagt + A * ΔMV(t + c) – SP – Sunten + Soben (29)welche mit Gleichung (15) identisch ist.Here are the newly defined limit values CV LL ' and CV HL' upper and lower limits, which the optimizer cannot exceed. The limits are set as out of bounds CV predictions or out of bounds values with a wider range than the original bounds. Integrated equations for CV range control and bilateral CV range control can be developed in a similar way. In addition, integrated equations for unilateral range control are identical to equations (25) - (28). Two-sided range control can be implemented using the following equation: CV predicted + A * ΔMV (t + c) - SP - S below + S above (29) which is identical to equation (15).

Es versteht sich, dass dieser integrierte Ansatz gestattet, Beschränkungshandhabung auf eine flexiblere Weise zu bewerkstelligen. Gegenwärtig haben Eingänge nur hart oder fest definierte Beschränkungsgrenzen. Mittels desselben Ansatzes ist es möglich, für einige der Eingänge weiche Beschränkungen, welche in harten Beschränkungen enthalten sind, zu definieren. Das Einführen mit Strafen belegter Spielraumvariablen für die weichen Beschränkungen macht es leicht, einen mit einer Strafe belegten Bereich für die MV zu definieren. Gleichungen für diese weichen Bereiche können ausgedrückt werden als:

Figure 00440001
It is understood that this integrated approach allows restriction handling to be accomplished in a more flexible way. At present, entrances have only hard or fixed limits. Using the same approach, it is possible to define soft constraints contained in hard constraints for some of the inputs. Introducing penalized margin variables for the soft restrictions makes it easy to define a penalized area for the MV. Equations for these soft areas can be expressed as:
Figure 00440001

Schließlich kann derselbe Ansatz verwendet werden, um den Optimierer zu veranlassen, eine Prozessvariable wie eine Stellvariable MV gegen einen bevorzugten Eingangswert oder den sogenannten "idealen Ruhewert" zu treiben. Dieser Ansatz ist in 9 dargestellt, in welcher der ideale Ruhewert durch die Linie 290 veranschaulicht wird und die Ober- und Untergrenzen der MV durch die Linien 292 beziehungsweise 294 veranschaulicht werden. Die Punkte 296 und 298 veranschaulichen die Situation, wenn der vorhergesagte Wert über oder unter dem idealen Ruhewert 290 liegt. In diesen Fällen werden die mit Strafen belegten Spielraumvariablen S(i)oben und S(i)unten verwendet, um den mit dem Abweichen vom idealen Ruhewert verknüpften Kostenwert oder Strafwert in der Zielfunktion zu definieren. Gleichungen für eine MV mit dem idealen Ruhewert können ausgedrückt werden als: IRV – Sunten + Soben = MVaktuell + ΔMV(t + c) (32) MVmin + Smin = MVaktuell + ΔMV(t + c) (33) MVmax – Smax = MVaktuell + ΔMV(t + c) (34) Finally, the same approach can be used to get the optimizer to become a pro drive variable such as a control variable MV against a preferred input value or the so-called "ideal idle value". This approach is in 9 shown in which the ideal rest value through the line 290 is illustrated and the upper and lower limits of the MV by the lines 292 respectively 294 are illustrated. The points 296 and 298 illustrate the situation when the predicted value is above or below the ideal resting value 290 lies. In these cases, the penalty variables S (i) above and S (i) below are used to define the cost or penalty value associated with the deviation from the ideal rest value in the objective function. Equations for an MV with the ideal rest value can be expressed as: IRV - S below + S above = MV current + ΔMV (t + c) (32) MV min + S min = MV current + ΔMV (t + c) (33) MV Max - p Max = MV current + ΔMV (t + c) (34)

sEs versteht sich, dass die Komponenten der mit Strafen belegten Spielraumvektoren S, S+, Sunten, Soben z.B. der Einheitskostenwert oder -strafwert, in der Zielfunktion als eine Funktion der Variablenprioritäten, Variablen-Einheitskosten und/oder anderen Faktoren wie dem Grad der Grenzübertretung eingestellt oder ausgewählt werden können.It is understood that the components of the penalty vectors S - , S + , S below , S above e.g. the unit cost value or penalty value, in the objective function as a function of the variable priorities, variable unit costs and / or other factors such as the degree border crossing can be set or selected.

In Tests unter Verwendung dieser Verfahren wurden Grenzübertretungen erreicht, indem hochpegelige Störungen angewendet wurden oder indem Unterund Obergrenzen der Eingänge und Ausgänge auf eine Weise eingestellt wurden, welche bewirkte, dass diese Grenzen übertreten wurden. Diese Tests bestätigten die Brauchbarkeit der Verfahren. Insbesondere während dieser Tests arbeitete der Optimierer einwandfrei und effektiv, wobei er die Übertretung von Beschränkungen hoher Priorität ohne weitere Übertretung von Beschränkungen niedrigerer Priorität verbesserte. Mithin stellt die Handhabung nicht realisierbarer LP-Lösungen durch Anwenden von Spielraumvariablen und Neudefinierung des Modells eigen extrem flexiblen und effektiven Ansatz dar.In tests using this Proceedings were violated achieved by high-level interference were applied or by lower and upper limits of the inputs and outputs were set in a way that caused these limits to be exceeded were. These tests confirmed the Usability of the procedures. Worked particularly during these tests the optimizer flawlessly and effectively, being the violation of restrictions high priority without further violation of restrictions lower priority improved. Therefore, the handling of unrealizable LP solutions by application of travel variables and redefinition of the model inherently extreme flexible and effective approach.

Außerdem können die oben erörterten Prinzipien der Beschränkungshandhabung verwendet werden, um eine Anzahl von Veränderungen an den Beschränkungsmodellen zu entwickeln, um spezielleren Anforderungen zu genügen. Desgleichen kann der Ansatz für andere Echtzeit-Optimierungsanwendungen ohne Verwendung von MPC-Steuerung, wie beispielsweise die Optimierung eines Benzinmisch prozesses, verwendet werden. Überdies kann der Optimierer 54 die oben beschriebenen Verfahren verwenden, um in Situationen, in welchen eine oder mehrere realisierbare Lösungen möglich sind, Bereichsregelung, ideale Ruhewerte zu implementieren. Also kann der Optimierer 54 diese Verfahren verwenden, wenn er entweder beim Verwenden einer Zielfunktion in Situationen, in welchen keine realisierbare Lösung gefunden werden kann, oder beim Verwenden einer Zielfunktion in Situationen, in welchen eine oder mehrere realisierbare Lösungen möglich sind, es aber gewünscht ist, bis zu einem idealen Ruhewert, innerhalb eines Sollwertbereichs usw. weiter zu optimieren, zu optimieren versucht.In addition, the constraint handling principles discussed above can be used to develop a number of changes to the constraint models to meet more specific requirements. Likewise, the approach can be used for other real-time optimization applications without using MPC control, such as optimizing a gasoline blending process. Moreover, the optimizer can 54 use the methods described above to implement ideal rest values in situations in which one or more realizable solutions are possible, range control. So the optimizer can 54 use these methods when either using an objective function in situations where a feasible solution cannot be found, or when using an objective function in situations where one or more feasible solutions are possible, but it is desired to be ideal Tried to optimize the rest value, within a setpoint range etc., to optimize.

Wie wiederum 2 zeigt, liefert der Optimierer 54 nach Bestimmen einer Lösung für den Satz von Stellvariablen-Zielwerten den Satz von optimalen oder Zielwert-Stellvariablen MVT an den Zielwert-Umwandlungsblock 55, welcher die Matrix der stationären Verstärkungen verwendet, um die stationären Zielwert-Steuer- und Stellvariablen zu bestimmen, die sich aus den Zielwert-Stellvariablen MVT ergeben. Diese Umwandlung ist rechentechnisch einfach, da die Matrix der stationären Verstärkungen die Zusammenhänge zwischen den Stellvariablen und den Steuer- und Hilfsvariablen definiert und somit verwendet werden kann, um die Zielwert-Stell- und Hilfsvariablen CVT und AVT aus den definierten (stationären) Zielwert-Stellvariablen MVT eindeutig zu bestimmen.How again 2 shows, the optimizer delivers 54 after determining a solution for the set of control variable target values, the set of optimal or target value control variables MV T to the target value conversion block 55 , which uses the matrix of the stationary gains to determine the stationary target value control and control variables which result from the target value control variables MV T. This conversion is computationally simple, since the matrix of the stationary gains defines the relationships between the control variables and the control and auxiliary variables and can therefore be used to calculate the target value control and auxiliary variables CV T and AV T from the defined (stationary) target value -Uniquely determine actuating variables MV T.

Nachdem sie bestimmt sind, wird mindestens eine Teilmenge von N der Zielwert-Steuer- und Hilfsvariablen CVT und AVT als Eingänge an die MPC-Steuereinrichtung 52 geliefert, welche, wie zuvor erwähnt, diese Zielwerte CVT und AVT verwendet, um einen neuen Satz von stationären Stellvariablen (über den Steuerhorizont) MVSS zu bestimmen, welcher die aktuellen Steuer- und Stellvariablen CV und AV gegen die Zielwerte CVT und AVT am Ende des Steuerhorizonts treibt. Natürlich ändert die MPC-Steuereinrichtung die Stellvariablen beim Versuch, die stationären Werte für diese Variablen MVSS zu erreichen, welche theoretisch die vom Optimierer 54 bestimmten Zielwert-Stellvariablen MVT sein werden, bekanntermaßen schrittweise. Weil der Optimierer 54 und die MPC-Steuereinrichtung 52 während jeder Prozessabfrage wie oben beschrieben arbeiten, können sich die Zielwerte der Stellvariablen MVT von Abfrage zu Abfrage ändern und kann die MPC-Steuereinrichtung folglich niemals einen bestimmten dieser Sätze von Zielwert-Stellvariablen MVT wirklich erreichen, vor allem nicht bei Vorliegen von Rauschen, unerwarteten Störungen, Änderungen im Prozess 50 usw. Jedoch wirkt der Optimieren 54 stets auf die Steuereinrichtung 52 ein, damit diese die Stellvariablen MV gegen eine optimale Lösung bewegt.After they are determined, at least a subset of N of the target control and auxiliary variables CV T and AV T are input to the MPC controller 52 which, as mentioned above, uses these target values CV T and AV T to determine a new set of stationary control variables (over the control horizon) MV SS which the current control and control variables CV and AV against the target values CV T and AV T drives at the end of the tax horizon. Of course, the MPC control device changes the control variables when trying to reach the stationary values for these variables MV SS , which theoretically are those of the optimizer 54 certain target value control variables MV T will be known, gradually. Because the optimizer 54 and the MPC controller 52 during each process query, as described above, the target values of the control variables MV T can change from query to query and consequently the MPC control device can never really reach a specific one of these sets of target value control variables MV T , especially not when there is noise, unexpected disturbances, changes in the process 50 etc. However, the optimization works 54 always on the control device 52 so that it moves the control variables MV against an optimal solution.

Bekanntermaßen enthält die MPC-Steuereinrichtung 52 ein Steuerungsvorhersage-Prozessmodell 70, welches eine N-mal-M+D-Sprungantworten-Matrix sein kann (wobei N die Anzahl der Steuervariablen CV plus die Anzahl der Hilfsvariablen AV ist, M die Anzahl der Stellvariablen MV ist und D die Anzahl der Störvariablen DV ist). Das Steuerungsvorhersage-Prozessmodell 70 produziert an einem Ausgang 72 eine zuvor berechnete Vorhersage für jede der Steuer- und Hilfsvariablen CV und AV, und ein Vektorsummierer 74 subtrahiert diese vorhergesagten Werte für den aktuellen Zeitpunkt von den gemessenen Istwerten der Steuer- und Hilfsvariablen CV und AV, um am Eingang 76 einen Fehler- oder Korrekturvektor zu produzieren.As is known, the MPC control device contains 52 a control prediction process model 70 , which can be an N-by-M + D step response matrix (where N is the number of control variables CV plus the number of auxiliary variables AV, M is the number of control variables MV and D is the number of disturbance variables DV). The control prediction process model 70 produced at an exit 72 a previously calculated prediction for each of the control and auxiliary variables CV and AV, and a vector summer 74 subtracts these predicted values for the current point in time from the measured actual values of the control and auxiliary variables CV and AV um at the input 76 to produce an error or correction vector.

Das Steuerungsvorhersage-Prozessmodell 70 verwendet dann die N-mal-M+D-Sprungantworten-Matrix, um für jede der Steuervariablen und Hilfsvariablen CV und AV über den Steuerhorizont auf Grundlage der an andere Eingänge des Steuerungsvorhersage-Prozessmodells 70 gelieferten Stör- und Stellvariablen einen zukünftigen Steuerparameter vorherzusagen. Das Steuerungsvorhersage-Prozessmodell 70 liefert auch die vorhergesagten stationären Werte der Steuervariablen und der Hilfsvariablen CVSS und AVSS an den Eingangsverarbeitungs-/Filterblock 58.The control prediction process model 70 then uses the N-by-M + D step response matrix to calculate CV and AV for each of the control variables and auxiliary variables across the control horizon based on the other inputs of the control prediction process model 70 delivered fault and control variables to predict a future control parameter. The control prediction process model 70 also provides the predicted steady-state values of the control variables and the auxiliary variables CV SS and AV SS to the input processing / filter block 58 ,

Ein Steuerungszielwertblock 80 bestimmt unter Verwendung eines für den Block 38 zuvor eingerichteten Trajektorienfilters 82 einen Steuerungszielwerte-Vektor für jede der vom Zielwert-Umwandlungsblock 55 an ihn gelieferten N Zielwert-Steuer- und Hilfsvariablen CVT und AVT. Insbesondere liefert der Trajektorienfilter einen Einheitsvektor, welcher die Art und Weise definiert, auf welche Steuer- und Hilfsvariablen über die Zeit gegen ihre Zielwerte zu treiben sind. Der Steuerungszielwertblock 80 verwendet diesen Einheitsvektor und die Zielwert-Variablen CVT und AVT, um für jede der Steuer- und Hilfsvariablen einen Vektor der dynamischen Steuerungszielwerte zu produzieren, welcher die Änderungen in den Zielwert-Variablen CVT und AVT über die von der Steuerhorizont-Zeit definierte Zeitspanne definiert. Ein Vektorsummierer 84 subtrahiert dann für jede der Steuer- und Hilfsvariablen CV und AV den zukünftigen Steuerparameter-Vektor von den dynamischen Steuervektoren, um für jede der Steuer- und Hilfsvariablen CV und AV einen Fehlervektor zu definieren. Der zukünftige Fehlervektor für jede der Steuer- und Hilfsvariablen CV und AV wird dann an den MPC-Algorithmus geliefert, welcher wirksam wird, um die Stellvariablen- (MV-) Schritte auszuwählen, welche zum Beispiel den kleinsten ins Quadrat erhobenen Fehler über den Steuerhorizont minimieren. Natürlich verwendet der MPC-Algorithmus oder die MPC-Steuereinrichtung ein M-mal-M-Prozessmodell oder eine M-mal-M-Steuermatrix, welches bzw. welche aus den Beziehungen zwischen den in die MPC-Steuereinrichtung 52 eingegebenen N Steuer- und Hilfsvariablen und den von der MPC-Steuereinrichtung 52 ausgegebenen M Stellvariablen entwickelt wurde.A control target block 80 determined using one for the block 38 previously set up trajectory filter 82 a control target vector for each of those from the target conversion block 55 N target value control and auxiliary variables CV T and AV T supplied to it. In particular, the trajectory filter provides a unit vector which defines the manner in which control and auxiliary variables are to be driven against their target values over time. The control target value block 80 uses this unit vector and the target value variables CV T and AV T to produce a vector of the dynamic control target values for each of the control and auxiliary variables, which changes the changes in the target value variables CV T and AV T over that of the control horizon time defined period of time defined. A vector summer 84 Subtract the future control parameter vector from the dynamic control vectors for each of the control and auxiliary variables CV and AV to define an error vector for each of the control and auxiliary variables CV and AV. The future error vector for each of the CV and AV control and auxiliary variables is then provided to the MPC algorithm, which operates to select the variable (MV) steps that, for example, minimize the smallest squared error across the control horizon , Of course, the MPC algorithm or the MPC controller uses an M-by-M process model or an M-by-M control matrix, which is based on the relationships between those in the MPC controller 52 entered N control and auxiliary variables and those from the MPC control device 52 output M control variables was developed.

Insbesondere verfolgt der mit dem Optimierer arbeitende MPC-Algorithmus zwei Hauptziele. Erstens versucht der MPC-Algorithmus, den CV-Steuerfehler mit minimalen MV-Bewegungen innerhalb der Betriebsbeschränkungen zu minimieren, und zweitens versucht er, vom Optimierer erstellte optimale stationäre MV-Werte und die direkt aus den optimalen stationären MV-Werten berechneten CV-Zielwerte zu erreichen.In particular, the pursues with the Optimizer working MPC algorithm two main goals. First tried the MPC algorithm, the CV control error with minimal MV movements within the operating restrictions to minimize, and secondly, he tries to create the optimizer optimal stationary MV values and the CV target values calculated directly from the optimal steady-state MV values to reach.

Um diesen Zielen zu genügen, kann der ursprüngliche unbeschränkte MPC-Algorithmus erweitert werden, so dass er MV-Zielwerte in die kleinste quadratische Lösung einbezieht. Die Zielfunktion für diese MPC-Steuereinrichtung lautet:

Figure 00480001
wobei:
CV(k) der Vektor der "p-Schritt-vorwärts"-Vorhersagen der gesteuerten Ausgänge ist;
R(k) der Vektor der "p-Schritt-vorwärts"-Bezugstrajektorie (des "p-Schritt-vorwärts"-Sollwerts) ist;
ΔMV(k) der Vektor der inkrementalen "c-Schritt-vorwärts"-Steuerbewegungen ist;
Figure 00490001
eine Matrix der Strafen auf die Fehler der gesteuerten Ausgänge ist;
Figure 00490002
eine Matrix der Strafen auf die Steuerbewegungen ist;
p der Vorhersagehorizont (Anzahl von Schritten) ist;
c der Steuerhorizont (Anzahl von Schritten) ist; und
Γ0 eine Strafe auf den Fehler der Summe der Ausgangsbewegungen der Steuereinrichtung über den Steuerhorizont bezüglich der vom Optimierer definierten optimalen Zielwert-Änderung von MV ist.To meet these goals, the original unrestricted MPC algorithm can be expanded to include MV target values in the smallest quadratic solution. The objective function for this MPC control device is:
Figure 00480001
in which:
CV (k) is the vector of the "p-step forward" predictions of the controlled outputs;
R (k) is the vector of the "p-step forward" reference trajectory (the "p-step forward"setpoint);
ΔMV (k) is the vector of the incremental "c-step forward" control movements;
Figure 00490001
is a matrix of the penalties for the errors of the controlled outputs;
Figure 00490002
is a matrix of penalties on tax movements;
p is the prediction horizon (number of steps);
c is the tax horizon (number of steps); and
Γ 0 is a penalty for the error in the sum of the output movements of the control device over the control horizon with regard to the optimal change in target value of MV defined by the optimizer.

Zur Vereinfachung der Darstellung ist die Zielfunktion für Einzeleingangs-/Einzelausgangs- (SISO) Steuerung dargestellt.To simplify the presentation is the target function for Einzeleingangs- / Einzelausgangs- (SISO) control shown.

Es versteht sich, dass die ersten zwei Terme die Zielfunktion für die unbeschränkte MPC-Steuereinrichtung sind, während der dritte Term eine Zusatzbedingung aufstellt, welche die Summe der Ausgangsbewegungen der Steuereinrichtung gleich den optimalen Zielwerten macht. In anderen Worten, die ersten zwei Terme stellen Ziele für den dynamischen Betrieb der Steuereinrichtung auf, während der dritte Term Ziele für die stationäre Optimierung aufstellt.It is understood that the first two terms the objective function for the unlimited MPC controller are while the third term sets up an additional condition, which is the sum the output movements of the control device equal to the optimal ones Makes target values. In other words, put the first two terms Goals for the dynamic operation of the control device during the third term goals for the stationary Optimization.

Es ist zu beachten, dass die allgemeine Lösung für diese Steuereinrichtung, ähnlich derjenigen für die unbeschränkte MPC-Steuereinrichtung, ausgedrückt werden kann als: ΔMV(k) = (SuTΓTΓSu + ΓuTΓu)–1 SuTΓTΓEP+1(k) = Kompc Ep + 1(k) (36) wobei:
ΔMV(k) die Änderung im Ausgang der MPC-Steuereinrichtung zum Zeitpunkt k ist;
Kompc die optimierte Verstärkung der MPC-Steuereinrichtung ist; und
Su die Matrix der Prozessdynamik ist.
Su kann aus den Sprungantworten der Größe p × c für ein SISO-Modell und
p*n × c*m für ein Mehreingangs-/Mehrausgangs- (MIMO) Modell mit m Stelleingängen und n Steuerausgängen erstellt werden.
It should be noted that the general solution for this controller, similar to that for the unrestricted MPC controller, can be expressed as: ΔMV (k) = (S bDC Γ T ΓS u + Γ bDC Γ u ) -1 SuTΓ T ΓE P + 1 (k) = K ompC e p + 1 (k) (36) in which:
ΔMV (k) is the change in the output of the MPC controller at time k;
K ompc is the optimized gain of the MPC controller ; and
S u is the matrix of process dynamics.
S u can be made from the step responses of size p × c for a SISO model and
p * n × c * m for a multi-input / multi-output (MIMO) model with m control inputs and n control outputs.

Für eine optimierte MPC wird die Dynamik-Matrix auf die Größe (p + 1) × m für ein SISO-Modell und (p + m)*n × c*m für ein MIMO-Modell erweitert, um sie an den MV-Fehler anzupassen. EP+1(k) ist der CV-Fehlervektor über den Vorhersagehorizont und der Fehler der Summe der Ausgangsbewegungen der Steuereinrichtung über den Steuerhorizont bezüglich der optimalen Zielwert-Änderung von MV. Die Matrix T kombiniert die Matrizen Γy und Γ0 und ist eine quadratische Matrix der Größe (p + 1) für eine SISO-Steuereinrichtung und [n(p + m)] für die Mehrvariablen-Steuereinrichtung. Das hochgesetzte T kennzeichnet eine transponierte Matrix.For an optimized MPC, the dynamic matrix is expanded to the size (p + 1) × m for a SISO model and (p + m) * n × c * m for a MIMO model to reflect the MV error adapt. EP + 1 (k) is the CV error vector over the prediction horizon and the error of the sum of the output movements of the control device over the control horizon with regard to the optimal change in target value of MV. The matrix T combines the matrices Γ y and Γ 0 and is a quadratic matrix of size (p + 1) for a SISO control device and [n (p + m)] for the multi-variable control device. The uppercase T denotes a transposed matrix.

Es wurde festgestellt, dass es, weil der Optimieren 54 auf Grundlage aller Steuer- und Hilfsvariablen CV und AV optimiert, um einen Zielwerte-Satz von Stellvariablen MVT zu bestimmen, welcher einen eindeutigen optimalen Arbeitspunkt definiert, ohne Bedeutung ist, dass die MPC-Steuereinrichtung 52 nur mit einer Teilmenge der Steuer- und Hilfsvariablen CV und AV in ihrer Steuermatrix arbeitet, um daraus den Stellvariablen- (MV-) Ausgang zu produzieren, weil, wenn die Steuereinrichtung 52 die ausgewählte Teilmenge von Steuer- und Hilfsvariablen CV und AV gegen ihre zugehörigen Zielwerte treibt, die übrigen des vollständigen Satzes von Steuer- und Hilfsvariablen ebenso auf ihren Zielwerten liegen werden. Infolgedessen wurde festgestellt, dass eine quadratische (M-mal-M-) MPC-Steuereinrichtung mit einer M-mal-M-Steuermatrix mit einem Optimierer, welcher zur Durchführung der Prozessoptimierung ein rechteckiges (N-mal-M-) Prozessmodell verwendet, verwendet werden kann. Dies macht es möglich, Standard-MPC-Steuerverfahren mit Standard-Optimierungsverfahren zu verwenden, ohne eine nicht-quadratische Matrix mit den damit verbundenen, mit solchen Umwandlungsverfahren verknüpften Näherungen und Risiken in einer Steuereinrichtung invertieren zu müssen.It was found that because of optimizing 54 optimized on the basis of all control and auxiliary variables CV and AV in order to determine a target value set of control variables MV T , which defines a clear optimal working point, without the importance of the MPC control device 52 only works with a subset of the control and auxiliary variables CV and AV in their control matrix in order to produce the control variable (MV) output therefrom because if the control device 52 drives the selected subset of control and auxiliary variables CV and AV against their associated target values, the rest of the complete set of control and auxiliary variables will also lie on their target values. As a result, it was found that a square (M by M) MPC controller with an M by M control matrix with an optimizer that uses a rectangular (N by M) process model to perform the process optimization can be. This makes it possible to use standard MPC control methods with standard optimization methods without having to invert a non-quadratic matrix in a control device with the approximations and risks associated with such conversion methods.

In einer Ausführungsform kann, wenn die MPC-Steuereinrichtung quadratisch ist, d.h. wenn die Anzahl der Stellvariablen MV gleich der Anzahl der Steuervariablen CV ist, der Stellvariablen- (MV-) Zielwert durch Änderungen in CV-Werten folgendermaßen effektiv erreicht werden: ΔCV = A * ΔMVT (37) wobei: ΔMVT die optimale Zielwert-Änderung von MV ist; und
ΔCV die CV-Änderung zum Erreichen einer optimalen MV ist.
In one embodiment, when the MPC controller is square, that is, when the number of control variables MV is equal to the number of control variables CV, the target variable (MV) value can be effectively achieved by changes in CV values as follows: ΔCV = A * ΔMVT (37) where: ΔMVT is the optimal target change of MV; and
ΔCV is the CV change to achieve an optimal MV.

Natürlich wird eine CV-Änderung durch das Handhaben von CV-Sollwerten implementiert.Of course there will be a CV change implemented by handling CV setpoints.

Im Betrieb erstellt und aktualisiert der Optimieren 54 die stationären Zielwerte für die unbeschränkte MPC-Steuereinrichtung bei jeder Abfrage. Somit führt die MPC-Steuereinrichtung 52 den unbeschränkten Algorithmus aus. Weil die Zielwerte CVT und AVT auf eine Weise eingestellt werden, welche Beschränkungen berücksichtigt, solange es eine realisierbare Lösung gibt, arbeitet die Steuereinrichtung innerhalb der Beschränkungsgrenzen. Deshalb ist Optimierung ein integraler Bestandteil der MPC-Steuereinrichtung.Optimizing creates and updates in operation 54 the steady-state target values for the unrestricted MPC control device with each query. The MPC control device thus performs 52 the unlimited algorithm. Because the target values CV T and AV T are set in a way that takes restrictions into account as long as there is a feasible solution, the controller operates within the limits of the restrictions. Therefore, optimization is an integral part of the MPC control device.

Die 3 und 4 zeigen ein Flussdiagramm 90, welches die zur Durchführung der integrierten Modellvorhersage-Steuerung und Optimierung verwendeten Schritte veranschaulicht. Das Flussdiagramm 90 ist in zwei Abschnitte 90a (3) und 90b (4) unterteilt, welche Funktionen, die vor dem Prozessbetrieb auftreten (90a), und Funktionen, die während des Prozessbetriebs auftreten (90b), z.B. bei jeder Abfrage des Prozessbetriebs, veranschaulichen. Vor dem Prozessbetrieb unternimmt ein Bediener oder Anlagenführer eine Anzahl von Schritten, um den hochentwickelten Steuerblock 38 einschließlich einer integrierten MPC-Steuer einrichtung und eines Optimierers zu erzeugen. Insbesondere in einem Block 92 kann eine hochentwickelte Steuerschablone zur Verwendung als hochentwickelter Steuerblock 38 ausgewählt werden. Die Schablone kann in einer Bibliothek in einer Konfigurationsanwendung auf der Benutzerschnittstelle 13 gespeichert und aus dieser kopiert werden, und sie kann die allgemeinen mathematischen und logischen Funktionen der MPC-Steuereinrichtungsroutine 52 und des Optimierers 54 ohne die jeweilige MPC, Prozessmodelle und stationäre Verstärkungs- oder Steuermatrizen und die jeweilige Zielfunktion enthalten. Diese hochentwickelte Steuerschablone kann in einem andere Blöcke wie zum Kommunizieren mit Einrichtungen innerhalb des Prozesses 50 konfigurierte Eingangs- und Ausgangsblöcke oder andere Arten von Funktionsblöcken wie Steuerblöcke einschließlich PID-, Neuronennetz- und Fuzzy-Logic-Regelungsblöcke enthaltenden Modul untergebracht werden. Es versteht sich, dass in einer Ausführungsform sämtliche Blöcke in einem Modul Objekte in einem objektorientierten Programmierparadigma sind, deren Eingänge und Ausgänge untereinander verbunden sind, um die Kommunikation zwischen den Blöcken durchzuführen. Während des Betriebs führt der das Modul ausführende Prozessor unter Verwendung der Eingänge der Blöcke jeden der Blöcke der Reihe nach zu einem anderen Zeitpunkt aus, um die Ausgänge der Blöcke zu produzieren, welche dann an die Eingänge anderer Blöcke geliefert werden wie durch die festgelegten Kommunikationsverbindungen zwischen den Blöcken definiert.The 3 and 4 show a flow chart 90 , which illustrates the steps used to perform integrated model prediction control and optimization. The flow chart 90 is in two sections 90a ( 3 ) and 90b ( 4 ) divides which functions occur before process operation ( 90a ), and functions that occur during process operation ( 90b ), for example with every query of process mode. Before process operation, an operator or operator takes a number of steps to get the sophisticated control block 38 including an integrated MPC control device and an optimizer. Especially in one block 92 can be a sophisticated Control template for use as an advanced control block 38 to be selected. The template can be found in a library in a configuration application on the user interface 13 stored and copied therefrom, and it can perform the general math and logic functions of the MPC controller routine 52 and the optimizer 54 without the respective MPC, process models and stationary gain or control matrices and the respective target function. This sophisticated control template can be used in other blocks such as to communicate with facilities within the process 50 configured input and output blocks or other types of functional blocks such as control blocks including PID, neuron network and fuzzy logic control block modules. It goes without saying that in one embodiment all blocks in a module are objects in an object-oriented programming paradigm, the inputs and outputs of which are connected to one another in order to carry out the communication between the blocks. In operation, the processor executing the module, using the inputs of the blocks, sequentially executes each of the blocks at a different time to produce the outputs of the blocks, which are then delivered to the inputs of other blocks as by the established communication links between the blocks defined.

In einem Block 94 definiert der Bediener die im Block 38 zu verwendenden einzelnen Stellvariablen, Steuervariablen, beschränkten Variablen und Störvariablen. Falls gewünscht, kann der Benutzer in einem Konfigurationsprogramm wie dem Programm 40 aus 1 die Steuerschablone ansehen, zu benennende und zu konfigurierende Eingänge und Ausgänge auswählen, mit einem Standardbrowser in der Konfigurationsumgebung stöbern, um die tatsächlichen Eingänge und Ausgänge im Steuerungssystem zu finden, und diese tatsächlichen Steuervariablen als die Eingangs- und Ausgangs-Steuervariablen für die Steuerschablone auswählen.In one block 94 the operator defines those in the block 38 individual control variables, control variables, restricted variables and fault variables to be used. If desired, the user can use a configuration program such as the program 40 out 1 view the control template, select inputs and outputs to be named and configured, browse the configuration environment with a standard browser to find the actual inputs and outputs in the control system, and select these actual control variables as the input and output control variables for the control template.

Nach Auswählen der Eingänge und Ausgänge des hochentwickelten Steuerungs-Funktionsblocks kann der Benutzer die mit den Steuervariablen verknüpften Sollwerte, die mit den Steuervariablen, den Hilfsvariablen und den Stellvariablen verknüpften Bereiche oder Grenzen sowie die mit jeder der Steuer-, Hilfs- und Stellvariablen verknüpften Gewichte definieren. Natürlich können einige dieser Informationen wie Beschränkungsgrenzen oder Bereiche bereits mit diesen Variablen verknüpft sein, wenn diese Variablen in der Konfigurationsumgebung des Prozesssteuerungssystems ausgewählt oder gefunden werden. In einem Block 96 aus 3 kann der Bediener, falls gewünscht, die eine oder mehreren im Optimierer zu verwendenden Zielfunktionen konfigurieren, indem er die Einheitskosten und/oder Erlöse für jede der Stellvariablen, der Steuervariablen und der Hilfsvariablen festlegt. Natürlich kann sich der Bediener an dieser Stelle entscheiden, die Vorgabe-Zielfunktion wie oben beschrieben zu verwenden. Überdies kann der Benutzer die mit jeder der Spielraumvariablen oder Strafvariablen S+, S, Soben, Sunte n usw. verknüpften Kosten oder Strafen für jede der Steuer-, Hilfs- und Stellvariablen festlegen. Falls gewünscht, kann der Benutzer die genaue Art und Weise festlegen, auf welche der Optimierer nicht realisierbare Lösungen, wie durch die ursprünglichen Beschränkungsgrenzen definiert, handhaben soll oder mit ihnen umgehen soll, wie mittels Spielraumvariablen, mittels des Neudefinierens von Beschränkungsgrenzen oder mittels irgendeiner Kombination dieser beiden Möglichkeiten.After selecting the inputs and outputs of the advanced control function block, the user can define the setpoints associated with the control variables, the ranges or limits associated with the control variables, the auxiliary variables and the actuating variables, and the weights associated with each of the control, auxiliary and actuating variables , Of course, some of this information, such as restriction limits or ranges, may already be linked to these variables when these variables are selected or found in the process control system configuration environment. In one block 96 out 3 If desired, the operator can configure the one or more target functions to be used in the optimizer by specifying the unit costs and / or revenues for each of the control variables, the control variables and the auxiliary variables. Of course, at this point the operator can choose to use the default target function as described above. Moreover, the user can with each of the latitude variables or criminal variables S +, S -, S n unte etc. associated costs or penalties for each of the control, auxiliary and manipulated variables define S above. If desired, the user can determine the exact manner in which the optimizer should handle or deal with unrealizable solutions as defined by the original constraint limits, such as by using margin variables, by redefining constraint limits, or by any combination of these both options.

Nachdem die Eingänge (Steuer-, Hilfs- und Störvariablen) und die Ausgänge (Stellvariablen) benannt und mit der hochentwickelten Steuerschablone verbunden sind und die Gewichte, Grenzen und Sollwerte mit ihnen verknüpft sind, wird in einem Block 98 aus 3 die hochentwickelte Steuerschablone als ein zur Steuerung zu verwendender Funktionsblock in eine ausgewählte Steuereinrichtung im Prozess heruntergeladen. Die allgemeine Beschaffenheit des Steuerblocks und die Art und Weise des Konfigurierens dieses Steuerblocks ist im U.S.-Patent Nr. 6,445,963 mit dem Titel "Integrated Advanced Control Blocks in Process Control Systems" beschrieben, welches auf den Rechtsinhaber der vorliegenden Anmeldung übertragen ist und welches hiermit ausdrücklich durch Bezugnahme hierin eingeschlossen wird. Obwohl dieses Patent die Art und Weise des Erzeugens einer MPC-Steuereinrichtung in einem Prozesssteuerungssystem beschreibt und nicht die Art und Weise erörtert, auf welche ein Optimierer mit dieser Steuereinrichtung verbunden werden kann, versteht es sich, dass die zum Verbinden und Konfigurieren der Steuereinrichtung unternommenen allgemeinen Schritte für den hierin beschriebenen Steuerblock 38 verwendet werden können, wobei die Schablone alle hierin für den Steuerblock 38 erörterten Logikelemente statt nur der im Bezugspatent beschriebenen enthält.After the inputs (control, auxiliary and disturbance variables) and the outputs (control variables) are named and connected to the sophisticated control template and the weights, limits and setpoints are linked to them, in a block 98 out 3 downloaded the sophisticated control template as a function block to be used for control in a selected control device in the process. The general nature of the control block and the manner in which it is configured is described in US Pat. No. 6,445,963 entitled "Integrated Advanced Control Blocks in Process Control Systems" which is assigned to the assignee of the present application and which is hereby expressly incorporated is incorporated herein by reference. Although this patent describes the manner of creating an MPC controller in a process control system and does not discuss the manner in which an optimizer can be connected to this controller, it is understood that the general ones used to connect and configure the controller Steps for the control block described herein 38 can be used, the template all herein for the control block 38 contains logic elements discussed instead of only those described in the reference patent.

Auf jeden Fall kann der Bediener, nachdem die hochentwickelte Steuerschablone in die Steuereinrichtung heruntergeladen ist, in einem Block 100 entscheiden, eine Testphase der Steuerschablone auszuführen, um die Sprungantworten-Matrix und das Prozessmodell, welche im Algorithmus der MPC-Steuereinrichtung verwendet werden sollen, zu erzeugen. Wie im oben bezeichneten Patent beschrieben, liefert die Steuerlogik im hochentwickelten Steuerblock 38 während der Testphase eine Reihe von pseudozufälligen Wellenformen als die Stellvariablen an den Prozess und beobachtet die Änderungen in den Steuer- und Hilfsvariablen (welche von der MPC-Steuereinrichtung im Wesentlichen als Steuervariablen behandelt werden). Falls gewünscht, können sowohl die Stell- und Störvariablen als auch die Steuer- und Hilfsvariablen von der Protokolliereinrichtung 12 ausIn any case, after the sophisticated control template is downloaded to the controller, the operator can in one block 100 decide to run a test phase of the control template to generate the step response matrix and process model to be used in the MPC controller algorithm. As described in the patent referred to above, the control logic provides in the sophisticated control block 38 during the test phase, a series of pseudorandom waveforms as the process variables to the process and observes the changes in the control and auxiliary variables (which are essentially treated as control variables by the MPC controller). If desired, both the control and fault variables as well as the control and auxiliary variables can be obtained from the logging device 12 out

1 erfasst werden und kann der Bediener das Konfigurationsprogramm 40 (1) einrichten, um diese Daten von der Protokolliereinrichtung 12 zu erhalten und auf irgendeine Weise eine Trendanalyse an diesen Daten durchzuführen, um die Matrix der Sprungantworten zu erhalten oder zu bestimmen, wobei jede Sprungantwort die Antwort über die Zeit einer der Steuer- oder Hilfsvariablen auf eine Einheitsänderung in einer (und nur einer) der Stell- und Steuervariablen kennzeichnet. Diese Einheitsänderung ist in der Regel eine Sprungänderung, könnte aber eine andere Art von Änderung wie eine Impuls- oder rampenförmige Änderung sein. Andererseits kann der Steuerblock 38, falls gewünscht, die Sprungantworten-Matrix als Antwort auf die beim Anwenden der pseudozufälligen Wellenformen auf den Prozess 50 erfaßten Daten erzeugen und dann diese Wellenformen an die Bedienerschnittstelle 13 liefern, welche vom den hochent wickelten Steuerblock 38 erzeugenden und einrichtenden Bediener oder Benutzer verwendet wird. 1 can be detected and the operator can use the configuration program 40 ( 1 ) set up to this data from the logger 12 and to somehow perform a trend analysis on this data to obtain or determine the matrix of step responses, each step response responding over time to one of the control or auxiliary variables to a unit change in one (and only one) of the position - and control variables. This unit change is usually a jump change, but could be another type of change, such as a pulse or ramp change. On the other hand, the control block 38 , if desired, the step response matrix in response to applying the pseudorandom waveforms to the process 50 generate captured data and then these waveforms to the operator interface 13 deliver which from the highly developed control block 38 generating and setting up operator or user is used.

Nachdem die Sprungantworten-Matrix erzeugt ist, wird im Falle, dass die Steuer- und Hilfsvariablen die Stellvariablen an Zahl übertreffen, die Sprungantworten-Matrix verwendet, um die Teilmenge von Steuer- und Hilfsvariablen auszuwählen, welche im MPC-Algorithmus als das M-mal-M-Prozessmodell oder die M-mal-M-Steuermatrix, welches bzw. welche in der MPC-Steuereinrichtung 52 invertiert und benutzt werden soll, verwendet werden wird. Dieser Auswahlprozess kann manuell vom Bediener oder automatisch durch eine Routine zum Beispiel in der Benutzerschnittstelle 13, welche Zugriff auf die Sprungantworten-Matrix hat, durchgeführt werden. Allgemein wird eine einzige der Steuer- und Hilfsvariablen als die am engsten mit einer einzigen der Stellvariablen zusammenhängende identifiziert. Also wird eine einzige und eindeutige (d.h. besondere) der Steuer- oder Hilfsvariablen (welche Eingänge der Prozesssteuereinrichtung sind) mit jeder der verschiedenen Stellvariablen (welche die Ausgänge der Prozesssteuereinrichtung sind) verknüpft, so dass der MPC-Algorithmus auf ein aus einem M-mal-M-Satz von Sprungantworten erzeugtes Prozessmodell gegründet werden kann.After the jump response matrix is generated, in the event that the control and auxiliary variables outnumber the manipulated variables, the jump response matrix is used to select the subset of control and auxiliary variables which, in the MPC algorithm, is the M times -M process model or the M-by-M control matrix, which one or which in the MPC control device 52 to be inverted and used, will be used. This selection process can be done manually by the operator or automatically through a routine, for example in the user interface 13 which have access to the step response matrix. In general, a single one of the control and auxiliary variables is identified as being the most closely related to a single one of the control variables. So a single and unique (i.e. special) of the control or auxiliary variables (which are inputs of the process control device) is linked to each of the various control variables (which are the outputs of the process control device), so that the MPC algorithm is one on one M times -M set of step responses generated process model can be established.

In einer Ausführungsform, welche zum Herstellen einer Paarung einen heuristischen Ansatz verwendet, wählt die automatische Routine oder der Bediener beim Versuch, die einzige Steuer- oder Hilfsvariable auszuwählen, welche auf eine Einheitsänderung in einer bestimmten der Stellvariablen hin eine Kombination der höchsten Verstärkung und der schnellsten Antwortzeit aufweist, den Satz von M (wobei M gleich der Anzahl von Stellvariablen ist) Steuer- und Hilfsvariablen aus und paart diese zwei Variablen. Natürlich kann in manchen Fällen eine bestimmte Steuer- oder Hilfsvariable bei mehreren Stellvariablen eine hohe Verstärkung und eine schnelle Antwortzeit aufweisen. Hier kann diese Steuer- oder Hilfsvariable mit einer beliebigen der zugehörigen Stellvariablen gepaart werden und kann tatsächlich mit einer Stellvariablen gepaart werden, welche nicht die höchste Verstärkung und die schnellste Antwortzeit produziert, weil die Stellvariable, welche die niedrigere Verstärkung oder langsamere Antwortzeit verursacht, insgesamt möglicherweise keine andere Steuer- oder Hilfsvariable in einem akzeptablen Maß beeinflusst. Mithin werden die Paare von Stellvariablen einerseits und Steuer- oder Hilfsvariablen andererseits ausgewählt, um in einem allgemeinen Sinn die Stellvariablen mit der Teilmenge der Steuer- und Hilfsvariablen, welche die am besten auf die Stellvariablen ansprechenden Steuervariablen darstellen, zu paaren. Überdies ist es ohne Bedeutung, wenn alle Steuervariablen nicht als eine der Teilmengen von M Steuer- und Hilfsvariablen ausgewählt werden und deshalb die MPC-Steuereinrichtung nicht alle Steuervariablen als ihre Eingänge empfängt, weil der Satz von Steuer- und Hilfsvariablen-Zielwerten vom Optimierer so gewählt wird, dass er einen Arbeitspunkt des Prozesses bildet, bei welchem die nicht ausgewählten Steuer- (sowie die nicht ausgewählten Hilfs-) Variablen auf ihrem Sollwert oder innerhalb ihres vorgesehenen Arbeitsbereichs liegen.In one embodiment, which is for manufacturing Using a heuristic approach to a pair selects the automatic routine or the operator when trying to be the only one Select control or auxiliary variables that indicate a change in unit in a certain of the control variables a combination of the highest reinforcement and having the fastest response time, the set of M (where M is the number of control variables) control and auxiliary variables and pairs these two variables. Of course, in some cases certain control or auxiliary variables with several control variables a high gain and have a fast response time. Here this tax or auxiliary variable with any of the associated control variables can be paired and can actually are paired with a control variable which is not the highest gain and produces the fastest response time because the control variable which the lower gain or slower response time, overall no other control or auxiliary variable influenced to an acceptable degree. The pairs of control variables on the one hand and control or auxiliary variables on the other hand selected to be in a general Sense the control variables with the subset of the control and auxiliary variables, which are the control variables most responsive to the control variables represent pair. moreover it doesn't matter if all control variables are not considered one of the subsets of M control and auxiliary variables can be selected and therefore the MPC controller does not have all of the control variables than their inputs receives because the set of control and auxiliary variable target values from the optimizer so chosen is that it forms a working point of the process in which the not selected Tax (as well as those not selected Auxiliary) variables at their setpoint or within their intended Work area.

Natürlich kann es, weil es Dutzende oder gar Hunderte von Steuer- und Hilfsvariablen einerseits und Dutzende oder Hunderte von Stellvariablen andererseits geben kann, schwierig sein, den Satz von Steuervariablen und Hilfsvariablen auszuwählen, der die beste Antwort auf jede der verschiedenen Stellvariablen liefert, zumindest vom Standpunkt der Visualisierung her gesehen. Um dieses Problem zu überwinden, kann die Erzeugungsroutine für einen hochentwickelten Steuerblock 40 in der Bedienerschnittstelle 13 einen Satz von Bildschirmanzeigen für den Benutzer oder Bediener enthalten oder darbieten, um dem Bediener zu helfen und ihn in die Lage zu versetzen, geeignete Auswahlen der Steuer- und Hilfsvariablen, welche als die zur Verwendung während des Betriebs in der MPC-Steuereinrichtung 52 vorgesehene Teilmenge von Steuer- und Hilfsvariablen verwendet werden sollten, zu treffen.Of course, because there can be dozens or even hundreds of control and auxiliary variables on the one hand and dozens or hundreds of control variables on the other hand, it can be difficult to select the set of control variables and auxiliary variables that provides the best response to each of the various control variables, at least from View point of view of the visualization. To overcome this problem, the generation routine for a sophisticated control block 40 in the operator interface 13 include or present a set of on-screen displays to the user or operator to assist and enable the operator to make appropriate selections of the control and auxiliary variables which are considered to be used during operation in the MPC controller 52 intended subset of control and auxiliary variables should be used.

Somit kann der Bediener in einem in 3 gezeigten Block 120 einen Bildschirm präsentiert bekommen, in welchem der Bediener die Antwort jeder der Steuer- und Hilfsvariablen auf eine bestimmte oder ausgewählte der Stellvariablen ansehen kann. Der Bediener kann die Stellvariablen durchblättern, eine nach der anderen, die Sprungantworten jeder der Steuer- und Hilfsvariablen auf jede der verschiedenen Stellvariablen ansehen und während des Prozesses diejenige Steuer- oder Hilfsvariable auswählen, welche die auf diese Stellvariable am besten ansprechende ist. Üblicherweise wird der Bediener versuchen, die Steuer- oder Stellvariable zu wählen, welche die beste Kombination aus höchster stationärer Verstärkung und schnellster Antwortzeit bei der Stellvariable aufweist.Thus, the operator can in one 3 shown block 120 are presented with a screen in which the operator can view the response of each of the control and auxiliary variables to a specific or selected one of the control variables. The operator can scroll through the control variables, one by one, view the step responses of each of the control and auxiliary variables to each of the various control variables and, during the process, select the control or auxiliary variable which is the most responsive to that control variable. Usually the operator will try to select the control or control variable which has the best combination of the highest stationary gain and the fastest response time for the control variable.

Es versteht sich, dass solche Anzeigebildschirme dem Bediener ermöglichen, die Teilmenge der M Steuer- und Hilfsvariablen, welche als Eingänge des MPC-Steuerungsalgorithmus verwendet werden, anzuzeigen und auszuwählen, was besonders nützlich ist, wenn es zahlreiche dieser Variablen gibt. Natürlich kann der im Block 74 bestimmte Satz von Steuer- und Beschränkungsvariablen auf Grundlage einiger zuvor festgesetzter Kriterien oder einer Auswahlroutine, welche die zu verwendenden Eingangsvariablen auf Grundlage irgendeiner Kombination aus Verstärkungsantwort und Zeitverzögerung wie aus den Sprungantworten für die Steuervariablen und die Stellvariablen bestimmt, auswählen kann, automatisch oder elektronisch ausgewählt werden.It is understood that such display screens allow the operator to display and select the subset of the M control and auxiliary variables used as inputs to the MPC control algorithm, which is particularly useful when there are numerous of these variables. Of course you can the one in the block 74 certain set of control and restriction variables is automatically or electronically selected based on some predetermined criteria or a selection routine that can select the input variables to be used based on any combination of gain response and time delay as determined from the step responses for the control variables and the control variables ,

In einer weiteren Ausführungsform kann ein automatischer Auswahlprozess zuerst durch Auswählen einer Eingangs-/Ausgangs-Matrix basierend auf der Zustandszahl der Matrix eine Steuermatrix bestimmen, z.B. durch Minimieren der Zustandszahl bis zu einem gewünschten Betrag und anschließendes Entwickeln einer Steuereinrichtungs-Konfiguration aus der Steuermatrix.In another embodiment An automatic selection process can be started by selecting one Input / output matrix based on the state number of the matrix determine a tax matrix, e.g. by minimizing the state number up to a desired one Amount and subsequent Develop a controller configuration from the control matrix.

In diesem Beispiel kann für eine Prozessverstärkungsmatrix A die Zustandszahl der Matrix AT A bestimmt werden, um die Steuerbarkeit der Matrix zu testen. Eine kleinere Zustandszahl bedeutet in der Regel bessere Steuerbarkeit, wohingegen eine höhere Zustandszahl geringere Steuerbarkeit und mehr Steuerschritte oder -bewegungen während des Arbeitens der dynamischen Steuerung bedeutet. Es gibt keine strengen Kriterien für das Definieren eines akzeptablen Maßes an Steuerbarkeit, und deshalb kann die Zustandszahl als ein relativer Vergleich verschiedener möglicher Steuermatrizen und als ein Test für schlecht beschaffene Matrizen verwendet werden. Bekanntermaßen geht eine Zustandszahl für eine schlecht beschaffene Matrix gegen "Unendlich". Mathematisch gesehen, tritt schlechte Beschaffenheit im Falle kollinearer Prozessvariablen auf – das heißt, wegen kollinearer Zeilen oder Spalten in der Steuermatrix. Folglich ist Kreuzkorrelation zwischen Matrixzeilen und -spalten ein bedeutender Faktor, der sich auf Zustandszahl und Steuerbarkeit auswirkt. Durch sorgfältiges Auswählen der Eingangs-/Ausgangsvariablen in der Steuermatrix lassen sich Probleme mit der Beschaffenheit reduzieren. Praktisch besteht Anlass zur Sorge, wenn die Zustandszahl einer Steuermatrix Hunderte beträgt (z.B. 500) oder noch höher ist. Bei einer solchen Matrix ergeben sich äußerst übermäßige Bewegungen der Steuereinrichtungs-Stellvariablen.In this example, the condition number of matrix A T A can be determined to test the controllability of the matrix for a process gain matrix A. A smaller number of states usually means better controllability, whereas a higher number of states means less controllability and more control steps or movements during the operation of the dynamic control. There are no strict criteria for defining an acceptable level of controllability, and therefore the state number can be used as a relative comparison of various possible control matrices and as a test for poorly sourced matrices. As is known, a state number for a poorly procured matrix goes against "infinity". Mathematically speaking, bad nature occurs in the case of collinear process variables - that is, due to collinear rows or columns in the control matrix. As a result, cross correlation between matrix rows and columns is a significant factor affecting the state number and controllability. By carefully selecting the input / output variables in the control matrix, problems with the nature can be reduced. In practice, there is cause for concern if the status number of a tax matrix is hundreds (e.g. 500) or even higher. Such a matrix results in extremely excessive movements of the control device actuating variables.

Wie oben erörtert, löst die Steuermatrix das Problem der dynamischen Steuerung, während der LP-Optimierer das Problem der stationären Optimierung löst, und die Steuermatrix muss eine quadratische Eingangs-/Ausgangs-Matrix sein, selbst wenn der MPC-Steuereinrichtungs-Block eine ungerade Zahl von MVs (einschließlich AVs) und CVs aufweisen kann. Um das Auswählen der Eingänge und Ausgänge für die Steuermatrix zur Verwendung beim Erzeugen der Steuereinrichtung zu beginnen, werden üblicherweise alle verfügbaren MVs als Steuereinrichtungs-Ausgänge einbezogen oder ausgewählt. Nach dem Auswählen der Ausgänge (der MVs) müssen die Prozessausgangsvariablen (d.h, die CVs und AVs), welche in die dynamische Steuermatrix aufgenommen werden, so ausgewählt werden, dass sie eine quadratische Steuermatrix produzieren, welche nicht schlecht beschaffen ist.As discussed above, the control matrix solves the problem of dynamic control while the LP optimizer solves the stationary optimization problem, and the control matrix must be a square input / output matrix be even if the MPC controller block is an odd one Number of MVs (including AVs) and CVs can have. To select the inputs and outputs for the tax matrix to start using to create the controller, are common all available MVs as control device outputs included or selected. After selecting of the outputs (of the MVs) must the process output variables (i.e. the CVs and AVs) which are included in the dynamic control matrix are included, selected so that they produce a quadratic tax matrix, which they don't is badly made.

Nun wird ein Verfahren zum automatischen oder manuellen Auswählen der CVs und AVs als Eingänge in der Steuermatrix erörtert, wobei es sich versteht, dass ebenso andere Verfahren verwendet werden können.Now a procedure for automatic or manual selection of the CVs and AVs as inputs in the tax matrix discussed it being understood that other methods are also used can.

Schritt 1 – CVs werden ausgewählt, bis, falls möglich, die Anzahl von CVs gleich der Anzahl von MVs (d.h. der Anzahl von Steuereinrichtungs-Ausgängen) ist. Im Falle, dass es mehr CVs als MVs gibt, können die CVs in beliebiger Reihenfolge und auf beliebigen gewünschten Kriterien wie Priorität, Verstärkungs- oder Phasengang, Benutzereingabe usw. beruhend gewählt werden. Wenn die gesamte mögliche Anzahl von CVs gleich der Anzahl von MVs ist, mit Schritt 4 fortfahren, um die resultierende Zustandszahl der quadratischen Steuermatrix auf Eignung zu testen. Wenn die Anzahl von CVs kleiner als die Anzahl von MVs ist, können AVs wie in Schritt 2 beschrieben ausgewählt werden. Wenn keine CVs definiert sind, die AV mit maximaler Verstärkung bezüglich einer MV auswählen und mit Schritt 2 fortfahren.Step 1 - CVs are selected until, if possible, the number of CVs equal to the number of MVs (i.e. the number of -Controller outputs) is. In case there are more CVs than MVs, the CVs can be in any Order and on any desired criteria such as priority, reinforcement or phase response, user input, etc. can be selected based. If the whole possible Number of CVs is equal to the number of MVs, go to step 4, the resulting state number of the quadratic control matrix to test for suitability. If the number of CVs is less than the number of MVs can AVs are selected as described in step 2. If no CVs are defined, select the AV with maximum gain with respect to an MV and go to step 2.

Schritt 2 – Eine nach der anderen die Zustandszahl für jede mögliche zur bereits ausgewählten, durch die zuvor ausgewählten CVs und AVs definierten Steuermatrix hinzugefügte AV berechnen. Es versteht sich, dass die durch die ausgewählten CVs definierte Matrix für jede ausgewählte CV und AV eine Zeile enthält, welche die stationäre Verstärkung für diese CV oder AV bei jeder der zuvor ausgewählten MVs definiert.Step 2 - One by one the State number for every possible to the already selected, through the previously selected Calculate added AVs to CVs and AVs defined control matrix. It understands yourself that by the selected CVs defined matrix for each selected CV and AV contain one line, which is the stationary reinforcement for this CV or AV defined for each of the previously selected MVs.

Schritt 3 – Die in Schritt 2 bestimmte AV, welche in der minimalen Zustandszahl für die resultierende Matrix resultiert, auswählen und die Matrix als die vorherige Matrix mit Hinzufügung der ausgewählten AV definieren. Wenn die Anzahl der MVs jetzt gleich der Anzahl der ausgewählten CVs plus der Anzahl der ausgewählten AVs ist (das heißt, wenn die Matrix jetzt quadratisch ist), mit Schritt 4 fortfahren. Andernfalls zu Schritt 2 zurückkehren.Step 3 - The one determined in step 2 AV, which is in the minimum state number for the resulting matrix results, select and the matrix as the previous matrix with the addition of the chosen Define AV. If the number of MVs is now equal to the number of chosen CVs plus the number of selected ones AVs is (that is, if the matrix is now square), go to step 4. Otherwise, return to step 2.

Schritt 4 – Die Zustandszahl für die erzeugte quadratische Steuermatrix Ac berechnen. Falls gewünscht, kann die Berechnung der Zustandszahl für die Matrix Ac anstelle der Matrix Ac TAc verwendet werden, da die Zustandszahlen für diese verschiedenen Matrizen als die Quadratwurzel der anderen in Beziehung miteinander stehen.Step 4 - Calculate the state number for the generated square control matrix A c . If desired, the calculation of the state number for the matrix A c can be used instead of the matrix A c T A c , since the state numbers for these different matrices are related to each other as the square root of the others.

Schritt 5 – Wenn die in Schritt 4 berechnete Zustandszahl akzeptabel ist, durch Auswählen der CV oder AV mit der maximalen Verstärkung bezüglich einer bestimmten MV jede CV und ausgewählte AV mit einer MV verknüpfen, bis die Paarung vollständig ist. An dieser Stelle ist der Auswahlprozess abgeschlossen.Step 5 - If the one calculated in step 4 State number is acceptable by selecting the CV or AV with the maximum gain in terms of link each CV and selected AV with a MV to a certain MV until the mating completely is. At this point the selection process is complete.

Wenn andererseits die Zustandszahl größer als die minimale akzeptable Zustandszahl ist, die letzte zur Steuermatrix hinzugefügte AV/CV entfernen und die Umbruch-Prozedur aus Schritt 6 durchführen.If, on the other hand, the state number larger than is the minimum acceptable state number, the last one to the control matrix added Remove AV / CV and perform the wrapping procedure from step 6.

Schritt 6 – Eine Umbruch-Prozedur für jede der ausgewählten MVs, eine nach der anderen, durchführen und die Zustandszahl der Matrix, welche sich aus jeder Umbruch-Prozedur ergibt, berechnen. Im Wesentlichen wird eine Umbruch-Prozedur durch der Reihe nach erfolgendes Einfügen einer Einheitsantwort für jede der verschiedenen MVs anstelle der entfernten AV (oder CV) durchgeführt. Die Einheitsantwort ist eine Einheit auf einer der Stellen in der Matrixzeile und null überall sonst. Im Wesentlichen wird jede der einzelnen MVs in diesem Fall als ein Eingang und ein Ausgang anstelle der AV verwendet, um eine gut beschaffene quadratische Steuermatrix zu bilden. Als Beispiel für eine 4-mal-4-Matrix werden die Kombinationen 1000, 0100, 0010, und 0001 in die Zeile der entfernten AV in der Verstärkungsmatrix Ac eingefügt.Step 6 - Perform a wrapping procedure for each of the selected MVs, one after the other, and calculate the state number of the matrix resulting from each wrapping procedure. Essentially, a wrapping procedure is performed by sequentially inserting a unit response for each of the various MVs in place of the removed AV (or CV). The unit response is a unit on one of the digits in the matrix row and zero everywhere else. Essentially, each of the individual MVs in this case is used as an input and an output instead of the AV to form a well-designed quadratic control matrix. As an example of a 4 by 4 matrix, the combinations 1000, 0100, 0010, and 0001 are inserted into the row of the removed AV in the gain matrix A c .

Schritt 7 – Nach dem Durchführen einer Umbruch-Prozedur für jede der MVs die Kombination auswählen, welche die minimale Zustandszahl ergibt. Wenn sich keine Verbesserung ergibt, die ursprüngliche Matrix behalten. An dieser Stelle durch Auswählen der CV oder AV mit maximaler Verstärkung bezüglich einer bestimmten MV, ausgenommen die MV, welche zum Steuern ihrer selbst verwendet wird (d.h. die MV, welche umgebrochen wurde), jede ausgewählte CV und jede ausgewählte AV mit einer MV verknüpfen.Step 7 - After performing one Wrapping procedure for each of the MVs select the combination that has the minimum state number results. If there is no improvement, the original one Keep matrix. At this point by selecting the CV or AV with maximum reinforcement in terms of a particular MV, except the MV, which are used to control their is used itself (i.e. the MV that was wrapped), each selected CV and each selected Link AV to MV.

Natürlich kann sowohl die durch diese Prozedur definierte Steuermatrix als auch die resultierende Zustandszahl dem Benutzer unterbreitet werden und kann der Benutzer die definierte Steuermatrix zur Verwendung beim Erzeugen der Steuereinrichtung akzeptieren oder ablehnen.Of course, both can be done by this procedure defined control matrix as well as the resulting one State number can be submitted to the user and the user the defined control matrix for use in generating the control device accept or reject.

Es ist zu beachten, dass in der oben beschriebenen automatischen Prozedur zum Zwecke des Verbesserns der Steuerbarkeit höchstens nur eine MV zum Steuern ihrer selbst ausgewählt (d.h. umgebrochen) wurde. In der manuellen Prozedur kann die Anzahl der umgebrochenen MVs willkürlich gewählt werden. Die zum Steuern ihrer selbst ausgewählten MVs treten durch das Fehlen einer entsprechenden Ausgangsvariablen-Auswahl in der Steuereinrichtungs-Konfiguration hervor. Man kann auch mehr MVs als Umbrüche zur Steuerung verwenden, wenn die Anzahl der MVs größer ist als die Anzahl sämtlicher CVs plus AVs. Auf diese Weise wird schließlich immer noch eine quadratische Steuermatrix an die Steuereinrichtung geliefert, welche jede einzelne der MVs als Ausgänge hat. Es versteht sich, dass der Prozess des Durchführens und Verwendens von Umbrüchen bedeutet, dass die Anzahl der für die Steuermatrix ausgewählten CVs und AVs kleiner sein kann als die Anzahl der durch die Steuereinrichtung gesteuerten MVs, wobei der Unterschied in der Anzahl von als Eingänge der Steuermatrix umgebrochenen MVs besteht. Außerdem kann diese Umbruch-Prozedur in einem Prozess verwendet werden, in welchem es weniger CVs plus AVs als MVs gibt.It should be noted that in the above described automatic procedure for the purpose of improvement controllability at most only one MV was selected to control itself (i.e. wrapped). In the manual procedure, the number of MVs wrapped arbitrarily chosen become. The MVs you choose to control your own step through that Lack of a corresponding output variable selection in the controller configuration out. You can also use more MVs as breaks to control if the number of MVs is larger than the number of all CVs plus AVs. In this way, it eventually becomes a square Control matrix supplied to the control device, which each one of the MVs as outputs Has. It is understood that the process of performing and Using breaks means the number of for selected the tax matrix CVs and AVs can be less than the number generated by the controller controlled MVs, the difference in the number of as inputs of the Tax matrix wrapped MVs exists. You can also use this wrapping procedure be used in a process where there are fewer CVs plus AVs as MVs out there.

Natürlich wird die Zustandszahl oben mittels der stationären Verstärkungen berechnet, und deshalb definiert die Steuermatrix die Steuerbarkeit im Wesentlichen für den stationären Zustand. Auch Prozessdynamik (Totzeit, Verzögerung usw.) und Modellunsicherheit wirken sich auf die dynamische Steuertarkeit aus, und diese Auswirkungen können durch das Ändern der Priorität von Prozessvariablen (z.B. Steuer- und Hilfsvariablen) berücksichtigt werden, welche wegen der Auswirkungen, die sie auf die dynamische Steuerung haben, ihre Einbeziehung in die Steuermatrix gebieten können.Of course, the state number above by means of the stationary reinforcements is calculated, and therefore the tax matrix defines controllability essentially for the stationary Status. Also process dynamics (dead time, delay, etc.) and model uncertainty affect dynamic steerability, and this impact can by changing the priority of process variables (e.g. control and auxiliary variables) are taken into account be what because of the impact they have on the dynamic Have control, require their inclusion in the tax matrix can.

Es ist auch möglich, andere zur Verbesserung sowohl der stationären als auch der dynamischen Steuerbarkeit vorgesehene heuristische Prozeduren zu verwenden. Eine solche Prozedur würde üblicherweise eine Anzahl von heuristischen Kriterien, darunter möglicherweise einige, die unvereinbar sind, aufweisen, welche in mehreren Phasen angewendet werden, um eine Steuermatrix zu entwickeln und dadurch einen geeigneten Satz von Steuereinrichtungs-Eingängen auszuwählen, welche einige Verbesserungen der Steuermatrix bewirken. In einer solchen heuristischen Prozedur werden die CVs und die AVs auf Grundlage der Beziehung mit der höchsten Verstärkung nach MV gruppiert. Für jede MV-Gruppierung wird dann der eine Prozessausgang mit der schnellsten Dynamik und beträchtlicher Verstärkung ausgewählt. Dieser Auswahlprozess kann den Vertrauensbereich berücksichtigen und CVs gegenüber AVs den Vorzug geben (wobei alle anderen gleich sind). Die Routine zur Erzeugung des Prozessmodells verwendet dann den während der Erzeugung der MPC-Steuerung aus jeder Gruppe ausgewählten Parameter. Weil für jede MV nur ein Parameter ausgewählt wird, ist die Antworten-Matrix quadratisch und kann invertiert werden.It is also possible for others to improve both the stationary as well as the heuristic provided for dynamic controllability Procedures to use. Such a procedure would typically be a number of heuristic criteria, including some that may be incompatible are, which are applied in several phases to develop a tax matrix and thereby a suitable sentence of control device inputs select which bring about some improvements to the tax matrix. In a such heuristic procedure, the CVs and AVs are based the relationship with the highest reinforcement grouped by MV. For each MV grouping then becomes the one process output with the fastest Dynamic and considerable reinforcement selected. This selection process can take into account the area of trust and CVs opposite Prefer AVs (where everyone else is the same). The routine then used to generate the process model during the Generation of the MPC control from each group of selected parameters. Because for each MV only one parameter is selected the answer matrix is square and can be inverted.

Auf jeden Fall erzeugt ein Block 124 aus 3 nach Auswählen der Teilmenge von M (oder weniger) Steuer- und Hilfsvariablen-Eingängen der MPC-Steuereinrichtung aus der bestimmten quadratischen Steuermatrix das Prozessmodell oder die Steuereinrichtung, welches bzw. welche im MPC-Steuerungs-Algorithmus 86 aus 2 zu verwenden ist. Bekanntermaßen ist dieser Schritt zur Erzeugung der Steuereinrichtung eine rechenintensive Prozedur. Ein Block 126 lädt dann dieses MPC-Prozessmodell (schon an sich einschließlich der Steuermatrix) oder diese Steuereinrichtung und nötigenfalls die Sprungantworten und die Matrix der stabilen Sprungantwort-Verstärkungen in den Steuerblock 38 herunter, und diese Daten werden für den Betrieb in den Steuerblock 38 aufgenommen. In diesem Augenblick ist der Steuerblock 38 bereit für Online-Betrieb im Prozess 50.Definitely creates a block 124 out 3 after selecting the subset of M (or fewer) control and auxiliary variable inputs of the MPC control device from the determined quadratic control matrix, the process model or the control device, which or which in the MPC control algorithm 86 out 2 is to be used. As is known, this step to generate the control device is a computation-intensive procedure. A block 126 then loads this MPC process model (already including the control matrix itself) or this control device and, if necessary, the step responses and the matrix of the stable step response gains into the control block 38 down, and this data is put into operation in the control block 38 added. Right now is the control block 38 ready for online operation in the process 50 ,

Falls gewünscht, können die Prozess-Sprungantworten neu konfiguriert oder auf eine andere Weise als durch die Erzeugung dieser Sprungantworten gebildet werden. Zum Beispiel können die Sprungantworten aus verschiedenen im System gespeicherten Modellen kopiert werden, um die Sprungantwort einer bestimmten Steuer- oder Hilfsvariable auf eine Stell- oder Störvariable festzulegen. Außerdem kann ein Benutzer die Parameter für eine Sprungantwort, wie die stationäre Verstärkung, die Antwortzeit, die Zeitkonstante erster Ordnung und den ins Quadrat erhobenen Fehler, definieren oder festlegen und, falls gewünscht, kann der Benutzer die Eigenschaften einer Sprungantwort anzeigen und ändern, indem er, falls so gewünscht, andere Parameter wie eine andere Verstärkung oder Zeitkonstante festlegt. Wenn der Benutzer eine andere Verstärkung oder andere Para meter festlegt, kann das Sprungantwort-Modell mathematisch neu erzeugt werden, damit es diesen neuen Parameter oder Satz von Parametern enthält. Diese Funktion ist nützlich, wenn der Benutzer die Parameter der Sprungantwort kennt und die erzeugte Sprungantwort ändern muss, um Übereinstimmung mit diesen Parametern zu erzielen oder diese Parameter einzuhalten.If desired, the process step responses can be reconfigured or formed in a manner other than by generating these step responses. For example, the step responses can be copied from various models stored in the system in order to determine the step response of a specific control or auxiliary variable to a control or fault variable. In addition, a user can set the parameters for a step response, such as the stationary gain, the response time, the time constant first Order and the squared error can be defined or set and, if desired, the user can view and change the properties of a step response by setting other parameters such as a different gain or time constant if so desired. If the user specifies a different gain or other parameters, the step response model can be mathematically regenerated to include this new parameter or set of parameters. This function is useful if the user knows the parameters of the step response and has to change the step response generated in order to achieve agreement with these parameters or to comply with these parameters.

In 4 sind nun die allgemeinen, während jedes Betriebszyklus oder jeder Abfrage des hochentwickelten Steuerblocks 38 durchgeführten Schritte, wie mittels des Flussdiagramms 90a aus 3 erzeugt, dargestellt, während der Prozess 50 online arbeitet. In einem Block 150 empfängt und verarbeitet die MPC-Steuereinrichtung 52 (2) die gemessenen Werte der Steuer- und Hilfsvariablen CV und AV. Insbesondere das Steuerungsvorhersage-Prozessmodell verarbeitet die CV-, AV- und DV-Messungen oder -Eingänge, um den zukünftigen Steuerparameter-Vektor sowie die vorhergesagten stationären Steuer- und Hilfsvariablen CVSS und AVSS zu produzieren.In 4 are now the general ones during each cycle of operation or query of the sophisticated control block 38 steps performed, such as using the flowchart 90a out 3 generated, represented during the process 50 works online. In one 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 and auxiliary variables CV SS and AV SS .

In einem Block 152 verarbeitet oder filtert der Eingangsverarbeitungs-/Filterblock 58 (2) dann die von der MPC-Steuereinrichtung 52 entwickelten vorhergesagten Steuer- und Hilfs- und Stellvariablen CVSS, AVSS und MVSS und liefert diese gefilterten Werte an den Optimierer 54. In einem Block 154 führt der Optimierer 54 Standard-LP-Verfahren aus, um den Satz von M Stellvariablen-Zielwerten MVT zu bestimmen, welche die ausgewählte Zielfunktion oder die Vorgabe-Zielfunktion maximieren oder minimieren, wobei keine der Grenzen der Hilfs- und Stellvariablen übertreten wird und wobei die Steuervariablen auf ihrem festgelegten Sollwert oder innerhalb der festgelegten Bereiche für diese Variablen gehalten werden. Allgemein berechnet der Optimierer 54 eine Zielwert-Stellvariablen-Lösung MVT, indem er jede der Steuervariablen und Hilfsvariablen an ihre Grenzen zwingt. Wie oben erwähnt, gibt es in vielen Fällen eine Lösung, bei welcher jede einzelne der Steuervariablen auf ihrem Sollwert (welcher anfänglich als eine Obergrenze der Steuervariable behandelt werden kann) liegt, während jede einzelne der Hilfsvariablen innerhalb ihrer jeweiligen Beschränkungsgrenzen bleibt. Wenn dies der Fall ist, braucht der Optimierer 54 nur die bestimmten Stellvariablen-Zielwerte MVT auszugeben, welche ein optimales Ergebnis für die Zielfunktion produzieren.In one block 152 processes or filters the input processing / filter block 58 ( 2 ) then that of the MPC controller 52 developed predicted control and auxiliary and actuating variables CV SS , AV SS and MV SS and delivers these filtered values to the optimizer 54 , In one block 154 leads the optimizer 54 Standard LP methods to determine the set of M variable target values MV T , which maximize or minimize the selected objective function or the default objective function, with none of the limits of the auxiliary and actuating variables being exceeded and with the control variables on their setpoint or within the specified ranges for these variables. Generally the optimizer calculates 54 a target value control variable solution MV T by forcing each of the control variables and auxiliary variables to their limits. As mentioned above, in many cases there is a solution in which each of the control variables is at its set point (which can initially be treated as an upper limit of the control variable) while each of the auxiliary variables remains within their respective limits. If this is the case, the optimizer needs 54 only output the specific control variable target values MV T , which produce an optimal result for the target function.

In manchen Fällen aber kann es wegen enger Beschränkungen bei einigen oder allen Hilfs- oder Stellvariablen unmöglich sein, einen Arbeitspunkt zu finden, an welchem alle Steuervariablen auf ihrem Sollwert liegen und alle Hilfsvariablen innerhalb ihrer jeweiligen Beschränkungsgrenzen liegen, weil es keine solche Lösung gibt. In diesen Fällen, unter Verwendung der oben beschriebenen Spielraumvariablen-Verfahren und/oder Verfahren zur Neudefinierung der Grenzen, entwickelt der Optimierer 54 eine neue Zielfunktion und/oder wählt einen neuen Satz von Grenzen aus, wie durch den Block 155 veranschaulicht. Dann führt der Block 154 den Optimierer 54 mit der neu entwickelten Zielfunktion und/oder den neu entwickelten Grenzen mit oder ohne Strafvariablen erneut aus, um eine optimale Lösung zu bestimmen. Wenn noch immer keine realisierbare Lösung oder wenn eine anderweitig inakzeptable Lösung gefunden wird, kann der Block 155 erneut wirksam werden, um einen neuen Satz von Grenzen oder eine neue Zielfunktion zur Verwendung in einem weiteren Durchgang des Optimierers 54 zu definieren. Zum Beispiel kann der Block 155 in einem ersten Durchgang mit einer nicht realisierbaren Lösung entscheiden, Spielraumvariablen zu verwenden und dadurch eine neue Zielfunktion zur Verwendung im zweiten Durchgang des Optimierers 54 zu liefern. Wenn nach dem zweiten Durchgang eine nicht realisierbare oder anderweitig inakzeptable Lösung gefunden wird, kann der Block 155 die Beschränkungsgrenzen entweder mit oder ohne Strafvariablen neu definieren und diese neuen Beschränkungsgrenzen und möglicherweise eine neue Zielfunktion zur Verwendung in einem dritten Durchgang an den Block 154 liefern. Natürlich kann der Block 155 eine Kombination aus Spielraumvariablen und Grenzen-Neudefinierungen verwenden und eine neue Zielfunktion und neue Grenzen zur Verwendung in irgendeinem Durchgang des Optimierers 54 liefern. Der Block 155 kann natürlich in der Situation, in welcher mittels der ursprünglichen Zielfunktion keine realisierbare Lösung gefunden wird, irgendeine andere gewünschte Strategie zum Auswählen einer neuen Zielfunktion oder zum Neudefinieren von Beschränkungsgrenzen verwenden. Falls gewünscht, kann die im Block 154 ausgeführte ursprüngliche Zielfunktion Spielraumvariablen-Strafen enthalten, die verwendet werden können, um die Prozessvariablen während des ersten Durchgangs (oder irgendeines nachfolgenden Durchgangs) des Optimierers an eine Grenze, an einen Sollwert oder an einen idealen Ruhewert zu treiben. Außerdem kann die im Block 154 verwendete ursprüngliche Zielfunktion die Spielraumvariablen-Beschränkungs-Handhabung an erster Stelle einschließen, und diese kann beim ersten Durchgang des Optimierers verwendet werden. In nachfolgenden Läufen, falls diese erforderlich sind, kann dann die Grenzen-Neudefinierung entweder allein oder in Verbindung mit mit Strafen belegten Spielraumvariablen verwendet werden. Desgleichen ist es möglich, Spielraumvariablen oder Grenzen-Neudefinierung oder beides zu verwenden, um während eines nachfolgenden Durchgangs des Optimierers mittels eines der oben beschriebenen Verfahren Prozessvariablen gegen Grenzen, gegen einen Sollwert, gegen einen idealen Ruhewert usw. zu treiben.In some cases, however, it may be impossible to find a working point at which all control variables are at their setpoint and all auxiliary variables are within their respective limitation limits because there is no such solution because of narrow restrictions with some or all auxiliary or control variables. In these cases, using the margin variable methods and / or redefinition methods described above, the optimizer develops 54 a new objective function and / or selects a new set of limits, as through the block 155 illustrated. Then the block leads 154 the optimizer 54 again with the newly developed objective function and / or the newly developed limits with or without penalty variables in order to determine an optimal solution. If there is still no viable solution or if an otherwise unacceptable solution is found, the block can 155 again take effect to a new set of limits or a new objective function for use in another pass of the optimizer 54 define. For example, the block 155 in a first run with a solution that is not feasible, decide to use scope variables and thereby a new target function for use in the second run of the optimizer 54 to deliver. If after the second round an unrealizable or otherwise unacceptable solution is found, the block can 155 redefine the restriction limits either with or without penalty variables and these new restriction limits and possibly a new objective function for use in a third pass to the block 154 deliver. Of course the block can 155 use a combination of margin variables and limit redefinitions and a new objective function and new limits for use in any run of the optimizer 54 deliver. The block 155 can, of course, use any other desired strategy for selecting a new objective function or for redefining restriction limits in the situation in which no feasible solution is found by means of the original objective function. If desired, the in block 154 Executed original objective function include margin variable penalties that can be used to drive the process variables to a limit, setpoint, or ideal idle value during the optimizer's first pass (or any subsequent pass). In addition, the in the block 154 the original objective function used includes the margin variable constraint handling in the first place, and this can be used the first time the optimizer is run. In subsequent runs, if necessary, the redefinition of bounds can then be used either alone or in conjunction with penalty variables. Likewise, it is possible to use margin variables or limit redefinition, or both, to drive process variables against limits, against a setpoint, against an ideal idle value, etc. during a subsequent run of the optimizer using one of the methods described above.

Auf jeden Fall verwendet ein Block 156, nachdem der Block 154 eine realisierbare oder akzeptable Lösung gefunden hat, mit Hilfe des Zielwert-Umwandlungsblocks 55 (2) die Verstärkungsmatrix der Sprungantworten des stabilen Gleichgewichts, um die Zielwerte der Steuer- und Hilfsvariablen CVT und AVT aus den Zielwerten für die Stellvariablen MVT zu bestimmen, und liefert die ausgewählte Teilmenge von N (wobei N gleich oder kleiner als M ist) dieser Werte als Zielwert-Eingänge an die MPC-Steuereinrichtung 52. In einem Block 158 verwendet die MPC-Steuereinrichtung 52 die Steuermatrix oder die daraus abgeleitete Logik, um als eine unbeschränkte MPC-Steuereinrichtung wie oben beschrieben zu arbeiten, um den zukünftigen CV- und AV-Vektor für diese Zielwerte zu bestimmen, und führt eine Vektorsubtraktion mit dem zukünftigen Steuerparameter-Vektor durch, um den zukünftigen Fehlervektor zu produzieren. Der MPC-Algorithmus arbeitet auf eine bekannte Art und Weise, um die stationäre Stellvariable MVSS auf Grundlage des aus den M mal M Sprungantworten entwickelten Prozessmodells zu bestimmen, und liefert diese Werte MVSS an den Eingangsverarbeitungs-/Filterblock 58 (2). In einem Block 160 bestimmt der MPC-Algorithmus auch die an den Prozess 50 auszugebenden MV-Schritte und gibt die ersten dieser Schritte auf eine geeignete Weise an den Prozess 50 aus.Definitely uses a block 156 after the block 154 a feasible or acceptable Has found a solution using the target conversion block 55 ( 2 ) the gain matrix of the step responses of the stable equilibrium in order to determine the target values of the control and auxiliary variables CV T and AV T from the target values for the control variables MV T , and supplies the selected subset of N (where N is equal to or less than M) these values as target value inputs to the MPC control device 52 , In one block 158 uses the MPC controller 52 the control matrix, or logic derived therefrom, to operate as an unrestricted MPC controller as described above to determine the future CV and AV vector for these target values and vector subtracts the future control parameter vector to obtain the to produce future error vector. The MPC algorithm works in a known manner to determine the stationary control variable MV SS on the basis of the process model developed from the M by M step responses and supplies these values MV SS to the input processing / filter block 58 ( 2 ). In one block 160 The MPC algorithm also determines the process 50 MV steps to be output and gives the first of these steps to the process in a suitable manner 50 out.

Während des Betriebs können eine oder mehrere in beispielsweise einer der Schnittstellen 13 ablaufende Überwachungsanwendungen entweder direkt oder über die Protokolliereinrichtung 12 Informationen vom hochentwickelten Steuerblock oder anderen mit diesem kommunikativ verbundenen Funktionsblöcken beziehen und dem Benutzer oder Bediener einen oder mehrere Anzeige- oder Diagnosebildschirme zum Anzeigen des Betriebszustands des hochentwickelten Steuerblocks zur Verfügung stellen. Die Funktionsblock-Technologie weist kaskadierte Eingänge (CAS_IN) und kaskadierte Ferneingänge (RCAS_IN) sowie entsprechende Rückberechnungsausgänge (BKCAL_OUT und RCAS_OUT) sowohl an Steuer- als auch an Ausgangs-Funktionsblöcken auf. Mittels dieser Verbindungseinrichtungen ist es möglich, über der vorhandenen Steuerstrategie eine aufsichtführende optimierte MPC-Steuerstrategie anzubringen, und diese beaufsichtigte Steuerstrategie kann mittels eines bzw. einer oder mehrerer Anzeigebildschirme oder Anzeigen angezeigt werden. Desgleichen können auch Zielwerte für die optimierte MPC-Steuereinrichtung aufgrund einer Strategie verändert werden, falls so gewünscht.During operation, one or more can be in, for example, one of the interfaces 13 monitoring applications running either directly or via the logging device 12 Obtain information from the sophisticated control block or other function blocks communicatively connected thereto and provide the user or operator with one or more display or diagnostic screens for displaying the operating status of the advanced control block. The function block technology has cascaded inputs (CAS_IN) and cascaded remote inputs (RCAS_IN) as well as corresponding recalculation outputs (BKCAL_OUT and RCAS_OUT) on both control and output function blocks. By means of these connecting devices, it is possible to mount a supervised, optimized MPC control strategy above the existing control strategy, and this supervised control strategy can be displayed by means of one or one or more display screens or displays. Likewise, target values for the optimized MPC control device can also be changed based on a strategy, if so desired.

Obwohl der hochentwickelte Funktionsblock in der hierin gegebenen Darstellung einen Optimierer aufweist, welcher sich im selben Funktionsblocks befindet und deshalb in derselben Einrichtung wie die MPC-Steuereinrichtung ausgeführt wird, ist es auch möglich, den Optimierer in einer separaten Einrichtung zu implementieren. Insbesondere der Optimierer kann sich in einer anderen Einrichtung, beispielsweise in einer der Benutzer-Workstations 13, befinden und kann mit der MPC-Steuereinrichtung wie im Zusammenhang mit 2 beschrieben während jeder Ausführung oder Abfrage der Steuereinrichtung kommunizieren, um die Zielwert-Stellvariablen (MVT) oder die daraus bestimmte Teilmenge der Steuer- und Hilfsvariablen (CV und AV) zu berechnen und an die MPC-Steuereinrichtung zu liefern. Natürlich kann eine besondere Schnittstelle, beispielsweise eine bekannte OPC-Schnittstelle, verwendet werden, um die Kommunikationsschnittstelle zwischen der Steuereinrichtung oder dem die MPC-Steuereinrichtung enthaltenden Funktionsblock und der Workstation oder einem anderen Computer, welche(r) den Optimierer implementiert oder ausführt, zu bilden. Wie in der bezüglich 2 beschriebenen Ausführungsform müssen der Optimierer und die MPC-Steuereinrichtung noch während jedes Abfragezyklus miteinander kommunizieren, um eine integrierte, optimierte MPC-Steuerung zu leisten.Although the advanced function block in the illustration given herein has an optimizer that is in the same function block and therefore is executed in the same facility as the MPC controller, it is also possible to implement the optimizer in a separate facility. In particular, the optimizer can be located in another facility, for example in one of the user workstations 13 , are located and can be used with the MPC control device as in connection with 2 described communicate during each execution or query of the control device in order to calculate the target value control variables (MV T ) or the subset of the control and auxiliary variables (CV and AV) determined therefrom and to deliver them to the MPC control device. Of course, a special interface, for example a known OPC interface, can be used to form the communication interface between the control device or the function block containing the MPC control device and the workstation or another computer which implements or executes the optimizer , As for the 2 In the described embodiment, the optimizer and the MPC control device still have to communicate with one another during each polling cycle in order to provide integrated, optimized MPC control.

Natürlich können andere gewünschte Arten von Optimierern wie bekannte oder standardgemäße Echtzeit-Optimierer, die schon in einer Prozesssteuerungsumgebung vorhanden sein können, die hierin beschriebenen Verfahren zur Handhabung der Nichtrealisierbarkeit verwenden. Dieses Merkmal kann auch vorteilhaft eingesetzt werden, wenn das Optimierungsproblem nichtlinear ist und die Lösung nichtlineare Programmierverfahren erfordert. Überdies kann der Optimierer 54, obwohl er in der hierin gegebenen Beschreibung verwendet wird, um Zielwert-Variablen für eine MPC-Routine zu entwickeln, die hierin beschriebenen Verfahren zur Handhabung der Nichtrealisierbarkeit verwenden, um Zielwerte oder andere Variablen zur Verwendung durch andere Arten von Steuereinrichtungen wie PID-Regelungs-Steuereinrichtungen, Fuzzy-Logic-Regelungs-Steuereinrichtungen usw. zu produzieren.Of course, other desired types of optimizers, such as known or standard real-time optimizers that may already exist in a process control environment, can use the unreachability techniques described herein. This feature can also be used to advantage if the optimization problem is non-linear and the solution requires non-linear programming methods. Moreover, the optimizer can 54 , although used in the description given herein to develop target variables for an MPC routine, use the unreachability methods described herein to use target values or other variables for use by other types of controllers such as PID control. Control devices, fuzzy logic control devices, etc. to produce.

Obwohl der hochentwickelte Steuerblock und die anderen hierin beschriebenen Blöcke und Routinen in der hierin gegebenen Beschreibung in Verbindung mit Fieldbus- und standardgemäßen 4-20-mA-Einrichtungen verwendet werden, können sie natürlich unter Verwendung irgendeines anderen Prozesssteuerungs-Kommunikationsprotokolls oder irgendeiner anderen Programmierumgebung implementiert und mit beliebigen anderen Arten von Einrichtungen, Funktionsblöcken oder Steuereinrichtungen verwendet werden. Obwohl die hierin beschriebenen hochentwickelten Steuerblöcke und die zugehörigen Erzeugungs- und Testroutinen vorzugsweise als Software implementiert werden, können sie als Hardware, Firmware usw. implementiert werden und können sie durch jeden anderen mit einem Prozesssteuerungssystem verknüpften Prozessor ausgeführt werden. Mithin kann die hierin beschriebene Routine 40 in einer standardgemäßen Mehr zweck-CPU oder auf speziell entwickelter Hardware oder Firmware wie zum Beispiel ASICs implementiert werden, falls gewünscht. Bei einer Implementierung als Software kann die Software in jedem beliebigen computerlesbaren Speicher wie einer Magnetplatte, einer Laserplatte, einer optischen Platte oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers oder Prozessors usw. gespeichert werden. Desgleichen kann diese Software durch jedes bekannte oder gewünschte Lieferverfahren einschließlich beispielsweise auf einer computerlesbaren Platte oder einem anderen transportablen Computer-Speicherungsmechanismus oder in modulierter Form über einen Kommunikationskanal wie eine Telefonleitung, das Internet usw. (was als das gleiche angesehen wird wie oder als austauschbar angesehen wird gegen das Liefern solcher Software über ein transportables Speichermedium) an einen Benutzer oder an ein Prozesssteuerungssystem geliefert werden.Although the sophisticated control block and the other blocks and routines described herein are used in connection with Fieldbus and standard 4-20 mA devices in the description herein, they can of course be implemented using any other process control communication protocol or programming environment and programming environment can be used with any other type of device, function block or control device. Although the sophisticated control blocks and associated generation and test routines described herein are preferably implemented as software, they can be implemented as hardware, firmware, etc., and can be executed by any other processor associated with a process control system. Hence the routine described herein 40 implemented in a standard multi-purpose CPU or on specially developed hardware or firmware such as ASICs, if desired. When implemented as software, the software can be in any computer readable memory such as a magnetic disk, laser disk, optical disk, or other storage medium um, stored in a RAM or ROM of a computer or processor, etc. Likewise, this software can be implemented by any known or desired delivery method including, for example, on a computer readable disc or other portable computer storage mechanism or in a modulated form over a communication channel such as a telephone line, the Internet, etc. (which is considered the same as or interchangeable will be delivered to a user or to a process control system against delivery of such software via a portable storage medium).

Obwohl die vorliegende Erfindung unter Bezugnahme auf spezifische Beispiele beschrieben wurde, welche nur als veranschaulichend und keineswegs als die Erfindung einschränkend zu verstehen sind, wird es jedem Durchschnittsfachmann einleuchten, dass Änderungen, Ergänzungen oder Streichungen an den offenbarten Anwendungsformen vorgenommen werden können, ohne den Gedanken und Schutzumfang der Erfindung zu verlassen.Although the present invention has been described with reference to specific examples which only as illustrative and in no way as limiting the invention are understood, it will be obvious to every average specialist, that changes additions or deletions to the disclosed application forms can be without departing from the spirit and scope of the invention.

Claims (53)

Verfahren zum Steuern eines Prozesses, enthaltend: das Ausführen eines Optimierers, der eine Zielfunktion verwendet, um eine einen Satz von Zielwerten definierende Lösung zu entwickeln; das Bestimmen, ob die Lösung hinsichtlich eines Satzes von Prozessvariablen-Beschränkungen realisierbar ist; falls die Lösung nicht realisierbar ist; (1) das Neudefinieren der Prozessvariablen-Beschränkungen für mindestens eine Prozessvariable, um eine neue obere und untere Prozessvariablen-Beschränkungsgrenze für die eine Prozessvariable zu definieren; (2) das Entwickeln einer neuen Zielfunktion durch Addieren einer Strafvariablen zur Zielfunktion für die eine Prozessvariable, wobei die Strafvariable auf dem Betrag beruht, um welchen die eine Prozessvariable von einer der neuen Prozessvariablen-Beschränkungsgrenzen für die eine Prozessvariable abweicht; und (3) das erneute Ausführen des Optimierers mit der neuen Zielfunktion, um eine neue Lösung zu entwickeln, welche einen neuen Satz von Zielwerten mit den neuen Prozessvariablen-Beschränkungsgrenzen für die eine Prozessvariable definiert; das Liefern der Zielwerte oder der neuen Zielwerte an eine Steuereinrichtung; und das Ausführen der Steuereinrichtung unter Verwendung der Zielwerte oder der neuen Zielwerte, um einen Satz von Steuersignalen zum Steuern des Prozesses zu entwickeln.Method for controlling a process, comprising: the To run an optimizer that uses an objective function to Develop a set of target-defining solutions; the Determine whether the solution is realizable with respect to a set of process variable restrictions; if the solution is not feasible; (1) redefine process variable constraints for at least a process variable to a new upper and lower process variable restriction limit for the define a process variable; (2) developing one new objective function by adding a penalty variable to the objective function for the a process variable, the penalty variable being based on the amount, by which the one process variable from one of the new process variable restriction limits for the a process variable deviates; and (3) rerunning the Optimizers with the new objective function to find a new solution develop a new set of target values with the new ones Process variable constraint limits for the defines a process variable; delivering the target values or the new target values to a control device; and running the Control device using the target values or the new one Target values to a set of control signals to control the process to develop. Verfahren nach Anspruch 1, ferner enthaltend das Schaffen eines Satzes von Spielraumvariablen in der Zielfunktion, um eine auf dem Betrag, um welchen die mindestens eine der Prozessvariablen eine zugehörige Beschränkung übertritt, beruhende Strafe für mindestens eine der Prozessvariablen zu definieren.The method of claim 1, further comprising the Creating a set of scope variables in the objective function, by one on the amount by which the at least one of the process variables violates an associated limitation, based punishment for to define at least one of the process variables. Verfahren nach Anspruch 2, enthaltend das Einstellen einer mit dem Satz von Spielraumvariablen verknüpften Einheitsstrafe, welche beträchtlich größer ist als die Einheitskosten-Variablen in der Zielfunktion, welche einen oder mehrere wirtschaftliche kostenwerte definieren.A method according to claim 2, including adjusting a unit penalty associated with the set of margin variables, which considerably is bigger than the unit cost variables in the objective function, which one define one or more economic cost values. Verfahren nach Anspruch 1, ferner enthaltend das Schaffen eines Satzes von Spielraumvariablen in der Zielfunktion, um eine auf dem Betrag, um welchen die mindestens eine der Prozessvariablen von einem idealen Ruhewert abweicht, beruhende Strafe für mindestens eine der Prozessvariablen zu definieren.The method of claim 1, further comprising the Creating a set of scope variables in the objective function, by one on the amount by which the at least one of the process variables deviates from an ideal rest value, based punishment for at least to define one of the process variables. Verfahren nach Anspruch 4, enthaltend das Einstellen einer mit dem Satz von Spielraumvariablen verknüpften Einheitsstrafe, welche beträchtlich größer ist als die Einheitskosten-Variablen in der Zielfunktion, welche einen oder mehrere wirtschaftliche Kostenwerte definieren.A method according to claim 4, including adjusting a unit penalty associated with the set of margin variables, which considerably is bigger than the unit cost variables in the objective function, which one define one or more economic cost values. Verfahren nach Anspruch 1, ferner enthaltend das Schaffen eines Satzes von Spielraumvariablen in der Zielfunktion, um eine auf dem Betrag, um welchen die mindestens eine der Prozessvariablen von einem Sollwert abweicht, beruhende Strafe für mindestens eine der Prozessvariablen zu definieren.The method of claim 1, further comprising the Creating a set of scope variables in the objective function, by one on the amount by which the at least one of the process variables deviates from a target value, based penalty for at least one of the process variables define. Verfahren nach Anspruch 6, enthaltend das Einstellen einer mit dem Satz von Spielraumvariablen verknüpften Einheitsstrafe, welche beträchtlich größer ist als die Einheitskosten-Variablen in der Zielfunktion, welche einen oder mehrere wirtschaftliche Kostenwerte definieren.The method of claim 6, including adjusting a unit penalty associated with the set of margin variables, which considerably is bigger than the unit cost variables in the objective function, which one define one or more economic cost values. Verfahren nach Anspruch 1, enthaltend das Schaffen einer Einheitsstrafe für die Strafvariable, welche beträchtlich größer ist als eine oder mehrere Einheitskosten-Variablen in der Zielfunktion, welche einen oder mehrere wirtschaftliche Kostenwerte definieren.The method of claim 1, including creating a standard sentence for the penalty variable, which is considerable is bigger as one or more unit cost variables in the objective function, which define one or more economic cost values. Verfahren nach Anspruch 1, enthaltend das Schaffen einer Einheitsstrafe für die Strafvariable, welche größer ist als alle Einheitskosten-Variablen in der Zielfunktion, welche wirtschaftliche Kostenwerte definieren.The method of claim 1, including creating a standard sentence for the penalty variable, which is larger than all unit cost variables in the objective function, which economic Define cost values. Verfahren nach Anspruch 1, in welchem das Ausführen der Steuereinrichtung das Ausführen einer Mehreingangs-/Mehrausgangs-Steuereinrichtung einschließt.The method of claim 1, in which performing the Control device executing a multi-input / multi-output controller. Verfahren nach Anspruch 10, in welchem das Ausführen der Mehreingangs-/Mehrausgangs-Steuereinrichtung das Ausführen einer Steuereinrichtung des Typs Modellvorhersage-Steuerung einschließt.The method of claim 10, in which performing the Multi-input / multi-output controller performing one Control device of the model prediction control type. System zur Verwendung beim Steuern eines Prozesses, welches dafür ausgelegt ist, mit einem Prozessor implementiert zu werden, enthaltend: ein computerlesbares Medium; eine auf dem computerlesbaren Medium gespeicherte Optimiererroutine, welche geeignet ist, auf dem Prozessor ausgeführt zu werden, um eine Zielfunktion zur Entwicklung einer Lösung zu verwenden, welche einen Satz von Zielwerten definiert; eine auf dem computerlesbaren Medium gespeicherte Routine zur Handhabung der Realisierbarkeit, welche geeignet ist, auf dem Prozessor ausgeführt zu werden, um zu bestimmen, ob die Lösung bezüglich eines Satzes von Prozessvariablen-Beschränkungen realisierbar ist, und falls die Lösung nicht realisierbar ist; das Neudefinieren der Prozessvariablen-Beschränkungen für mindestens eine Prozessvariable, um eine neue obere und untere Prozessvariablen-Beschränkungsgrenze für die eine Prozessvariable zu definieren; das Entwickeln einer neuen Zielfunktion durch Hinzuaddieren einer Strafvariable für die eine Prozessvariable zur Zielfunktion, wobei die Strafvariable die Zielfunktion mit einer auf dem Betrag, um welchen die eine Prozessvariable von einer der neuen Prozessvariablen-Beschränkungsgrenzen für die eine Prozessvariable abweicht, beruhenden Strafe belegt; und das erneute Ausführen der Optimiererroutine mit der neuen Zielfunktion, um eine neue Lösung zu entwickeln, welche einen neuen Satz von Zielwer ten mit den neuen Prozessvariablen-Beschränkungsgrenzen für die eine Prozessvariable definiert; und eine auf dem computerlesbaren Medium gespeicherte Steuereinrichtungsroutine, welche geeignet ist, auf dem Prozessor ausgeführt zu werden, um die Zielwerte oder die neuen Zielwerte zu verwenden, um einen Satz von Steuersignalen zum Steuern des Prozesses zu entwickeln.System for use in controlling a process, which for that is designed to be implemented with a processor comprising: on computer readable medium; one on the computer readable medium stored optimizer routine, which is suitable, on the processor accomplished to become a target function to develop a solution to use which defines a set of target values; a handling routine stored on the computer readable medium the feasibility which is suitable to be executed on the processor, to determine if the solution in terms of a set of process variable constraints is realizable, and if the solution is not feasible; redefine process variable constraints for at least a process variable to a new upper and lower process variable restriction limit for the define a process variable; developing a new one Objective function by adding a penalty variable for one Process variable for the objective function, the punitive variable the objective function with one on the amount by which a process variable of one of the new process variable restriction limits for one Process variable deviates, based on punishment based; and the run again the optimizer routine with the new objective function to find a new solution develop a new set of targets with the new ones Process variable constraint limits for the defines a process variable; and one on the computer readable Medium-stored control device routine, which is suitable executed on the processor to use the target values or the new target values to develop a set of control signals to control the process. System nach Anspruch 12, in welchem die Zielfunktion einen Satz von Spielraumvariablen einschließt, welche eine auf dem Betrag, um welchen die mindestens eine der Prozessvariablen eine zugehörige Beschränkung übertritt, beruhende Strafe für mindestens eine der Prozessvariablen definieren.The system of claim 12, in which the objective function includes a set of margin variables, one on the amount, by which the at least one of the process variables passes an associated restriction, based punishment for Define at least one of the process variables. System nach Anspruch 13, in welchem die Zielfunktion eine mit dem Satz von Spielraumvariablen verknüpfte Einheitsstrafe einschließt, welche beträchtlich größer ist als Einheitskosten-Variablen in der Zielfunktion, welche einen oder mehrere wirtschaftliche Kostenwerte definieren.The system of claim 13, in which the objective function includes a unit penalty associated with the set of margin variables, which considerably is bigger as unit cost variables in the objective function, which one or more economic cost values define. System nach Anspruch 12, in welchem die Zielfunktion einen Satz von Spielraumvariablen einschließt, welche eine auf dem Betrag, um welchen die mindestens eine der Prozessvariablen von einem idealen Ruhewert abweicht, beruhende Strafe für mindestens eine der Prozessvariablen definieren.The system of claim 12, in which the objective function includes a set of margin variables, one on the amount, by which the at least one of the process variables from an ideal Quiescent value deviates, based punishment for at least one of the process variables define. System nach Anspruch 15, in welchem die Zielfunktion eine mit dem Satz von Spielraumvariablen verknüpfte Einheitsstrafe einschließt, welche beträchtlich größer ist als Einheitskosten-Variablen in der Zielfunktion, welche einen oder mehrere wirtschaftliche Kostenwerte definieren.The system of claim 15, in which the objective function includes a unit penalty associated with the set of margin variables, which considerably is bigger as unit cost variables in the objective function, which one or more economic cost values define. System nach Anspruch 12, in welchem die Zielfunktion einen Satz von Spielraumvariablen einschließt, welche eine auf dem Betrag, um welchen die mindestens eine der Prozessvariablen von einem Sollwert abweicht, beruhende Strafe für mindestens eine der Prozessvariablen definieren.The system of claim 12, in which the objective function includes a set of margin variables, one on the amount, by which the at least one of the process variables from a setpoint deviates, based punishment for Define at least one of the process variables. System nach Anspruch 17, in welchem die Zielfunktion eine mit dem Satz von Spielraumvariablen verknüpfte Einheitsstrafe einschließt, welche beträchtlich größer ist als Einheitskosten-Variablen in der Zielfunktion, welche einen oder mehrere wirtschaftliche Kostenwerte definieren.The system of claim 17, in which the objective function includes a unit penalty associated with the set of margin variables, which considerably is bigger as unit cost variables in the objective function, which one or more economic cost values define. System nach Anspruch 12, in welchem die Zielfunktion eine Einheitsstrafe für die Strafvariable einschließt, welche beträchtlich größer ist als eine oder mehrere Einheitskosten-Variablen in der Zielfunktion, welche einen oder mehrere wirtschaftliche Kostenwerte definieren.The system of claim 12, in which the objective function a standard sentence for includes the penalty variable, which is considerable is bigger as one or more unit cost variables in the objective function, which define one or more economic cost values. System nach Anspruch 12, in welchem die Zielfunktion eine Einheitsstrafe für die Strafvariable einschließt, welche größer ist als alle Einheitskosten-Variablen in der Zielfunktion, welche wirtschaftliche Kostenwerte definieren.The system of claim 12, in which the objective function implements a unit penalty for the penalty variable concludes which is greater than all unit cost variables in the target function that define economic cost values. System nach Anspruch 12, in welchem die Steuereinrichtungsroutine eine Mehreingangs-/Mehrausgangs-Steuereinrichtungs-Routine einschließt.The system of claim 12, in which the controller routine a multi-input / multi-output controller routine includes. System nach Anspruch 21, in welchem die Mehreingangs-/Mehrausgangs-Steuereinrichtungs-Routine eine Steuereinrichtungsroutine des Typs Modellvorhersage-Steuerung einschließt.The system of claim 21, in which the multi-input / multi-output controller routine is one Control device routine of the type prediction control includes. Verfahren zum Steuern eines Prozesses, enthaltend: das Definieren mindestens einer mit jeder einzelnen aus einem Satz von Prozessvariablen verknüpften Beschränkung; das Definieren einer Zielfunktion, so dass diese einen oder mehrere mit den Prozessvariablen verknüpfte wirtschaftliche Einheitskostenwerte und eine mit einer der Prozessvariablen, welche die Beschränkung für die eine der Prozessvariablen übertritt, verknüpfte Strafvariable einschließt, wobei die Strafvariable eine Einheitsstrafe aufweist, welche größer ist als jeder der wirtschaftlichen Einheitskostenwerte; und das Verwenden der Zielfunktion, um einen Satz von Prozesssteuersignalen zur Verwendung beim Steuern des Prozesses zu entwickeln.Method for controlling a process, comprising: the Define at least one with each one from a set of Process variables linked restriction; the Define an objective function so that it has one or more linked to the process variables economic unit cost values and one with one of the process variables, which is the limitation for the one of the process variables linked Punitive variable includes the penalty variable has a unit penalty which is greater as each of the economic unit cost values; and the Use the objective function to generate a set of process control signals to develop for use in controlling the process. Verfahren nach Anspruch 23, in welchem das Definieren der mindestens einen Beschränkung das Definieren eines mit der einen der Prozessvariablen verknüpften Satzes von Bereichsgrenzen einschließt.The method of claim 23, in which defining of the at least one restriction defining a set associated with one of the process variables of range boundaries. Verfahren nach Anspruch 23, in welchem das Definieren der mindestens einen Beschränkung das Definieren eines mit der einen der Prozessvariablen verknüpften Sollwerts einschließt.The method of claim 23, in which defining of the at least one restriction defining a setpoint associated with one of the process variables includes. Verfahren nach Anspruch 23, in welchem das Definieren der mindestens einen Beschränkung das Definieren eines mit der einen der Prozessvariablen verknüpften idealen Ruhewerts einschließt.The method of claim 23, in which defining of the at least one restriction defining an ideal associated with one of the process variables Includes resting values. Verfahren nach Anspruch 23, in welchem das Definieren der mindestens einen Beschränkung das Definieren eines mit der einen der Prozessvariablen verknüpften ersten Satzes von Bereichs grenzen und eines mit der einen der Prozessvariablen verknüpften zweiten Satzes von Bereichsgrenzen einschließt und in welchem das Definieren einer Zielfunktion das Definieren einer mit dem Übertreten des ersten Satzes von Bereichsgrenzen verknüpften ersten Strafvariablen und einer mit dem Übertreten des zweiten Satzes von Bereichsgrenzen verknüpften zweiten Strafvariablen einschließt, wobei eine mit der ersten Strafvariablen verknüpfte erste Einheitsstrafe kleiner als eine mit der zweiten Strafvariablen verknüpfte zweite Einheitsstrafe ist.The method of claim 23, in which defining of the at least one restriction defining a first one associated with one of the process variables Set of range boundaries and one with one of the process variables linked second set of range boundaries and in which defining an objective function is to define one when the first sentence is crossed linked by area boundaries first penalty variable and one with the violation of the second sentence linked by area boundaries second punitive variable, one with the first Penal variables linked first unit penalty less than one with the second penalty variable linked second unit penalty is. Verfahren nach Anspruch 23, in welchem das Definieren der mindestens einen Beschränkung das Definieren eines mit der einen der Prozessvariablen verknüpften ersten Werts und eines mit der einen der Prozessvariablen verknüpften Satzes von Bereichsgrenzen einschließt und in welchem das Definieren einer Zielfunktion das Definieren einer mit der einen der Prozessvariablen, welche vom ersten Wert abweicht, verknüpften ersten Strafvariablen und einer mit der einen der Prozessvariablen, welche den Satz von Bereichsgrenzen übertritt, verknüpften zweiten Strafvariablen einschließt, wobei eine mit der ersten Strafvariablen verknüpfte erste Einheitsstrafe kleiner als eine mit der zweiten Strafvariablen verknüpfte zweite Einheitsstrafe ist.The method of claim 23, in which defining of the at least one restriction defining a first one associated with one of the process variables Value and a record linked to one of the process variables of range boundaries and in which defining an objective function defines one with one of the process variables, which is from the first value deviates, linked first punitive variables and one with one of the process variables, which crosses the set of range boundaries linked second Includes punitive variables, whereby a first unit penalty linked to the first penalty variable is smaller as a second unit penalty linked to the second penalty variable is. Verfahren nach Anspruch 28, in welchem der erste Wert ein Sollwert ist.The method of claim 28, in which the first Value is a setpoint. Verfahren nach Anspruch 28, in welchem der erste Wert ein idealer Ruhewert ist.The method of claim 28, in which the first Value is an ideal resting value. Verfahren nach Anspruch 23, enthaltend das Verwenden der Zielfunktion, um einen optimalen Satz von Steuersignalen über einen Zeithorizont zu entwickeln, während dessen eine der Prozessvariablen die Beschränkung für diese Prozessvariable voraussichtlich übertreten wird.The method of claim 23 including using the objective function to get an optimal set of control signals over a Time horizon to develop during one of the process variables is likely to exceed the limit for that process variable becomes. Verfahren nach Anspruch 23, enthaltend das Ermitteln, wann die eine der Prozessvariablen die mit der einen der Prozessvariablen verknüpfte Beschränkung voraussichtlich übertreten wird, und das Neudefinieren der Beschränkung für die eine der Prozessvariablen, das Neudefinieren der Zielfunktion und das Verwenden der neu definierten Zielfunktion, um den Satz von Prozesssteuersignalen zu bestimmen, wenn die eine der Prozessvariablen die mit der einen der Prozessvariablen verknüpfte Beschränkung voraussichtlich übertreten wird.A method according to claim 23, comprising determining when the one of the process variables that with the one of the process variables linked restriction expected to be exceeded and redefining the constraint on one of the process variables, redefining the objective function and using the newly defined Objective function to determine the set of process control signals if one of the process variables is the one of the process variables linked restriction is likely to be exceeded. Verfahren nach Anspruch 32, in welchem das Neudefinieren der Zielfunktion das Hinzuaddieren einer weiteren Strafvariablen zur Zielfunktion für die eine der Prozessvariablen einschließt, wobei die weitere Strafvariable die Zielfunktion mit einer auf dem Betrag, um welchen die eine der Prozessvariablen von der neu definierten Beschränkurg für die eine der Prozessvariablen abweicht, beruhenden Strafe belegt.33. The method of claim 32, wherein redefining the objective function adds one includes further punitive variables for the objective function for the one of the process variables, the further punitive variable providing the objective function with a penalty based on the amount by which the one of the process variables deviates from the newly defined restriction for the one of the process variables. Verfahren nach Anspruch 33, in welchem das Hinzuaddieren der weiteren Strafvariablen das Einstellen einer mit der weiteren Strafvariablen verknüpften weiteren Einheitsstrafe, welche größer ist als die wirtschaftlichen Einheitskostenwerte in der Zielfunktion, welche einen oder mehrere wirtschaftliche Kostenwerte definieren, einschließt.The method of claim 33, in which adding of the other punitive variables, setting one with the other Penal variables linked further standard punishment, which is greater than the economic one Unit cost values in the target function, which one or more define economic cost values, includes. Verfahren nach Anspruch 33, in welchem das Hinzuaddieren der weiteren Strafvariablen das Einstellen einer mit der weiteren Strafe verknüpften weiteren Einheitsstrafe einschließt, welche größer ist als die mit der Strafvariablen verknüpfte Einheitsstrafe in der Zielfunktion.The method of claim 33, in which adding of the other punitive variables, setting one with the other Punishment linked includes another standard sentence, which is greater than the uniform penalty associated with the punitive variable in the Objective function. Verfahren nach Anspruch 33, in welchem das Hinzuaddieren der weiteren Strafvariable das Einstellen einer mit der weiteren Strafe verknüpften weiteren Einheitsstrafe einschließt, welche be trächtlich größer ist als die mit der Strafvariablen verknüpfte Einheitsstrafe in der Zielfunktion.The method of claim 33, in which adding the further punitive variable the setting one with the other Punishment linked includes further standard punishment, which is considerable is bigger than the uniform penalty associated with the punitive variable in the Objective function. System zur Steuerung eines Prozesses zur Verwendung mit einem Prozessor, enthaltend: ein computerlesbares Medium; eine erste auf dem computerlesbaren Medium gespeicherte Routine, welche geeignet ist, auf dem Prozessor ausgeführt zu werden, um mindestens eine mit jeder einzelnen aus einem Satz von Prozessvariablen verknüpfte Beschränkung zu speichern; eine zweite auf dem computerlesbaren Medium gespeicherte Routine, welche geeignet ist, auf dem Prozessor ausgeführt zu werden, um eine Zielfunktion zu speichern, welche eine oder mehrere mit den Prozessvariablen verknüpfte wirtschaftliche Einheitskostenwerte und eine mit mindestens einer der Prozessvariablen, welche die Beschränkung für die eine der Prozessvariablen übertreten, verknüpfte Strafvariable definiert, wobei die Strafvariable eine Einheitsstrafe aufweist, welche größer ist als die wirtschaftlichen Einheitskostenwerte; und eine dritte auf dem computerlesbaren Medium gespeicherte Routine, welche geeignet ist, auf dem Prozessor ausgeführt zu werden, um die Zielfunktion zu verwenden, um einen Satz von Prozesssteuersignalen zur Verwendung beim Steuern des Prozesses zu entwickeln.System for controlling a process for use with a processor containing: a computer readable medium; a first routine stored on the computer-readable medium, which is capable of running on the processor at least a constraint associated with each one of a set of process variables to save; a second one stored on the computer readable medium Routine which is suitable to be executed on the processor, to save a target function that one or more with linked to the process variables economic unit cost values and one with at least one the process variables that exceed the limit for one of the process variables, linked Penalty variable defined, where the penalty variable is a unit penalty which is larger as the economic unit cost values; and a third routine stored on the computer readable medium, which is suitable is executed on the processor to become the objective function to use a set of process control signals to develop for use in controlling the process. System nach Anspruch 37, in welchem die mindestens eine Beschränkung für die eine der Prozessvariablen einen mit einer der Prozessvariablen verknüpften Satz von Bereichsgrenzen einschließt.The system of claim 37, in which the at least a limitation for the one of the process variables is a set linked to one of the process variables of range boundaries. System nach Anspruch 37, in welchem die mindestens eine Beschränkung für die eine der Prozessvariablen einen mit einer der Prozessvariablen verknüpften Sollwert einschließt.The system of claim 37, in which the at least a limitation for the one of the process variables is a setpoint linked to one of the process variables includes. System nach Anspruch 37, in welchem die mindestens eine Beschränkung für die eine der Prozessvariablen einen mit einer der Prozessvariablen verknüpften idealen Ruhewert einschließt.The system of claim 37, in which the at least a limitation for the one of the process variables one ideal linked to one of the process variables Includes rest value. System nach Anspruch 37, in welchem die mindestens eine Beschränkung für die eine der Prozessvariablen einen mit einer der Prozessvariablen verknüpften ersten Satz von Bereichsgrenzen und einen mit der einen der Prozessvariablen verknüpften zweiten Satz von Bereichsgrenzen einschließt und in welchem die Zielfunktion eine mit dem ersten Satz von Bereichsgrenzen verknüpfte erste Strafvariable und eine mit dem zweiten Satz von Bereichsgrenzen verknüpfte zweite Strafvariable einschließt, wobei eine mit der ersten Strafvariable verknüpfte erste Einheitsstrafe kleiner als eine mit der zweiten Strafvariable verknüpfte zweite Einheitsstrafe ist.The system of claim 37, in which the at least a limitation for the one of the process variables a first linked to one of the process variables Set of range limits and one with one of the process variables linked second set of range boundaries and in which the objective function a first associated with the first set of range boundaries Penalty variable and one with the second set of range boundaries linked includes second penalty variable, whereby a first unit penalty linked to the first penalty variable is smaller as a second unit penalty linked to the second penalty variable is. System nach Anspruch 37, in welchem die mindestens eine Beschränkung für die eine der Prozessvariablen einen mit der einen der Prozessvariablen verknüpften ersten Wert und einen mit der einen der Prozessvariablen verknüpften Satz von Bereichsgrenzen einschließt und in welchem die Zielfunktion eine mit der vom ersten Wert abweichenden einen der Prozessvariablen verknüpfte erste Strafvariable und eine mit der den Satz von Bereichsgrenzen übertretenden einen der Prozessvariablen verknüpfte zweite Strafvariable einschließt, wobei eine mit der ersten Strafvariablen verknüpfte erste Einheitsstrafe kleiner als eine mit der zweiten Strafvariablen verknüpfte zweite Einheitsstrafe ist.The system of claim 37, in which the at least a limitation for the one of the process variables one with the one of the process variables linked first value and a record linked to one of the process variables of range boundaries and in which the objective function is one that deviates from the first value linked one of the process variables first penalty variable and one with the one exceeding the set of range limits linked one of the process variables includes second penalty variable, whereby a first unit penalty linked to the first penalty variable is smaller as a second unit penalty linked to the second penalty variable is. System nach Anspruch 42, in welchem der erste Wert ein Sollwert ist.The system of claim 42, in which the first value is a setpoint. System nach Anspruch 42, in welchem der erste Wert ein idealer Ruhewert ist.The system of claim 42, in which the first value is an ideal resting value. System nach Anspruch 37, in welchem die dritte Routine geeignet ist, die Zielfunktion zu vewenden, um einen optimalen Satz von Prozesssteuersignalen über einen Zeithorizont zu entwickeln, in welchem die eine der Prozessvariablen die Beschränkung für die eine der Prozessvariablen voraussichtlich übertreten wird.The system of claim 37, in which the third routine is suitable to use the objective function to get an optimal sentence of process control signals via develop a time horizon in which one of the process variables the limitation for the one of the process variables is likely to be exceeded. System nach Anspruch 37, enthaltend eine vierte auf dem computerlesbaren Medium gespeicherte Routine, welche geeignet ist, auf dem Prozessor ausgeführt zu werden, um zu ermitteln, wann eine der Prozessvariablen die mit der einen der Prozessvariablen verknüpfte Beschränkung voraussichtlich übertreten wird, und um die Beschränkung für die eine der Prozessvariablen neu zu definieren, um die Zielfunktion neu zu definieren und um die dritte Routine zu veranlassen, die neu definierte Zielfunktion zu verwenden, um den Satz von Prozesssteuersignalen zu bestimmen, wenn die eine der Prozessvariablen die mit der einen der Prozessvariablen verknüpfte Beschränkung voraussichtlich übertreten wird.The system of claim 37, including a fourth routine stored on the computer readable medium, which is suitable is executed on the processor to determine when one of the process variables is the one with one of the process variable restrictions is likely to be exceeded, and about the limitation for the redefine one of the process variables to the target function redefine and initiate the third routine, the redefined objective function to use the set of process control signals to determine if one of the process variables is the one with the one of the process variables restriction expected to be exceeded becomes. System nach Anspruch 46, in welchem die vierte Routine geeignet ist, die Zielfunktion durch Hinzuaddieren einer weiteren Strafvariable zur Zielfunktion für die eine der Prozessvariablen neu zu definieren, wobei die weitere Strafvariable die Zielfunktion mit einer auf dem Betrag, um welchen die eine der Prozessvariablen von der neu definierten Beschränkung für die eine der Prozessvariablen abweicht, beruhenden Strafe belegt.The system of claim 46, in which the fourth routine is suitable, the target function by adding another Penalty variable for the objective function for redefine one of the process variables, with the other Punitive variable the objective function with one on the amount by which one of the process variables from the newly defined restriction for one of the process variable deviates, based on punishment. System nach Anspruch 47, in welchem die vierte Routine geeignet ist, eine mit der weiteren Strafvariablen verknüpfte weitere Einheitsstrafe einzustellen, welche größer ist als die wirtschaftlichen Einheitskostenwerte in der Zielfunktion.The system of claim 47, in which the fourth routine is suitable, another linked with the other penalty variable To set a uniform penalty, which is greater than the economic one Unit cost values in the objective function. System nach Anspruch 47, in welchem die vierte Routine geeignet ist, eine mit der weiteren Strafe verknüpfte weitere Einheitsstrafe einzustellen, welche größer ist als die mit der Strafvariablen verknüpfte Einheitsstrafe in der Zielfunktion.The system of claim 47, in which the fourth routine a further unit penalty linked to the further punishment is suitable to set which is larger than the uniform penalty associated with the punitive variable in the Objective function. System nach Anspruch 47, in welchem die vierte Routine geeignet ist, eine mit der weiteren Strafe verknüpfte weitere Einheitsstrafe einzustellen, welche beträchtlich größer ist als die mit der Strafvariablen verknüpfte Einheitsstrafe in der Zielfunktion.The system of claim 47, in which the fourth routine a further unit penalty linked to the further punishment is suitable adjust which is considerable is bigger than the uniform penalty associated with the punitive variable in the Objective function. System nach Anspruch 37, in welchem die dritte Routine eine Optimierer-Routine ist, welche geeignet ist, einen Satz von Zielwerten für eine Steuereinrichtung zu entwickeln.The system of claim 37, in which the third routine is an optimizer routine which is suitable for a set of Target values for to develop a control device. System nach Anspruch 37, in welchem die dritte Routine eine Steuereinrichtungsroutine ist.The system of claim 37, in which the third routine is a control routine. System nach Anspruch 37, in welchem die dritte Routine eine Steuereinrichtungsroutine des Typs Modellvorhersage-Steuerung ist.The system of claim 37, in which the third routine a model prediction control type control routine is.
DE10341762.1A 2002-09-11 2003-09-10 Managing the realizability of constraints and limitations in an optimizer for process control systems Expired - Lifetime DE10341762B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/241,350 US7376472B2 (en) 2002-09-11 2002-09-11 Integrated model predictive control and optimization within a process control system
US10/241350 2002-09-11
US10/465,153 US7337022B2 (en) 2002-09-11 2003-06-19 Constraint and limit feasibility handling in a process control system optimizer
US10/465153 2003-06-19

Publications (2)

Publication Number Publication Date
DE10341762A1 true DE10341762A1 (en) 2004-04-15
DE10341762B4 DE10341762B4 (en) 2014-05-15

Family

ID=31980987

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10341762.1A Expired - Lifetime DE10341762B4 (en) 2002-09-11 2003-09-10 Managing the realizability of constraints and limitations in an optimizer for process control systems

Country Status (5)

Country Link
JP (1) JP4079369B2 (en)
CN (1) CN1300651C (en)
DE (1) DE10341762B4 (en)
GB (2) GB2394564B (en)
HK (1) HK1060777A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008028777A1 (en) * 2008-06-17 2009-12-24 Siemens Aktiengesellschaft Control system of a plant with multi-level model optimization
DE102007046964B4 (en) * 2006-10-02 2016-10-06 Fisher-Rosemount Systems, Inc. Process control apparatus and method for controlling a process
WO2017186708A1 (en) * 2016-04-29 2017-11-02 Khs Gmbh Method for optimizing the filling of a container
DE102017206299A1 (en) * 2017-04-12 2018-10-18 Siemens Schweiz Ag Method for controlling an operating device of a building and building automation system
US10310456B2 (en) 2005-10-04 2019-06-04 Fisher-Rosemount Systems, Inc. Process model identification in a process control system
WO2023148241A1 (en) * 2022-02-04 2023-08-10 Glatt Ingenieurtechnik Gesellschaft mit beschränkter Haftung Method for controlling a particle-forming fluidization process taking place in a fluidization apparatus

Families Citing this family (14)

* 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
GB2446343B (en) * 2005-12-05 2011-06-08 Fisher Rosemount Systems Inc Multi-objective predictive process optimization with concurrent process simulation
CN100461037C (en) * 2007-05-11 2009-02-11 浙江大学 IDP based industrial process dynamic optimization system and method
AU2010337990B2 (en) * 2009-12-31 2014-03-06 Abb Schweiz Ag Process optimization method and system for a power plant
EP2560062A1 (en) * 2011-08-16 2013-02-20 ABB Research Ltd. Methods and control systems for controlling an industrial system
JP5858080B2 (en) * 2013-08-23 2016-02-10 横河電機株式会社 Operation planning method and operation planning system
JP6653153B2 (en) * 2015-10-01 2020-02-26 株式会社日立製作所 Power demand adjustment plan management device
JP6901448B2 (en) * 2018-09-14 2021-07-14 株式会社東芝 Arithmetic logic unit, calculation program, recording medium and calculation method
US11934159B2 (en) * 2018-10-30 2024-03-19 Aspentech Corporation Apparatus and methods for non-invasive closed loop step testing with controllable optimization relaxation
WO2020227383A1 (en) 2019-05-09 2020-11-12 Aspen Technology, Inc. Combining machine learning with domain knowledge and first principles for modeling in the process industries
US11782401B2 (en) 2019-08-02 2023-10-10 Aspentech Corporation Apparatus and methods to build deep learning controller using non-invasive closed loop exploration
WO2021076760A1 (en) 2019-10-18 2021-04-22 Aspen Technology, Inc. System and methods for automated model development from plant historical data for advanced process control
EP3910428A1 (en) * 2020-05-15 2021-11-17 L'air Liquide, Société Anonyme Pour L'Étude Et L'exploitation Des Procédés Georges Claude Method to control a gasifier by means of a multivariate model predictive controller
US11630446B2 (en) 2021-02-16 2023-04-18 Aspentech Corporation Reluctant first principles models

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3828171A (en) * 1972-08-14 1974-08-06 Phillips Petroleum Co Process apparatus control system for optimizing objective variable quality
US5315521A (en) * 1992-07-29 1994-05-24 Praxair Technology, Inc. Chemical process optimization method
JP3887414B2 (en) * 1993-07-05 2007-02-28 シーメンス アクチエンゲゼルシヤフト Method for determining the optimum value of the operating volume of a technical system
US5630070A (en) * 1993-08-16 1997-05-13 International Business Machines Corporation Optimization of manufacturing resource planning
JP2001273278A (en) * 1993-12-14 2001-10-05 Masaharu Ishii Device and method for optimization
JP3174223B2 (en) * 1993-12-14 2001-06-11 雅治 石井 Filter design method and filter
US5457625A (en) * 1994-04-13 1995-10-10 The M. W. Kellogg Company Maximizing process production rates using permanent constraints
CN1187888A (en) * 1995-06-14 1998-07-15 霍尼韦尔公司 Method of process controller optimization in multivariable predictive controller
US6278899B1 (en) * 1996-05-06 2001-08-21 Pavilion Technologies, Inc. Method for on-line optimization of a plant
JPH11259450A (en) * 1998-03-09 1999-09-24 Hitachi Ltd Optimal output deciding method and device therefor
US6330483B1 (en) * 1999-05-07 2001-12-11 The Boeing Company Optimal control system
AU2000268132A1 (en) * 1999-09-03 2001-04-10 Quantis Formulation Inc. Method of optimizing parameter values in a process of producing a product
US7376472B2 (en) * 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
DE10341764B4 (en) * 2002-09-11 2019-01-10 Fisher-Rosemount Systems, Inc. Integrated model prediction control and optimization within a process control system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310456B2 (en) 2005-10-04 2019-06-04 Fisher-Rosemount Systems, Inc. Process model identification in a process control system
DE102006046870B4 (en) 2005-10-04 2022-05-05 Fisher-Rosemount Systems, Inc. Process model identification in a process control system
DE102006063100B3 (en) 2005-10-04 2022-05-19 Fisher-Rosemount Systems, Inc. PROCESS MODEL IDENTIFICATION IN A PROCESS CONTROL SYSTEM
US11487252B2 (en) 2005-10-04 2022-11-01 Fisher-Rosemount Systems, Inc. Process model identification in a process control system
DE102007046964B4 (en) * 2006-10-02 2016-10-06 Fisher-Rosemount Systems, Inc. Process control apparatus and method for controlling a process
DE102008028777A1 (en) * 2008-06-17 2009-12-24 Siemens Aktiengesellschaft Control system of a plant with multi-level model optimization
WO2017186708A1 (en) * 2016-04-29 2017-11-02 Khs Gmbh Method for optimizing the filling of a container
US10618790B2 (en) 2016-04-29 2020-04-14 Khs Gmbh Method for optimizing the filling of a container
DE102017206299A1 (en) * 2017-04-12 2018-10-18 Siemens Schweiz Ag Method for controlling an operating device of a building and building automation system
WO2023148241A1 (en) * 2022-02-04 2023-08-10 Glatt Ingenieurtechnik Gesellschaft mit beschränkter Haftung Method for controlling a particle-forming fluidization process taking place in a fluidization apparatus

Also Published As

Publication number Publication date
CN1300651C (en) 2007-02-14
JP2004265381A (en) 2004-09-24
JP4079369B2 (en) 2008-04-23
HK1060777A1 (en) 2004-08-20
GB2394564A (en) 2004-04-28
CN1497402A (en) 2004-05-19
DE10341762B4 (en) 2014-05-15
GB2423831B (en) 2007-05-16
GB2394564B (en) 2006-10-11
GB0600443D0 (en) 2006-02-15
GB0321291D0 (en) 2003-10-15
GB2423831A (en) 2006-09-06
GB2394564A8 (en) 2004-05-19

Similar Documents

Publication Publication Date Title
DE10341762B4 (en) Managing the realizability of constraints and limitations in an optimizer for process control systems
DE10165123B3 (en) Integrated optimal model predictive control in a process control system
DE10362408B3 (en) Integrated model-based predicative control and optimization within a process control system
DE10341764B4 (en) Integrated model prediction control and optimization within a process control system
DE102004026979B4 (en) Multiple input / multiple output control blocks with non-linear prediction capabilities
DE10341574A1 (en) Configuration and viewing display for an integrated predictive model control and optimization function block
DE102006045429B4 (en) Adaptive, Model Predictive Online control in a process control system
DE10304902B4 (en) Adaptation of extended process control blocks depending on changing process delays
DE10048360B4 (en) Integrated, advanced control blocks in process control systems
DE60016459T2 (en) METHOD AND DEVICE FOR LIMITING THE INTEGRAL PART IN PID REGULATORS
DE69823049T2 (en) MODEL-FREE ADAPTIVE PROCESS CONTROL
DE102004058238B4 (en) Adaptive, multivariable process control that uses model switching and attribute interpolation
DE102004019352B4 (en) State-based adaptive feedback / feedforward PID controller (PID control unit)
DE112009000224T5 (en) Robust and adaptive model predictive controller with tuning to compensate for model mismatch
DE102006045428B4 (en) Method and system for controlling a batch process
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
DE112015003733T5 (en) Model predictive control using wireless process signals
AT512251B1 (en) Method of designing a nonlinear controller for non-linear processes
DE102006049832A1 (en) Non-periodic control communications in wireless and other process control systems
DE102019204861A1 (en) MACHINE LEARNING DEVICE; CONTROL DEVICE AND MACHINE LEARNING
DE102013100434A1 (en) Compensating for setpoint changes in a non-periodically updated controller
DE102015111875A1 (en) Process control system using typical or adapter components
EP2553535A1 (en) Engineering tool and method for parameterizing a model-based predictive controller
DE10311026A1 (en) Process for changing the function parameters used in an industrial controller uses sampled values subjected to a weighting process

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R020 Patent grant now final

Effective date: 20150217

R071 Expiry of right