Ausgewählte Fachbücher zu MPC-Regelungen mit linearen Prozessmodellen.
\r\n\tWith this goal in mind, together with the US Prof. John M. Ballato and the InechOpen publishing house since 2011 we have published in 2011, 2013, 2015 and 2017 4 books of our serial “Optoelectronics” and the book “Excitons”, edited in 2018 by Prof. Sergei L. Pyshkin. Publishing the new book “Luminescence” we are pleased to note the growing number of countries participating in this undertaking as well as for a long time fruitfully cooperating scientists from the United States and the Republic of Moldova.
\r\n\tSpecialists from all over the world have published in edited by us books their works in the field of research of the luminescent properties of various materials suitable for use in optoelectronic devices, the development of new structures and the results of their application in practice.
Es sind jetzt vier Jahrzehnte vergangen, seit die ersten Veröffentlichungen zur industriellen Anwendung prädiktiver Regelungen erschienen sind [6, 7]. Seit dieser Zeit haben sich modellbasierte prädiktive Regelungen (engl. Model Predictive Control, kurz MPC) zur Standardtechnologie für die Lösung anspruchsvoller Mehrgrößen-Regelungsaufgaben bei kontinuierlichen verfahrenstechnischen Prozessen entwickelt [5]. Kein anderes modernes Regelungsverfahren hat eine derartige Erfolgsgeschichte der industriellen Anwendung, besonders in der Prozessindustrie, aufzuweisen. Derzeit sind allein dort weit über 15.000 MPC-Anwendungen weltweit im Einsatz, und zwar nicht mehr nur in Raffinerie- und Petrochemie-Anlagen, sondern auch in Anlagen der Chemie- und Polymer-, Zellstoff- und Papierindustrie, der Nahrungsgüterwirtschaft, der Zementindustrie und der Energieerzeugung [8]. Insbesondere in den letzten Jahren sind MPC-Regelungen aber auch in andere Bereiche vorgedrungen, die sich durch eine wesentlich schnellere Prozessdynamik auszeichnen. Über 95% der industriellen MPC-Anwendungen stützen sich auf lineare Prozessmodelle, die in der Regel durch aktive Versuche in den Prozessanlagen und anschließende Prozessidentifikation gefunden werden. MPC-Verfahren sind aber nicht auf lineare Prozessmodelle beschränkt, zunehmend kommen auch nichtlineare und hybride Modelle zum Einsatz.
\nZu den Ursachen der weiten Verbreitung und Akzeptanz der MPC-Technologie gehören:
die systematische Berücksichtigung von Beschränkungen für die Stell- und Regelgrößen im Regelalgorithmus,
die Eignung für Mehrgrößenregelungen mit einer beliebigen Zahl von Stell- und Regelgrößen,
die Fähigkeit, Mehrgrößensysteme zu behandeln, bei denen sich im laufenden Betrieb die Zahl der verfügbaren Stellgrößen und der zu berücksichtigenden Regelgrößen ändert,
ihre Eignung für Regelstrecken mit komplizierter Dynamik,
die einfache Erweiterbarkeit um Störgrößenaufschaltungen,
eine integrierte Funktion der betriebswirtschaftlichen Arbeitspunktoptimierung,
die Verständlichkeit des MPC-Grundkonzepts für den Anwender,
das Vorhandensein leistungsfähiger Entwicklungswerkzeuge und Dienstleister, und eine standardisierte Projektabwicklung.
MPC-Anwendungen stehen häufig im Mittelpunkt von Advanced-Process-Control-(APC)-Projekten in der Prozessindustrie. Die Weiterentwicklung von MPC-Technologien hat in den letzten Jahren dazu geführt, dass die Projektkosten (relativ zu den sonstigen Kosten der Automatisierung) bei steigender Qualität der Anwendungen gesunken sind. Dazu haben z. B. solche Entwicklungen wie die Verwendung standardisierter Datenschnittstellen (OPC-Technologie), die Entwicklung browserbasierter Visualisierungswerkzeuge, die Verkürzung der Anlagentests durch Anwendung fortgeschrittener Identifikationswerkzeuge und die Entwicklung von Werkzeugen zum Monitoring und zur Pflege in Betrieb befindlicher MPC-Regelungen beigetragen. APC-Projekte unter Einsatz der MPC-Technologie amortisieren sich im Raffineriebereich durchschnittlich erfahrungsgemäß in einem Zeitraum von weniger als einem Jahr. In anderen Bereichen der Prozessindustrie liegt die durchschnittliche Amortisationsdauer bei ca. zwei Jahren. Je nach Anwendungsfall entsteht der ökonomische Nutzen durch eine Erhöhung des Durchsatzes bei Respektierung der Anlagen-Begrenzungen, durch Erhöhung der Ausbeute und Sicherung einer gleichmäßig hohen Qualität wertvoller Produkte, durch Verringerung des spezifischen Energieverbrauchs oder durch eine Kombination mehrerer dieser Faktoren. MPC-Regelungen werden deshalb zunehmend als eine attraktive Möglichkeit gesehen, Prozessanlagen kostengünstiger zu betreiben [9, 10, 11].
\nMPC-Anwendungen wurden zunächst vor allem durch in der Industrie tätige Verfahrens- und Automatisierungsingenieure vorangetrieben, bevor sie auch größere Aufmerksamkeit im akademischen Bereich erregten. Inzwischen hat sich die Situation vollständig gewandelt: die Zahl der Veröffentlichungen zu MPC ist stark angestiegen und inzwischen nicht mehr überschaubar, und für MPC mit linearen Modellen gibt es eine ausgereifte Theorie.
\nDer Schwerpunkt dieses Buches liegt in der Nutzung der MPC Toolbox für den Entwurf und die Simulation von MPC-Regelungen, nicht jedoch in der ausführlichen Erläuterung der MPC-Theorie. Für Leser, die mit den Grundlagen der MPC-Technologie nicht vertraut sind, werden in Tabelle 1 ausgewählte Fachbücher aufgelistet, die MPC-Regelungen mit linearen Prozessmodellen zum Gegenstand haben.
\nAutor(en) | \nTitel | \nQuelle | \nJahr | \n
---|---|---|---|
Maciejowski | \nPredictive control with constraints | \n[12] | \n2002 | \n
Camacho, Bordons | \nModel Predictive Control | \n[13] | \n2007 | \n
Rawlings, Mayne | \nModel Predictive Control-Theory and Design | \n[14] | \n2009 | \n
Haber, Bars, Schmitz | \nPredictive control in process engineering | \n[15] | \n2011 | \n
Borelli, Bemporad, Morari | \nPredictive control for linear and hybrid systems | \n[16] | \n2017 | \n
Rossiter | \nA first course in predictive control | \n[17] | \n2018 | \n
Ausgewählte Fachbücher zu MPC-Regelungen mit linearen Prozessmodellen.
Abschnitte zu prädiktiven Regelungen enthalten auch einige englischsprachige Regelungstechnik-Lehrbücher für die Ausbildung von Verfahrensingenieuren. Eine Auswahl ist in Tabelle 2 zusammengestellt.
\nAutor(en) | \nTitel | \nQuelle | \nJahr | \n
---|---|---|---|
Ogunnaike, Ray | \nProcess Dynamics, Modelling and Control | \n[18], Kap. 27 | \n1994 | \n
Marlin | \nProcess Control | \n[19], Kap. 23 | \n2000 | \n
Bequette | \nProcess Control | \n[20], Kap. 16 | \n2003 | \n
Seborg, Edgar, Mellichamp, Doyle | \nProcess Dynamics and Control | \n[21], Kap. 20 | \n2011 | \n
Corriou | \nProcess Control | \n[22], Kap. 16 | \n2017 | \n
Regelungstechnik-Lehrbücher mit Abschnitten über Model Predictive Control.
In deutscher Sprache sind einführende Darstellungen erschienen, die sich in erster Linie an Anwender in der Praxis richten (z. B. [8, 23] und Abschnitt 6 aus [24]). Eine ausgezeichnete Beschreibung des Entwurfs und der Realisierung von LMPC-Projekten in der Prozessindustrie findet sich in [25]. In dem jüngst erschienenen “Handbook of Model Predictive Control” [26] werden sowohl Fortschritte in der MPC-Theorie als auch neuartige praktische Anwendungen beschrieben.
\nIm Zusammenhang mit MPC-Regelungen sind im Laufe der Jahre eine Reihe neuer Forschungsrichtungen entstanden, die die klassische MPC-Regelung (mit linearen Prozessmodellen) in bestimmten Richtungen erweitern und ergänzen. Dazu gehören vor allem
MPC-Regelungen mit nichtlinearen Prozessmodellen (für stark nichtlineare Systeme),
robuste und stochastische MPC-Regelungen (für Anwendungen mit großer Modellunsicherheit),
explizite MPC-Regelungen (für sehr schnelle Prozesse),
sogenannte “Ökonomische MPC-Regelungen” (Economic MPC), bei denen die Aufgaben der Arbeitspunktoptimierung und der Regelung zusammengeführt werden,
verteilte MPC-Regelungen für größere Anlagen und Prozesse (Distributed MPC).
In Tabelle 3 wird zu jedem dieser Arbeitsgebiete eine Monografie aufgelistet.
\nAutor(en) | \nTitel | \nQuelle | \nJahr | \n
---|---|---|---|
Grüne, Pannek | \nNonlinear Model Predictive Control | \n[29] | \n2017 | \n
Kouvaritakis, Cannon | \nModel Predictive Control: classical, robust and stochastic | \n[30] | \n2016 | \n
Grancharova, Johanson | \nExplicit Nonlinear Model Predictive Control | \n[31] | \n2012 | \n
Ellis, Christofides, Liu | \nEconomic Model Predictive Control | \n[32] | \n2017 | \n
Li, Zhen | \nDistributed Model Predictive Control for plant-wide systems | \n[33] | \n2015 | \n
Bücher zur Weiterentwicklung von MPC-Regelungen.
Von den in Youtube verfügbaren Lehrvideos zum Thema “Model Predictive Control” sind besonders zu empfehlen:
eine 16teilige Videoserie, die John Anthony Rossiter von der University of Sheffield gestaltet hat [27], und
eine von der Fa. MathWorks Inc. bereitgestellte 7teilige Videoserie zur Einführung in die MATLAB® Model Predictive Control ToolboxTM [28].
Die erste Version der MATLAB® Model Predictive Control ToolboxTM wurde im Jahr 2004 auf den Markt gebracht. Seit dieser Zeit stehen auf der Webseite der Fa. Mathworks für registrierte Nutzer und natürlich für MathWorks-Kunden jeweils aktuelle, ausführliche Dokumentationen bereit. Für das in diesem Buch verwendete Release 2018b sind das:
Model Predictive Control ToolboxTM User’s Guide R2108b [34]
Model Predictive Control ToolboxTM Getting Started Guide R2108b [35]
Model Predictive Control ToolboxTM Reference R2108b [36]
Autoren sind Alberto Bemporad (IMT School of Advanced Studies Lucca, Italien), Manfred Morari (University of Pennsylvania, früher ETH Zürich) und N. Lawrence Ricker (University of Washington at Seattle)
\nDarüber hinaus werden jeweils aktuelle “Release Notes” veröffentlicht, in denen Weiterentwicklungen und Korrekturen beschrieben werden. Auf der MathWorks-Website werden Videos und Webinare angeboten, die außer Einführungen in die verschiedenen Werkzeuge auch Anwendungsbeispiele aus verschiedenen Bereichen erläutern.
\nWie bereits erwähnt, stützt sich die überwiegende Mehrzahl industrieller MPC-Anwendungen auf lineare Prozessmodelle, die durch Anlagentests und Identifikation aus Messdaten gewonnen werden. Ausgewählte Fachbücher, in denen die für die Systemidentifikation verwendeten Methoden erläutert werden, sind in Tabelle 4 aufgelistet.
\nAutor(en) | \nTitel | \nQuelle | \nJahr | \n
---|---|---|---|
Ljung | \nSystem Identification – Theory for the User | \n[39] | \n1999 | \n
Zhu | \nMultivariable System Identification for Process Control | \n[40] | \n2001 | \n
Isermann, Münchhof | \nIdentification of Dynamic Systems – an Introduction with Applications | \n[41] | \n2011 | \n
Tangirala | \nPrinciples of System Identification | \n[42] | \n2014 | \n
Bohn, Unbehauen | \nIdentifikation dynamischer Systeme | \n[43] | \n2016 | \n
Ausgewählte Fachbücher zum Thema Systemidentifikation.
Auch für die MATLAB® Model System Identification ToolboxTM stehen auf der MathWorks-Webseite ausführliche Dokumentationen zur Verfügung:
System Identification ToolboxTM User’s Guide R2018b [37]
System Identification ToolboxTM Getting Started Guide R2018b [38]
Autor ist Lennart Ljung (Linköping University, Schweden).
\nWie für die MPC Toolbox werden auch für die System Identification ToolboxTM Videos und Webinare auf der MathWorks-Website angeboten. Hervorzuheben ist das Webinar “Introduction to System Identification” (Lennart Ljung), das auch auf Youtube verfügbar ist [44].
\nDas vorliegende Buch ist wie folgt aufgebaut:
\nIn Kapitel 2: Einführung in MPC und die MATLAB® Model Predictive Control ToolboxTM erfolgt zunächst eine Einführung in das Fachgebiet der modellbasierten, prädiktiven Regelungen (Model Predictive Control, MPC). Darin wird die MPC-Terminologie eingeführt, und die Grundelemente prädiktiver Regelalgorithmen werden zunächst in Worten, danach mathematisch (formelmäßig) beschrieben. Die formelmäßige Beschreibung und die verwendete Notation folgen [34, 35]. Es schließt sich eine kurze Übersicht über die industrielle Anwendung von MPC-Technologien in der Prozessindustrie und in anderen Bereichen an. Abschließend werden die Bestandteile und Einsatzmöglichkeiten der Model Predictive Control ToolboxTM erläutert.
\nKapitel 3: Entwurf von MPC-Regelungen mit der MPC Designer App beschreibt im Detail, in welchen Schritten beim Entwurf und der Simulation von MPC-Regelungen mit linearen Prozessmodellen (LMPC) unter Anwendung des MPC Designers der MPC Toolbox vorgegangen wird. Das “Handling” der unterschiedlichen Elemente der Toolbox wird ebenso erläutert wie die einzugebenden Daten und Parameter. Der hierfür verwendete “MPC Designer” ist ein grafisches Nutzer-Interface der MPC Toolbox, das dem Anwender ein strukturiertes Vorgehen beim MPC-Reglerentwurf wesentlich erleichtert. Die ebenfalls vorhandene Möglichkeit der Programmierung auf der Kommandozeilenebene von MATLAB® wird nicht betrachtet. Eine Ausnahme bildet der Entwurf von MPC-Reglern mit nichtlinearen Prozessmodellen (NMPC) – siehe Kapitel 9 –, der gegenwärtig nicht vom MPC Designer unterstützt wird. Ein wichtiger Entwurfsschritt ist die Offline-Simulation des MPC-Regelungssystems. Im Buch werden hierfür zwei Möglichkeiten beschrieben: (a) die Simulation innerhalb der MPC Designer App und (b) die Simulation mit Hilfe von Simulink-Modellen, bei der Software-Funktionsbausteine der Simulink-Bibliothek verwendet werden.
\nDie folgenden Kapitel sind unterschiedlichen Anwendungsbeispielen für MPC-Regelungen gewidmet. Alle Beispiele stammen aus dem Bereich der Verfahrenstechnik, es werden jedoch unterschiedliche Schwerpunkte gesetzt.
\nIn Kapitel 4: MPC-Regelung einer Pilot-Destillationskolonne wird die MPC-Regelung eines thermischen Trennprozesses mit drei Stell- und drei Regelgrößen sowie zwei gemessenen Störgrößen untersucht. Ein lineares Prozessmodell in Form einer Matrix von Übertragungsfunktionen ist vorgegeben, muss also nicht erst entwickelt werden. Im Mittelpunkt steht die Illustration der Arbeit mit der MPC Toolbox anhand eines konkreten Beispiels. Zusätzlich wird demonstriert, welche Verbesserung der Regelgüte sich bei Anwendung einer zentralen MPC-Mehrgrößenregelung gegenüber einer dezentralen PI-Regelung erreichen lässt.
\nKapitel 5: MPC-Regelung eines Verdampfersystems ist der MPC-Regelung einer Verdampferanlage gewidmet, für das ein nichtlineares theoretisches Prozessmodell vorliegt. Vor dem Entwurf und der Simulation der LMPC-Regelung muss daher zunächst ein lineares Modell gewonnen werden. Das geschieht in diesem Fall auf dem Weg der simulativen Erzeugung virtueller Messdaten (durch Beaufschlagung des rigorosen Modells mit Testsignalen), und durch anschließende Systemidentifikation. Dieser Weg wird im Normalfall auch in der industriellen Praxis beschritten, dort natürlich mit Tests an der großtechnischen industriellen Anlage und unter Verwendung realer Messdaten für die empirische Modellbildung.
\nDas Kapitel 6: MPC-Regelung eines Viertanksystems greift das Beispiel eines Benchmark-Prozesses auf, der bereits oft zur Untersuchung moderner Konzepte der Mehrgrößenregelung verwendet wurde. Für dieses Beispiel liegt ebenfalls ein nichtlineares theoretisches Prozessmodell vor. Die Erzeugung eines linearen Modells für den LMPC-Regler geschieht im Gegensatz zu Kapitel 5 aber durch Linearisierung der nichtlinearen Modellgleichungen mit Hilfe von Simulink Control DesignTM. Der Entwurf nicht-quadratischer Mehrgrößenregelungen mit einer ungleichen Zahl von Stell- und Regelgrößen bildet einen weiteren Schwerpunkt dieses Abschnitts.
\nDie Kapitel 7: Adaptive MPC-Regelung eines chemischen Reaktors und Kapitel 8: pH-Wert-Regelung mit einem Gain-Scheduled MPC-Regler haben die Anwendung von MPC-Reglern mit linearen Prozessmodellen auf die Regelung nichtlinearer Systeme zum Gegenstand. In Kapitel 7 wird dafür das Konzept der adaptiven MPC-Regelung vorgestellt, bei der eine fortlaufende Anpassung eines linearen Modells an das aktuelle Prozessverhalten durch Verfahren der rekursiven Regression erfolgt. Dagegen wird in Kapitel 8 eine “Gain Scheduled” MPC-Regelung entworfen und simuliert, bei der eine “Bank” linearer Modelle für verschiedene Arbeitspunkte des Prozesses entwickelt, für jedes dieser Modelle ein LMPC-Regler entworfen und im laufenden Betrieb einer dieser Regler automatisch selektiert und eingesetzt wird. Die adaptive MPC-Reglung wird am Beispiel eines kontinuierlichen Rührkesselreaktors demonstriert, die “Gain Scheduled” MPC-Regelung am Beispiel der pH-Wert-Regelung eines Neutralisationsreaktors. Für die Simulation des Regelungssystems werden in beiden Fällen spezielle Simulink-Funktionsbausteine aus der MPC Toolbox verwendet.
\nKapitel 9: Nichtlineare modellprädiktive Reglung eines Etylenoxid-Reaktors nimmt eine Sonderstellung ein. Am Beispiel des theoretischen Modells eines Ethylenoxid-Reaktors wird eine nichtlineare MPC-Regelung (NMPC) entworfen. Für den Regelungsentwurf kann hier nicht die MPC Designer App verwendet werden, sondern es muss auf die Kommandozeilen-Programmierung in MATLAB® zurückgegriffen werden. Für die Simulation des NMPC-Regelungssystems wird ein “Nonlinear MPC Controller”-Baustein verwendet, der seit dem Release 2018b der MPC Toolbox zur Verfügung steht.
\nFür das Verständnis des Buchs werden Kenntnisse aus den Bereichen Mathematik, Modellbildung und Regelungstechnik vorausgesetzt, wie sie im Bachelor- und Masterstudium technischer Studiengänge an Universitäten und Fachhochschulen vermittelt werden. Grundlagenwissen über verschiedene Formen von mathematischen Modellen des dynamischen Verhaltens von Systemen (Differenzial- und Differenzengleichungen, Übertragungsfunktionen, Zustandsmodelle) oder den Entwurf von einschleifigen PID-Regelkreisen wird daher nicht noch einmal dargestellt. Es wird ebenfalls vorausgesetzt, dass der Leser über Kenntnisse in der Nutzung von MATLAB® und Simulink® verfügt. Sollte das nicht der Fall sein, stehen für das Vertrautmachen mit diesen Programmierumgebungen und Werkzeugen leicht zugängliche Informationsquellen bereit, darunter Bücher (z. B. [45, 46] und die Abschnitte 16 und 17 des Taschenbuchs der Regelungstechnik [47]), die umfangreichen und gut gestalteten Lehrmaterialien auf der MathWorks-Website und – besonders für Anfänger zu empfehlen – “MATLAB und Simulink Onramp”: eine Möglichkeit, sich online schrittweise in MATLAB® und Simulink® einzuarbeiten, ohne selbst diese Programme auf dem Rechner installiert zu haben.
\nIn diesem Kapitel erfolgt eine Einführung in das Gebiet der modellprädiktiven Regelungen und in die MATLAB® Model Predictive Control ToolboxTM. Die MPC-Terminologie wird erläutert, und die Grundelemente prädiktiver Regelungsalgorithmen werden sowohl in Worten als auch formelmäßig beschrieben. Nach einer kurzen Übersicht über die industrielle Anwendung der MPC-Technologie werden die Bestandteile und Funktionen der Model Predictive Control ToolboxTM dargestellt.
\nDas in der MPC Toolbox verwendete mathematische Modell des dynamischen Verhaltens der Mehrgrößen-Regelstrecke (im Folgenden kurz “Streckenmodell”) hat die in Bild 1 dargestellte Struktur ([35], S. 2–2).
\nStruktur des Streckenmodells in der MPC Toolbox.
Es besteht aus dem eigentlichen Prozessmodell, das die Zusammenhänge zwischen den
manipulierten Variablen (Stellgrößen) \n
gemessenen Störgrößen \n
nicht gemessenen Eingangsstörungen \n
und den
gemessenen Ausgangsgrößen (Regelgrößen) \n
nicht gemessenen Ausgangsgrößen \n
beschreibt. Die nicht gemessenen Eingangsstörungen \n
Da es sich bei der Regelstrecke im Allgemeinen um ein Mehrgrößensystem (Multiple-Input Multiple-Output oder kurz MIMO-System) handelt, sind alle Größen Vektoren und werden durch fette Schreibweise gekennzeichnet. So bezeichnet zum Beispiel
\nden Vektor der manipulierten Variablen (MV) oder Stellgrößen. Ähnliches gilt für die anderen vektoriellen Größen. Der in Klammern gesetzte Index \n
Bild 2 zeigt den Wirkungsplan eines geschlossenen Regelungssystems, wie er in der MPC Toolbox angelegt ist. Für diese Darstellung wurden die Störgrößenmodelle weggelassen.
\nStruktur des MPC-Regelungssystems in der MPC Toolbox.
Wie man erkennt, werden wie in jedem Regelkreis die am Prozess gemessenen Regelgrößen zum MPC-Regler zurückgeführt, dem außerdem Sollwerte (alternativ Sollbereiche oder untere/obere Grenzwerte) zur Verfügung gestellt werden. Außerdem können dem MPC-Regler gemessene Störgrößen bekanntgemacht werden, die für eine Störgrößenaufschaltung (feedforward compensation) genutzt werden können. Die nicht gemessenen Ausgangsgrößen werden in der Regel nur beobachtet. Sie können alternativ aber ebenfalls geschätzt und dann auch geregelt werden.
\nUnabhängig von der konkreten mathematischen Ausgestaltung der einzelnen Schritte weisen alle MPC-Regelalgorithmen folgende gemeinsamen Elemente auf:
Schätzung der nicht gemessenen Zustandsgrößen des Prozessmodells und der Störmodelle,
Modellbasierte Vorhersage des zukünftigen Regelgrößenverlaufs (Prädiktion),
Bestimmung einer optimalen Folge zukünftiger Stellgrößenänderungen,
Anwendung des Prinzips des zurückweichenden Horizonts.
Die Arbeitsweise einer MPC-Regelung kann man anhand von Bild 3 beschreiben. Um die Verhältnisse nicht unnötig kompliziert zu gestalten, wird im Bild nur eine Stell- und eine Regelgröße betrachtet (Eingrößenregelung). In der linken Bildhälfte sind die Verläufe der Regel- und der Stellgröße in der Vergangenheit dargestellt, die rechte Bildhälfte zeigt deren zukünftige Entwicklung. MPC-Regelalgorithmen arbeiten zeitdiskret. Der aktuelle Abtastzeitpunkt wird mit \n
Zum Funktionsprinzip eine MPC-Regelung.
Da in der MPC Toolbox lineare Zustandsmodelle zur Beschreibung des dynamischen Verhaltens (sowohl des Prozesses als auch der Störungen) verwendet werden und die Zustandsgrößen der Prozess- und Störmodelle im Allgemeinen nicht messbar sind, müssen diese (mit Hilfe der gemessenen Stell- und Regelgrößen) geschätzt werden. Dafür wird ein stationäres Kalman-Filter verwendet. Alternativ kann der Anwender ein selbst entwickeltes Schätzverfahren einsetzen. Die geschätzten Größen werden dann in die Prädiktionsgleichungen eingesetzt. Durch die Verwendung der gemessenen Regelgröße \n
Bei PID-Regelungen wird ein dynamisches Modell des Prozesses nur in der Entwurfsphase (zur Bestimmung der Reglerparameter) verwendet. Bei MPC-Regelungen wird es hingegen auch in der Arbeitsphase der Regelung eingesetzt: Zum aktuellen Zeitpunkt \n
Bei bekanntem Sollwertverlauf lassen sich dann auch die zukünftigen Regeldifferenzen (Sollwert minus Vorhersagewert in den zukünftigen Abtastzeitpunkten) vorhersagen. Der zukünftige Stellgrößenverlauf wird in einem weiteren Schritt (siehe unten) durch iterative Lösung eines Optimierungsproblems berechnet. In jedem Optimierungsschritt entsteht dabei eine neue Folge von zukünftigen Stellgrößenänderungen, mit deren Hilfe die erzwungene Bewegung immer wieder neu berechnet werden muss.
\nFür die Vorhersage der Regelgröße können messbare Störgrößen \n
Das dritte Element des MPC-Algorithmus beinhaltet die Ermittlung einer optimalen Folge von zukünftigen Stellgrößenänderungen \n
Die Folge der zukünftigen Stellgrößenänderungen wird durch die Lösung eines quadratischen Optimierungsproblems in Echtzeit ermittelt. Das Optimierungsziel besteht darin, die zukünftigen Regeldifferenzen zu minimieren und dabei mit möglichst geringen Stellgrößenänderungen auszukommen (Regelungs-Zielfunktion). Für die Stellgrößen \n
Obwohl im vorhergehenden Optimierungsschritt eine ganze Folge zukünftiger Stellgrößenänderungen berechnet wurde, wird nur das erste Element dieser Folge \n
Bei kommerziellen LMPC-Programmpaketen (eine Übersicht findet sich in [24], S. 312 f.) wird zusätzlich zu den beschriebenen Elementen des MPC-Regelalgorithmus eine weitere Funktion realisiert: die Bestimmung zulässiger, betriebswirtschaftlich optimaler stationärer Werte der Stell- und Regelgrößen (statische Arbeitspunktoptimierung). Die Berechnung der optimalen Steuergrößenfolge sichert nämlich nicht, dass die MPC-Regelung im stationären Zustand einen betriebswirtschaftlich optimalen Arbeitspunkt des Prozesses anfährt. Daher kann man zeitgleich mit der Lösung der dynamischen Optimierungsaufgabe ein zwar funktional übergeordnetes, programmtechnisch aber integriertes statisches Optimierungsproblem lösen. Das Ziel besteht hier darin, die für den stationären Zustand der Anlage zulässigen, optimalen Werte der Steuer- und Regelgrößen \n
In Bild 4 ist das Zusammenwirken der Grundelemente eines MPC-Regelungssystems ohne Target-Selection in Form eines Wirkungsplans dargestellt.
\nZusammenwirken der Grundelemente eines MPC-Regelungssystems.
Die im Abschnitt 2.2 gegebene Erläuterung der Grundelemente von MPC-Regelagorithmen wird im Folgenden mit Hilfe mathematischer Formeln für Mehrgrößensysteme präzisiert. Die Beschreibungen beziehen sich auf die in der MPC Toolbox implementierten Algorithmen. Um das Verständnis zu erleichtern, wird die Terminologie und Notation verwendet, die in den Dokumentationen [34, 35] Anwendung findet. Zunächst werden die in der MPC Toolbox benutzten (Zustands-)Modelle für den Prozess und die Störungen mathematisch beschrieben. Anschließend werden die Formeln für die wesentlichen Schritte des MPC-Regelalgorithmus (Zustands- und Störgrößenschätzung, Prädiktion der Regelgrößen und Bestimmung optimaler Stellgrößen-Folgen) angegeben.
\nIn der MPC Toolbox werden alle Berechnungen (Schätzung, Prädiktion, Optimierung) mit einem zeitdiskreten, totzeitfreien, linearen Zustandsmodell des Prozesses mit dimensionslosen Ein- und Ausgangsgrößen durchgeführt. Wenn durch den Anwender ein anderes Prozessmodell vorgegeben wird – z. B. ein Übertragungsfunktionsmodell oder ein durch die System Identification ToolboxTM aus Messdaten bestimmtes Modell – dann werden intern die Schritte
Umwandlung in ein lineares Zustandsmodell,
zeitliche Diskretisierung,
Absorbierung von vorhandenen Totzeiten durch Einführung zusätzlicher zeitdiskreter Zustandsgrößen und Pole bei \n
Umwandlung der Ein- und Ausgangsgrößen (nicht der Zustandsgrößen) in dimensionslose Variable
durchgeführt. Der letzte Schritt wird durch die Vorgabe von Skalierungsfaktoren in der Maßeinheit der jeweiligen Ein- und Ausgangsgröße durch den Anwender ermöglicht. Fasst man die Skalierungsfaktoren in Diagonalmatrizen \n
Es wird schließlich ein Zustandsmodell der Form
\nerzeugt. Darin bezeichnen \n
Das lineare Zustandsmodell der Eingangsstörungen lautet
\nDarin bezeichnen \n
Das lineare Zustandsmodell der (nicht gemessenen) Ausgangsstörungen lautet
\nmit den Zustandsgrößen \n
Wenn der Anwender kein Modell der Ausgangsstörungen definiert, wird auch hier ein voreingestelltes Modell verwendet, für Einzelheiten vgl. [35], S. 2–6 ff.
\nDas lineare Zustandsmodell für das Messrauschen lautet
\nmit den Zustandsgrößen \n
Wie die Störmodelle in der Bedienoberfläche der MPC Toolbox vorgegeben bzw. verändert werden können, wird weiter unten in Abschnitt 3.5 beschrieben.
\nUm die Vorhersage des zukünftigen Verlaufs der Regelgrößen durchzuführen, benötigt der MPC-Regler die aktuellen Werte der Zustandsgrößen (sowohl des Prozessmodells als auch der Störmodelle). Da diese im Allgemeinen nicht gemessen werden können, müssen sie aus messbaren Ein- und Ausgangsgrößen geschätzt werden. Dazu wird ein Zustandsvektor des MPC-Reglers in der Form
\ndefiniert. Er fasst also die Zustandsvektoren des Prozessmodells und der drei Störmodelle zusammen. Der Index \n
ermittelt. Die Eingangsgrößen des Beobachters werden als
\ndefiniert, setzen sich also aus den manipulierten Variablen, den gemessenen Störgrößen und den weißen Rauschsignalen der Störmodelle zusammen. Die konstanten Matrizen \n
Der Zustandsbeobachter nutzt ein stationäres Kalman-Filter als voreingestellten Schätzalgorithmus (MATLAB-Funktion kalman). Die Zustandsgrößen werden mit ihm im \n
Schritt 1: Folgende Daten und Parameter werden benötigt:
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
Schritt 2: Korrektur (Revision) des Zustandsvektors für den Fall, dass \n
Schritt 3: Berechnung der “Innovation” (der Differenz zwischen gemessenen und vorhergesagten Ausgangsgrößen)
\nSchritt 4: Aktualisierung des Zustandsvektors
\nSchritt 5: Mit dem aktualisierten Zustandsvektor wird danach die Prädiktion durchgeführt und eine neue optimale Stellgrößenfolge und damit auch dessen erstes Element \n
Dabei wird angenommen, dass die unbekannten Werte der weißen Rauschprozesse \n
Alternativ können (erfahrene) Anwender auch andere bzw. selbst entwickelte Schätzverfahren einsetzen.
\nSind die aktuellen Werte des Zustandsvektors \n
\n\n
\n\n
\n\n
\n\n
\n\n
Die Vorhersage der Zustandsgrößen für den nächsten Abtastzeitpunkt ist
\nFür die folgenden Abtastzeitpunkte bis zum Prädiktionshorizont lassen sich die Zustandsgrößen rekursiv ermitteln:
\nDie Ausgangsgrößen ergeben sich dann zu
\nModellprädiktive Regler lösen in jedem Abtastintervall ein Optimierungsproblem. Es wird beschrieben durch
eine skalare, nicht-negative Zielfunktion, die ein Maß für die Regelgüte darstellt und minimiert werden soll,
Nebenbedingungen, die die Lösung des Problems erfüllen muss, insbesondere die Einhaltung von Grenzwerten für die Stell- und Regelgrößen, und
unabhängige oder Entscheidungsvariable, hier die zukünftigen Werte der Stellgrößen, deren Wahl zu einem minimalen Wert der Zielfunktion unter Einhaltung der Nebenbedingungen führt.
Bei MPC-Regelungen mit linearen Prozess- und Störmodellen kann die Optimierungsaufgabe mathematisch als quadratisches Optimierungsproblem (auch Quadratic Programming oder QP-Problem) formuliert werden. QP-Probleme sind dadurch gekennzeichnet, dass die Zielfunktion quadratisch von den Entscheidungsvariablen abhängt, die Nebenbedingungen hingegen linear. Die Lösung von QP-Problemen mit Nebenbedingungen lässt sich nicht in expliziter Form in einem Schritt ermitteln. Stattdessen müssen Suchverfahren angewendet werden, die aber bei QP zuverlässig und schnell konvergieren. QP-Probleme sind konvexe Optimierungsaufgaben, bei denen jedes lokale Optimum gleichzeitig auch ein globales Optimum ist. Ihre Lösung ist daher einfacher als die Lösung allgemeiner nichtlinearer Optimierungsaufgaben.
\nDie Zielfunktion des Optimierungsschritts bei MPC-Regelungen lässt sich in der Form
\nmit \n
In den meisten Anwendungen soll der MPC-Regler ausgewählte Prozess-Ausgangsgrößen auf oder zumindest in der Nähe von Referenzwerten (Sollwerten) halten. Ein Maß für dieses “output reference tracking” ist
\nDarin bedeuten
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
Die Werte von \n
Bei MPC-Mehrgrößenregelungen muss die Zahl der aktuell verfügbaren manipulierten Variablen und die Zahl der zu berücksichtigenden Regelgrößen (d. h. Regelgrößen mit Sollwert oder mit aktuell/zukünftig verletzten Grenzwerten) nicht gleich groß sein. Man spricht dann von nicht-quadratischen Mehrgrößenregelungen. Ist die Zahl der verfügbaren MV größer als die Zahl der zu berücksichtigenden Regelgrößen, können für die “überschüssigen”, d. h. nicht für die Regelung notwendigen MV sogenannte “Targets” (Zielwerte) vorgegeben werden. (Wird bei kommerziellen MPC-Programmsystemen die Funktion der statischen Arbeitspunktoptimierung aktiviert, werden diese “Targets” durch Lösung eines weiteren Optimierungsproblems mit betriebswirtschaftlicher Zielfunktion berechnet.) In der MPC Toolbox führt die Vorgabe von “Targets” auf ein weiteres Teilziel:
\nDer MPC-Regler versucht also, ausgewählte MV auf ihre Zielwerte zu führen bzw. sie dort zu halten. Darin bedeuten
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
Die Werte von \n
Bei vielen Regelungsaufgaben besteht ein Teilziel in der Minimierung des Stellaufwands, ausgedrückt durch möglichst geringe Stellgrößenänderungen zwischen den Abtastzeitpunkten. In der MPC-Literatur wird dieses Teilziel auch als “move suppression” bezeichnet. Es lässt sich mathematisch als
\nformulieren. Darin bezeichnen
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
Auch hier ist zunächst \n
In der Praxis können zumindest vorübergehende Verletzungen der Nebenbedingungen nicht ausgeschlossen werden. Die Formulierung sogenannter “weicher” Nebenbedingungen (soft constraints) erlaubt dann eine zulässige Lösung des Optimierungsproblems. In die Zielfunktion der quadratischen Optimierung wird dafür ein Summand aufgenommen, der die Verletzung einer Nebenbedingung quantifiziert, die im schlimmsten Fall (worst case) auftritt:
\nDarin bezeichnen
\n\n
\n\n
\n\n
\n\n
Der Anwender kann auch eine alternative, vereinfachte Form der Zielfunktion wählen:
\nDarin bezeichnen \n
In den Diagonalmatrizen \n
Für das quadratische Optimierungsproblem des MPC-Reglers können folgende Nebenbedingungen für die Regelgrößen \n
Darin bedeuten
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
Die Grenzwerte für die Nebenbedingungen der Stell- und Regelgrößen sind mit \n
Wie die oben angegebenen Definitionen der Zielfunktion und der Nebenbedingungen in die mathematische Standardform eines QP-Problems überführt wird, kann [34], S. 2–7 ff. entnommen werden.
\nModellprädiktive Regelungen wurden in der Industrie bis in die 90er-Jahre nahezu ausschließlich in kontinuierlich arbeitenden Großanlagen im Raffineriebereich und in der petrochemischen Industrie eingesetzt. Dafür gibt es drei wesentliche Ursachen: erstens handelt es sich bei diesen Anlagen um Prozesse mit relativ langsamer Dynamik. Ein typischer Wert für die Abtastzeit von MPC-Reglern ist dort eine Minute. Daher konnten MPC-Regelalgorithmen auf (dem Prozessleitsystem übergeordneten) Prozessrechnern implementiert werden, deren Rechenleistung für diesen Zweck auch damals schon ausreichend war. Zweitens werden petrochemische Prozesse meist über längere Zeiträume in einer engen Umgebung eines festen Betriebspunktes betrieben, was den Einsatz linearer Modelle für die Beschreibung der Prozessdynamik ermöglicht. Drittens rechtfertigt in diesen Anlagen eine Verbesserung des ökonomischen Ergebnisses um nur wenige Prozent die nicht geringen Kosten für Advanced-Control-Projekte, die Amortisationsdauer liegt bei weniger als einem Jahr. In den letzten beiden Jahrzehnten hat sich jedoch das Einsatzgebiet von MPC-Reglern auf nahezu alle Bereiche der Prozessindustrie erweitert. Beispiele sind u. a. die chemische Industrie, die Papier- und Zellstoffindustrie, die Lebensmittelindustrie und die Zementindustrie.
\nDie Einbettung von MPC-Regelungen in die Hierarchie der Funktionen der Prozessautomatisierung ist in Bild 5 dargestellt.
\nEinbettung von MPC in die Hierarchie der Prozessautomatisierung (aus [24]).
Eingangsgrößen der MPC-Regler sind Regelgrößen (CV) und messbare Störgrößen (DV). Sie werden durch Messeinrichtungen oder Softsensoren bereitgestellt. Die Ausgangs- oder Stellgrößen (MV) des MPC-Reglers wirken meist auf die Sollwerte bereits existierender, unterlagerten PID-Regelungen, die mit Abtastzeiten im Bereich von Zehntelsekunden bis wenigen Sekunden auf einem Prozessleitsystem (PLS) ausgeführt werden. In selteneren Fällen wirken MPC-Ausgangsgrößen direkt auf Stelleinrichtungen. Diese Kaskadenstruktur hat zwei Vorteile: Sie erlaubt einerseits dem Bedienpersonal, die Anlage im Notfall nur mit konventionellen Regelungen zu betreiben und erleichtert so in der Praxis die Einführung von MPC-Regelungen. Andererseits hat sie einen linearisierenden Effekt – die Zusammenhänge zwischen den Sollwerten der unterlagerten PID-Regler und den MPC-Regelgrößen verhalten sich tendenziell “linearer” als die Zusammenhänge zwischen PID-Stellgrößen und MPC-Regelgrößen. Sie lassen sich daher besser mit linearen Prozessmodellen beschreiben. MPC-Regelalgorithmen werden in verfahrenstechnischen Anwendungen meist mit Abtastzeiten im Bereich von 10 s bis 2 min abgearbeitet. Sie werden heute überwiegend auf dedizierten Rechnern (PC) implementiert, die mit dem Prozessleitsystem über eine OPC-Schnittstelle Daten austauschen. Dabei stellt das PLS einen OPC-Server und das MPC-Programmsystem einen OPC-Client bereit. Für MPC-Regler mit einer geringeren Zahl von Stell- und Regelgrößen gibt es bei ausgewählten Prozessleitsystemen auch MPC-Funktionsbausteine, die direkt auf prozessnahen Komponenten der PLS ablaufen ([23, 50], S. 912)
\nMPC-Regelungen weisen aber nicht nur eine Schnittstelle “nach unten”, zum System der PID-Regelungen auf, die auf dem PLS implementiert sind. Sie haben auch Schnittstellen “nach oben”, die allerdings wesentlich vielgestaltiger ausfallen. In Bild 5 sind einige Möglichkeiten dargestellt. Im Wesentlichen geht es darum, Vorgaben für die MPC-Regler aus betriebswirtschaftlicher Sicht zu ermitteln und an diese zu übergeben.
\nIn einer kleinen, aber zunehmenden Zahl von Prozessanlagen wird eine Funktion der statischen Arbeitspunktoptimierung (Real Time Optimization, RTO) realisiert, deren Aufgabe es ist, betriebswirtschaftlich optimale Sollwerte für das unterlagerte MPC-Regelungssystem zu berechnen [51]. Während MPC-Regler ein experimentell ermitteltes, lineares Modell für die Prozessdynamik verwenden, stützen sich RTO-Systeme auf ein rigoroses (theoretisches) Prozessmodell für das statische Verhalten. RTO-Systeme verwenden oft ein Modell der Gesamtanlage oder eines größeren Anlagenabschnitts, während MPC-Regler sich meist auf eine Teilanlage oder eine bzw. mehrere wichtige Prozesseinheiten beziehen. RTO-Systeme beinhalten Teilfunktionen zur
automatischen Erkennung des stationären Verhaltens (steady-state detection),
Erkennung systematischer Messfehler unter Nutzung von Methoden des Bilanzausgleichs (data reconciliation),
Anpassung der Modellparameter an das aktuelle Anlagenverhalten und
Bestimmung des optimalen Arbeitspunkts mit Hilfe von Methoden der nichtlinearen Optimierung mit Nebenbedingungen.
Die Entwicklung des RTO-Anlagenmodells wird durch bereitgestellte Modellbibliotheken für die wichtigsten verfahrenstechnischen Prozesseinheiten, Aggregate und Ausrüstungen sowie Stoffdatenbanken unterstützt. Trotzdem sind Entwicklung und Betrieb eines RTO-Systems für eine konkrete Prozessanlage aufwändige und komplexe Aufgaben, die einen hohen Grad der Spezialisierung erfordern und mit hohen Kosten für Modellbildung und -pflege verbunden sind. Daher ist die Zahl der industriellen Einsatzfälle (im Verhältnis zur Zahl der MPC-Applikationen) relativ gering, wenn auch steigend, u. a. als Folge der Bereitstellung von Prozessmodellen im Zusammenhang mit dem Entwurf und dem Bau neuer Prozessanlagen. RTO-Systeme arbeiten mit Abtastzeiten, die eine Größenordnung höher liegen als die von MPC-Reglern und in der Regel mehrere Stunden bis Tage betragen.
\nIst kein RTO-System vorhanden, dann werden die Vorgaben für die MPC-Schicht in MES-(Manufacturing Execution System)- oder ERP-(Enterprise Resource Planning)-Systemen generiert und durch das Betriebspersonal an den MPC-Reglern eingestellt. Die Zeitabstände dieser Veränderungen liegen in einer den RTO-Abtastzeiten vergleichbaren Größenordnung.
\nBeim Entwurf von MPC-Regelungen ist zu entscheiden, ob für eine Prozessanlage ein einziger MPC-Regler mit einer vergleichsweise großen Zahl von MV/DV und CV, oder mehrere MPC-Regler mit einer kleineren Zahl von Ein- und Ausgangsgrößen konfiguriert werden sollen [5]. Oft fällt die Entscheidung für mehrere “kleinere” MPC-Regler aus, die dann für eine Prozesseinheit (Reaktor, Kolonne) oder für eine Teilanlage zuständig sind. Da diese Regler nur über Informationen über den ihnen zugeordneten Prozessabschnitt verfügen, ist nicht gewährleistet, dass die Summe der durch sie ermittelten Teiloptima auch dem Gesamtoptimum der Anlage entspricht. Einige Anbieter kommerzieller MPC-Produkte haben daher Funktionen entwickelt, die die Arbeitsweise der MPC-Einzelregler anlagenweit untereinander koordinieren [52]. Auch diese Variante ist in Bild 5 dargestellt.
\nEs gibt verschieden Ursachen für die weite Verbreitung und Akzeptanz von MPC-Technologien in der Prozessindustrie:
Verfahrenstechnische Prozesseinheiten und Anlagen sind durch mehr oder weniger strenge Wechselwirkungen zwischen den Stell- und Regelgrößen charakterisiert, was die Regelung durch ein System dezentraler PID-Eingrößenregelungen erschwert. MPC-Regelalgorithmen lassen sich einfach auf den Mehrgrößenfall erweitern. In MPC-Programmpaketen, auch in der MPC Toolbox von MATLAB®/Simulink®, ist die Zahl der Ein- und Ausgangsgrößen frei konfigurierbar.
Beim Betrieb verfahrenstechnischer Anlagen können manipulierbare Größen nur innerhalb bestimmter Grenzen und mit einer begrenzten Geschwindigkeit verstellt werden. Viele Prozessgrößen dürfen sich nur innerhalb bestimmter Grenzen bewegen, Beispiele sind begrenzte Kapazitäten von Heiz-, Kühl- oder Vakuumsystemen, materialbedingte Temperaturgrenzwerte in Reaktoren oder Flutungsgrenzen in Kolonnen. Für viele Regelgrößen ist es zweckmäßig, Sollbereiche oder Grenzwerte statt Sollwerte vorzugeben. Das betriebswirtschaftliche Optimum liegt überdies häufig im Schnittpunkt solcher Nebenbedingungen. MPC-Regelalgorithmen sind – anders als andere Mehrgrößenregelungs-Ansätze – in der Lage, Nebenbedingungen für die Stell- und Regelgrößen explizit und in systematischer Art und Weise zu berücksichtigen.
Unter industriellen Bedingungen können Sensoren oder Aktoren ausfallen oder andere Fehlfunktionen aufweisen. Größere Störungen können den Bediener veranlassen, einen PID-Regler in die Betriebsart “Automatik mit internem Sollwert” oder “Hand” zu nehmen, der im Normalfall durch den MPC-Regler manipuliert wird. Regelgrößen des MPC-Reglers sind außerdem nur dann notwendiger Bestandteil der Regelungsaufgabe, wenn die ihnen zugeordneten Grenzwerte jetzt oder in Zukunft verletzt werden. Daher kann sich die Zahl der zur Verfügung stehenden MV im laufenden Betrieb einer Prozessanlage ebenso ändern wie die Zahl der zu berücksichtigenden CV. MPC-Regler sind jedoch in der Lage, die aktuelle Problemstruktur selbsttätig zu erkennen und die aktuell bestmögliche Lösung zu ermitteln, ohne dass der Regler neu entworfen oder eingestellt werden muss.
Der optimale Betriebspunkt einer Anlage variiert mit den technischen und ökonomischen Randbedingungen. So können sich Preise und Qualitäten von Einsatzstoffen und Energieträgern ebenso ändern wie Spezifikationen für die Zwischen- und Endprodukte. Die integrierte Funktion der statischen Arbeitspunktoptimierung ist in der Lage, den optimalen Betriebspunkt automatisch zu ermitteln und anzufahren.
Das MPC-Grundkonzept ist mit überschaubarem Training auch für Anlagenpersonal verständlich und bedienbar, das nicht über regelungstechnisches Expertenwissen verfügt. Software für die Entwicklung von MPC-Regelungen mit linearen Prozessmodellen hat inzwischen einen hohen Reifegrad erreicht, es existiert eine größere Zahl von Dienstleistern und ein standardisierter Projektablauf. Die Entwicklungen der letzten Jahre – darunter leistungsfähiger Werkzeuge für die Modellbildung und Identifikation, standardisierter Interfaces zwischen PLS und MPC-Software sowie browserbasierter Visualisierungstools – führen zu kostengünstigeren Lösungen und verringern die Hürden für den Einsatz von MPC in der Prozessindustrie.
Obwohl die Anwendung von MPC-Technologien bereits weit fortgeschritten ist, ist deren Entwicklung keineswegs abgeschlossen. Zu den Entwicklungstendenzen der letzten Jahre gehören:
die Verkürzung der Zeit für Anlagentests und Modellbildung: Die traditionelle Vorgehensweise bei der experimentellen Modellbildung für MPC-Regler besteht darin, die Eingangsgrößen der Regelstrecke nacheinander manuell mehrfach sprungförmig in verschiedener Richtung und mit unterschiedlichen Amplituden zu verstellen und die Sprungantworten der Regelgrößen aufzuzeichnen. Bei einer größeren Zahl von Eingangsgrößen und bei langsamer Systemdynamik führt das zu sehr langen Versuchszeiträumen und hohen Projektkosten. Inzwischen bieten verschiedene MPC-Programmsysteme die Option, multivariate Testsignale zu generieren. Diese werden dann automatisch und simultan an den Prozess ausgegeben. Je nach den konkreten Randbedingungen werden heute bereits fünf bis zehn Eingangsgrößen simultan angeregt, bei guten Vorkenntnissen (keine Erstidentifikation) auch mehr. Die Werkzeuge Aspen SmartStep (Aspen Technology [53]) und Profit Stepper (Honeywell [54]) sind Beispiele für die Anwendung dieser Vorgehensweise. Gleichzeitig werden neue Entwicklungen der Theorie der Systemidentifikation aufgegriffen und in die Modellbildungswerkzeuge der MPC-Pakete integriert [55]. Hervorzuheben sind insbesondere der Einsatz von Subspace-Identifikationsmethoden zur Schätzung von linearen Zustandsmodellen, die Anwendung von Verfahren zur Identifikation im geschlossenen (Mehrgrößen-)Regelkreis und die Bereitstellung von Informationen über die erreichte Modellgüte.
die Integration von MPC-Algorithmen in die prozessnahen Komponenten von Prozessleitsystemen: Die gestiegene Leistungsfähigkeit der prozessnahen Komponenten (PNK) von Leitsystemen eröffnet heute die technische Möglichkeit, MPC-Regelalgorithmen direkt auf den PNK ablaufen zu lassen. Der Vorteil besteht in einer besseren Integration zwischen PLS und MPC-Paket hinsichtlich des Engineering, der Kommunikation mit dem System der Basisregelungen und der Bedienung durch den Anlagenfahrer. Vorreiter dieser Entwicklung war die Firma Emerson Process Management, die seit einigen Jahren die Produkte “DeltaV Predict” und “DeltaV PredictPro” anbietet. Beide Versionen sind auf PNK des PLS DeltaV lauffähig. DeltaV Predict Pro erlaubt die Konfiguration von bis zu 80 CV und bis zu 40 MV/DV, ist also auch für größere Anwendungen geeignet. Für Simatic PCS 7 (Siemens) wird ein Mehrgrößen-MPC mit maximal 10MV/DV und 10 CV angeboten. Er wird wie ein Standard-Funktionsbaustein projektiert. Betriebsarten, Bedienung und Beobachtung sind so weit wie möglich an den Standard-PID-Regler des Leitsystems angelehnt [56]. Honeywell bietet für das PLS Experion PKS den MPC-Eingrößenregler “Profit Loop” als für bestimmte Anwendungen geeignete Alternative zu PID-Reglern an. Mit dem Experion PKS Release R500 wurde seit 2017 zusätzlich der MPC-Mehrgrößenregler “Experion Profit Controller” direkt auf dem Leitsystem verfügbar: auf der PNK C300 sind bis zu fünf MPC-Regler mit maximal 10CVx5MVx5DV lauffähig, auf dem “ACE node” maximal zehn Regler mit bis zu 40CVx20MVx20DV. Auch ABB bietet einen leitsystemintegrierten MPC-Baustein “800xA APC” für sein PLS an [57].
die Entwicklung des Control Performance Monitoring (CPM) für MPC-Regelungen: Obwohl die Entwicklung von CPM-Werkzeugen für MPC-Mehrgrößenregelungen mit Beschränkungen der Stell- und Regelgrößen noch nicht so weit fortgeschritten ist wie die für PID-Eingrößenregelungen [58], stellen einige MPC-Programmsysteme CPM-Funktionen zur Verfügung. Dazu gehören z. B. der Aspen Watch Performance Monitor (Aspen Technology) und Profit Expert (Honeywell). Diese Werkzeuge liefern u. a. Hinweise über die Genauigkeit der Vorhersage der Regelgrößen und damit über die Modellgüte, statistische Informationen über die aktiven Nebenbedingungen des MPC-Reglers, und sie ermöglichen die Bewertung der Regelgüte durch Performance-Indizes. Sie unterstützen damit den APC-Ingenieur bei der Pflege laufender MPC-Anwendungen Es sind auch CPM-Werkzeuge für MPC-Regelungen verfügbar, die nicht Bestandteil der MPC-Programmpakete selbst sind, darunter Control Performance Monitor (Honeywell Matrikon), MDPro (Shell Global Solutions) und Expertune Plant Triage (Metso).
die Anwendung von MPC-Regelungen bei nichtlinearen und zeitvarianten Prozessen: Die erfolgreiche Anwendung von MPC-Verfahren mit linearen Prozessmodellen ist an die Voraussetzung gebunden, dass die Prozesse in einer mehr oder weniger engen Umgebung eines festen Arbeitspunktes betrieben werden, und dass sich das statische und dynamische Verhalten während der Betriebsdauer nicht wesentlich ändert. Das ist bei vielen kontinuierlich betriebenen Raffinerie- und Petrochemie-Anlagen der Fall, was neben anderen Faktoren den hohen Anteil dieser Branchen an der Zahl der MPC-Anwendungen erklärt. Für viele potenzielle Einsatzfälle in der Prozessindustrie sind die Voraussetzungen der Linearität und Zeitinvarianz jedoch nicht erfüllt (Mehrprodukt-Polymerisationsanlagen, Batch-Prozesse, Kraftwerksanlagen mit vielen Lastwechseln u. v. m.). Daher werden seit Jahren in Forschung und Praxis verschiedene Ansätze verfolgt, MPC-Regelungen auf nichtlineare und zeitvariante Prozesse zu übertragen. Dazu gehören:
die Möglichkeit, Parameter des Streckenmodells wie Verstärkungen und Totzeiten durch den Anwender im laufenden Betrieb zu verändern; die Anwendung nichtlinearer Transformationsbeziehungen auf Regel- und/oder Steuergrößen mit dem Ziel der Linearisierung; die Verwendung einer “Bank” linearer Prozessmodelle, zwischen denen in Abhängigkeit von Arbeitspunkt oder Fahrweise stoßfrei umgeschaltet wird. In jüngster Zeit gibt es verstärkte Bemühungen, durch Addition von Testsignalen kleiner Amplitude auf die MPC-Regler-Ausgangssignale Daten für eine Identifikation im geschlossenen Regelkreis zu gewinnen und damit eine fortlaufende, in der Regel aber durch den APC-Ingenieur freizugebende Adaption des MPC-Reglers zu ermöglichen.
die Entwicklung und Anwendung von MPC-Regelungen mit nichtlinearen reglerinternen Prozessmodellen (NMPC). Dabei bleiben das Grundkonzept und wichtige Merkmale von MPC erhalten. Es wird “nur” das lineare durch ein nichtlineares (rigoroses oder empirisches) dynamisches Prozessmodell ersetzt. Damit verbunden ist jedoch ein wesentlich größerer Aufwand für die Modellbildung, für die Lösung des dann nichtlinearen (und nicht-konvexen) beschränkten Optimierungsproblems im Echtzeitbetrieb sowie die Schätzung des aktuellen Systemzustands und der nicht messbaren Störgrößen [29]. Während MPC-Regelungen als “Off-the-shelf”-Lösungen bezeichnet werden können, sind NMPC-Regelungen nahezu immer auf den jeweiligen Prozess zugeschnittene Anwendungen mit geringem Wiederholungsgrad. NMPC-Lösungen haben daher noch einen geringen Anteil an der Gesamtzahl der industriellen MPC-Anwendungen. Es gibt aber durchaus erfolgreiche Einsatzfälle in der Großindustrie wie z. B. bei Polymerisationsanlagen [59] oder im Kraftwerksbereich [60]. In der Forschung wird seit einigen Jahren das Konzept “Economic Model Predictive Control” verfolgt, in dem statt der hierarchischen Struktur von Arbeitspunktoptimierung und (N)MPC eine Struktur verwendet wird, die die betriebswirtschaftliche Optimierung in den dynamischen Teil des MPC-Reglers integriert [32].
Für industrielle MPC-Anwendungen in der Prozessindustrie werden eine Reihe von kommerziellen Programmpaketen angeboten. Eine Auswahl ist Tabelle 5 (MPC mit linearen Modellen, LMPC) und Tabelle 6 (MPC mit nichtlinearen Modellen, NMPC) zu entnehmen.
\nAnbieter | \nProgrammpaket | \n
---|---|
Aspen Technology(USA) | \nDMCplus, DMC3 | \n
Honeywell (USA) | \nProfit Controller | \n
Shell Global Solutions (NL)/Yokogawa | \nPACE (früher SMOC) | \n
IPCOS (B/NL) | \nINCA MPC | \n
Sherpa Engineering (F) | \nIDCOM/HIECON | \n
Axens (F) | \nMVAC | \n
Andritz (A/CAN) | \nBrainWave | \n
Ausgewählte LMPC-Programmpakete.
Anbieter | \nProgrammpaket | \n
---|---|
Rockwell Software (USA) | \nPavilion8 | \n
ABB (CH, S) | \nExpert Optimizer | \n
Perceptive Engineering (UK) | \nControlMV | \n
Cybernetica (N) | \nCENIT | \n
TriSolutions (BRA) | \nTriNMPC | \n
Ausgewählte NMPC-Programmpakete.
MPC-Programmsysteme enthalten wesentlich mehr Funktionen als den MPC-Regelalgorithmus selbst, darunter
die Bewertung (Control Performance Monitoring) und Optimierung unterlagerter PID-Regelkreise,
Testsignalgenerierung, inzwischen auch für die simultane Anregung mehrerer Eingangssignale,
Systemidentifikation. Neben den bekannten Identifikationsverfahren werden inzwischen auch moderne Subspace-Methoden zur Identifikation linearer Zustandsmodelle und Methoden zur Identifikation im geschlossenen Regelkreis eingesetzt,
Konfiguration des MPC-Reglers und der Simulation des geschlossenen Regelungssystems im Offline-Betrieb,
Kommunikation zwischen Prozessleitsystem und MPC-Regler über eine standardisierte OPC-Schnittstelle,
Bedienung und Beobachtung des MPC-Reglers durch den Anlagenfahrer. Es kommen zunehmend browserbasierte Oberflächen zum Einsatz, und die projektspezifische Entwicklung von Bedieninterfaces entfällt,
dynamische Koordination von mehreren MPC-Reglern in großen Anlagen (z. B. Ethylenproduktion): Aktionen von MPC-Reglern vorgeschalteter Anlagenteile werden durch MPC-Regler nachgeschalteter Anlagenteile berücksichtigt,
Control Performance Monitoring für den MPC-Regler selbst.
Wie bereits erwähnt, hat sich gegenüber den 80er-Jahren das Anwendungsspektrum von MPC-Regelungen wesentlich erweitert. Das betrifft zunächst Anlagen der Prozessindustrie und verwandter Bereiche mit träger Prozessdynamik, in denen ursprünglich keine oder nur wenige MPC-Regelungen angewendet wurden. Gründe dafür lagen u. a. in ungünstigeren Kosten-Nutzen-Relationen, Schwierigkeiten bei der Modellbildung, nicht ausreichenden Kenntnissen bei den Betreibern und mangelnder Wahrnehmung des ökonomischen Potenzials dieser Technologie. Tabelle 7 listet eine Reihe von Quellen auf, die beispielhaft MPC-Anwendungen in diesen Industriebereichen beschreiben.
\nAnwendungsbereich | \nQuelle | \n
---|---|
Abwassertechnik | \nOcampo-Martinez [61] | \n
Gebäudetechnik | \nMa, Kelman, Dali, Borelli [62], Serale et al. [63] | \n
Zementanlagen | \nStadler, Poland, Gallestey [64] | \n
Glaserzeugung | \nBackx et al. [65] | \n
Papierindustrie | \nChu et al. [66] | \n
Verarbeitungstechnik | \nTrifkovic et al. [67] | \n
Solaranlagen | \nCamacho, Berenguel, Rubio [68] | \n
Lebensmittelindustrie | \nPetersen et al. [69, 70] | \n
Erzaufbereitung | \nCoetzee, Craig, Kerrigan [71], Craig [72] | \n
Flussnetze | \nBreckpot et al. [73] | \n
Medizin | \nCapocelli et al. [74] | \n
Kraftwerkstechnik | \nAurora et al. [75] | \n
MPC-Anwendungen für träge Prozesse und nicht-traditionelle Bereiche der Prozessindustrie.
Die Entwicklung der Mikrorechentechnik und die Verbesserung der MPC-Algorithmen, besonders die Entwicklung rechenzeitsparender Varianten der quadratischen Optimierung [76], haben den Einsatz von MPC für Prozesse mit wesentlich schnellerer Dynamik (Zeitkonstanten mit Millisekunden-Bereich) ermöglicht. Im Gegensatz zu MPC-Anwendungen in der Prozessindustrie erfolgt die Implementierung der Algorithmen dann nicht auf Prozessleitsystemen, sondern auf speicherprogrammierbaren Steuerungen (SPS) und auf Mikrocontrollern. Tabelle 8 listet Quellen auf, die eine Orientierung über MPC-Anwendungen in diesen Bereichen bieten.
\nAnwendungsbereich | \nQuelle | \n
---|---|
Luft- und Raumfahrt | \nEren et al. [77] | \n
Elektrische Antriebstechnik | \nGeyer [78] | \n
Leistungselektronik | \nVazquez et al. [79] | \n
Windenergietechnik | \nLio, Rossiter, Jones [80], Yaramasu, Wu [81] | \n
Landwirtschaft | \nDing et al. [82] | \n
Fahrzeugtechnik | \nDel Re et al. [83], Hrovat et al. [84] | \n
Produktionsplanung | \nBaldea, Harjunkoski [85] | \n
MPC-Anwendungen außerhalb der Prozessindustrie.
In Bild 6 ist eine Übersicht über die Bestandteile und Einsatzmöglichkeiten der MPC Toolbox dargestellt. Im Folgenden werden diese Bestandteile (hier mit A … G bezeichnet) näher charakterisiert.
\nÜbersicht über die MPC Toolbox.
Die MPC Toolbox unterstützt zunächst den Entwurf und die Simulation von MPC-Regelungen mit linearen Prozessmodellen (LMPC-Regelung). Beispiele dafür werden in den Kapiteln 4 bis 6 behandelt. Lineare Prozessmodelle können
in MATLAB® durch spezielle Funktionen der Control Systems ToolboxTM definiert,
mit Hilfe der System Identification ToolboxTM aus Messdaten generiert, oder
aus einem nichtlinearen Simulink-Modell mit Hilfe von Simulink Control DesignTM oder auf andere Weise durch Linearisierung gewonnen werden.
Der MPC-Reglerentwurf kann unter Nutzung von Funktionen der Model Predictive Control ToolboxTM in MATLAB® durch Programmierung von Kommandozeilen im Command Window oder im MATLAB-Editor erfolgen. Eine Übersicht über die MATLAB-Funktionen der MPC Toolbox gibt das Referenzhandbuch [36]. Alternativ kann der Anwender die grafische Nutzeroberfläche der App “MPC Designer” verwenden. Im vorliegenden Buch wird bei LMPC-Regelungen ausschließlich von der zweiten Möglichkeit Gebrauch gemacht. Der MPC Designer stellt Funktionen bereit, die eine Simulation verschiedener Szenarien des Führungs- und Störverhaltens des MPC-Regelungssystems ermöglichen. Um die Robustheit gegenüber “Plant Model Mismatch” zu untersuchen, kann die Simulation so eingestellt werden, dass das lineare Modell der simulierten Regelstrecke sich von dem im MPC-Regler intern verwendeten (ebenfalls linearen) Modell unterscheidet. Es ist auch möglich, mehrere MPC-Regler mit unterschiedlichen Einstellungen zu entwerfen, gegen dasselbe Streckenmodell laufen zu lassen und die erreichte Regelgüte zu vergleichen.
\nEine Simulation ist aber nicht nur innerhalb des MPC Designers, sondern auch in Simulink® möglich. Für diesen Zweck stellt die MPC Toolbox einen Simulink-Block “MPC Controller” zur Verfügung. Damit ist auch die Möglichkeit gegeben, einen MPC-Regler, der mit einem linearen Modell entworfen wurde, mit einem nichtlinearen Streckenmodell zu kombinieren. Es lassen sich dann realistischere Robustheits-Untersuchungen durchführen und ein besserer Eindruck davon gewinnen, wie sich der MPC-Regler unter realen Bedingungen verhalten wird.
\nWie oben beschrieben, sind bei einer Reihe von Anwendungen die Voraussetzungen der Linearität und Zeitinvarianz des dynamischen Verhaltens verletzt. Die Verwendung eines festen linearen Prozessmodells führt dann zu einer Verschlechterung der Regelgüte. Die MPC Toolbox unterstützt für diesen Fall bereits seit längerer Zeit zwei verschiedene Optionen zur Problemlösung, die nicht auf NMPC zurückgreifen:
\nErstens ist es möglich, einen adaptiven MPC-Regler zu entwerfen. Das bedeutet, die zeitveränderlichen Parameter des linearen Prozessmodell online zu schätzen und das aktualisierte Modell dem MPC-Regler zu übergeben. Dafür kann die Funktion der Online-Parameterschätzung der System Identification ToolboxTM verwendet werden. Die MPC Toolbox selbst stellt einen Simulink-Baustein “Adaptive MPC Controller” zur Verfügung, der in der Lage ist, ein zeitvariantes lineares Prozessmodell zu verarbeiten. Die MPC Toolbox enthält für diesen Fall ein lineares, zeitvariantes, asymptotisch stabiles Kalman-Filter für die Schätzung der Zustands- und der Störgrößen. Wenn, wie z. B. bei periodischen Prozessen, zukünftige Änderungen der Prozessdynamik und des Arbeitspunktes vorab bekannt sind, lässt sich ein Prozessmodell einbinden, dessen Parameter sich innerhalb des Prädiktionshorizonts verändern.
\nZweitens ist es möglich, mehrere LMPC-Regler für unterschiedliche Arbeitspunkte zu entwerfen und zwischen diesen Reglern im laufenden Betrieb stoßfrei umzuschalten. Auf diese Weise ist es möglich, nichtlineare Prozesse in einem sehr weiten Arbeitsbereich zu regeln. Das verlangt die Bereitstellung einer “Bank” von linearen Prozessmodellen für jeden Arbeitspunkt. Man spricht dann von “Gain-Scheduled” MPC, obwohl die Modelle sich nicht nur in den Streckenverstärkungen (den “process gains”), sondern auch in anderen Parametern (Zeitkonstanten, Totzeiten) voneinander unterscheiden können. Die MPC Toolbox stellt einen Simulink-Baustein “Multiple MPC Controllers” bereit, der den Zugriff auf mehrere LMPC-Regler und die stoßfreie Umschaltung ermöglicht.
\nIn beiden Fällen (Adaptive und “Gain-Scheduled” MPC-Regelung) wird angenommen, dass, obwohl der Prozess nichtlinearen bzw. zeitvarianten Charakter aufweisen kann, die Nebenbedingungen linear von den Ein- und Ausgangsgrößen des Prozesses abhängen. Wenn diese Voraussetzung verletzt ist, muss man zu einer nichtlinearen modellprädiktiven Regelung (NMPC) übergehen. Bild 7 gibt eine zusammenfassende Übersicht über die Möglichkeiten des Entwurfs von MPC-Regelungen für nichtlineare und zeitvariante Systeme. In den Kapiteln 7 und 8 wird jeweils ein Beispiel für die adaptive und die Gain-Scheduled MPC-Regelung behandelt.
\nKlassen von MPC-Regelungen.
Seit Release 2018b stellt die Model Predictive Control ToolboxTM die Möglichkeit zur Verfügung, modellprädiktive Regelungen mit nichtlinearen Prozessmodellen (NMPC-Regelungen) zu entwerfen. Die Grundstruktur der MPC-Regelungsalgorithmen bleibt dabei erhalten, für die Prädiktion des zukünftigen Verhaltens der Regelgrößen werden jetzt aber nichtlineare Prozessmodelle verwendet, die in der Regel durch theoretische Prozessanalyse, in selteneren Fällen durch Prozessidentifikation, gewonnen werden. Die Bestimmung der optimalen Stellgrößenfolge geschieht durch Lösung eines nichtlinearen, beschränkten Optimierungsproblems, die Bestimmung der aktuellen Werte der nicht gemessenen Zustands- und Störgrößen durch nichtlineare Filterung oder ebenfalls durch Lösung eines nichtlinearen Optimierungsproblems.
\nDer Entwurf von NMPC-Regelungen in der MPC Toolbox kann z. Z. nur auf Kommandozeilenebene, d. h. nicht im MPC Designer, vorgenommen werden. Ein neuer Funktionsbaustein “Nonlinear MPC Controller” ermöglicht die Untersuchung von NMPC-Regelungen in Simulink®. Außer der MPC Toolbox wird für NMPC-Regelungen in MATLAB®/Simulink® auch die Optimization ToolboxTM benötigt. Ausführlicher wird der NMPC-Reglerentwurf im Kapitel 9 behandelt.
\nWie in Abschnitt 2.4 beschrieben, weisen voll ausgebaute RTO/LMPC-Systeme in ihrer gegenwärtig angewendeten Form eine hierarchische Struktur von Optimierungsfunktionen auf. Sie ist in Bild 8 links veranschaulicht.
\nRTO/LMPC-Systeme und Economic MPC.
In der RTO-Schicht werden betriebswirtschaftlich optimale Arbeitspunktwerte für die Stell- und Regelgrößen mit Hilfe eines rigorosen (theoretischen) statischen Prozessmodells für die Gesamtanlage durch nichtlineare Optimierung ermittelt, alternativ durch ein MES/ERP-System (MES… Manufacturing Execution System, ERP… Enterprise Resource Planning) in größeren Zeitabständen (Tage … Wochen) bereitgestellt und an die MPC-Regler übergeben. Kommerzielle LMPC-Programmpakete verfügen selbst über eine Funktion der statischen Arbeitspunktoptimierung, die sich auf die von den Stell- und Regelgrößen des LMPC-Reglers umfassten Teil der Anlage oder eine Prozesseinheit bezieht. Dort wird durch Linearoptimierung mit Hilfe eines linearen Prozessmodells und einer linearen, betriebswirtschaftlich orientierten Zielfunktion ein lokal (d. h. für einen Teil der Anlage) gültiges betriebswirtschaftliches Optimum bestimmt. Im LMPC-Regler wird aber auch eine dynamische Optimierung durchgeführt, die die regelungstechnisch optimale Stellgrößenfolge bestimmt und dafür ein lineares Modell für das Zeitverhalten des Prozesses verwendet. Die LMPC-internen Optimierungsfunktionen werden mit wesentlich geringeren Abtastzeiten (Sekunden … Minuten) als RTO ausgeführt. Die hier ermittelten optimalen Stellgrößen werden als Sollwerte an unterlagerte PID-Regelkreise übergeben, die ihrerseits mit Abtastzeiten von 50 Millisekunden bis wenigen Sekunden arbeiten.
\nIn dieser Struktur weist insbesondere die Aufteilung der statischen Optimierungsfunktionen auf die RTO- und die LMPC-Schicht Inkonsistenzen hinsichtlich der verwendeten Modelle und Zeitskalen auf [86]. In jüngerer Zeit ist daher ein “Economic Model Predictive Control (EMPC)” genannter Ansatz Gegenstand intensiver Forschungsarbeiten. Ein Merkmal von EMPC ist, dass die Zweischichtenstruktur “Ökonomische (lineare) Arbeitspunktoptimierung/Dynamische Optimierung” oder “Target selection/Target tracking” durch eine einschichtige Struktur ersetzt wird (Bild 8 rechts). Das geschieht dadurch, dass in der traditionellen Zielfunktion
\nder erste Term “Minimierung der zukünftigen quadratischen Regeldifferenzen” durch einen Term ersetzt wird, der die Betriebskosten der Anlage beschreibt:
\nZiel der Optimierung ist daher jetzt eine dynamische (nichtlineare) Optimierung der Betriebskosten in direkter Form, d. h. innerhalb der MPC-Regelung [32, 87].
\nDie EMPC-Zielfunktion hängt in der Regel nichtlinear von den MPC-Entscheidungsvariablen \n
Die MPC Toolbox erlaubte bereits vor dem Erscheinen des Release 2018b die Simulation von EMPC-Regelungen. Zu diesem Zweck musste eine nichtlineare ökonomische Zielfunktion durch den Anwender bereitgestellt werden, und es konnten zusätzliche nichtlineare Nebenbedingungen vorgegeben werden. Das im Regler zur Prädiktion verwendete Modell der Prozessdynamik war aber bis zum Release 2018a ein lineares Modell. Diese Einschränkung ist jetzt entfallen. Daher ist es logisch, dass in der Dokumentation der MPC Toolbox NMPC- und EMPC-Regelungen jetzt in einem gemeinsamen Abschnitt behandelt werden.
\nDie MPC Toolbox stellt eine Diagnosefunktion bereit, die es dem Anwender erlaubt, evtl. auftretende Stabilitäts- und Robustheitsprobleme zu erkennen und Gewichte, Grenzwerte und andere MPC-Reglerparameter geeignet zu wählen. So kann zum Beispiel vorab erkannt werden, ob der MPC-Regler oder der geschlossenen MPC-Regelkreis instabil werden kann, ob das QP-Problem schlecht konditioniert ist, ob nicht zulässige Lösungen entstehen können, oder ob schließlich stationäre Genauigkeit (ohne bleibende Regeldifferenzen) erreicht werden kann. Zugriff zu dieser Diagnosefunktion bekommt man durch Anwahl der Schaltfläche “Review Design” unter dem “TUNING”-Tab im Hauptfenster der MPC Designer App.
\nWie weiter oben erläutert, stellt die MPC Toolbox standardmäßig Verfahren für die Zustands- und Störgrößenschätzung und die quadratische Optimierung bereit. Erfahrene Anwender können diese Verfahren durch andere bzw. selbst entwickelte ersetzen. Was dabei zu beachten ist, wird in den Dokumentationen der MPC Toolbox näher erläutert.
\nDie Arbeitsweise des MPC-Reglers lässt sich während der Simulation, aber auch im Echtzeitbetrieb beobachten. So hat der Anwender z. B. Zugriff auf den Status der Optimierung, den Wert der Zielfunktion und die berechnete optimale Stellgrößenfolge. Die Gewichtskoeffizienten und die Grenzwerte für die Nebenbedingungen lassen sich online verändern.
\nDie Erhöhung der Rechnerleistung und die Entwicklung rechenzeitsparender QP-Algorithmen haben in den letzten beiden Jahrzehnten dazu geführt, dass MPC-Regelalgorithmen mit wesentlich kürzeren Abtastzeiten betrieben werden können als das zu Beginn des industriellen Einsatzes in den 70er- und 80er-Jahren möglich war. Für sehr schnelle Prozesses besteht aber auch die Möglichkeit der Entwicklung und Anwendung von sogenannten “expliziten MPC-Regelungen”. Bei der expliziten MPC-Regelung wird das dynamische QP-Problem zur Ermittlung der optimalen Stellgrößenfolge in ein sogenanntes “multiparametrisches Optimierungsproblem” umgeformt. Dabei werden die aktuellen Zustandsgrößen des Prozesses als Parameter des Optimierungsproblems aufgefasst und offline die optimalen Stellgrößenfolgen in Abhängigkeit von den aktuellen Werten der Zustandsgrößen berechnet und in einer Zuordnungstabelle hinterlegt. In [88] wurde gezeigt, dass sich der durch die Zustandsgrößen aufgespannte mehrdimensionale Raum in ein verallgemeinertes konvexes Polyeder (“polyhedral set”) partitionieren lässt, in dem sich die in diesen Teilbereichen geltende optimale Lösungen des QP-Problems bestimmen lassen. Diese mit hohem Rechenaufwand verbundenen Aufgaben der Partitionierung des Zustandsraums und die Lösung aller QP-Probleme werden in die Entwurfsphase vorverlagert. Im Online-Betrieb des Reglers müssen dann “nur” noch die aktuellen Werte der Zustandsgrößen bestimmt und die Zugehörigkeit zu einer bestimmten Partition geklärt werden. Dann können die optimalen Stellgrößen durch Auswertung der Zuordnungstabelle ohne großen Rechenaufwand nach \n
Die MPC Toolbox stellt Funktionen für die Generierung von expliziten MPC-Regelalgorithmen aus einem traditionell entworfenen MPC-Regler bereit. Außerdem kann ein Simulink-Block “Explicit MPC Controller” für die Simulation von Regelungen mit explizitem MPC-Regler eingesetzt werden.
\nDie MPC Toolbox unterstützt verschiedene Möglichkeiten, MPC-Regler auf ausgewählte Zielhardware (“Real-Time targets”) zu portieren:
Entwurf eines MPC-Reglers in MATLAB® und Verwendung des MATLAB CoderTM zur Generierung von C-Code für eine Anwendung im Echtzeitbetrieb,
Entwurf eines MPC-Reglers mit Hilfe der MPC-Simulink-Blöcke und Verwendung des Simulink Coder oder des Simulink PLC Coder, um C-Code oder IEC 61131-3 Structured Text zu generieren, der auf verschiedenen Echtzeitsystemen oder auf speicherprogrammierbaren Steuerungen (SPS, englisch PLC… Programmable Logic Controller) lauffähig ist.
Nähere Informationen finden sich in Abschnitt 9 der Dokumentation [34]. Schließlich kann die MATLAB® OPC ToolboxTM verwendet werden, um einen Datenaustausch eines in MATLAB® oder Simulink® arbeitenden MPC-Reglers aus der MPC Toolbox mit einem Automatisierungssystem zu organisieren. Dafür ist ein OPC-Server auf dem Automatisierungssystem erforderlich, während die OPC-ToolboxTM einen OPC-Client zur Verfügung stellt.
\nIn den folgenden Abschnitten dieses Buches werden die Funktionen A, B und C (Entwurf und Simulation traditioneller MPC-Regler mit linearen Prozessmodellen, Adaptive und Gain-Scheduled MPC-Regelungen, NMPC- und EMPC-Regelungen) ausführlicher behandelt. Die Funktionen D, E und F (MPC-Diagnose, Explizite MPC-Regelung, Code-Generierung) werden nicht weiter vertieft.
\nMit der Installation der MPC Toolbox wird auch der Vorrat an Simulink-Bausteinen erweitert. Es werden sechs MPC-Blöcke bereitgestellt, die über den Simulink Library Browser im Bereich “Model Predictive Control Toolbox” erreichbar sind (Bild 9):
der Baustein “MPC Controller” für LMPC-Regelungen,
der Baustein “Multiple MPC Controllers”, der zwischen verschiedenen, für unterschiedliche Arbeitspunkte des Prozesses entworfenen LMPC-Reglern stoßfrei umschalten kann und auf diese Weise die Regelung nichtlinearer Systeme in einem weiteren Arbeitsbereich erlaubt,
der Baustein “Adaptive MPC Controller”, der eine Online-Adaption der Modellparameter für den LMPC-Regler zugänglich macht, der Baustein “Nonlinear MPC Controller” (seit Release 2018b). der die Simulation von NMPC-Reglern unterstützt,
der Baustein “Explicit MPC Controller”, der die Simulation expliziter MPC-Regelungen ermöglicht, und
der Baustein “Multiple Explicit MPC Controllers”, der zwischen verschiedenen, für unterschiedliche Arbeitspunkte des Prozesses entworfenen expliziten MPC-Reglern umschalten kann.
Bereich Model Predictive Control im Simulink Library Browser.
Die Bausteine können per “Drag&Drop” in ein Simulink-Modell übernommen werden. Die Parametrierung der MPC-Regler-Bausteine wird in den Abschnitten 4 bis 8 im Zusammenhang mit den dort erläuterten Fallbeispielen beschrieben.
\nDer Simulink Library Browser wird durch Eingabe des Befehls slLibraryBrowser im Command-Window von MATLAB® zugänglich.
\nWenn bereits ein Simulink-Modell existiert, das einen MPC-Baustein enthält, kann man auch von Simulink® aus auf die MPC Designer App zugreifen und den Reglerentwurf durchführen. Diese Variante, die in ([35], S. 5-1 f.) näher beschrieben ist, wird in diesem Buch nicht näher behandelt. Die in den Kapiteln 4 bis 8 beschriebenen Fallbeispiele enthalten jedoch auch Abschnitte, in denen die Verwendung von MPC-Bausteinen in Simulink-Modellen demonstriert wird.
\nIm folgenden Kapitel wird die Vorgehensweise beim Entwurf von MPC-Regelungen mit Hilfe der “MPC Designer” App der MPC Toolbox ausführlich beschrieben.
\nDie MPC Designer App der MPC Toolbox kann mit Hilfe des Befehls mpcDesigner im Command Window von MATLAB® gestartet werden. Alternativ ist der Zugriff über den Reiter “APPS” der MATLAB-Benutzeroberfläche möglich. In beiden Fällen öffnet sich das Hauptfenster des MPC Designers. Es ist in Bild 10 dargestellt.
\nHauptfenster des MPC Designers zu Beginn des Reglerentwurfs.
In der linken Bildhälfte werden später die Prozessmodelle, die MPC-Regler und die Simulations-Szenarien aufgelistet. In der rechten Bildhälfte werden Simulationsergebnisse präsentiert. Im oberen Teil des Hauptfensters sind drei Tabs (auch als “Registerkarten” oder “Reiter” bezeichnet) angeordnet: MPC DESIGNER, TUNING und VIEW. Unter dem Tab “MPC DESIGNER” befinden sich folgende Schaltflächen (Bild 11):
“Open Session” zur Öffnung eines (vorher gespeicherten) MPC-Entwurfsprojekts,
“Save Session” zur Speicherung des aktuellen Stands der Bearbeitung eines MPC-Projekts,
“MPC Structure” für den Import eines Prozessmodells und die Festlegung der MPC-Reglerstruktur (d. h. der Zahl und Art der Ein- und Ausgangsgrößen des MPC-Reglers),
“I/O Attributes” zur Definition der Arbeitspunktwerte, Skalierungsfaktoren, Maßeinheiten und Bezeichnungen der Ein- und Ausgangsgrößen des MPC-Reglers,
“Import Plant” zum Import weiterer Prozessmodelle,
“Import Controller” zum Import eines (bereits vorher entworfenen und abgespeicherten) MPC-Reglers aus dem MATLAB-Arbeitsspeicher,
“Plot Scenario” für die Aktivierung zusätzlicher Plots von Simulationsergebnissen,
“Edit Scenario” für die Definition von Simulationsszenarien (Führungs- und Störverhalten, Art/Amplituden/Zeitpunkte/Dauer von Eingangssignaländerungen für die Simulation),
“Compare Controllers” für die Visualisierung von Simulationsergebnissen mit unterschiedlich parametrierten MPC-Reglern,
“Export Controller” für den Export eines MPC-Reglers in den MATLAB-Arbeitsspeicher.
Schaltflächen unter dem Tab “MPC DESIGNER”.
Unter dem Tab “TUNING” (Bild 12) befinden sich von links nach rechts angeordnet folgende Bedienelemente:
Auswahllisten für MPC-Regler und reglerinterne Prozessmodelle,
Eingabefelder für Abtastzeit, Prädiktions- und Steuerhorizont,
Schaltfläche “Constraints” zur Eingabe von Nebenbedingungen für die Stell- und Regelgrößen,
Schaltfläche “Weights” für die Eingabe von Gewichtsfaktoren,
Schaltfläche “Estimation Models” für die Spezifikation der Modelle für die Schätzung von Störgrößen,
Slider für die Beeinflussung der Regelkreisdynamik und der Robustheit sowie der Dynamik der Störgrößen-Schätzung,
Schaltfläche “Review Design” für den Aufruf eines Assistenten beim MPC-Reglerentwurf,
Schaltfläche “Store Controller” für die (toolbox-interne) Speicherung eines MPC-Reglers im Data Browser der MPC Designer App,
Schaltfläche “Export Controller” für die (externe) Speicherung eines MPC-Reglers im MATLAB-Arbeitsspeicher.
Eingabemöglichkeiten unter dem Tab “TUNING”.
Die unter dem Tab “VIEW” angeordneten Bedienelemente dienen der Organisation der Visualisierung der Simulationsergebnisse.
\nBeim Entwurf einer MPC-Regelung mit Hilfe der MPC Designer App geht man nacheinander in folgenden Schritten vor:
Laden eines Prozessmodells für das dynamische Verhalten der Regelstrecke (Ein- oder Mehrgrößensystem),
Festlegung der MPC-Reglerstruktur. Das bedeutet, den Ein- und Ausgangskanälen des Prozessmodells die Variablentypen “Manipulated variable (MV)”, “Measured disturbance (MD)”, “Unmeasured disturbance (UD)”, “Measured output (MO)” oder “Unmeasured output (UO)” zuzuweisen. Auf diese Weise wird der MPC Designer App bekannt gemacht, welche Variablen als Stellgrößen, als gemessene und nicht gemessene Störgrößen und als Regelgrößen aufzufassen sind,
Festlegung der Abtastzeit für den MPC-Regler,
Vorgabe der Horizontlängen (Prädiktions- und Steuerhorizont),
Definition der Skalierungsfaktoren für die Normierung der Variablen,
Eingabe von Nebenbedingungen für die Stell- und Regelgrößen,
Eingabe von Gewichtsfaktoren für die Variablen des MPC-Reglers,
Optional: Anpassung der Modelle für die Schätzung nicht gemessener Störgrößen,
Optional: Vorgabe eines “MV Blocking” mit dem Ziel der Verringerung des Rechenaufwands bei der Stellgrößenberechnung,
Festlegung eines oder mehrerer Szenarien für die Simulation des geschlossenen MPC-Regelungssystems, insbesondere für die simulative Untersuchung des Führungs- und/oder des Störverhaltens der MPC-Regelung und für die Optimierung der MPC-Reglereinstellung.
In den folgenden Abschnitten werden diese Schritte im Detail erläutert.
\nDie ersten Schritte des MPC-Reglerentwurfs sind der Import eines Prozessmodells aus dem Arbeitsspeicher von MATLAB® und die Festlegung der MPC-Reglerstruktur. Dazu klickt man (nach dem Start der MPC Designer App) im Tab “MPC Designer” auf die Schaltfläche “MPC Structure”. Es öffnet sich ein Fenster “Define MPC Structure By Importing”, in dessen oberem Teil die Struktur eines MPC-Regelungssystems dargestellt ist (vgl. Bild 2). Darunter werden die die im Arbeitsspeicher verfügbaren LTI-Modelle aufgelistet. Dabei spielt es keine Rolle, wie diese Modelle ursprünglich definiert wurden. Es werden sowohl
numerische LTI-Modelle (Übertragungsfunktionen in Polynomform – Befehl tf, Übertragungsfunktionen in Pol-Nullstellen-Form – Befehl zpk, lineare Zustandsmodelle – Befehl ss, in allen Fällen sowohl zeitkontinuierlich als auch zeitdiskret), als auch
mit Hilfe der System Identification ToolboxTM identifizierte Modelle (Befehle idss, idtf, idproc und idpoly)
unterstützt. Das zu importierende LTI-Modell muss aus der Liste ausgewählt werden. Unabhängig vom Format des LTI-Modells wird innerhalb der Toolbox eine Umwandlung in ein lineares, totzeitfreies, zeitdiskretes Zustandsmodell vorgenommen. Dafür ist in diesem Fenster die Vorgabe der Abtastzeit \n
Fenster “Define MPC Structure By Importing”.
Für die Wahl der Abtastzeit \n
Faustformeln für die Wahl der Abtastzeit sind \n
\n\n
eine Verkleinerung der Abtastzeit führt zunächst zu einer schnelleren Ausregelung nicht gemessener Störgrößen, bevor eine weitere Verkleinerung keine Verbesserung der Regelgüte mehr bringt,
kleine Abtastzeiten führen zu einer deutlichen Erhöhung des Rechenaufwands,
eine Verringerung der Abtastzeit \n
wenn bei (im offenen Kreis) instabilen Regelstrecken der Wert von \n
Die Maßeinheit der Zeit wird aus dem Parameter TimeUnit des LTI-Modells abgeleitet, die mit 1 s (Sekunde) voreingestellt ist.
\nBild 14 zeigt die Einheits-Sprungantwort der schnellsten Teilstrecke \n
Anstiegszeit der Sprungantwort.
Sind die Wahl der Abtastzeit und die Festlegung der MPC-Reglerstruktur erfolgt, kann die Schaltfläche “Define and Import” (Bild 13 unten) betätigt und die Eingabe abgeschlossen werden. Danach verändert sich das Aussehen des Hauptfensters der MPC Designer App. Ein Beispiel zeigt Bild 15.
\nHauptfenster der MPC Designer App nach dem Import eines Prozessmodells.
In der linken Bildhälfte (“Data Browser”) werden das Prozessmodell, der neu angelegte MPC-Regler (voreingestellter Name “mpc1”) und ein automatisch erzeugtes Simulationsszenarium eingereiht. Die Namen der MPC-Regler und der Szenarien lassen sich nach Doppelklick auf die Bezeichnungen editieren. Rechts sind Simulationsergebnisse zu sehen. Voreingestellt ist eine gleichzeitige sprungförmige Änderung der Sollwerte für die Regelgrößen und eine Simulationsdauer, die so lang ist wie der (vom Programm automatisch gewählte) Prädiktionshorizont angibt. Es werden die simulierten Verläufe sowohl die Eingangs- als auch die Ausgangsgrößen des Prozesses dargestellt. Dieses Simulationsszenarium und insbesondere die Simulationsdauer können (und sollten in der Regel!) durch den Anwender verändert werden.
\nIm nächsten Schritt sollten Skalierungsfaktoren für die Ein- und Ausgangsgrößen des MPC-Reglers vorgegeben werden. Das kann durch Anwahl der Schaltfläche “I/O Attributes” unter dem Tab “MPC Designer” im Hauptfenster initiiert werden. Es öffnet sich dann ein Fenster “Input and Output Channel Specifications” (Bild 16).
\nFenster “Input and Output Specifications”.
In diesem Fenster können anwendungsspezifische Variablennamen (Spalte “Name”) und Maßeinheiten (Spalte “Unit”) vergeben werden. In der Spalte “Nominal Value” können die (mit Null voreingestellten) Arbeitspunktwerte der Variablen angegeben werden. In der letzten Spalte können schließlich die mit Eins voreingestellten “Skalierungsfaktoren” \n
Die Skalierungsfaktoren dienen der Normierung der Variablen. Sie sind besonders dann von Bedeutung, wenn in einem Mehrgrößensystem die einzelnen Prozessgrößen unterschiedliche Größenordnungen aufweisen, z. B. eine Konzentration von 0,1% und eine Temperatur von 550°C. Die Skalierungsfaktoren sollten den Bereichen der Prozessvariablen entsprechen, die diese im Arbeitsbereich des Prozesses annehmen. Bewegt sich eine Temperatur zum Beispiel im Bereich T = 500 … 600°C, sollte als Skalierungsfaktor 100°C gewählt werden. In der MPC Toolbox werden die Prozessgrößen vor ihrer Weiterverarbeitung intern durch die Skalierungsfaktoren dividiert, um dimensionslose Signale zu generieren (vgl. die Abschnitte 2.3.1 und 2.3.4). Dadurch erreicht man eine verbesserte numerische Konditionierung der Rechenschritte im MPC-Algorithmus. Ein weiterer Vorteil besteht darin, dass die später einzustellenden Gewichtsfaktoren \n
Alle Eingaben werden erst dann wirksam, wenn sie mit “Apply/OK” abgeschlossen werden.
\nDurch Anwahl des Tabs “TUNING” im Hauptfenster des MPC Designers (vgl. Bild 12) erhält man Zugang zur Eingabe der Horizontlängen, der Nebenbedingungen (Constraints) und der Gewichtsfaktoren (Weights).
\nDer Prädiktionshorizont (Prediction horizon) \n
\n\n
\n\n
Die Vorhersage der Regelgrößen sollte also bis zu einem Zeitpunkt erfolgen, zu dem sich nach einer Sollwertänderung ein neuer stationärer Zustand einstellt. Alternativ kann \n
Wahl des Prädiktionshorizonts bei Strecken mit Totzeit oder “Inverse-Response”-Verhalten.
Bei (im offenen Kreis) instabilen Regelstrecken sollte \n
Der Steuerhorizont (control horizon) \n
Die durch die MPC Designer App voreingestellten Horizontlängen sind in jedem Fall zu überprüfen und wenn nötig anzupassen.
\nWird in der MPC Toolbox ein neuer MPC-Regler angelegt, sind zunächst keine Nebenbedingungen für die Stell- und Regelgrößen definiert, d. h. alle Grenzwerte sind mit \n
Eingabe von Nebenbedingungen für die Ein- und Ausgangsgrößen.
Grenzen für die Eingangsgrößen \n
Grenzen für die Ausgangsgrößen \n
Trichtertechnik bei der Vorgabe von weichen Nebenbedingungen für die Regelgrößen.
“Harte” NB müssen durch die Lösung des QP-Problems eingehalten werden. Ist das nicht möglich, spricht man von einer nicht zulässigen Lösung (infeasible solution oder infeasibility). Infolge des Wirkens nicht gemessener Störgrößen und der immer vorhandenen Modellunsicherheit können in der Praxis harte NB für die Regelgrößen aber auch dann verletzt werden, wenn die optimalen Stellgrößen einer an sich zulässigen QP-Lösung an den Prozess ausgegeben werden. Werden harte NB nur für die Stellgrößen (oder alternativ für die Verstellgeschwindigkeiten) vorgegeben, können keine unzulässigen Lösungen auftreten. Harte NB für die Regelgrößen können hingegen zu unzulässigen QP-Lösungen führen.
\nWeiche Nebenbedingungen können spezifiziert werden, nachdem man im Constraints-Fenster (Bild 18) auf die Schaltflächen “Constraint Softening Settings” klickt. Die Tabellen werden dann, wie in Bild 20 dargestellt, um die Eingabe von ECR-Werten (vgl. Abschnitt 2.3.4) erweitert.
\nVorgabe von weichen Nebenbedingungen (Constraint Softening).
Je größer die gewählten ECR-Werte, desto mehr wird der MPC-Algorithmus eine Verletzung der jeweiligen NB tolerieren, um andere Regelungsziele zu erreichen. Für die Wahl der ECR-Werte gelten nach [34] folgende Empfehlungen:
0 … keine Verletzung der NB zulässig (harte NB),
0,05 … sehr geringe Verletzung der NB zulässig,
0,2 … geringe Verletzung der NB zulässig,
1 … mittlere Verletzung der NB zulässig,
5 … größere Verletzung der NB zulässig,
20 … sehr große Verletzung der NB zulässig.
Weitere Hinweise und Optionen zur Gestaltung der Nebenbedingungen findet man in [34], S. 1–12 ff.
\nGewichtsfaktoren treten in allen Termen der Zielfunktion der quadratischen Optimierung auf und dienen der Einstellung (dem Tuning) des MPC-Reglers. Man unterscheidet Gewichte \n
Für die Wahl der Gewichte für die Ausgangsgrößen \n
Regelgrößen, für die keine Sollwerte (sondern nur Bereiche) vorgegeben werden sollen, erhalten Gewichte von \n
Bei Mehrgrößensystemen sind folgende Strukturen denkbar:
die Zahl der verfügbaren Stellgrößen und der zu berücksichtigenden Regelgrößen (d. h. Regelgrößen mit Sollwert plus Regelgrößen an den Grenzen oder außerhalb ihres Sollbereichs) ist gleich groß (\n
die Zahl der verfügbaren Stellgrößen und der zu berücksichtigenden Regelgrößen ist nicht gleich groß (\n
Für den Fall \n
0,05 … Regelgröße hat geringe Bedeutung, große bleibende Regeldifferenz akzeptabel,
0,2 … weniger als mittlere Bedeutung,
1 … mittlere Bedeutung,
5 … größer als mittlere Bedeutung,
20 … Regelgröße hat große Bedeutung, geringe bleibende Regeldifferenz gefordert.
Bei der Wahl der Gewichte für die Stellgrößen \n
Für Stellgrößen ohne Targets ist \n
Stellgrößen mit Targets erhalten Gewichte von \n
Voreingestellte Werte für die Gewichte der Stellgrößeninkremente sind \n
Zugang zur Eingabe der Gewichtsfaktoren erhält man durch Anwahl der Schaltfläche “Weights” im Hauptfenster des MPC Designer (Tab “TUNING”). Es öffnet sich ein Eingabefenster “Weights”, in dem die Gewichte \n
Fenster zur Vorgabe der Gewichtsfaktoren und der MV Targets.
Man beachte, dass \n
Ob geeignete Werte für die Gewichtsfaktoren gewählt wurden, kann durch Simulation des MPC-Regelungssystems (siehe Abschnitt 3.8) überprüft werden. Dabei sollten das Prozessmodell für die Regelstreckensimulation und das reglerintern verwendete Prozessmodell identisch sein. Anders ausgedrückt: es sollte zunächst kein “Plant-Model-Mismatch” angenommen werden. Die Simulation zur Überprüfung der Gewichtsfaktoren sollte ohne aktive Nebenbedingungen durchgeführt werden.
\nWie in Abschnitt 3.1 erläutert, nutzt ein MPC-Regelalgorithmus Modelle für das dynamische Verhalten, um den zukünftigen Verlauf der Regelgrößen vorherzusagen. Darunter sind neben dem Prozessmodell (Zusammenhänge zwischen MV/DV und CV) auch die Modelle für nicht gemessene Störungen am Eingang und am Ausgang der Regelstrecke und für das Messrauschen. Während das Prozessmodell immer durch den Anwender bereitgestellt werden muss, können für die Störgrößen alternativ auch voreingestellte Modelle verwendet werden. Zugang zur Auswahl und Anpassung der Störmodelle bekommt man über die Anwahl der Schaltfläche “Estimation Models” im TUNING-Tab des MPC-Designer-Hauptfensters.
\nNach Klicken auf diese Schaltfläche hat der Anwender die Möglichkeit, zwischen dem Modell der Ausgangsstörung, dem Modell des Messrauschens und für den Fall, dass nicht gemessene Eingangsgrößen definiert sind, dem Modell der Eingangsstörung zu wählen. Für alle Störungen hat Anwender die Wahl zwischen
dem voreingestellten Modell (sprungförmige Änderung zu zufälligen Zeitpunkten),
der Eingabe eines selbstdefinierten Zustandsmodells,
der kanalspezifischen Auswahl zwischen den Alternativen “weißes Rauschen”, sprungförmige oder rampenförmige Änderung zu zufälligen Zeitpunkten.
Bild 22 zeigt die Variante der kanalspezifischen Auswahl für die Ausgangsstörungen.
\nAuswahl von Störmodellen für die Ausgangsgrößen.
Die Störmodelle werden intern erzeugt, indem ein weißer Rauschprozess über die Dynamik eines Eingrößensystems verformt (gefiltert) wird. Dieses Eingrößensystem besteht aus
einer statischen Verstärkung (Modelltyp weißes Rauschen (White Noise)),
einer statischen Verstärkung in Reihe mit einem Integrator (Modelltyp zufällige sprungförmige Störung (Random Step-like)), oder
einer statischen Verstärkung in Reihe mit zwei Integratoren (Modelltyp zufällige rampenförmige Störung (Random Ramp-like)).
Die Vorgabe der statischen Verstärkung geschieht in der Spalte “Magnitude”.
\nDer Anwender kann auf das ausgewählte Modell über den Befehl
Einstellung der Störschätzung und der Dynamik des Störverhaltens.
Weitere Hinweise zur Spezifikation der Störmodelle findet man in [34], S. 2–15 ff.
\nUm die Fähigkeit des MPC-Reglers zur Störunterdrückung zu überprüfen, kann man das Verhalten des MPC-Regelungssystems simulieren. Dazu sollte man die Regelgrößen und die nicht gemessenen Eingangsgrößen mit sprungkonstanten oder anderen Störsignalen beaufschlagen. Zusätzlich kann das Störverhalten bei sprungförmigen Änderungen der MV simuliert werden. Bei nicht zufriedenstellendem Störverhalten trotz richtig gewähltem Störmodell-Typ ist es am einfachsten, die Zustands-/Störgrößenschätzung zu beschleunigen. Dazu kann man den “State Estimation Slider” unter dem TUNING-Tab des MPC-Designer-Hauptfensters nach rechts ziehen (Bild 23).
\nDie Rechtsverschiebung des Sliders bewirkt eine Vergrößerung der statischen Verstärkungen der Störmodelle und eine gleichzeitige Verringerung der statischen Verstärkungen des Messrauschens und verbessert auf dieses Weise die Dynamik des Störverhaltens.
\nWenn man unterstellt, dass sich innerhalb des Steuerhorizonts \n
MV Blocking.
Der Steuerhorizont ist im Beispiel \n
Wenn man von der Option “MV Blocking” Gebrauch machen will, muss man in der MPC Designer App den Steuerhorizont als einen Vektor von Impulslängen spezifizieren, im Beispiel also \n
Eingabe des Blocking-Vektors im MPC Designer.
Sowohl die Gewichtsfaktoren \n
Die Eingabe zeitvarianter Gewichte und Nebenbedingungen erfolgt dadurch, dass man in die entsprechenden Tabellen (vgl. Bild 18 und Bild 21) statt einfacher Zahlenwerte Vektoren einträgt. Die Vektoren können maximal \n
Durch Programmieren auf Kommandozeilenebene, d. h. nicht in der MPC Designer App, lassen sich sogenannte “terminal weights” und “terminal constraints” definieren. Damit ist es möglich MPC-Regler mit unendlichem Horizont zu definieren und die Stabilität der MPC-Regelung im geschlossenen Kreis zu garantieren. Eine ausführliche Diskussion findet man in [14]. Die Nutzung dieser Möglichkeit wird allerdings nur mit der MPC-Theorie vertrauten Anwendern empfohlen.
\nInnerhalb der MPC Designer App ist es möglich, das geschlossene MPC-Regelungssystem zu simulieren. Auf diese Weise können das Führungs- und das Störverhalten des geschlossenen MPC-Regelungssystems untersucht und die Parametrierung überprüft werden. Für das Störverhalten kann insbesondere die Reaktion auf Änderungen der gemessenen Störgrößen (Störgrößenaufschaltung bzw. feedforward compensation) sowie auf Änderungen nicht gemessener Störgrößen am Eingang und am Ausgang der Regelstrecke untersucht werden.
\nWie bereits in Abschnitt 3.1 erwähnt, wird beim Laden des Prozessmodells ein voreingestelltes Simulationsszenario erzeugt. Dieses kann editiert werden, wenn man im Hauptfenster des MPC Designers die Schaltfläche “Edit Scenario” anwählt und das zu editierende Szenarium auswählt. Es öffnet sich dann ein Fenster “Simulation Scenario”, für das in Bild 26 ein Beispiel dargestellt ist.
\nFenster “Simulation Scenario”.
Unter “Simulation Settings” kann der Anwender zunächst auswählen, welches Modell als Streckenmodell für die Simulation verwendet werden soll. Voreingestellt ist, dass das für die Streckensimulation verwendete Modell und das reglerintern für die Prädiktion verwendete Modell (“controller internal model”) identisch sind. Das bedeutet, dass der MPC-Regler über ein exaktes Modell des Streckenverhaltens verfügt. Dieser (in der Praxis unrealistische) Fall sollte zunächst immer untersucht werden. Der Nutzer kann aber vom Nominalmodell abweichende lineare Prozessmodelle im MATLAB-Arbeitsspeicher definieren (z. B. mit veränderten Streckenverstärkungen, Zeitkonstanten oder Totzeiten) und diese dann hier für die Simulation auswählen. Da reglerinternes Modell und Simulationsmodell dann nicht mehr übereinstimmen, spricht man von “Plant-Model-Mismatch”. Eine solche Art der Simulation erlaubt die Untersuchung der Robustheit des MPC-Reglers gegenüber Änderungen des Prozessverhaltens.
\nZweitens muss oft die Simulationsdauer verändert werden, weil sie mit der Länge des Prädiktionshorizonts voreingestellt und daher in den meisten Fällen zu kurz gewählt ist.
\nEs ist möglich, die Simulation im offenen Regelkreis durchzuführen (“Run open-loop simulation”) oder einen MPC-Algorithmus ohne Berücksichtigung von Nebenbedingungen zu verwenden (“Use unconstrained MPC”). Schließlich können zukünftige Änderungen von Sollwerten oder messbaren Störgrößen angezeigt werden, falls diese bekannt sind und in die Simulation einbezogen werden sollen (“Preview references” und “Preview measured disturbances”).
\nIm unteren Teil des Fensters “Simulation Scenario” kann vorgegeben werden, wie und zu welchem Zeitpunkt sich Sollwerte, gemessene Störgrößen und nicht gemessene Ein- und Ausgangsstörgrößen ändern sollen. In der Spalte “Signal” kann aus eine Liste der Signaltyp ausgewählt werden. Verfügbare Optionen sind “Constant”, “Step”, “Ramp”, “Pulse”, “Sine” und “Gaussian” (d. h. keine, sprungförmige, rampenförmige, impulsförmige, sinusförmige und zufällige Signaländerung). In der Spalte “Size” kann eine Größenangabe gemacht werden, deren Bedeutung vom Signaltyp abhängt (Sprunghöhe, Rampenanstieg, Impuls- und Sinusamplitude, Varianz). In der Spalte “Time” kann der Zeitpunkt der Signaländerung vorgegeben werden. In der Spalte “Period” kann für Impulse die Impulslänge und für Sinussignale die Periodendauer spezifiziert werden. Eingaben müssen mit “Apply/OK” abgeschlossen werden, um sie für die Simulation wirksam zu machen. In Tabelle 9 sind die Eingabemöglichkeiten im Fenster “Simulation scenario” zusammengefasst.
\nSignaltyp | \nSpalte “Size” | \nSpalte “Period” | \n
---|---|---|
Constant | \n- | \n- | \n
Step | \nSprunghöhe | \n- | \n
Ramp | \nAnstieg | \n- | \n
Pulse | \nImpulsamplitude | \nImpulslänge | \n
Sine | \nSinusamplitude | \nPeriodendauer | \n
Gaussian | \nVarianz | \n- | \n
Eingabemöglichkeiten im Fenster “Simulation scenario”.
Die Regelgüte kann bekanntlich durch die Wahl der Gewichtsfaktoren beeinflusst werden. Eine weitere, sehr nutzerfreundliche Möglichkeit besteht darin, den “Closed-Loop Performance Slider” in Richtung einer schnelleren oder langsameren Regelkreisdynamik zu verschieben. Dieser findet sich wie der “State Estimation Slider” unter dem TUNING-Tab des MPC-Designer-Hauptfensters (Bild 27).
\nClosed-Loop Performance Slider – Verschiebung in Richtung “Robust”.
Eine Verschiebung nach links bedeutet eine Erhöhung der Robustheit gegenüber Modellunsicherheit und eine langsamere Regelkreisdynamik, eine Verschiebung nach rechts aggressiveres Verhalten und geringere Robustheit. Ein Verschiebung in Richtung größerer Robustheit bewirkt, dass reglerintern die Gewichte der Regel- und Stellgrößen verringert, die der Stellgrößeninkremente erhöht werden.
\nSowohl MPC-Regler als auch Szenarien lassen sich nach Anwahl ihrer Bezeichnungen im MPC-Designer-Hauptfenster und Anklicken der rechten Maustaste duplizieren. Die duplizierten Objekte sind anschließend editierbar. So lassen sich verschiedene Versionen eines MPC-Reglers (z. B. mit unterschiedlicher Reglereinstellung) generieren. Über die Anwahl der Schaltfläche “Compare Controllers” unter dem Tab “MPC DESIGNER” des Hauptfensters (Bild 28) kann man dann Simulationen starten, die ein vorgegebenes Szenarium mit unterschiedlichen MPC-Reglern berechnen. Die sich ergebenden Zeitverläufe der Stell- und Regelgrößen werden farblich gekennzeichnet und lassen sich miteinander vergleichen. Diese Funktion eignet sich insbesondere, um den Einfluss unterschiedlicher Horizontlängen und Gewichte, verschiedener Stellungen des Closed-Loop Performance Slider, unterschiedlich gewählter Nebenbedingungen oder Einstellungen der Schätzverfahren für Zustands- und Störgrößen miteinander zu vergleichen und ein anwendungsspezifisches Optimum zu finden.
\nSchaltfläche “Compare Controllers” unter dem Tab “MPC DESIGNER”.
Der Tab “VIEW” des MPC-Designer-Hauptfensters eröffnet den Zugriff auf unterschiedliche Möglichkeiten der Anordnung und Gestaltung von Fenstern für die Präsentation der Simulationsergebnisse. Wie in Bild 29 dargestellt, ist es zum Beispiel möglich, die Trends für die Stell- und Regelgrößen nebeneinander (Left/Right), untereinander (Top/Bottom) oder anwenderdefiniert (Custom) darzustellen. Die Wahl “Single” vergrößert die Darstellung entweder der Stell- oder der Regelgrößenverläufe, “Float” ermöglicht eine freie Verschiebung der Trends innerhalb der Oberfläche des MPC Designer.
\nTab “VIEW” (Float-Darstellung des Vergleichs der Simulationsergebnisse mit zwei Reglern).
Eine Alternative zur Simulation des geschlossenen Regelungssystems innerhalb der MPC Designer App ist die Entwicklung eines Simulink-Modells unter Verwendung der in der MPC Toolbox enthaltenen MPC-Funktionsbausteine. In Bild 30 ist ein Beispiel für den prinzipiellen Aufbau eines solchen Simulink-Modells dargestellt. Es besteht mindestens aus
einem der in der MPC Toolbox enthaltenen Simulink-Funktionsbausteine für MPC-Regler, die bereits in Abschnitt 2.6 aufgelistet wurden (vgl. Bild 9),
Simulink-Bausteinen, die das dynamische Verhalten der Regelstrecke beschreiben,
Signalquellen-Bausteinen für die Vorgabe von Sollwert- oder Störgrößenänderungen,
Signalsenken-Bausteinen für die Visualisierung oder Speicherung der Simulationsergebnisse.
Beispiel für die Simulation eines MPC-Regelungssystems mit Hilfe von Simulink®.
Ein deutlicher Vorteil dieser Variante der Simulation besteht natürlich darin, dass Plant-Model-Mismatch wesentlich realistischer untersucht werden kann. Das ist zum Beispiel dann der Fall, wenn das reglerintern verwendete Prozessmodell linear ist, und für die Simulation des realen Prozessverhalten ein nichtlineares Modell verwendet wird.
\nDie Ein- und Ausgänge des MPC-Blocks sind mit denselben Abkürzungen bezeichnet, die schon einführend im Zusammenhang mit Bild 1 und Bild 2 erläutert wurden: so stehen
Eingang “mo” für “measured output” (Regelgröße),
Eingang “ref” für “reference value” (Sollwert),
Ausgang “mv” für “manipulated variable” (Stellgröße).
Durch eine entsprechende Parametrierung des MPC-Blocks können weitere Ein- und Ausgangsgrößen als I/O-Ports definiert werden. Dann steht z. B.
Eingang “md” für “measured disturbance” (gemessene Störgröße),
Ausgang “cost” für den Wert der Zielfunktion bei der quadratischen Optimierung zur Bestimmung der optimalen Stellgrößenfolge,
Ausgang “mv.seq” für die optimale Stellgrößenfolge.
Weitere Eingänge des MPC-Blocks können als “Input Port” festgelegt werden, die während der Simulation verändert werden dürfen, z. B.
“umin, umax, ymin, ymax” (untere und obere Grenzwerte der Stell- bzw. Regelgrößen),
“y.wt, u.wt, du.wt” (Gewichtsfaktoren für Regel- und Stellgrößen sowie die Stellgrößenänderungen),
“mv.target” (Zielwerte für Stellgrößen für den Fall \n
Der folgende Abschnitt illustriert die Anwendung der MPC Toolbox auf den Entwurf eines Mehrgrößenreglers an einer Destillationskolonne bei gegebenem Prozessmodell. Im Mittelpunkt steht die Verbesserung der Regelgüte, die sich mit einem MPC-Regler gegenüber einer konventionellen PI-Regelung erreichen lässt. Der MPC-Regler wird auch für ein Range-Control-Problem eingesetzt, bei dem kein Sollwert, sondern Ungleichungs-Nebenbedingungen für die Regelgrößen vorgegeben sind. Abschließend wird gezeigt, dass sich bei modernen MPC-Algorithmen auch eine befriedigende Regelgüte bei der Kompensation von Störungen am Streckeneingang erzielen lässt.
\nAuf der Grundlage von Versuchen an einer Destillationskolonne im Maßstab einer Pilotanlage wurde in [92] ein lineares dynamisches Modell entwickelt. Obwohl diese Kolonne einen Seitenabzug besitzt und daher für die Trennung von (ternären) Mehrstoffgemischen geeignet ist, wurde nur die Trennung eines Ethanol-Wasser-Gemischs untersucht. Die Kolonne besitzt 19 Böden und hat einen Durchmesser von 12 Zoll (30,5 cm). Der Zulauf ist auf Boden 10, der Seitenabzug auf Boden 5 angeordnet. Alle Durchflüsse, Temperaturen und Zusammensetzungen werden kontinuierlich gemessen. Bild 31 zeigt ein vereinfachtes Fließbild mit konventioneller PI(D)-Regelungsstruktur.
\nVereinfachtes Fließbild einer Pilot-Destillationskolonne (konventionelle Regelungsstruktur).
Regelgrößen CV1 … CV3 (\n
der Stoffmengenanteil (früher “Molenbruch”) des Ethanols am Kolonnenkopf (\n
der Stoffmengenanteil des Ethanols im Seitenabzug (\n
die Temperatur auf dem Boden 19 im Abtriebsteil der Kolonne (\n
die Stellgrößen MV1…MV3 (\n
der Durchfluss des Rücklaufs (\n
der Durchfluss des Seitenabzugs (\n
der Druck des Heizdampfs (\n
Als Störgrößen werden der Durchfluss (\n
Regelgrößen | \nStellgrößen | \nStörgrößen | \n|||
---|---|---|---|---|---|
Ethanol am Kopf | \n0,7 | \nRücklauf | \n0,18 gpm (0,6 l/min) | \nDurchfluss Einsatzprodukt | \n0,8 gpm (3 l/min) | \n
Ethanol im Seitenabzug | \n0,52 | \nSeitenabzug | \n0,046 gpm (0,18 l/min) | \nTemperatur Einsatzprodukt | \n78°C | \n
Temperatur Boden 19 | \n92 °C | \nDruck Heizdampf | \n20 psig (137,89 kPa) | \n\n | \n |
Arbeitspunkt der Pilot-Destillationskolonne.
Tabelle 11 zeigt die oberen und unteren Grenzwerte für die Stellgrößen.
\nStellgröße | \nUnterer Grenzwert | \nOberer Grenzwert | \n
---|---|---|
Rücklauf | \n0,068 gpm (0,24 l/min) | \n0,245 gpm (1,3 l/min) | \n
Seitenabzug | \n0,00694 gpm (0,0264 l/min) | \n0,1 gpm (0,6 l/min) | \n
Druck Heizdampf | \n15,6 psig (107,56 kPa) | \n34 psig (234,42 kPa) | \n
Obere und untere Grenzwerte für die Stellgrößen.
Das Übertragungsfunktions-Modell des Mehrgrößensystems lautet
\nEs besteht aus einer 3x3-Matrix von Übertragungsfunktionen für die Stellgrößen-Regelgrößen-Zusammenhänge und einer 3x2-Matrix für die Störgrößen-Regelgrößen-Relationen.
\nDie MPC Toolbox unterstützt dieselben LTI-Modell-Formate wie die Control Systems ToolboxTM (LTI … Linear Time Invariant). Da bei der Kolonne die Modelle in Form von Übertragungsfunktionen vorliegen, ist es möglich, den Befehl tf für die Modelleingabe zu verwenden. Für den Zusammenhang zwischen Rücklauf und Kopfkonzentration heißt die Übertragungsfunktion
\nDie MATLAB-Definition lautet
\nG11 = tf(0.66,[6.7 1],\'IODelay\',2.6)
\nDas Bildschirmecho ist
\nG11 = exp(−2.6*s) * --------0.66 6.7 s + 1
\nContinuous-time transfer function.
\nEine andere Möglichkeit besteht darin, zunächst den Laplace-Operator mit
\ns = tf(‘s’)
\nzu definieren und danach die Übertragungsfunktion (hier für den Zusammenhang zwischen Bodentemperatur und Heizdampfdruck) wie folgt anzugeben:
\nG33 = 0.87*(11.61*s+1)*exp(−s)/((18.8*s+1)*(3.89*s+1))
\nIn analoger Weise lassen sich die anderen Teil-Übertragungsfunktionen definieren. Die Übertragungsfunktions matrix \n
In ähnlicher Weise lässt sich die Übertragungsfunktionsmatrix für die Störgrößen-Regelgrößen-Zusammenhänge definieren:
\nIn MATLAB-Notation ergibt sich dann für das zusammengefasste Kolonnen-Modell (5 Eingangsgrößen, 3 Ausgangsgrößen)
\nKolonne = [G11 G12 G13 Gν11 Gν12; G21 G22 G23 Gν21 Gν22;…G31 G32 G33 G?31 G?32]
\nDie Einheitssprungantworten des Mehrgrößensystems lassen sich mit
\n[y,t] = step(Kolonne)
\nerzeugen. Sie sind für die Stellgrößen-Regelgrößen-Zusammenhänge in Bild 32 grafisch dargestellt.
\nEinheitssprungantworten für die Stellgrößen-Regelgrößen-Zusammenhänge der Pilot-Destillationskolonne.
Das sogenannte “Relative Gain Array” (RGA) gilt als Maß für die Stärke der Wechselwirkungen (Kopplungen) in einem Mehrgrößensystem [93]. Sie lässt sich aus der (quadratischen) Matrix der statischen Streckenverstärkungen \n
berechnen. Darin bezeichnet das Symbol \n
Daraus lässt sich folgende Zuordnung von Stell- zu Regelgrößen ableiten, wenn die Kolonne mit drei dezentralen PI-Eingrößenreglern stabilisiert werden soll [94]:
Rücklauf ➔ Kopfkonzentration Ethanol,
Seitenabzug ➔ Konzentration Ethanol im Seitenabzug,
Heizdampfdruck ➔ Bodentemperatur.
Diese Zuordnung, die man sicher auch intuitiv wählen würde, wurde in [92] verwendet. Die entsprechenden Regelkreise sind in Bild 31 eingezeichnet.
\nUm die konventionelle Regelungsstruktur mit drei PI-Eingrößenregelungen zu simulieren, wurde ein Simulink-Modell entwickelt, das in Bild 33 dargestellt ist. Das Streckenmodell “Kolonne” wurde in einem “LTI System”-Baustein hinterlegt. Dieses Modell hat als Eingänge drei von den PI-Reglern erzeugten Stellgrößen und die beiden Störgrößen Feed-Durchfluss und -Temperatur.
\nSimulink-Modell der dezentralen PI-Regelung der Pilot-Destillationskolonne.
In [92] wurden folgende PI-Reglerparameter angegeben, die nicht durch Anwendung eines systematischen Entwurfsverfahrens, sondern empirisch durch Simulationensrechnungen gefunden wurden. Sie werden zu Vergleichszwecken auch hier verwendet:
Regelung der Ethanolkonzentration am Kolonnenkopf: \n
Regelung der Ethanolkonzentration am Seitenabzug: \n
Regelung der Temperatur auf dem Boden 19: \n
Im Bild 34 ist das Führungsverhalten dargestellt, das sich mit diesen Reglerparametern ergibt. In der Diagonale sind die Reaktionen auf die Sollwertänderungen bei den drei Regelgrößen zu sehen. Die anderen Subplots zeigen die Wirkung auf die jeweils anderen Regelgrößen, deren Sollwerte konstant sind.
\nFührungsverhalten bei dezentraler PI-Regelung der Pilot-Kolonne.
Tabelle 12 zeigt die mit diesen Reglereinstellungen erreichten Ausregelzeiten in Minuten. Sie können später mit denen verglichen werden, die bei einer MPC-Regelung erreicht werden.
\n\n | Sollwertsprung \n | \nSollwertsprung \n | \nSollwertsprung \n | \n
---|---|---|---|
Kopfkonzentration \n | \n100 | \n200 | \n150 | \n
Konz. Seitenabzug \n | \n200 | \n200 | \n200 | \n
Temperatur B19 \n | \n150 | \n200 | \n70 | \n
Ausregelzeiten bei Führungsverhalten mit dezentraler PI-Regelung.
In Bild 35 ist die Ausregelung von sprungförmigen Störungen am Kolonneneingang (obere Zeile: Durchfluss, untere Zeile: Temperatur) dargestellt. Es wurden dieselben Reglerparameter verwendet.
\nStörverhalten bei dezentraler PI-Regelung der Pilot-Kolonne.
In Tabelle 13 sind die erreichten Ausregelzeiten für das Störverhalten aufgelistet.
\n\n | Störgrößenänderung \n | \nStörgrößenänderung \n | \n
---|---|---|
Kopfkonzentration \n | \n200 | \n100 | \n
Konz. Seitenabzug \n | \n>200 | \n150 | \n
Temperatur B19 \n | \n150 | \n80 | \n
Ausregelzeiten bei Störverhalten mit dezentraler PI-Regelung.
Stellt man die drei PI-Regler unabhängig voneinander mit Hilfe der SIMC-Einstellregeln [95] ein, ergeben sich die folgenden, wesentlich aggressiveren Reglerparameter:
Regelung der Ethanolkonzentration am Kolonnenkopf: \n
Regelung der Ethanolkonzentration am Seitenabzug: \n
Regelung der Temperatur auf dem Boden 19: \n
Mit diesen Parametern ergibt sich für eine Sollwertänderung der Kopfkonzentration das in Bild 36 dargestellte, praktisch inakzeptable Führungsverhalten.
\nSollwertänderung Kopfkonzentration bei SIMC-Reglereinstellung.
Die starken Oszillationen zeigen deutlich die starken Kopplungen zwischen den Stell- und Regelgrößen bei diesem Mehrgrößensystem. Die Ergebnisse sind ein Hinweis darauf, dass für dieses Beispiel die PI-Reglerparameter nicht unabhängig voneinander bestimmt werden sollten. Will man die Regelungsstruktur mit drei dezentralen PI-Reglern beibehalten und nicht zu einer Mehrgrößenregelung übergehen, so ist eine Reglereinstellung nach einem Multiloop-Tuning-Verfahren angebracht (für geeignete Methoden vgl. [96]).
\nDie konventionelle Regelungsstruktur (dezentrale PI-Regelung, Bild 31) soll nun durch eine zentrale Mehrgrößenregelung mit Hilfe eines MPC-Reglers ersetzt werden. Bild 37 zeigt das gegenüber Bild 31 abgeänderte Fließschema der Kolonne.
\nZentrale Mehrgrößenregelung der Pilotkolonne mit einem MPC-Regler.
Zu diesem Zweck wird nach dem Start der MPC Designer App das Prozessmodell mit dem Namen “Kolonne” importiert. Die MPC-Reglerstruktur wird so modifiziert, dass die ersten drei Eingangsgrößen als manipulierte Variable (MV) und die Eingangsrößen vier und fünf als gemessene Störgrößen (MD) deklariert werden. Bild 38 zeigt das Fenster “Define MPC Structure by Importing” nach dieser Anpassung. Die von der MPC Designer App vorgeschlagene Abtastzeit von 1 Zeiteinheit (hier: Minuten) wird zunächst nicht verändert. Der erste Schritt wird mit “Define and Import” abgeschlossen.
\nImport des Modells der Pilotkolonne und Anpassung der MPC-Reglerstruktur.
Im nächsten Schritt werden die Attribute der Ein- und Ausgangsgrößen definiert. In Tabelle 10 wurden bereits die Maßeinheiten und Arbeitspunktwerte der Stell-, Stör- und Regelgrößen aufgelistet.
\nTabelle 14 zeigt die gewählten Skalierungsfaktoren. Sie ergeben sich aus den zu erwartenden Arbeitsbereichen der Prozessgrößen.
\nRegelgrößen | \nStellgrößen | \nStörgrößen | \n|||
---|---|---|---|---|---|
Ethanol am Kopf | \n1 | \nRücklauf | \n1,5 | \nDurchfluss Einsatzprodukt | \n2 | \n
Ethanol im Seitenabzug | \n0,6 | \nSeitenabzug | \n1,5 | \nTemperatur Einsatzprodukt | \n40 | \n
Temperatur Boden 19 | \n120 | \nDruck Heizdampf | \n30 | \n\n | \n |
Skalierungsfaktoren für die Prozessgrößen der Pilot-Destillationskolonne.
Für die Eingabe dieser Werte wird die Schaltfläche “I/O Attributes” betätigt. Bild 39 zeigt das Fenster “Input and Output Channel Specifications”
\nDefinition der Arbeitspunktwerte und Skalierungsfaktoren.
Für die Reglereinstellung werden die voreingestellten Positionen der Slider für “Closed Loop Performance” und “State Estimation” verwendet (TUNING Tab). Auch für die Gewichtsfaktoren (Schaltfläche “Weights”) werden die voreingestellten Werte akzeptiert. Für die Horizontlängen werden \n
Die Nebenbedingungen (vgl. Tabelle 11) können nach Anwahl der Schaltfäche “Constraints” im Hauptfenster des MPC Designer im Fenster “Constraints (mpc1)” eingegeben werden. Bild 40 zeigt einen Screenshot dieses Fensters. Es werden nur die oberen und unteren Grenzwerte für die Stellgrößen vergeben, die Ausgangsgrößen sollen zunächst auf Sollwert geregelt werden, Grenzen für die Stellgrößeninkremente (Rate-of-change constraints) sind nicht bekannt.
\nVorgabe der Nebenbedingungen für die Stellgrößen im “Constraints”-Fenster.
Das MPC-Regelungssystem kann nun innerhalb des MPC Designers simuliert werden. Dazu müssen Simulations-Szenarien konfiguriert werden (Schaltfläche “Edit Scenario/scenario 1”). Für die Simulation des Führungsverhaltens wird eine Simulationsdauer von 90 Minuten angenommen. Zum Zeitpunkt \n
Definition des Simulations-Szenarios für Führungsverhalten.
In Zeile 1 kann man auch ablesen, dass für die Streckensimulation das reglerinterne Prozessmodell verwendet wurde, also kein Plant-Model-Mismatch vorhanden ist.
\nIn Bild 42 sind die Simulationsergebnisse für das Führungsverhalten dargestellt.
\nFührungsverhalten der Pilot-Destillationskolonne.
Für die gewählte Einstellung des MPC-Reglers ergeben sich die in Tabelle 15 aufgelisteten Ausregelzeiten. In Klammern sind zum Vergleich die Ausregelzeiten aufgenommen, die mit dezentraler PI-Regelung erreicht wurden (vgl. Tabelle 12)
\n\n | Sollwertsprung \n | \nSollwertsprung \n | \nSollwertsprung \n | \n
---|---|---|---|
Kopfkonzentration \n | \n15 (100) | \n15 (200) | \n40 (150) | \n
Konz. Seitenabzug \n | \n15 (200) | \n10 (200) | \n10 (200) | \n
Temperatur B19 \n | \n25 (150) | \n20 (200) | \n20 (70) | \n
Ausregelzeiten bei Führungsverhalten mit MPC-Regelung.
Die Ergebnisse zeigen die deutliche Überlegenheit der MPC-Mehrgrößenregelung gegenüber der dezentralen PI-Eingrößenregelung. Der Unterschied zwischen PI- und MPC-Regelung würde sich verringern aber nicht verschwinden, wenn man ein systematisches Entwurfsverfahren für die Multiloop-PI-Regelung einsetzen würde.
\nIn Bild 43 sind die Simulationsergebnisse für das Störverhalten der MPC-geregelten Pilot-Destillationskolonne dargestellt (Simulationsdauer 200 min). Dabei wurde der Durchfluss des Einsatzprodukts zum Zeitpunkt \n
Störverhalten der Pilot-Destillationskolonne (gemessene Störgrößen).
Die Reglereinstellung des MPC-Reglers wurde nicht verändert. Es ergeben sich die in Tabelle 16 aufgelisteten Ausregelzeiten (in Klammern sind wieder die Ausregelzeiten aufgenommen, die mit dezentraler PI-Regelung erreicht wurden (vgl. Tabelle 13)).
\n\n | Störgrößenänderung \n | \nStörgrößenänderung \n | \n
---|---|---|
Kopfkonzentration \n | \n60 (200) | \n40 (100) | \n
Konz. Seitenabzug \n | \n50 (>200) | \n20 (150) | \n
Temperatur B19 \n | \n40 (150) | \n60 (80) | \n
Ausregelzeiten bei Störverhalten mit MPC-Regelung.
Während in Bild 43 das Störverhalten für die gemessenen Störgrößen Feed-Durchfluss und Feed-Temperatur dargestellt ist, zeigt Bild 44 die Simulationsergebnisse für sprungförmige Störungen an den Stellgrößeneingängen (d. h. Rücklauf, Seitenabzug und Heizdampfdruck). Diese Störgrößen gehen als nicht gemessene Störgrößen in die MPC-Regelung ein. Bei \n
Störverhalten der Pilot-Destillationskolonne (nicht gemessene Störgrößen am Streckeneingang).
Nach Abschluss des MPC-Reglerentwurfs kann dieser für eine Weiterverwendung (z. B. für eine Simulation in Simulink®) in den Arbeitsspeicher von MATLAB® exportiert werden (Schaltfläche “Export Controller”). Hier wurde dem MPC-Regler-Objekt der Name “MPC_Kolonne” gegeben, vgl. Bild 45.
\nExportieren des MPC-Reglers für die Pilot-Destillationskolonne in den MATLAB-Arbeitsspeicher.
Alternativ zur Simulation des MPC-Regelungssystems innerhalb der MPC Designer App ist es möglich, die Simulation der MPC-Regelung der Pilot-Destillationskolonne auch in Simulink vorzunehmen. Dazu muss ein Simulink-Modell entwickelt werden. Bild 46 zeigt eine Möglichkeit.
\nSimulink-Modell der MPC-Regelung der Pilot-Destillationskolonne.
Kern des Modells sind ein “MPC Controller”-Baustein aus der Simulink-Library der Model Predictive Control ToolboxTM (cyan dargestellt) und ein “LTI System”-Baustein aus der Simulink-Library der Control Systems ToolboxTM (blau, Name “Pilot-Kolonne”). Im “LTI System”-Baustein wird als “LTI system variable” der Name des LTI-Objekts eingetragen, in dem das Modell der Regelstrecke hinterlegt ist, hier das Übertragungsfunktions-Modell “Kolonne” (vgl. Abschnitt 4.1). Bild 47 zeigt die Eingabemaske für diesen Baustein.
\nEingabemaske des “LTI System”-Bausteins.
Im “MPC Controller”-Baustein muss der Name des MPC-Regler-Objekts angegeben werden, das aus der MPC Designer App in den MATLAB-Arbeitsspeicher exportiert wurde. Bild 48 zeigt die Eingabemaske für den MPC Controller.
\nEingabemaske des “MPC Controller”-Bausteins.
Im Simulink-Modell sind auf der linken Seite Sprungfunktionsgeber für Sollwert- und Störgrößenänderungen angeordnet. Die Sollwert-Signale werden zusammengefasst und mit dem “ref”-Eingang des MPC-Reglers verbunden. Die mv-Ausgänge des MPC-Reglers bilden zusammen mit den gemessenen Störgrößen (Feed-Durchfluss und -Temperatur) die fünf Eingänge der Regelstrecke. Die Ausgänge der Strecke werden auf den mo-Eingang des MPC-Reglers zurückgeführt. Die gemessenen Störgrößen werden nicht nur mit dem Streckeneingang, sondern auch mit dem md-Eingang des MPC-Reglers verknüpft. Die Soll- und Istwerte der Regelgrößen werden in Scopes angezeigt und mit einem “To Workspace”-Baustein in den MATLAB-Arbeitsspeicher exportiert. Eine Besonderheit des Simulink-Modells besteht darin, dass das lineare Übertragungsfunktions-Modell der Mehrgrößen-Regelstrecke Abweichungen vom Arbeitspunkt verarbeitet bzw. erzeugt. Im MPC-Regler (vgl. Abschnitt 4.3, Bild 39) wurden aber physikalische Arbeitspunktwerte definiert. Daher müssen die Arbeitspunktwerte der Stell- und Störgrößen vor der Verarbeitung im “LTI System”-Baustein von den MPC-Regler-Ausgangssignalen subtrahiert werden. Ebenso müssen die Arbeitspunktwerte der Regelgrößen auf die Ausgänge der Regelstrecke addiert werden, bevor sie im MPC-Regler-Baustein verarbeitet werden.
\nZunächst wurde das Führungsverhalten nach dem gleichen Szenario simuliert, das auch in Abschnitt 4.3 verwendet wurde: Sollwertänderung Kopfkonzentration zum Zeitpunkt \n
Simulation des Führungsverhaltens der Pilot-Destillationskolonne in Simulink®.
Die Simulation des Störverhaltens in Simulink® folgte ebenfalls dem gleichen Szenario wie in Abschnitt 4.3: sprungförmige Änderung des Zulauf-Durchflusses bei \n
Simulation des Störverhaltens der Pilot-Destillationskolonne in Simulink®.
In den vorangegangenen Abschnitten wurde angenommen, dass für die drei Regelgrößen jeweils Sollwerte (mathematisch gesehen Gleichheits-Nebenbedingungen) vorgegeben werden. In der industriellen Praxis ist aber die Vorgabe von Ungleichungs-Nebenbedingungen für die Regelgrößen gleichermaßen bedeutsam. Man spricht dann auch von “Range Control” oder “Zone Control”. Bei vielen MPC-Anwendungen in der Prozessindustrie überwiegt sogar die Vorgabe von Ungleichungs-NB gegenüber einer Sollwertvorgabe. Das resultiert daraus, dass die Fahrweise von Prozessanlagen oft darauf gerichtet ist, die Verletzung von oberen oder unteren Grenzwerten für Prozessgrößen zu vermeiden. Beispiele sind die Verletzung von Flutgrenzen bei Kolonnen, von Grenzwerten für die verfügbare Heiz- oder Kühlleistung oder eines Vakuumsystems, von materialbedingten Temperaturgrenzwerten usw. In einer Reihe von Einsatzfällen ist es möglich, statt fester Sollwerte Bereiche vorzugeben, z. B. für einzuhaltende Produkt-Spezifikationen.
\nIm Folgenden soll der “Range Control”-Fall am Beispiel der Pilot-Destillationskolonne untersucht werden. Dazu wird angenommen, dass zwar für die Regelgrößen \n
Zur Vorbereitung der Simulation muss zunächst der MPC-Regler modifiziert werden. Da Regelgröße \n
Gewichtsfaktoren für eine Bereichsregelung (Range Control) der Pilotkolonne.
Um die Aufgabe zu erfüllen, müssen Nebenbedingungen für die Regelgröße \n
Nebenbedingungen für eine Bereichsregelung (Range Control) der Pilotkolonne.
Der so modifizierte MPC-Regler muss erneut in den MATLAB-Arbeitsspeicher exportiert werden, hier wurde der Name “MPC_Kolonne_Range” vergeben. In der Eingabemaske des “MPC Controller”-Bausteins kann man unter dem Reiter “Online-Features” einstellen, dass die Grenzwerte für die Stell- und Regelgrößen als verschaltbare Eingänge am MPC-Baustein verfügbar gemacht werden. Bei “Plant input and output limits” ist dann ein Häkchen zu setzen (Bild 53).
\nModifikation der Vorgaben für den “MPC Controller”-Baustein.
Im Simulink-Modell der MPC-Regelung können dann Änderungen der Nebenbedingungen zur Laufzeit vorgenommen werden. Bild 54 zeigt einen Ausschnitt aus dem modifizierten Simulink-Modell, bei dem der “MPC Controller”-Baustein zusätzliche Eingangs-Ports aufweist.
\nModifiziertes Simulink-Modell für Range Control an der Pilotkolonne.
In Bild 55 sind Simulationsergebnisse für ein ausgewähltes Szenarium dargestellt. Dabei werden die Regelgrößen \n
Range-Control-Simulation an der Pilot-Destillationskolonne.
Bisher wurden sowohl der Durchfluss als auch die Temperatur des Einsatzprodukts als gemessene Störgrößen (MD bzw. DV) aufgefasst. Der Zusammenhang zwischen diesen Eingangsgrößen und den Ausgangsgrößen (Regelgrößen) der Kolonne wird im Prozessmodell berücksichtigt. Die Wirkung einer Veränderung der gemessenen Störgrößen auf den zukünftigen Zeitverlauf der Regelgrößen ist Bestandteil der Prädiktion. Ändern sich die gemessenen Störgrößen, reagieren die Stellgrößen des MPC-Reglers nicht erst dann, wenn die Störgrößenänderung – verzögert durch die Streckendynamik – bei den Regelgrößen “angekommen” ist. Wie bei einer (richtig entworfenen) Störgrößenaufschaltung auf einen PID-Regelkreis führt das zu einer Verbesserung der Regelgüte im Vergleich zu einer reinen Feedback-Struktur.
\nAm Beispiel der Pilot-Destillationskolonne soll nun gezeigt werden, wie eine nicht gemessene Störgröße ausgeregelt wird und wie man die Regelgüte durch den Entwurf und die Einstellung des Störmodells und der Störgrößen-Schätzung (vgl. die Abschnitte 2.3.1 und 2.3.4 sowie Bild 4) beeinflussen kann. Zu diesem Zweck wird zunächst die MPC-Struktur so abgeändert, dass die Eingangsgrößen 1 … 3 als MV, Eingangsgröße 4 (der Durchfluss des Einsatzprodukts) als gemessene Störgröße (MD), Eingangsgröße 5 (die Zulauftemperatur) jetzt aber als nicht gemessene Störgröße (UD) aufgefasst wird. Bild 56 zeigt das Fenster “Define MPC Structure By Importing” mit diesen Vorgaben.
\nFestlegung der neuen MPC-Reglerstruktur mit einer nicht gemessenen Störgröße.
Die weiteren Einstellungen (Abtastzeit \n
Als “Input Disturbance Model” wird “Random Step-like” gewählt, d. h. es wird unterstellt, dass sich die Zulauftemperatur zu zufälligen Zeitpunkten sprungförmig verändert. Diese Einstellung wird im Fenster “Input Disturbance Model (mpc1)” vorgenommen, das über die Schaltfläche “Estimation Models” unter dem TUNING-Tab des MPC Designer zugänglich ist. Das Fenster ist in Bild 57 dargestellt. Für den Parameter “Magnitude” wird defaultmäßig der Skalierungsfaktor (hier 40) übernommen.
\nParametrierung des Modells für die nicht gemessene Eingangsstörgröße.
Innerhalb des MPC Designer wird nun die Ausregelung einer sprungförmigen Störung der Zulauftemperatur um \n
Definition des Szenariums für die Simulation des Störverhaltens (nicht gemessene Eingangsstörung).
Die Geschwindigkeit, mit der die Störgröße ausgeregelt wird, lässt sich über die Stellung des “State Estimation Slider” beeinflussen. Eine Verschiebung nach rechts (in Richtung “Faster”) bewirkt gleichzeitig eine Vergrößerung der Verstärkungen der Störgrößenmodelle und eine Verringerung der Verstärkungen der Modelle für das Messrauschen. Infolgedessen ergibt sich eine aggressivere Störgrößenunterdrückung. Um diesen Effekt zu demonstrieren, wird zunächst der MPC-Regler (“mpc1”) im Bereich “Controllers” des Data Browsers (linke Seite der Benutzeroberfläche des MPC Designer) dupliziert (rechte Maustaste ➔ Copy). Dann wird die so erzeugte zweite Instanz des MPC-Reglers angewählt und der zugehörige “State Estimation Slider” nach rechts verschoben. Durch Anwahl eines der beiden Regler-Instanzen (mpc1 oder mpc1_Copy) kann man über “Rechte Maustaste ➔ Compare” die Simulationsergebnisse miteinander vergleichen, die sich für das Störverhalten mit beiden Reglereinstellungen ergeben (Bild 59). Es ist zu erkennen, dass sich mit der schnelleren Einstellung des Schätzers die Ausregelzeiten für alle Regelgrößen um ca. 10 Minuten verringern.
\nVergleich der Simulationsergebnisse für das Störverhalten bei unterschiedlicher Einstellung des Schätzers (rot: Grundeinstellung, blau: schnellere Einstellung).
Weiterhin wird untersucht, welchen Einfluss die Wahl des Störmodell-Typs auf das Störverhalten des MPC-Regelungssystems hat. Zu diesem Zweck werden zunächst die “State Estimation Slider” beider Regler in die Grundstellung zurückgebracht. Anschließend wird für die zweite MPC-Reglerinstanz “mpc1_Copy” ein anderes Modell für die Eingangsstörung, nämlich “Random Ramp-like”, gewählt. Die Simulation erfolgt aber wie zuvor mit einer sprungförmigen Veränderung der Zulauftemperatur. Das heißt, Störgrößenmodell und reale Störung stimmen nicht überein. Die Simulationsergebnisse sind in Bild 60 dargestellt. Während sich die Ausregelzeiten für beide Fälle kaum unterscheiden, ergeben sich unterschiedliche maximale Sollwertabweichungen. Während sie für die richtige Wahl der Modellstruktur (Random Step-like) 0,003/0,01/0,5 betragen, ergeben sich für die falsche Wahl (Random Ramp-like) die Werte 0,015/0,01/1,8 für die Regelgrößen y1/y2/y3. Für die Kopfkonzentration verfünffacht sich also die maximale (absolute) Regeldifferenz, für die Temperatur auf dem Boden 19 wird sie mehr als verdreifacht. Diese Ergebnisse zeigen, wie wichtig es ist, vorhandene Vorkenntnisse über Art und Angriffsort der Störgrößen in den MPC-Reglerentwurf einzubringen und die Störgrößenmodelle richtig zu wählen und zu parametrieren. Vergleich der Simulationsergebnisse für das Störverhalten bei unterschiedlicher Wahl des Störmodells (rot: Random Step-like, blau: Random Ramp-like).Bild 60.
Im Mittelpunkt des Kapitels 5 steht der Entwurf einer LMPC-Regelung für ein Verdampfersystem. Das dafür erforderliche lineare Prozessmodell wird durch (virtuelle) Anlagentests und Identifikation aus Messdaten gewonnen. Im Gegensatz zur industriellen Praxis, in der die Tests an der realen Prozessanlage erfolgen, werden hier virtuelle “Messdaten” simulativ durch Beaufschlagung eines vorhandenen rigorosen (nichtlinearen) Modells mit PRBS-Testsignalen erzeugt. Die Modellbildung erfolgt mit Hilfe der System Identification ToolboxTM. Die Simulation des MPC-Regelungssystems erfolgt sowohl innerhalb der MPC Designer App als auch mit Hilfe von Simulink®. Im letzteren Fall wird das nichtlineare Verdampfermodell zur Nachbildung der Streckendynamik verwendet.
\nIn [97] wurde das theoretische Modell für das dynamische Verhalten eines Zwangsumlaufverdampfers entwickelt, das bereits häufig als Benchmark-Problem zur Untersuchung von Advanced-Control-Strategien verwendet wurde. Ein vereinfachtes technologisches Schema einer Verdampferanlage ist in Bild 61 dargestellt. Solche Anlagen werden z. B. in der Lebensmittelindustrie (Zucker, Milchpulver), in der Papierindustrie und in der Pharmazie eingesetzt, um Lösungsmittel aus einem Stoffstrom zu entfernen und ihn auf diese Weise zu konzentrieren, bevor er Trocknungs- oder Kristallisationsprozessen zugeführt wird. Bild 61 zeigt auch die in [97] gewählte konventionelle Regelungsstruktur mit drei dezentral angeordneten PI-Regelungen.
\nVereinfachtes technologisches Schema einer Zwangsumlauf-Verdampferanlage.
Das Einsatzprodukt, das mindestens eine nichtflüchtige Komponente enthält, wird mit dem aus dem Separator abgezogenen flüssigen Rezirkulationsstrom vermischt und in den vertikal angeordneten Verdampfer gepumpt. Das Gemisch wird durch Ausnutzung der latenten Wärme des Heizdampfes zum Sieden gebracht, als Dampf-/Flüssigkeitsgemisch dem Separator zugeführt und dort in die Flüssigphase (Konzentrat) und die Dampfphase (Brüden) zerlegt. Der Brüden wird über Kopf abgetrieben und in einem Kondensator mit Hilfe von Kühlwasser verflüssigt. Das flüssige Konzentrat wird rezirkuliert, ein Teil davon wird als Produktstrom abgezogen. Im Folgenden bezeichnen die Variablen \n
Separator: Das Aufstellen der Massenbilanz führt auf
\nworin \n
Verdampfer: Die Massenbilanzen in der flüssigen Lösung gelösten Stoffs und des Dampfs ergeben sich zu
\nDarin bezeichnet \n
Diese Beziehung entsteht aus der Linearisierung der Wasserdampfdruckkurve im Arbeitspunkt plus einem Term, der die Anhebung der Siedetemperatur durch den gelösten Stoff beschreibt. Die Dampftemperatur wird nach der Gleichung
\nberechnet, die sich ebenfalls durch Linearisierung der Wasserdampfdruckkurve ergibt.
\nDie Dynamik der Energiebilanz im Verdampfer kann als sehr schnell angenommen werden, daher kann man vereinfachend
\nschreiben. Darin bedeuten \n
Dampfmantel des Wärmeübertragers: Auf der Dampfseite des Zwangsumlaufverdampfers wird ebenfalls eine schnelle Dynamik vorausgesetzt. Das Modell des Dampfmantels wird dann durch die algebraischen Gleichungen
\nbeschrieben, worin \n
Kondensator: Auch hier wird eine schnelle Prozessdynamik vorausgesetzt. Die Kühlwasser-Energiebilanz ist dann
\nmit \n
beschrieben. Darin bezeichnet \n
Das Kondensator-Modell besteht dann aus den algebraischen Gleichungen
\nDie 12 Gleichungen des Modells beinhalten 20 Variable, woraus sich ein Freiheitsgrad von DOF = Zahl der Variablen – Zahl der Gleichungen = 20 – 12 = 8 ergibt. Es müssen also 8 Variable (Eingangsgrößen) spezifiziert werden, um eine eindeutige Lösung des Gleichungssystems zu erhalten. Aus regelungstechnischer Sicht ist es sinnvoll, dafür den Vektor der Stellgrößen \n
Der Zustands- und gleichzeitig Ausgangsgrößen(Regelgrößen)-Vektor des Systems ist dann \n
Variable | \nBeschreibung | \nArbeitspunktwert | \nMaßeinheit | \n
---|---|---|---|
\n\n | \nDurchfluss des Einsatzprodukts | \n10,0 | \nkg/min | \n
\n\n | \nDurchfluss des Produkts | \n2,0 | \nkg/min | \n
\n\n | \nDurchfluss Kreislaufstrom | \n50,0 | \nkg/min | \n
\n\n | \nBrüden-Durchfluss | \n8,0 | \nkg/min | \n
\n\n | \nKondensat-Durchfluss | \n8,0 | \nkg/min | \n
\n\n | \nKonzentration des Einsatzprodukts | \n5,0 | \n% | \n
\n\n | \nKonzentration des Produkts | \n25,0 | \n% | \n
\n\n | \nTemperatur des Einsatzprodukts | \n40,0 | \n°C | \n
\n\n | \nProdukttemperatur | \n84,6 | \n°C | \n
\n\n | \nBrüdentemperatur | \n80,6 | \n°C | \n
\n\n | \nFüllstand im Separator | \n1,0 | \nM | \n
\n\n | \nSystemdruck | \n50,5 | \nkPa | \n
\n\n | \nDurchfluss des Heizdampfs | \n9,3 | \nkg/min | \n
\n\n | \nTemperatur des Heizdampfs | \n119,9 | \n°C | \n
\n\n | \nHeizdampfdruck | \n194,7 | \nkPa | \n
\n\n | \nLeistung des Wärmeübertragers | \n339,0 | \nkW | \n
\n\n | \nDurchfluss des Kühlwassers | \n208,0 | \nkg/min | \n
\n\n | \nKühlwasser-Eintrittstemperatur | \n25,0 | \n°C | \n
\n\n | \nKühlwasser-Austrittstemperatur | \n46,1 | \n°C | \n
\n\n | \nLeistung des Kondensators | \n307,9 | \nkW | \n
Arbeitspunktwerte der Prozessvariablen des Verdampfersystems.
Parameter | \nBeschreibung | \nWert | \nMaßeinheit | \n
---|---|---|---|
\n\n | \nProdukt Flüssigkeitsdichte*Querschnittsfläche Separator | \n20,0 | \nkg/m | \n
\n\n | \nMasse der Flüssigkeit im Verdampfer | \n20,0 | \nkg | \n
\n\n | \nUmrechnungskonstante Dampfmasse → Druck im Separator | \n4,0 | \nkg/kPa | \n
\n\n | \nWärmekapazität der Lösung im Verdampfer | \n0,07 | \nkW/K(kg/min) | \n
\n\n | \nLatente Wärme der Lösung im Verdampfer | \n38,5 | \nkW/(kg/min) | \n
\n\n | \nLatente Wärme des Heizdampfs | \n36,6 | \nkW/(kg/min) | \n
\n\n | \nProdukt Wärmeübertragungskoeffizient* Wärmeübertragerfläche Kondensator | \n6,84 | \nkW/K | \n
Modellparameter des Verdampfersystems.
Die in Bild 61 dargestellte konventionelle Regelungsstruktur nutzt folgende Stellgrößen-Regelgrößen-Zuordnung: \n
Der Füllstand des Separators muss mit Hilfe eines Reglers stabilisiert werden, da es sich hier um eine integrierende Regelstrecke handelt. In [97] wurden für die Druck- und Konzentrationsregler folgende Reglerparameter (PI-Regler) vorgeschlagen:
\n\n\n
\n\n
Für die Füllstandsregelung wurden in [98] mit Hilfe der SIMC-Einstellregeln folgende Reglerparameter für den Füllstandsregler ermittelt:
\n\n\n
Die starke Verkopplung der Druck- und Konzentrationsregelstrecken zeigt eine RGA-Analyse des im Arbeitspunkt linearisierten Prozessmodells. Die statische RGA-Matrix ergibt sich zu
\nWären die Elemente in der Hauptdiagonale nahe bei Eins (und die in der Nebendiagonale zwangsläufig nahe bei Null), wäre die gewählte Paarung der Stell-und Regelgrößen nahezu frei von Wechselwirkungen. Wären alle Elemente der RGA-Matrix gleich 0,5, läge die denkbar größte Wechselwirkung zwischen den beiden Eingrößenregelkreisen vor. Da die RGA-Werte in der Nähe von 0,5 liegen, kann erwartet werden, dass eine dezentrale PI-Regelung hier einer Mehrgrößenregelung unterlegen ist.
\nBild 62 zeigt die Sprungantworten der Produktkonzentration \n
Sprungantworten des Verdampfersystems.
Für das dynamische Verhalten des Verdampfersystems wurde ein Simulink-Modell entwickelt, das das theoretische Prozessmodell mit Hilfe von Simulink-Blöcken nachbildet. Die Füllstandsregelung wurde in dieses Simulink-Modell aufgenommen. Bild 63 zeigt das zu einem Subsystem zusammengefasste Verdampfermodell.
\nSimulink-Subsystem Verdampfermodell.
Das Subsystem hat als Eingangsgrößen die beiden Stellgrößen Heizdampfdruck \n
Definition von Modellparametern unter “Callbacks/InitFcn”.
Wie in Abschnitt 5.1 beschrieben, kann das Verdampfersystem durch zwei dezentrale PI-Regelungen stabilisiert werden. In Bild 65 ist ein Simulink-Modell für diese Regelungen dargestellt. Für die PI-Regler werden die o. a. Reglerparameter verwendet.
\nSimulink-Modell für die dezentrale PI-Regelung des Verdampfersystems.
Zur Untersuchung des Führungsverhaltens wurden zum Zeitpunkt \n
Führungsverhalten bei dezentraler PI-Regelung des Verdampfers.
Um das Störverhalten zu simulieren, wurden zum Zeitpunkt \n
Störverhalten bei dezentraler PI-Regelung des Verdampfers.
Ein lineares Prozessmodell für das dynamische Verhalten des Verdampfersystems, welches für den Entwurf eines MPC-Reglers benötigt wird, soll durch Systemidentifikation aus Messdaten gewonnen werden. Bild 68 zeigt das Grundprinzip der Identifikation: Die Eingangsgrößen des Prozesses und eines linearen Prozessmodells werden entweder nacheinander (sequenziell) oder gleichzeitig (simultan) mit Testsignalen beaufschlagt. Die Reaktionen der Ausgangsgrößen des Prozesses und des Modells werden aufgezeichnet und miteinander verglichen. Die Parameter des linearen Modells werden dann so bestimmt, dass die Abweichungen zwischen Prozess- und Modellverhalten möglichst gering sind. Ziel ist, dass das Modell mit dem Prozessverhalten “möglichst gut” übereinstimmt.
\nGrundprinzip der Systemidentifikation.
Teilaufgaben der Systemidentifikation sind:
Testsignalplanung (Festlegung der Art und der Parameter des Testsignals),
Durchführung der Experimente und Aufzeichnung der Messergebnisse,
Datenvorverarbeitung,
Auswahl eines Modelltyps und Festlegung der Modellstruktur,
Schätzung der Modellparameter durch Anwendung eines numerischen Regressionsverfahrens,
Modellvalidierung.
Im Unterschied zur Vorgehensweise in der Praxis, bei der die Experimente an einem realen Prozess durchgeführt werden, wird hier das in Abschnitt 5.1 vorgestellte, nichtlineare theoretische Prozessmodell als Ersatz für die reale Verdampferanlage verwendet. Es wird also ein lineares Modell gebildet, das das Verhalten des nichtlinearen Modells in der Umgebung des Arbeitspunktes approximiert (“Model-to-model fit”).
\nDer für das Verdampfersystem später zu entwerfende MPC-Regler soll zwei Stellgrößen (Heizdampfdruck \n
Die PRBS-Signale wurden mit Hilfe des Befehls idinput der System Identification ToolboxTM generiert, für den Heizdampfdruck z. B. mit
\nP100_PRBS = idinput(10000, \'PRBS\', [0.0 0.028], [184.7 204.7]);
\nIn diesem Beispiel werden 10.000 Stützstellen eines PRBS für den Heizdampfdruck mit den Amplitudenwerten 184,7 kPa und 204,7 kPa generiert (der Arbeitspunktwert liegt bei 194,7 kPa). Die Impulslängenverteilung wird über den Vektor Band = [0.0 0.028] festgelegt. Je kleiner der zweite Wert in diesem Vektor, desto länger die Periodendauer des PRBS, und desto breiter der längste im PRBS enthaltene Impuls. Dieser Wert wurde hier so gewählt, dass die längste Impulsdauer im PRBS gleich oder größer ist als die größte Einschwingzeit aller Sprungantworten des Verdampfers. So wird gesichert, dass während der Tests auch stationäre Anlagenzustände auftreten und später die Identifikation der Streckenverstärkungen erleichtert wird. Bild 69 zeigt die generierten PRBS für die Eingangssignale \n
PRBS-Testsignale für das Verdampfersystem.
Bild 70 zeigt das für die virtuellen Anlagentests angepasste Simulink-Modell des Verdampfersystems. Die PRBS-Testsignale \n
Simulink-Modell des Verdampfersystems für virtuelle Anlagentests.
Die Reaktion der Ausgangsgrößen des Verdampfersystems auf diese (simultan aufgegebenen) Testsignale zeigt Bild 71.
\nZeitverläufe der Ausgangssignale des Verdampfersystems nach Erregung mit PRBS-Testsignalen.
Die System Identification ToolboxTM wird durch Eingabe des Befehls ident im Command-Window von MATLAB® gestartet. Es öffnet sich dann das Hauptfenster der Identifikations-App. Das Fenster ist in Bild 72 mit bereits importierten Verdampfer-Messdatensätzen dargestellt.
\nHauptfenster der grafischen Benutzeroberfläche der System Identification ToolboxTM.
Die grafische Benutzeroberfläche ist so organisiert, dass links die Messdatensätze importiert und angezeigt werden können (Data Views). Im mittleren Bereich “Operations” sind die Funktionen der Datenvorverarbeitung (Preprocessing) und der Parameterschätzung von Prozessmodellen (Estimation) über Auswahllisten zugänglich. Im rechten Bereich werden die identifizierten Prozessmodelle abgelegt, und sie können dort validiert werden. Die importierten Messdatensätze können in Arbeitsdaten (Working Data) und Validierungsdaten (Validation Data) geteilt werden. Alternativ ist es möglich, separate Datensätze als Arbeits- und Validierungsdaten zu importieren. Während die Arbeitsdaten für die Modell-Identifikation und Parameterschätzung verwendet werden, werden die Validierungsdaten nicht für die Identifikation herangezogen, sondern für die Validierung der identifizierten Modelle reserviert.
\nDie mit dem weiter oben beschriebenen Simulink-Modell erzeugten (virtuellen) Messdaten werden in die SIT geladen. Nach Aufklappen der Auswahlliste “Import data” und Anwahl von “Time domain data …” öffnet sich hierfür ein “Import Data”-Fenster, in das die Namen der Variablen für die Ein- und Ausgangsgrößen-Datensätze eingetragen werden können. Der voreingestellte Name der Daten “mydata” kann durch den Anwender überschrieben werden (hier:“Verdampfer”). Wichtig ist die Definition der Abtastzeit, mit der die Messdaten aufgezeichnet wurden. Bild 73 zeigt ein Beispiel. Nach Anwahl des Buttons “More” vergrößert sich das “Import Data”-Fenster und es können weitere Eingaben gemacht werden. Der Datenimport muss durch Anwahl des Buttons “Import” gestartet werden.
\n“Import-Data”-Fenster vor und nach Anwahl des “More”-Buttons.
Nach dem Import können die Messreihen innerhalb der SIT angezeigt werden. Dazu muss ein Häkchen in der Checkbox “Time Plot” gesetzt werden. Es öffnet sich ein Fenster (Bild 74), in dem zunächst die Zeitverläufe der ersten Eingangsgröße (\n
Trends (Time Plot) der Eingangsgröße \n\nP\n100\n\n und der Ausgangsgröße X2.
Dem Datenimport folgt die Datenvorverarbeitung. Von den in der Auswahlliste (vgl. Bild 75) angebotenen Möglichkeiten wird hier von “Quick Start” Gebrauch gemacht. “Quick Start” löst eine Folge von Aktionen aus: die Daten werden zentriert (also als Abweichungen von ihrem Arbeitspunktwert bzw. Mittelwert dargestellt) und im Verhältnis 50:50 in Arbeits- und Validierungsdaten geteilt. Der mittelwert-zentrierte Datensatz erhält die Bezeichnung “Verdampferd” (es wird ein “d” an den Namen des Datensatzes für die Rohdaten angehängt) und wird in den Bereich “Data Views” aufgenommen.
\nAuswahlliste für Funktionen der Datenvorverarbeitung.
Bild 76 zeigt das Ergebnis für die Eingangsgröße \n
Trend der Messdaten für \n\nF\n1\n\n und \n\nX\n2\n\n nach Vorverarbeitung mit “Quick Start”.
Andere Funktionen der Datenvorverarbeitung sind hier nicht notwendig, da es sich um “saubere” virtuelle Messdaten und nicht um industrielle Datensätze handelt, bei denen z. B. zunächst Ausreißer und Trends eliminiert oder Datensätze aus verschiedenen Experimenten zusammengeführt werden müssen. Der für die Identifikation bestimmte Datensatz erhält die Bezeichnung “Verdampferde” (zu lesen “Verdampfer_de”, die Endung “de” steht für “data for estimation”), der für die Validierung “Verdampferdv” (zu lesen “Verdampfer_dv”, “dv” für “data for validation”). Beide Datensätze werden sowohl im Bereich “Data Views” angezeigt als auch als “Working Data” bzw. “Validation Data” in die gleichnamigen Boxen der Bereiche “Operations” und “Model Views” aufgenommen.
\nIm nächsten Schritt erfolgt die eigentliche Identifikation eines Modells. Dazu muss zunächst eine Modellklasse ausgewählt und deren Struktur festgelegt werden, bevor die Modellparameter geschätzt werden können. Die Auswahl der Modellklasse erfolgt nach Aufklappen der Auswahlliste “Estimate” (Bild 77). Eine ausführliche Beschreibung der verfügbaren Modellklassen und die Möglichkeiten der Strukturierung findet sich in der Dokumentation der System Identification ToolboxTM [37].
\nAuswahlliste für Modellklassen in der System Identification ToolboxTM.
Für das Verdampferbeispiel wird hier ein zeitkontinuierliches, lineares Zustandsmodell vierter Ordnung gewählt. Die Gleichungen des linearen Zustandsmodells lauten
\nDarin bezeichnen \n
Fenster zur Parametrierung von Zustandsmodellen.
Durch Anwahl des Buttons “Estimate” wird die Parameterschätzung für das Zustandsmodell gestartet. Nach Abschluss der Rechnungen wird das identifizierte Modell mit dem Namen “ss1” in die Modellübersicht auf der rechten Seite des SIT-Hauptfensters aufgenommen.
\nZur Beurteilung der Modellgüte kann das Modell im Bereich der Validierungsdaten (hier zwischen Datensatz 5000 und Datensatz 10.000) mit denselben PRBS-Testsignalen beaufschlagt werden wie der Prozess (bzw. das nichtlineare Verdampfermodell als “Prozessersatz”). Anschließend kann die Reaktion der Ausgangsgrößen des linearen Zustandsmodells mit den Messdaten verglichen werden. Dazu muss rechts unter der Modelltabelle ein Häkchen in der Checkbox “Model Output” gesetzt werden. Es öffnet sich ein Fenster, in dem die Zeitverläufe der mit dem identifizierten linearen Zustandsmodell simulierten Ausgangsgrößen den ursprünglichen Messwerten gegenübergestellt werden. Bild 79 zeigt das für die Ausgangsgröße “Systemdruck”\n
Vergleich von Messdaten und simulierten Daten für den Systemdruck \n\nP\n2\n\n\n.
\n\n
berechnet. Je größer dieser Wert, desto besser die Modellgüte in dieser Hinsicht. Das theoretische Maximum beträgt \n
Unter dem Menüpunkt “Options” kann man auswählen, dass der Vergleich der Messdaten nicht mit den über das Modell simulierten, sondern mit über das Modell vorhergesagten Ausgangsgrößen erfolgt. Im vorliegenden Fall verbessert sich die Modellgüte: der “5 step ahead predicted output” für \n
Trend des Vorhersagefehlers für die Ausgangsgröße \n\nP\n2\n\n\n.
Durch Markieren der Checkbox “Transient response” unter der Modelltabelle im SIT-Hauptfenster können die Einheits-Sprungantworten des linearen Zustandsmodells berechnet und angezeigt werden. Bild 81 zeigt das für den Zusammenhang zwischen \n
Einheits-Sprungantwort des identifizierten linearen Zustandsmodells mit 95%-Vertrauensintervall.
Über “Options/Show 95% confidence intervals” lässt sich der 95%-Vertrauensbereich anzeigen. Das bedeutet, dass mit 95%iger Wahrscheinlichkeit die “wahre” Sprungantwort in dem Bereich liegt, der durch die strichpunktiert dargestellten Grenzen markiert wird. Man erkennt hier, dass insbesondere das statische Verhalten mit einer größeren Unsicherheit geschätzt wurde. (Man könnte daher durch Wahl eines anderen Modelltyps oder besser durch Erzeugung und Verwendung zusätzlicher Messdaten und anschließende Re-Identifikation versuchen, eine Verbesserung der Genauigkeit zu erreichen. Dieser Weg wird jedoch aus Platzgründen hier nicht weiter verfolgt.)
\nNach Abschluss der Identifikation des Prozessmodells kann es aus der Modelltabelle im SIT-Hauptfenster durch “Drag&Drop” in den MATLAB- Arbeitsspeicher verschoben werden. Es steht dann für den MPC-Reglerentwurf zur Verfügung.
\nNach dem Start der MPC Designer App wird das Zustandsmodell des Verdampfersystems (Name “ss1”) importiert. Die Struktur des MPC-Reglers wird so modifiziert, dass die dritte Eingangsgröße des Prozessmodells nicht als manipulierte Variable (MV), sondern als gemessene Störgröße (MD) erscheint. Bild 82 zeigt das Fenster “Define MPC Structure by Importing” nach der Anpassung der MPC-Reglerstruktur. Als Abtastzeit werden vom MPC Designer 4 Zeiteinheiten (hier Minuten) vorgeschlagen. Dieser Wert kann übernommen werden, da die Einschwingzeiten der Streckenspungantworten im Bereich von 120 Minuten liegen. Mit “Define and Import” wird der erste Schritt abgeschlossen.
\nImport des Verdampfer-Modells und Anpassung der MPC-Reglerstruktur.
Es folgt (Schaltfläche “I/O Attributes”) die Definition der Arbeitspunktwerte und der Skalierungsfaktoren, vgl. Bild 83. Begrenzungen der Stellgrößen werden zunächst nicht vorgegeben. Für die Reglereinstellung werden die voreingestellten Positionen der Slider für “Closed Loop Performance” und “State Estimation” verwendet. Auch für die Gewichtsfaktoren werden die voreingestellten Werte akzeptiert. Für die Horizontlängen wurden \n
Definition von Arbeitspunktwerten und Skalierungsfaktoren für den MPC-Regler des Verdampfersystems.
Das MPC-Regelungssystem kann nun innerhalb des MPC Designers simuliert werden, zunächst ohne Plant-Model-Mismatch. Bild 84 zeigt die Definition des Simulationsszenarios für das Führungsverhalten. Es wird eine Simulationsdauer von 200 Minuten gewählt, zum Zeitpunkt \n
Simulations-Szenario für Führungsverhalten bei der MPC-Regelung des Verdampfersystems.
Bild 85 präsentiert die Simulationsergebnisse für das Führungsverhalten des MPC-Regelungssystems.
\nFührungsverhalten des MPC-Regelungssystems (Simulation im MPC Designer).
Man kann ablesen, dass die Ausregelzeiten zwischen 50 Minuten für die Produktkonzentration und 70 Minuten für den Druck liegen (zum Vergleich: mit dezentraler PI-Regelung 200 Minuten für die Konzentration und 100 Minuten für den Druck bei ähnlichen Überschwingweiten! – siehe Bild 66).
\nDie Simulation des Störverhaltens (sprungförmige Störung des Einsatzprodukt-Durchflusses um 1 kg/min bei konstanten Sollwerten für Druck und Konzentration) liefert die in Bild 86 dargestellten Ergebnisse.
\nStörverhalten des MPC-Regelungssystems (Simulation im MPC Designer).
Die Ausregelzeiten liegen hier bei 60 Minuten für die Produktkonzentration (maximale Sollwertabweichung 0,42%) und 80 Minuten für den Druck (maximale Sollwertabweichung 0,3 kPa). Zum Vergleich (siehe Bild 67): mit dezentraler PI-Regelung ergaben sich Ausregelzeiten von 200 Minuten sowohl für den Druck (maximale Sollwertabweichung 1 kPa) als auch für die Konzentration (maximale Sollwertabweichung 4%). Allerdings muss man berücksichtigen, dass bei der MPC-Regelung der Durchfluss des Einsatzprodukts als gemessene Störgröße einbezogen wird. Fair wäre hier ein Vergleich mit einer Störgrößenaufschaltung auf die PI-Regler.
\nTrotzdem kann man sagen, dass die Regelgüte mit MPC-Regelung deutlich besser ist als die mit dezentraler PI-Regelung. Ursache dafür ist die Berücksichtigung der Wechselwirkungen zwischen den physikalischen Größen des Verdampfers über das Mehrgrößen-Modell im MPC-Regler.
\nEin Aufruf der “Review Design”-Funktion unter dem TUNING-Tab der MPC Designer App liefert keine Beanstandungen oder Hinweise, siehe Bild 87.
\n“Review Design” für den MPC-Regler des Verdampfersystems.
Eine Robustheitsuntersuchung soll hier nicht innerhalb der MPC Designer App erfolgen, sondern durch Kombination von MPC-Regler (mit linearem, durch Systemidentifikation gewonnenen Prozessmodell) und nichtlinearem Verdampfermodell in Simulink®. Um eine Simulink-Modell mit dem entworfenen MPC-Regler zu erzeugen, wird das MPC-Regler-Objekt “mpc1” in den MATLAB-Arbeitsspeicher exportiert (TUNING-Tab, Schaltfläche “Export Controller”) und dort in “MPC_Verdampfer” umbenannt.
\nDas Simulink-Modell des MPC-geregelten Verdampfersystems ist in Bild 88 dargestellt. Der MPC-Regler ist durch einen “MPC Controller”-Block realisiert, die Regelstrecke mit dem oben beschriebenen Subsystem “Verdampfer”. Die mv-Ausgänge des MPC-Reglers werden über einen Demultiplexer geführt und mit den Eingängen P100 und F200 des Subsystems der Strecke verbunden. Am Subsystem können die beiden Störgrößeneingange F1 und T1 über “Step”-Bausteine mit Sprungsignalen angeregt werden. Die Ausgänge X2 und P2 stellen die Regelgrößen dar. Sie werden über einen Multiplexer zusammengefasst und dem mo-Eingang des MPC-Regler-bausteins zugeführt. Die Sollwerte für die Regelgrößen können in “Step”-Bausteinen verändert werden. Sie werden ebenfalls zusammengefasst und dem ref-Eingang des MPC Controllers zugeführt. Die Regelgrößen und ihre Sollwerte können in Scopes beobachtet werden. Ein- und Ausgangsgrößen und der Zeitvektor werden über “To Workspace”-Bausteine in den MATLAB-Arbeitsspeicher exportiert
\nSimulink-Modell der MPC-Regelung des Verdampfersystems.
Das Führungsverhalten wird mit dem gleichen Szenario wie oben untersucht: zum Zeitpunkt \n
Führungsverhalten des MPC-Regelungssystems mit nichtlinearem Verdampfermodell.
Die Ausregelzeit liegt sowohl für die Kopfkonzentration als auch für den Druck zwischen 100 … 150 Minuten. Sie sind damit größer als bei der Simulation mit linearem Streckenmodell, aber immer noch geringer als bei der dezentralen PI-Regelung (vgl. Bild 66). Führt man größere Sollwertänderungen durch (z. B. \n
Um das Störverhalten zu untersuchen, wurden wie in Abschnitt 5.1 zum Zeitpunkt \n
Störverhalten des MPC-Regelungssystems mit nichtlinearem Verdampfermodell.
Die Ausregelzeiten betragen 100 … 120 min für die Konzentration und 100 … 150 min für den Druck. Auch beim Störverhalten ergeben sich also Ausregelzeiten, die größer sind als bei der Simulation mit linearem Prozessmodell, jedoch deutlich geringer als bei einer dezentralen PI-Regelung (vgl. Bild 67).
\nVergrößert man die Amplitude der Störgrößenänderung bei \n
Im vorliegenden Abschnitt wird eine LMPC-Regelung für ein Viertanksystem entworfen, bei dem das erforderliche lineare Prozessmodell durch Linearisierung eines vorhandenen theoretischen Modells gewonnen wird. Für die Linearisierung wird Simulink Control DesignTM eingesetzt. Der Entwurf nicht-quadratischer Mehrgrößenregelungen mit einer ungleichen Zahl von Stell- und Regelgrößen und die Untersuchung der Auswirkung von Plant-Model-Mismatch bilden weitere Schwerpunkte dieses Kapitels.
\nIn [99] wird eine Versuchsanlage beschrieben, die inzwischen weltweit in einer Reihe von Universitäten und Hochschulen für die regelungstechnische Ausbildung eingesetzt wird. Bild 91 zeigt ein vereinfachtes Fließbild des Prozesses.
\nVereinfachtes Fließbild eines Viertanksystems.
Das Viertanksystem besteht aus einer Vorlage, vier Tanks und zwei Pumpen. Mit zwei Dreiwegeventilen lässt sich einstellen, welcher Anteil der von den Pumpen geförderten Volumenströme in die oberen bzw. unteren Tanks fließt. Stellgrößen sind die Pumpleistungen, ausgedrückt durch die elektrischen Spannungen \n
Darin bedeuten \n
Tabelle 19 listet die Modellparameter auf.
\nParameter | \nWert | \nMaßeinheit | \n
---|---|---|
\n\n | \n28 | \ncm2 | \n
\n\n | \n32 | \ncm2 | \n
\n\n | \n0,071 | \ncm2 | \n
\n\n | \n0,057 | \ncm2 | \n
\n\n | \n0,5 | \nV/cm | \n
\n\n | \n(3,33;3,35) | \n(cm3/s)/V | \n
\n\n | \n981 | \ncm/s2 | \n
Modellparameter des Viertanksystems.
Es sollen zwei Arbeitspunkte AP1 und AP2 betrachtet werden, von denen AP1 Minimalphasen- und AP2 Nichtminimalphasen-Charakteristik aufweist. Die Arbeitspunktwerte der Variablen sind in Tabelle 20 aufgelistet. Die stationären Werte für die Füllstände \n
Variablen | \nMaßeinheit | \nAP1 | \nAP2 | \n
---|---|---|---|
\n\n | \ncm | \n(12.263;12.783) | \n(12.076;13.023) | \n
\n\n | \ncm | \n(1634;1409) | \n(4448;5087) | \n
\n\n | \nV | \n(3,0;3,0) | \n(3,0;3,0) | \n
\n\n | \n- | \n(0,7;0,6) | \n(0,43;0,34) | \n
Arbeitspunktwerte der Variablen des Viertanksystems.
In MATLAB® kann man das nichtlineare Optimierungsproblem ohne Nebenbedingungen mit Hilfe der Funktion fminsearch lösen. In den beiden Kästen sind das Hauptprogramm und das Unterprogramm zur Lösung dieser Optimierungsaufgabe angegeben. Im Hauptprogramm werden die Startwerte für die unabhängigen Variablen vorgegeben und die Optimierungsroutine aufgerufen. Die Definition globaler Variablen ermöglicht die einfache Umstellung auf die Berechnung anderer Arbeitspunktwerte. Im Unterprogramm “viertank_stat_AP” werden die rechten Seiten des Differenzialgleichungssystems \n
Eine andere Möglichkeit zur Bestimmung der Arbeitspunkwerte besteht darin, die Trim-Funktion des “Linear Analysis Tools” in Simulink® zu verwenden. Diese Variante wird in Abschnitt 6.2 näher erläutert.
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n | \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n | \n
Die in Tabelle 20 aufgelisteten Ergebnisse weichen nur geringfügig von denen ab, die in [99] angegeben wurden.
\nDefiniert man neue Variable als Abweichungen der physikalischen Größen von ihren Arbeitspunktwerten, ergeben sich als Zustandsgrößen \n
mit dem Zustandsvektor \n
Die in der Zustandsmatrix \n
Sie sind umso größer, je größer das Verhältnis der Querschnitte der Tanks und der Auslassöffnung ist. Aus dem linearen Zustandsmodell ergibt sich die Matrix der Übertragungsfunktionen zu
\nmit den Konstanten \n
und
\nDie Teil-Übertragungsfunktionen \n
Die Übertragungsfunktionsmatrix \n
gilt. Nicht-Minimalphasigkeit liegt hingegen vor, wenn
\nist. Für Arbeitspunkt AP1 ergibt sich \n
Die RGA-Matrix(Relative Gain Array) des Viertanksystems ergibt sich zu
\nmit \n
Die Einheits-Sprungantworten der Übertragungsfunktionsmatrix des Viertanksystems sind für beide Arbeitspunkte in Bild 92 dargestellt (oberen Zeile: Füllstand im Tank 1, untere Zeile: Füllstand im Tank 2; blau: Arbeitspunkt 1, rot: Arbeitspunkt 2; linke Spalte: sprungförmige Erhöhung der Leistung Pumpe 1, rechte Spalte: sprungförmige Erhöhung der Leistung Pumpe 2).
\nEinheits-Sprungantworten des linearisierten Modells des Viertanksystems.
Ein Simulink-Modell des Viertanksystems zeigt Bild 93. In den Function-Blöcken sind die rechten Seiten des nichtlinearen Zustands-Differenzialgleichungssystems hinterlegt. Deren Ausgänge werden integriert und liefern die Füllstände \n
die Zahlenwerte der Modellparameter können explizit in den Function-Bausteinen f(u) angegeben werden,
die Zahlenwerte können im MATLAB-Arbeitsspeicher hinterlegt werden (Definition im Command-Window oder in einem separaten Script-File),
die Zahlenwerte können im Simulink-Modell unter “Model Properties/Callbacks/InitFcn” definiert werden (ein Beispiel dafür findet sich in Abschnitt 5.1).
Simulink-Modell des Viertanksystems.
Bild 94 zeigt die Unterschiede zwischen den Sprungantworten des linearisierten Systems \n
Sprungantworten des nichtlinearen und des linearisierten Modells des Viertanksystems.
Es sind die Zeitverläufe der gemessenen Füllstände \n
Um die Übersichtlichkeit zu erhöhen, kann das Simulink-Modell zu einem Subsystem mit den Eingangsgrößen \n
Zusammenfassung des Simulink-Modells des Viertanksystems zu einem Subsystem.
Das Subsystem hat danach das in Bild 96 dargestellte Aussehen.
\nSubsystem Viertanksystem.
Wie bereits in Abschnitt 6.1 erwähnt, kann die Bestimmung eines Arbeitspunkts für das Viertanksystem auch unter Simulink® erfolgen. Dazu wählt man unter dem Menüpunkt “Analysis” die Option “Control Design/Linear Analysis” und startet so das “Linear Analysis Tool” in Simulink Control DesignTM (Bild 97).
\nAufruf des Linear Analysis Tools aus dem Simulink-Modell des Viertanksystems.
Unter dem Reiter “LINEAR ANALYSIS” findet man in der Mitte den “Operating Point” (Arbeitspunkt). Angezeigt wird zunächst “Model Initial Condition”. Um einen neuen Arbeitspunkt zu bestimmen, klappt man die “Operating Point”-Auswahlliste auf und wählt die Option “Trim Model …” (Bild 98). Es öffnet sich dann ein Fenster, in dem Spezifikationen für die Bestimmung des Arbeitspunkts vorgegeben werden können (Bild 99). Das Fenster ist in drei Reiter gegliedert, unter denen Vorgaben für Zustandsgrößen (States), Eingangsgrößen (Inputs) und Ausgangsgrößen (Outputs) des Simulink-Modells gemacht werden können.
\nAnwahl von “Trim Model” zur Bestimmung eines Arbeitspunkts für das Viertanksystem.
Vorgabe von Spezifikationen für die Zustandsgrößen bei der Bestimmung des Arbeitspunktes.
Hier soll angenommen werden, dass der Arbeitspunkt für vorgegebene Werte der Eingangsgrößen \n
Vorgabe von Spezifikationen für die Eingangsgrößen.
Der neue Arbeitspunkt wird im “Linear Analysis Workspace” des Linear Analysis Tools unter dem Namen “op_trim1” eingereiht (Bild 101).
\nAnzeige des neu bestimmten Arbeitspunkts.
Durch Doppelklick auf den Arbeitspunkt “op_trim1” kann man das Trim-Fenster wieder öffnen und die Zustands- und Ausgangsgrößen ablesen, die sich im stationären Zustand für die gewählten Werte der Eingangsgrößen einstellen (Bild 102 und Bild 103).
\nZustandsgrößen im Arbeitspunkt 1 des Viertanksystems.
Ausgangsgrößen im Arbeitspunkt 1 des Viertanksystems.
In Bild 102 werden nicht nur die Arbeitspunktwerte für die Füllstände angezeigt (die im Übrigen mit denen identisch sind, die in Abschnitt 6.1 bestimmt wurden), sondern auch die Werte der rechten Seiten des Zustands-Differenzialgleichungssystems. Die hier angezeigten Werte bewegen sich in der Größenordnung von \n
In [99] wurde die Linearisierung des Systems der nichtlinearen Zustands-Differenzialgleichungen durch rechnerische Bildung der partiellen Ableitungen der rechten Seiten nach den Füllständen (Zustandsgrößen) und Pumpenspannungen (Eingangsgrößen) durchgeführt. Das Werkzeug Simulink Control DesignTM ermöglicht alternativ eine Linearisierung, wenn ein Simulink-Modell des Systems, wie in Bild 93 dargestellt, vorliegt. Bild 104 zeigt das Simulink-Modell des Viertanksystems als Subsystem mit den Pumpenleistungen als Eingangs, und den Füllständen der Tanks als Ausgangsgrößen. Hier sind die beiden Eingangsgrößen \n
Simulink-Subsystem des nichtlinearen Modells des Viertanksystems.
Das linearisierte dynamische Modell soll ebenfalls die Eingangsgrößen \n
Setzen von “Linear Analysis Points”.
Wie in Bild Bild 106 gezeigt, werden die “Linear Analysis Points” durch Symbole an den Signallinien gekennzeichnet.
\nSubsystem mit “Linear Analysis Points”.
Anschließend muss das “Linear Analysis Tool” geöffnet werden. Dazu muss man in der Menüzeile des Simulink-Modells unter “Analysis” die Option “Control Design/Linear Analysis …” anwählen (Bild 107).
\nZugriff auf das “Linear Analysis Tool”.
Es öffnet sich dann ein neues Fenster “Linear Analysis Tool” mit dem Namen des Simulink-Modells (hier “Dynamik_Viertanksystem_AP1_Subsystem”, Bild 108)
\nFenster “Linear Analysis Tool”.
Die Voreinstellungen für die Linearisierung sind in der zweiten Spalte “SETUP” im oberen Teil des Fensters zu erkennen: Für die Ein- und Ausgangsgrößen (Analysis I/Os) sind “Model I/Os” angegeben, das bedeutet, dass die im Simulink-Modell gewählten “Linear Analysis Points” verwendet werden. Als Arbeitspunkt (Operating Point) ist “Model Initial Condition” angegeben: es werden die in den Integratoren angegebenen Anfangsbedingungen als Arbeitspunktwerte aufgefasst. Schließlich sind keine Parameteränderungen (“Parameter variations”) vorgesehen. Der Anwender kann hier nach Bedarf Anpassungen vornehmen, z. B. einen anderen Arbeitspunkt bestimmen und verwenden. Die Linearisierung wird gestartet, indem man in der Sektion “LINEARIZE” eine der aufgelisteten Darstellungen anwählt, zum Beispiel “Step”. Nach der Linearisierung werden dann die Einheitssprungantworten des linearisierten Systems angezeigt. Das linearisierte System selbst wird unter “Linear Analysis Workspace” auf der linken Seite des Fensters eingereiht. Bild 109 zeigt das Ergebnis für das Simulink-Modell des Viertanksystems. Der Name des linearisierten Systems “linsys1” wird durch das Tool vergeben und kann durch den Anwender verändert werden. Es wird zunächst in der Form eines linearen Zustandsmodells mit 2 Ein- und 2 Ausgangsgrößen (2x2 ss) angegeben.
\nLinearisierung des Viertanksystems.
Man kann das linearisierte Zustandsmodell “linsys1” in den MATLAB-Arbeitsspeicher kopieren und dort weiter bearbeiten. Dazu muss die Variable linsys1 im “Linear Analysis Workspace” markiert werden, nach Rechtsklick “Copy” gewählt und im Bereich “MATLAB Workspace” mit “Paste” eingefügt werden. Das System “linsys1” ist tatsächlich identisch mit der Übertragungsfunktionsmatrix \n
\n \n \n \n | \n
Sie stimmen mit denen der Übertragungsfunktionsmatrix \n
Bevor eine MPC-Regelung entworfen wird, soll in diesem Abschnitt zunächst eine dezentrale PI-Regelung untersucht werden. Dabei werden die Füllstände in den Tanks 1 und 2 durch zwei PI-Eingrößenregelungen stabilisiert, die sich allerdings über die in der Mehrgrößen-Regelstrecke vorhandenen Kopplungen zwischen den Stell- und Regelgrößen gegenseitig beeinflussen. Bild 110 zeigt das Prinzip.
\nDezentrale PI-Regelung des Viertanksystems.
Für den Arbeitspunkt 1 wurden in [99] günstige Reglerparameter für die beiden Füllstandsregler angegeben:
PI-Regler für Füllstand \n PI-Regler für Füllstand \n | \n
Mit diesen Reglerparametern wurde das Führungsverhalten der Füllstandsregelungen simuliert. Bild 111 zeigt das zugehörige Simulink-Modell, hier mit dem linearisierten Streckenmodell \n
Simulink-Modell für die PI-Füllstandsregelungen am Viertanksystem.
Zum Zeitpunkt \n
Führungsverhalten der PI-Regelung des Viertanksystems, Arbeitspunkt 1 (orange: nichtlineares System, grün: lineares System).
Wie man sieht, sind die Unterschiede zwischen der Simulation mit dem linearisierten und dem nichtlinearen Streckenmodell sehr gering. Die Ausregelzeiten liegen zwischen 100 und 150 Sekunden, die Überschwingweiten bei ca. 10%.
\nFür den Arbeitspunkt 2 wurden in [99] folgende, durch manuelles Tuning gefundenen Reglerparameter angegeben:
PI-Regler für Füllstand \n PI-Regler für Füllstand \n | \n
Man beachte die negative Reglerverstärkung beim PI-Regler für Füllstand 2, d. h. eine Änderung des Wirkungssinns von “invertierend” auf “direkt”. Diese für den unerfahrenen Anwender nicht offensichtliche, aber notwendige Änderung hängt mit dem nichtminimalen Phasenverhalten des Mehrgrößensystems im Arbeitspunkt 2 zusammen. Bild 113 zeigt die Ergebnisse der Simulation des Führungsverhaltens für diesen Fall. Auch hier sind die Unterschiede zwischen der Simulation mit dem linearisierten und dem nichtlinearen Streckenmodell gering. Auffällig ist aber die deutlich langsamere Regelkreisdynamik (man beachte die Skalierung der Zeitachse!), die sich in Ausregelzeiten von 2000 bis 3000 (!) Sekunden äußert. Das ist zehnmal langsamer als im Arbeitspunkt 1. Erkennbar ist auch eine viel stärkere Abweichung des Füllstands im Tank 2 von seinem Sollwert, wenn der Sollwert für den Füllstand im Tank 1 verändert wird. Schließlich zeigt sich auch ein “Inverse-Response”-Verhalten bei Regelgröße \n
Führungsverhalten der PI-Regelung des Viertanksystems, Arbeitspunkt 2 (orange: nichtlineares System, grün: lineares System).
Zunächst soll eine MPC-Regelung für den Arbeitspunkt 1 des Viertanksystems entworfen werden. Dazu wird die MPC Designer App gestartet und das linearisierte Modell des Viertanksystems importiert (LTI-Objekt “Viertanksystem_AP1”). Die Struktur der MPC-Regelung ist durch zwei manipulierte Variable (MV) und zwei Regelgrößen (gemessene Ausgangsgrößen, MO) gekennzeichnet, gemessene und nicht gemessene Störgrößen sind nicht vorhanden. Als Abtastzeit werden 10 Sekunden gewählt. Das ergibt sich aus der größten Einschwingzeit der Teil-Regelstrecken, die bei 400 … 500 s liegt (vgl. Bild 92). Bild 114 zeigt das Fenster “Define MPC Structure by Importing”. Danach werden Maßeinheiten, Arbeitspunktwerte und Skalierungsfaktoren für die Ein- und Ausgangsgrößen vorgegeben (I/O Attributes im MPC Designer Hauptfenster, Fenster “Input and Output Channel Specifications”). Bild 115 zeigt die für das Viertanksystem gewählten Werte.
\nMPC-Struktur für die Regelung des Viertanksystems (Arbeitspunkt 1).
Spezifikationen für die Ein- und Ausgangsgrößen des Viertanksystems.
Um das Führungsverhalten mit MPC-Regler zu simulieren, wird ein Simulations-Szenario vorgegeben, das dem im Abschnitt 6.4 ähnelt: der Sollwert für den Füllstand im Tank 1 wird zum Zeitpunkt \n
Simulations-Szenario für das Führungsverhalten bei der MPC-Regelung des Viertanksystems (Arbeitspunkt 1).
Bild 117 zeigt die Simulationsergebnisse für die voreingestellte “Closed-Loop Performance” (mittlere Stellung des Sliders unter dem TUNING-Tab der MPC Designer App). Für die Horizontlängen wurden \n
Führungsverhalten der MPC-Regelung des Viertanksystems im Arbeitspunkt 1.
Gegenüber der dezentralen PI-Regelung (vgl. Bild 112) ist eine deutliche Verbesserung der Regelgüte zu erkennen: die Ausregelzeiten liegen bei 70 Sekunden (PI-Regelung 100 bis 150 Sekunden); gleichzeitig haben sich die Überschwingweiten verringert. Die Wechselwirkungen zwischen den Größen sind deutlich kleiner: ändert man zum Beispiel den Sollwert bei Regelgröße 1, hat das eine nur geringe Abweichung der Regelgröße 2 von ihrem (konstanten) Sollwert zur Folge.
\nNoch wesentlich deutlicher sind die Verbesserungen der Regelgüte mit MPC-Regler im Arbeitspunkt 2. Bild 118 zeigt die Simulationsergebnisse für das Führungsverhalten für ein ähnliches Szenario: im Unterschied zu vorher wurde hier der Sollwert für den Füllstand im Tank 2 erst zum Zeitpunkt \n
Führungsverhalten der MPC-Regelung des Viertanksystems im Arbeitspunkt 2.
Am Beispiel des Viertanksystems (Arbeitspunkt 1) soll nun untersucht werden, wie MPC-Regelungssysteme arbeiten und parametriert werden können, wenn die Zahl der Stell- und Regelgrößen nicht gleich groß ist, also ein nicht-quadratisches Mehrgrößensystem vorliegt. Zunächst soll der Fall betrachtet werden, bei dem mehr Stellgrößen als Regelgrößen vorhanden sind (\n
Gewichtsfaktoren für den Fall \n\n\nn\nu\n\n>\n\nn\ny\n\n\n ohne Targets für Stellgrößen.
In Bild 120 sind die Simulationsergebnisse dargestellt.
\nFührungsverhalten im Fall \n\n\nn\nu\n\n>\n\nn\ny\n\n\n, keine Stellgrößen-Targets.
Die Sollwertänderung für den Füllstand im Tank 1 zum Zeitpunkt \n
Da eine “überschüssige Stellgröße” vorhanden ist, kann man entweder für \n
Gewichtsfaktoren für den Fall \n\n\nn\nu\n\n>\n\nn\ny\n\n\n mit Target für Stellgröße 1.
In Bild 122 sind die zugehörigen Simulationsergebnisse dargestellt.
\nFührungsverhalten im Fall \n\n\nn\nu\n\n>\n\nn\ny\n\n\n, \n\n\nu\n\n1\n,\ntarget\n\n\n=\n2\n\n\n.
Es ist zu erkennen, dass MV1 auf sein Target \n
Um die Regelung des Viertanksystems für den Fall \n
Es sollen dann die Füllstande in den Tanks 1 und 2 mit nur einer Stellgröße (Pumpe 1) geregelt werden. Bild 123 zeigt wiederum die Simulationsergebnisse für das Führungsverhalten. Es wurden dieselben Einstellungen (Skalierungsfaktoren, Gewichte, Simulations-Szenario) wie vorher gewählt.
\nFührungsverhalten im Fall \n\n\nn\nu\n\n<\n\nn\ny\n\n\n\n.
Man sieht, dass es unmöglich ist, mit nur einer Stellgröße beide Füllstände auf ihren Sollwerten zu halten. Es treten bleibende Regeldifferenzen bei beiden Regelgrößen auf. Allerdings kann man den Betrag der Regeldifferenzen durch Wahl anderer Gewichte für die Regelgrößen beeinflussen. Bild 124 zeigt die Ergebnisse für den Fall, dass für Regelgröße \n
Führungsverhalten im Fall \n\n\nn\nu\n\n<\n\nn\ny\n\n\n, stärkere Gewichtung der Regelgröße \n\n\ny\n1\n\n\n\n.
Die Folge davon ist, dass sich die bleibende Regeldifferenz bei Regelgröße \n
Bei allen oben gezeigten Simulationsergebnissen wurde angenommen, dass der MPC-Regler über eine exakte Kenntnis des realen Prozessverhaltens verfügt. Das reglerintern verwendete Prozessmodell war in jedem Fall identisch mit dem Modell, das für die Simulation des Streckenverhaltens im geschlossenen Regelkreis verwendet wurde. Um in der Praxis immer auftretende Unterschiede zwischen Modell und realem Prozessverhalten zu untersuchen, kann man innerhalb der MPC Designer App Unterschiede zwischen diesen beiden (linearen!) Modellen generieren und das Verhalten bei Plant-Model-Mismatch simulieren. Dazu muss zunächst ein vom Nominalmodell abweichendes Prozessmodell generiert werden. Im Folgenden werden die Streckenverstärkungen des Nominalmodells verändert. Wenn das Nominalmodell des Viertanksystems (Arbeitspunkt 1) mit
\ngeneriert wurde, kann man ein abweichendes Modell z. B. durch
\n \n \n \n \n | \n
Viertanksystem_AP1_modif = [G11*1.3 G12*0.7; G21*0.8 G22*1.2];
\ndefinieren, wenn man nur die Streckenverstärkungen modifizieren möchte (z. B. bei \n
Vergleich der Sprungantworten des exakten (blau) und des modifizierten (rot) Prozessmodells.
Das modifizierte Modell kann nun in der MPC Designer App importiert werden (Tab MPC DESIGNER/Import Plant). Das modifizierte Modell muss aus der Liste der angezeigten LTI-Objekte ausgewählt und durch Klicken auf den “Import”-Button geladen werden (Bild 126).
\nImportieren des modifizierten Prozessmodells.
Es wird danach im Data Browser der MPC Designer App aufgelistet. Nun kann ein zweites Simulations-Szenario definiert werden, das sich vom ersten durch die Verwendung des modifizierten Prozessmodells unterscheidet. Dazu doppelklickt man im Data Browser unter “Scenarios” auf “scenario1” und ändert den Namen des Szenarios z. B. auf “exakt”. Anschließend erzeugt man nach Klicken der rechten Maustaste eine Kopie dieses Szenarios und ändert dessen Namen z. B. auf “modifiziert”. Das Szenario mit dem Namen “modifiziert” muss nun editiert werden (Anwählen/Rechte Maustaste/Edit). In dem sich öffnenden Fenster wird in der ersten Zeile “Plant used in simulation” das Modell “Viertanksystem_AP1_modif” ausgewählt (Bild 127) und die Auswahl mit “OK” bestätigt.
\nAuswahl des modifizierten Prozessmodells für das neue Simulations-Szenario.
Die Simulationsergebnisse für das erste Szenario “exakt” werden bereits angezeigt. Um die Ergebnisse für das zweite Szenario zu sehen, muss man unter dem Tab MPC DESIGNER auf die Schaltfläche “Plot Scenario” klicken und das Szenario “modifiziert” auswählen. Es werden im Bereich der Simulationsgrafiken zwei neue Tabs erzeugt, die die Ergebnisse der Simulation für das zweite Szenario präsentieren (Bild 128). Durch Umschaltung der Szenarien lassen sich die Ergebnisse miteinander vergleichen. Im vorliegenden Fall ergibt sich, dass sich Überschwingweiten und Ausregelzeiten bei Plant-Model-Mismatch erhöhen. Trotzdem ist das MPC-Regelungssystem vergleichsweise robust gegenüber Änderungen der Streckenverstärkungen.
\nVergleich von zwei Simulationsszenarien (links “exakt”, rechts “modifiziert”).
Wenn der Entwurf des MPC-Reglers abgeschlossen ist, kann man ihn nach Anwahl der Schaltfläche “Export Controller” unter dem Tab MPC DESIGNER in den MATLAB-Arbeitsspeicher exportieren. Dabei ist es möglich, den voreingestellten Namen des MPC-Reglers zu überschreiben (hier mit “ViertankMPC”, siehe Bild 129).
\nExport des MPC-Reglers in den MATLAB-Arbeitsspeicher.
Der MPC-Regler kann nun zum Beispiel in einem Simulink-Modell weiterverwendet werden.
\nIm vorhergehenden Abschnitt wurde gezeigt, wie das MPC-Regelungssystem innerhalb der MPC Designer App simuliert werden kann. Das Regelstrecken-Modell war bei dieser Simulation zunächst identisch mit dem Modell, das im MPC-Regler selbst Verwendung findet. Plant-Model-Mismatch kann man im MPC Designer untersuchen, wenn man gezielt ein vom Nominalmodell abweichendes, lineares Streckenmodell für die Prozesssimulation verwendet. Reglerinternes Prozessmodell und Strecken-Simulationsmodell sind dann verschieden voneinander, aber beides sind lineare Modelle. In Simulink® kann man einen Schritt weiter gehen und den MPC-Regler (mit reglerinternem linearem Prozessmodell) mit einem nichtlinearen Streckenmodell kombinieren. Damit verwirklicht man ein realistischeres Szenario für die Untersuchung der Robustheit der LMPC-Regelung. Bild 130 veranschaulicht die Alternativen.
\nVerschiedene Varianten der Simulation des MPC-Regelungssystems.
In Bild 131 ist ein Simulink-Modell für die zuletzt angegebene Version dargestellt. Kern des Modells sind ein Block “MPC Controller” aus dem Bereich “Model Predictive Control Toolbox” der Simulink Library Browsers und das in Abschnitt 6.3 beschriebene Subsystem, das das nichtlineare Prozessmodell des Viertanksystems enthält (vgl. Bild 106). Hinzu kommen Scope-Bausteine für die Beobachtung der simulierten Zeitverläufe für die Stell- und Regelgrößen sowie Step-Bausteine zur Generierung von Sollwertsprüngen.
\nSimulink-Modell des MPC-Regelungssystems für das Viertanksystem.
Die Modellparameter aus Tabelle 19 können im Simulink-Modell selbst hinterlegt werden. Dazu klickt man mit der rechten Maustaste in den Simulink-Plan und wählt unten die Option “Model Properties” (Bild 132)
\nAnwahl der Option “Model Properties” im Simulink-Modell.
Im sich öffnenden Fenster “Model Properties” wählt man unter dem Reiter “Callbacks” die Option “InitFcn” und gibt auf der rechten Seite MATLAB-Befehle ein, die die Werte der Modellparameter definieren (Bild 133). Die Eingabe muss mit “Apply/OK” bestätigt werden.
\nDefinition der Modellparameter unter “Model Properties”.
Ein Doppelklick auf den Baustein “MPC Controller” öffnet die Eingabemaske für die Parametrierung des MPC-Reglers (Bild 134). Hier muss der Name des MPC-Bausteins (hier “ViertankMPC”) eingeben werden, mit dem die Simulation erfolgen soll. Das entsprechende Objekt muss natürlich im MATLAB-Arbeitsspeicher vorhanden sein.
\nEingabemaske für den Baustein “MPC Controller”.
Alle anderen Eingaben sind optional. Hier wurde der an sich beim MPC-Baustein vorgesehene Eingangsport für die messbaren Störgrößen (MD) abgewählt (d. h. das Häkchen bei “Measured disturbance (md)” entfernt, weil solche Größen beim Viertanksystem nicht vorhanden sind. Die Bedeutung anderer Blockoptionen ist im Referenz-Handbuch [36] unter “Block References” erläutert. Sie werden im vorliegenden Beispiel nicht benötigt.
\nEs wurde ein Simulations-Szenario ähnlich dem in Abschnitt 6.5 gewählt: Zum Zeitpunkt \n
Führungsverhalten der MPC-Regelung des Viertanksystems (Arbeitspunkt 1).
Ein Vergleich mit den Simulationsergebnissen, die mit dem linearen Streckenmodell erzielt wurden (vgl. Bild 117), zeigt nur geringe Abweichungen. Das bestätigt noch einmal, dass das nichtlineare Modell des Viertanksystems durch das linearisierte Modell zumindest für diesen Arbeitsbereich sehr gut approximiert wird.
\nGegenstand dieses Kapitels sind der Entwurf und die Simulation einer adaptiven MPC-Regelung für einen kontinuierlichen Rührkesselreaktor mit stark nichtlinearem Verhalten. Das Prozessmodell wird unter Nutzung gemessener Prozessgrößen fortlaufend an das sich ändernde statische und dynamische Verhalten des Reaktors angepasst. Hierfür werden Verfahren der rekursiven Regression aus der System Identification ToolboxTM angewendet. Für die Simulation des Regelungssystems werden spezielle Simulink-Funktionsbausteine aus der MPC Toolbox und der System Identification Toolbox verwendet.
\nKontinuierliche Rührkesselreaktoren (Continuous Stirred-Tank Reactors, CSTR) haben in der chemischen Industrie eine große Verbreitung. Ein einfaches Modell für das dynamische Verhalten eines nicht-isothermen CSTR findet sich in [21, 100]. Es wird in modifizierter Form auch als Simulink-Modell in der Model Predictive Control ToolboxTM angeboten [34].
\nEin vereinfachtes technologisches Schema eines solchen Reaktors ist in Bild 136 dargestellt.
\nTechnologisches Schema eines kontinuierlichen Rührkesselreaktors.
Der zulaufende Volumenstrom \n
Es wird angenommen, das eine einfache exotherme Reaktion \n
mit \n
Darin bezeichnen \n
Um die Modellbildung zu erleichtern, werden weitere vereinfachende Annahmen getroffen:
Die Dichten \n
Die Wärmekapazität des Kühlmittels und der Kühlschlangen sind gegenüber der Wärmekapazität des Reaktors vernachlässigbar.
Die Kühlmitteltemperatur wird in der gesamten Kühlschlange als konstant betrachtet.
Wärmeverluste an die Umgebung werden ebenso vernachlässigt wie Enthalpieänderungen durch den Mischprozess.
Das theoretische Modell des CSTR wird durch Aufstellung der Massen- bzw. Volumenbilanz für die Komponente A und der Energiebilanz gewonnen. Die Molbilanz für A ergibt sich zu
\nDabei beschreibt der erste Term auf der rechten Seite die Differenz zwischen dem zufließenden und abfließenden Strom der Komponente A, der zweite Term den Verbrauch an Komponente A durch die chemische Reaktion.
\nDie Energiebilanz lautet
\nHier beschreiben die ersten beiden Terme auf der rechten Seite den Wärmetransport über die Zulauf- und Produktströme sowie die Wärmeübertragung zwischen Reaktor und Kühlschlange. Der dritte Term widerspiegelt die Wärmeproduktion durch die exotherme Reaktion. In dieser Gleichung bezeichnen \n
Das Modell lässt sich auch als nichtlineares Differenzialgleichungssystem für die Konzentration A und die Temperatur schreiben:
\nIn Tabelle 21 sind die Werte der Modellparameter und der Eingangsgrößen des CSTR aufgelistet. Sie wurden dem Simulink-Modell “mpc_cstr_plant.slx” entnommen, dass Bestandteil der MPC Toolbox ist und auf das in [34] Bezug genommen wird. (Es sei angemerkt, dass man in der Fachliteratur, im Internet und auch auf den MathWorks-Webseiten dasselbe CSTR-Grundmodell mit verschiedenen Werten der Modellparameter findet, aus denen sich dann auch verschiedene Arbeitspunktwerte und unterschiedliche Streckendynamiken ergeben.)
\nParameter | \nWert | \nVariable | \nWert | \n
---|---|---|---|
\n\n | \n1 m3 | \n\n\n | \n10 kgmol/m3 | \n
\n\n | \n0,3 h−1 | \n\n\n | \n298,15 K | \n
\n\n | \n11,92 m3K/kgmol | \n\n\n | \n298,15 K | \n
\n\n | \n5963,6 K | \n\n | \n |
\n\n | \n3,49308×107 h−1 | \n\n | \n |
\n\n | \n1 m3/h | \n\n | \n |
Modellparameter und Eingangsgrößenwerte für den Rührkesselreaktor.
Die Arbeitspunktwerte für die Produktkonzentration und die Reaktortemperatur können durch Nullsetzen der Ableitungen auf der linken Seite des Differenzialgleichungssystems und Lösung des entstehenden nichtlinearen (algebraischen) Gleichungsystems bestimmt werden. Man kann zeigen, dass dieses Gleichungssystem für drei physikalisch sinnvolle Kombinationen von Produktkonzentration und die Reaktortemperatur erfüllt ist. Am besten lässt sich das erklären, wenn man in einem Diagramm die Wärmeverlustgerade und die Wärmeerzeugungskurve der Energiebilanz einzeichnet. Dazu wird zunächst die Molbilanz im stationären Zustand
\nbetrachtet. Durch Auflösung nach \n
Die stationäre Wärmebilanz ergibt sich dann zu
\nDie ersten beiden Terme beschreiben die Wärmeabfuhr, der dritte die Wärmeerzeugung. Stellt man Wärmeabfuhr und -erzeugung in einem Wärme-Temperatur-Diagramm dar, ergibt sich das in Bild 137 gezeigte Verhalten.
\nArbeitspunkte des kontinuierlichen Rührkesselreaktors (rot: Wärmeabfuhr, blau: Wärmeerzeugung).
Die Wärmeabfuhrgerade und die Wärmerzeugungskurve schneiden sich in drei Punkten, in denen die stationäre Wärmebilanz zu Null erfüllt ist. Die Arbeitspunktwerte sind im Bild durch schwarze Kreise gekennzeichnet. Durch numerische Lösung des nichtlinearen Gleichungssystems mit verschiedenen Startwerten lassen sie sich zahlenmäßig bestimmen, siehe Tabelle 22.
\n\n | Temperatur T | \nKonzentration cA | \n
---|---|---|
Arbeitspunkt 1 (stabil) | \n311,2638 K (38,1138°C) | \n8,5698 kgmol/m3 | \n
Arbeitspunkt 2 (instabil) | \n339,5233 K (66,3733°C) | \n5,4878 kgmol/m3 | \n
Arbeitspunkt 3 (stabil) | \n368,0585 K (94.9085°C) | \n2,3758 kgmol/m3 | \n
Arbeitspunktwerte des kontinuierlichen Rührkesselreaktors.
Der mittlere Arbeitspunkt ist instabil: steigt die Temperatur über 66,37°C, ist die Wärmeerzeugung größer als die Wärmeabfuhr, die Temperatur steigt also weiter an. Ist hingegen die Temperatur geringer als 66,37°C, ist die Wärmeerzeugung kleiner als die Wärmeabfuhr, die Reaktortempertur fällt weiter ab. Mit einer ähnlichen Argumentation lässt sich zeigen, dass die beiden anderen Arbeitspunkte stabil sind.
\nUm das dynamische Verhalten des CSTR untersuchen zu können und die Streckendynamik zu simulieren, wurde das Simulink-Modell “mpc_cstr_plant.slx” in die MPC Toolbox aufgenommen. Das CSTR-Subsystem ist in Bild 138 dargestellt.
\nSimulink-Subsystem “mpc_cstr_plant.slx” aus der MPC Toolbox.
Ein Doppelklick auf das Subsystem öffnet das Simulink-Modell, dessen Schaltung die nichtlinearen Zustandsdifferenzialgleichungen für Temperatur und Konzentration mit Simulink-Blöcken nachbildet (Bild 139).
\nSimulink-Modell des CSTR.
Die Werte der Modellparameter bzw. der aus diesen Parametern gebildete Ausdrücke \n
In Bild 140 sind die Sprungantworten der Reaktortemperatur und der Konzentration dargestellt, die sich für sprungförmige Veränderungen der Kühlmitteltemperatur um \n
Sprungantworten des CSTR gegenüber Verstellungen der Kühlmitteltemperatur.
Im oberen Teil des Bildes sind die Zeitverläufe der Konzentration, im unteren Teil die der Temperatur gezeigt. In Abhängigkeit von der Richtung der Verstellung der Kühlmitteltemperatur ergeben sich unterschiedliche Abweichungen der stationären Endwerte vom Arbeitspunktwert – ein Hinweis auf eine nicht konstante Streckenverstärkung bzw. das nichtlineare Verhalten des Reaktors. (Insbesondere das dynamische Verhalten ist mit den hier gewählten Modellparametern allerdings deutlich “gutartiger” als bei dem in [21] beschriebenen Originalmodell des CSTR.) Die Nichtlinearität des Reaktorverhaltens wird noch deutlicher, wenn man die Reaktionen auf eine sprungförmige Verstellung der Zulauftemperatur betrachtet, wie in Bild 141 dargestellt. Hier ist sowohl das statische als auch das dynamische Verhalten des Reaktors stark richtungsabhängig.
\nSprungantworten des CSTR gegenüber Veränderungen der Zulauftemperatur.
Aufgabe der Prozessführung an diesem Reaktor soll es sein, die Reaktortemperatur einer Sollwertrampe nachzuführen, die im Arbeitspunkt 1 bei 311,26 K beginnt und im Arbeitspunkt 3 bei 368,06 K endet. Der Reaktor soll also aus dem Bereich einer niedrigen Umsatzrate der Komponente A (von \n
Für diese Aufgabe soll ein Eingrößen-MPC-Regler mit der Regelgröße Reaktortemperatur \n
Fall A: Während des Betriebs des Regelungssystems kann kein lineares Prozessmodell für das aktuelle Systemverhalten gewonnen werden.
\nLösung A1 Off-line-Identifikation einer “Bank” linearer Prozessmodelle für verschiedene Arbeitspunkte, Verwendung eines “Gain-Scheduled MPC Controller”-Bausteins, der zur Laufzeit in Abhängigkeit von vorzugebenden Bedingungen zwischen diesen Modellen umschaltet (Vorteil: die Prozessmodelle können von unterschiedlicher Ordnung sein und unterschiedliche Totzeiten aufweisen).
\nLösung A2: Entwurf eines MPC-Reglers mit einem linearen Modell für den ersten Arbeitspunkt, Verwendung eines “Adaptive MPC Controller”-Bausteins zusammen mit einem “Linear Parameter Varying (LPV) System”-Baustein der Control System ToolboxTM (Nachteil: Ordnung und Totzeiten des LPV-Modells sind für alle Arbeitspunkte unveränderlich).
\nFall B: Während des Betriebs des Regelungssystems kann ein lineares Prozessmodell für das aktuelle Systemverhalten gewonnen werden.
\nLösung B1: Anwendung des Verfahrens der sukzessiven Linearisierung. Verwendung eines “Adaptive MPC Controller”-Bausteins zusammen mit einem MATLAB-Function-Block “Successive Linearizer”. In letzterem wird das nichtlineare Prozessmodell zur Laufzeit in jedem Abtastintervall im aktuellen Arbeitspunkt linearisiert, und das lineare Modell wird dem MPC-Regler zur Verfügung gestellt.
\nLösung B2: Entwurf eines MPC-Reglers mit einem linearen Modell für den ersten Arbeitspunkt, fortlaufende Online-Identifikation eines linearen Prozessmodells im geschlossenen Regelkreis und Bereitstellung dieses Modells für einen “Adaptive MPC Controller”-Baustein.
\nFür das CSTR-Beispiel werden die Fälle B1 und B2 in [34] erläutert. Die Fälle A1 und A2 werden dort anhand anderer Problemstellungen behandelt. Hier wird im Folgenden nur Fall B2 weiter verfolgt. Das Grundprinzip ist in Bild 142 dargestellt.
\nBlockschaltbild einer adaptiven MPC-Regelung mit Online-Identifikation des Prozessmodells.
Um den MPC-Regler für den Arbeitspunkt 1 des CSTR zu entwerfen, muss zunächst das nichtlineare theoretische Prozessmodell (das Zustands-Differenzialgleichungssystem) in diesem Arbeitspunkt linearisiert werden. Dazu kann man wie in Abschnitt 6 das “Linear Analysis Tool” von Simulink Control DesignTM verwenden. Voraussetzung ist das Vorhandensein eines Simulink-Modells des Rühkesselreaktors. Man kann entweder die Arbeitspunktwerte für Temperatur und Konzentration als Anfangswerte in den Integrationsbausteinen eintragen oder den Arbeitspunkt über die Trimming-Funktion des “Linear Analysis Tools” noch einmal bestimmen. Im Simulink-Modell sind anschließend “Linear Analysis Points” an die Signallinien der beiden Eingangsgrößen \n
Anwahl der “Linear Analysis Points” im Simulink-Modell des CSTR.
Das Ergebnis mit den Symbolen für die “Input Perturbations” und den “Open-loop Output” zeigt Bild 144.
\nCSTR-Subsystem mit eingetragenen “Linear Analysis Points”.
Danach kann unter dem Menüpunkt “Analysis” das “Linear Analysis Tool” aufgerufen werden (Analysis/Control Design/Linear Analysis …). Durch Klicken auf das “Step”-Icon lässt sich die Linearisierung (hier im Arbeitspunkt “op_trim1”, der dem Arbeitspunkt 1 des CSTR entspricht) starten. Das Ergebnis ist ein lineares kontinuierliches Zustandsmodell mit dem Namen “linsys1”, das links im “Linear Analysis Workspace” eingereiht wird, und dessen Sprungantworten grafisch dargestellt werden (Bild 145).
\nSprungantworten des linearisierten CSTR-Modells im “Linear Analysis Tool”.
Parameter des linearen Zustandsmodells “linsys1”.
Durch Doppelklick auf “linsys1” lassen sich die Parameter des linearen Zustandsmodells anzeigen (Bild 146).
\nEs hat die allgemeine Form
\nFür den Rührkesselreaktor im Arbeitspunkt 1 ergibt sich
\nMan beachte, dass die Prozessgrößen jetzt Abweichungen von den Arbeitspunktwerten darstellen. Die Eingangsmatrix \n
Exportiert man das lineare Zustandsmodell “linsys1” unter dem Namen “CSTR_Modell_AP1” in den MATLAB-Arbeitsspeicher (Drag&Drop aus dem “Linear Analysis Workspace” in den “MATLAB Workspace”), kann man es dort in ein Übertragungsfunktionsmodell umwandeln:
\nCSTR_Modell_AP1_tf = tf(CSTR_Modell_AP1)
\nEs ergeben sich die Übertragungsfunktionen
\nfür den Zusammenhang von Kühlmitteltemperatur (Stellgröße u) und Reaktortemperatur (Regelgröße y), und
\nfür den Zusammenhang zwischen Zulauftemperatur (gemessene Störgröße v) und Reaktortemperatur.
\nEine zeitliche Diskretisierung des Zustandsmodells mit der Abtastzeit \n
CSTR_Modell_AP1_diskret = c2d(CSTR_Modell_AP1,0.5)
\nführt auf ein zeitdiskretes Zustandsmodell der Form
\nFür den Arbeitspunkt 1 ergeben sich die Matrizen des zeitdiskreten Zustandsmodells zu
\nDas zeitdiskrete Zustandsmodell wird später für die Parametrierung des “Adaptive MPC Controller”-Bausteins benötigt.
\nEine zeitliche Diskretisierung der zeitkontinuierlichen Übertragungsfunktionen \n
und
\nDarin bezeichnet \n
Für die Arbeitspunkte 2 und 3 lässt sich auf dieselbe Art und Weise eine Linearisierung des Zustands-Differenzialgleichungssystems durchführen. In Tabelle 23 sind die Ergebnisse zusammengefasst.
\n\n | Zeitkontinuierliches Zustandsmodell | \nÜbertragungsfunktionen | \n
---|---|---|
Arbeitspunkt 1 | \n\n\n \n\n | \n\n\n \n\n | \n
Arbeitspunkt 2 | \n\n\n \n\n | \n\n\n \n\n | \n
Arbeitspunkt 3 | \n\n\n \n\n | \n\n\n \n\n | \n
Lineare Modelle für das dynamische Verhalten des CSTR in den drei Arbeitspunkten.
Die Einheits-Sprungantworten der linearen Modelle sind für die Arbeitspunkte 1 und 3 in Bild 147 dargestellt. Die Übertragungsfunktionen sind in beiden Fällen zweiter Ordnung, allerdings ergibt sich im Arbeitspunkt 1 Kriechverhalten (die Pole liegen bei \n
Sprunganworten der Reaktortemperatur des CSTR gegenüber Verstellungen der Kühlmittel- und der Zulauftemperatur (Arbeitspunkte 1 und 3).
Sprunganworten der Reaktortemperatur des CSTR gegenüber Verstellungen der Kühlmittel- und der Zulauftemperatur (Arbeitspunkt 2).
Mit dem so gefundenen Prozessmodell lässt sich nun ein MPC-Regler für den ersten Arbeitspunkt entwerfen. Dazu öffnet man den MPC Designer, importiert das Modell “CSTR_Modell_AP1_diskret” und legt die Struktur des MPC-Reglers fest. Der Regler besitzt eine manipulierbare Variable (die Kühlmitteltemperatur), eine gemessene Störgröße (die Feed-Temperatur) und eine Regelgröße (die Reaktortemperatur). Als Abtastzeit wird wie in [34] \n
Definition des MPC-Reglers für den kontinuierlichen Rührkesselreaktor.
Danach werden die Arbeitspunktwerte und Skalierungsfaktoren definiert (Bild 150).
\nSpezifikation der I/O Channels für den CSTR.
Die Ungleichungs-Nebenbedingungen für die Stellgrößeninkremente zeigt Bild 151.
\nConstraints-Fenster für den MPC-Regler des Reaktors.
Innerhalb des MPC Designers kann jetzt das Führungs- und Störverhalten des MPC-geregelten Reaktors (ohne Plant Model Mismatch) simuliert werden. Für die Horizontlängen wurden \n
Horizontlängen und Reglereinstellung für den MPC-Regler des CSTR.
Das Simulationsszenario wird so festgelegt, dass zum Zeitpunkt \n
Führungs- und Störverhalten des MPC-Regelungssystems für den CSTR in der MPC Designer App.
Zusätzlich wurde die Ausregelung einer sinusförmigen Störung der Zulauftemperatur mit einer Amplitude von 5 K und einer Periodendauer von 120 min untersucht. Die Simulationsdauer wurde auf 240 min erhöht. Die Ergebnisse sind in Bild 154 dargestellt.
\nAusregelung einer sinusförmiger Störung der Feed-Temperatur.
Wie man ablesen kann, schwingt auch die Reaktortemperatur um ihren Sollwert. Allerdings beträgt die Amplitude dieser Schwingung nur ca. 0,2 K.
\nWesentlich interessanter ist, wie der mit dem linearen Modell entworfene MPC-Regler am nichtlinearen Reaktormodell arbeitet. Das kann man in Simulink® untersuchen. Im ersten Schritt soll nur eine engere Umgebung des Arbeitspunkts 1, d. h. nicht der gesamte Arbeitsbereich des CSTR, betrachtet werden. Zu diesem Zweck wird ein Simulink-Modell der MPC-Regelung des Reaktors entworfen, wie es beispielhaft in Bild 155 dargestellt ist.
\nSimulink-Modell für die MPC-Regelung des CSTR im Arbeitspunkt 1.
Im Zentrum des Modells stehen ein (nicht adaptiver) “MPC Controller”-Baustein aus der Bibliothek der MPC Toolbox und das oben beschriebene Subsystem, das das nichtlineare Modell des CSTR nachbildet. Der MPC-Reglerausgang “mv” wird mit dem Eingang “Kühlmitteltemperatur” des Reaktors verknüpft, die Reaktortemperatur wird als “mo”-Eingang zum MPC-Baustein zurückgeführt. Die Zulauftemperatur wird als messbare Störgröße sowohl auf den “md”-Eingang des MPC-Bausteins als auch auf die Regelstrecke geschaltet. Zwischen- und Ausgangsgrößen können im Scope angezeigt und in den MATLAB-Arbeitsspeicher geschrieben werden.
\nEs wurden zunächst dieselben Szenarien untersucht wie innerhalb der MPC Designer App. Im Unterschied zu vorher wird der mit dem linearen Modell des Reaktors entworfene MPC-Regler aber mit dem nichtlinearen Reaktormodell verknüpft, d. h. Plant-Model-Mismatch ist jetzt vorhanden. Bild 156 zeigt das Führungsverhalten für eine Sollwertänderung um 1 K zum Zeitpunkt \n
Führungs- und Störverhalten des MPC-geregelten CSTR im Arbeitspunkt 1 (Simulation mit nichtlinearem Streckenmodell).
Es ist ein größeres Überschwingen und eine größere Ausregelzeit zu erkennen als bei der Simulation mit linearem Streckenmodell innerhalb der MPC Designer App (vgl. Bild 153). Dies ist auf die Nichtübereinstimmung von reglerinternem linearem Prozessmodell und nichtlinearem Streckenverhalten (Plant-Model-Mismatch) zurückzuführen.
\nBild 157 zeigt schließlich den Fall einer sinusförmigen Störung der Zulauftemperatur bei konstantem Sollwert. Die Amplitude der Feedtemperatur beträgt wiederum 5 K.
\nStörverhalten des MPC-geregelten CSTR (Simulation mit nichtlinearem Streckenmodell, sinusförmige Störung der Zulauftemperatur).
Gegenüber der Simulation mit linearem Streckenmodell innerhalb der MPC Designer App (vgl. Bild 154) ist die Amplitude der Schwingung der Reaktortemperatur gewachsen, sie beträgt jetzt ca. 1 K. Insgesamt kann man aber schlussfolgern, dass der MPC-Regelung ausreichend robust ist, um die vorhandene Modellunsicherheit zu beherrschen. Das gilt, solange der Reaktor in der Umgebung des Arbeitspunktes betrieben wird, für den das lineare Modell gebildet wurde.
\nWie sieht es aber aus, wenn der Reaktor in einem größeren Arbeitsbereich betrieben werden soll? Um diese Frage zu beantworten, wird simuliert, wie die (nicht-adaptive) MPC-Regelung arbeitet, wenn eine Sollwertrampe für die Reaktortemperatur vorgegeben wird, die zum Zeitpunkt \n
Nicht-adaptive MPC-Regelung des CSTR bei Vorgabe einer Sollwertrampe.
Es ist klar zu erkennen, dass das Verhalten der Regelung ab ca. \n
Eine Möglichkeit zur Verbesserung der Regelgüte besteht darin, die Parameter \n
aus fortlaufend anfallenden Messdaten für die Ein- und Ausgangsgrößen des Reaktors im Online-Betrieb des MPC-Regelungssystems zu schätzen und damit das reglerinterne Modell an das sich entlang der Temperatur-Rampe ändernde dynamische Verhalten anzupassen. Das kann durch Anwendung einer rekursiven Methode der kleinsten Fehlerquadrate (Recursive Least Squares, RLS) geschehen ([41], S. 269 ff.). Schreibt man die zeitdiskrete Übertragungsfunktion als Differenzengleichung, ergibt sich
\nFügt man diesem deterministischen Modell einen stochastischen Störterm hinzu, ergibt sich das sogenannte ARX-Modell. Es hat die Differenzengleichung
\nUnter Nutzung von Übertragungsfunktionen lässt sich das ARX-Modell auch
\nschreiben. Stellt man die Differenzengleichung nach \n
Die Schreibweise \n
zusammen, lässt sich kompakter schreiben
\nDer Gleichungsfehler oder das Residuum \n
Die Modellparameter werden nun so bestimmt, dass eine möglichst gute Übereinstimmung zwischen den über das Modell vorhergesagten Werten \n
erreichen, worin \n
Hier sind in der Messwertmatrix \n
Wählt man die Gewichte nach der Vorschrift
\ndann sind sie kleiner, je weiter die Messungen zurückliegen: für die jüngste (\n
Die Grundgleichung der rekursiven Regression lautet
In jedem Schritt wird ein neuer Wert für den Vektor der Modellparameter bestimmt, der sich aus dem alten Parametervektor und einem Korrekturterm ergibt. Die Korrektur erfolgt proportional zur Differenz zwischen dem neuen Messwert für die Ausgangsgröße \n
In diesen Gleichungen bezeichnet \n
Alternativ zum Rekursionsverfahren mit Vergessensfaktor ist eine Formulierung des Algorithmus mit Hilfe eines Kalman-Filters möglich. Hier lauten die Rekursionsgleichungen ([37], S. 16 ff.):
\nEs wird angenommen, dass sich die “wahren” Modellparameter \n
Die System Identification ToolboxTM von MATLAB® unterstützt die Online-Identifikation linearer Prozessmodelle. Unter anderem werden Simulink-Bausteine für die rekursive Schätzung von Polynom-Modellen wie zum Beispiel ARX zur Verfügung gestellt, die die oben beschriebenen Rekursionsverfahren anbieten. Deren Parametrierung wird im nächsten Abschnitt beschrieben.
\nAbschließend soll eine adaptive MPC-Regelung mit Online-Identifikation eines linearen ARX-Modells in Simulink® nachgebildet werden. Bild 159 zeigt das auf der Grundlage von ([34], S. 5–26 ff.) entwickelte Simulink-Modell. Im Zentrum des Modells stehen
ein cyan dargestellter “Adaptive MPC”-Baustein aus dem Bereich Model Predictive Control der Simulink-Bausteinbibliothek,
das hellblau dargestellte Subsystem zur Nachbildung des dynamischen Verhaltens des CSTR, und
zwei magenta dargestellte Blöcke (“Recursive Polynomial Model Estimator” und “Model Type Converter”) aus der Simulink-Bibliothek der System Identification ToolboxTM, die die Aufgabe der Online-Identifikation eines zeitdiskreten Polynom-Modells (hier ARX) und der Umwandlung des ARX-Modells in ein zeitdiskretes Zustandsmodell übernehmen.
Der “mv”-Ausgang des “Adaptive MPC”-Bausteins ist mit dem Kühlmittel-Temperatur-Eingang der Regelstrecke verbunden. Der Reaktor-Temperatur-Ausgang des CSTR-Subsystems ist mit dem “mo”-Eingang des MPC-Reglers verknüpft. Die Feed-Temperatur ist als sinusförmige Signalquelle sowohl mit dem “md”-Eingang des Reglers als auch mit dem Störgrößeneingang der Strecke “verdrahtet”. Auf die Kühlmittel-Temperatur und die Reaktortemperatur können stochastische Störsignale addiert werden.
\nDer Baustein “Recursive Polynomial Model Estimator” wird sowohl mit den Eingangsgrößen als auch mit der Ausgangsgröße des CSTR verbunden. Eingänge sind die Kühlmittel-Temperatur (Stellgröße) und die Feed-Temperatur (Störgröße). Ausgangsgröße ist die Reaktortemperatur (Regelgröße). Diese Größen müssen zeitdiskret bereitgestellt werden. Daher werden “Unit Delay”-Bausteine eingefügt, deren Abtastzeit \n
und Stör- und Regelgröße (Störstrecke)
\nDie Nenner beider Übertragungsfunktionen sind identisch. Die Nominalmodelle für den Arbeitspunkt 1 sind oben angegeben. Es sind insgesamt sechs Parameter online aus den fortlaufend anfallenden Daten der Ein- und Ausgangsgrößen zu schätzen. Dabei ist zu beachten, dass in den linearen ARX-Modellen die Größen als Abweichungen von ihren Arbeitspunkten auftreten. Die Arbeitspunktwerte müssen daher vor der Verarbeitung im “Recursive Polynomial Model Estimator”-Baustein von den am Streckenausgang vorliegenden Tempertursignalen subtrahiert werden.
\nÖffnet man die Eingabemaske für den Baustein “Recursive Polynomial Model Estimator”(Bild 160), erkennt man die Möglichkeiten der Parametrierung.
\nEingabemaske für den Baustein “Recursive Polynomial Model Estimator” (Reiter “Model Parameters”).
Vorzugeben sind
die Modellstruktur aus einer Auswahlliste von Polynommodellen (hier ARX),
die Abtastzeit (hier \n
den Kovarianzmatrix für die Modellparameter als Maß für die Genauigkeit der Anfangsschätzung für die Modellparameter (hier Eins),
die Anfangswerte für die Modellparameter. Hier werden die Polynome \n
Letztere kann man aus dem ursprünglich durch Linearisierung des CSTR-Modells im Arbeitspunkt 1 ermittelten zeitkontinuierlichen Zustandsmodell “CSTR_Modell_AP1” durch folgende MATLAB-Befehlsfolge gewinnen:
\n \n \n \n | \n
Wechselt man zum Reiter “Algorithm and Block Options” (Bild 161), eröffnen sich weitere Möglichkeiten der Parametrierung.
\nEingabemaske für den Baustein “Recursive Polynomial Model Estimator” (Reiter “Algorithm and Block Options”).
Es sind die Schätzmethode zu wählen (hier “Kalman-Filter”) und die Kovarianzmatrix des Prozessrauschens als Maß für den Signal-Stör-Abstand (hier 0,01) vorzugeben. Außerdem können am Baustein weitere Ports für die Ein- und Ausgabe freigeschaltet werden. Hier wurde ein Häkchen bei “Output estimation error” gesetzt, um am Ausgang des Bausteins (z. B. in einem Scope) die zeitliche Entwicklung des Schätzfehlers zu beobachten.
\nIm Baustein “Model Type Converter” ist der Typ des Eingangsmodells zu parametrieren, das in ein Zustandsmodell umgewandelt werden soll (Bild 162). Diese Umwandlung ist notwendig, weil der “Adaptive MPC Controller”-Baustein am “model”-Eingang nur ein zeitdiskretes Zustandsmodell, aber kein Polynom-Modell verarbeiten kann.
\nParametrierung des “Model Type Converter”-Bausteins.
Etwas ungewöhnlich ist die dann folgende Verarbeitung des Bussignals über “Bus Selector”- und “Bus Creator”-Bausteine. Sie ist deswegen erforderlich, weil der “model”-Eingang des “Adaptive MPC Controller”-Bausteins mit einem Bussignal verknüpft werden muss, das eine vorgegebene Struktur aufweist. Es enthält einerseits die Matrizen des (durch Umwandlung aus dem ARX-Modell gewonnenen) zeitdiskreten Zustandsmodells. Diese werden durch den Bus Selector aus dem Bussignal des Modell-Konverter-Bausteins abgeleitet. Andererseits müssen die Arbeitspunktwerte der Eingangs-, Ausgangs- und Zustandsgrößen sowie der zeitlichen Ableitungen der Zustandsgrößen übergeben werden. Die notwendigen Informationen werden in einem “Bus Creator” zusammengefasst.
\nWichtig ist, dass die Signallinien am “Bus Selector”-Eingang mit den richtigen Namen versehen werden (A, B, C, D für die Matrizen des Zustandsmodells, U, Y, X und DX für die Arbeitspunktwerte). Um die Signallinien zu benennen, kann man im Simulink-Modell die jeweilige Signallinie anwählen und dann unter “View/Property Inspector” ein Fenster öffnen (Bild 163), in dem man die Signalnamen eintragen kann.
\nEintragung eines Namens an einer Signallinie im Property Inspector.
Noch nicht beschrieben wurde die Vorgabe der Sollwert-Rampe. Hierfür kann man einen “Repeated Sequence Interpolated”-Baustein verwenden, der wie in Bild 164 zu sehen parametriert wird. Im vorliegenden Fall wird zwischen den Arbeitspunktwerten der Reaktortemperatur für die Arbeitspunkte 1 und 3 im Bereich von \n
Parametrierung einer Rampenfunktion im “Repeated Sequence Interpolated”-Baustein.
Bild 165 zeigt das Ergebnis der Simulation der adaptiven MPC-Regelung.
\nAdaptive MPC-Regelung des CSTR: rampenförmige Sollwertänderung.
Vergleicht man das Ergebnis mit der nicht-adaptiven MPC-Regelung (siehe Bild 158), hat sich das Führungs- und Störverhalten wesentlich verbessert. Insbesondere bei der Annäherung an den instabilen Arbeitspunkt ist der adaptive MPC-Regler in der Lage, Abweichungen der Reaktortemperatur von der Sollwertrampe auszugleichen, wenn dafür vorübergehend auch stärkere Eingriffe in den Kühlmittelstrom notwendig sind.
\nAm Beispiel der pH-Wert-Regelung in einem Neutralisationsreaktor wird in diesem Kapitel beschrieben, wie man für diesen Prozess mit stark nichtlinearem statischem Verhalten einen “Gain Scheduled” MPC-Regler entwerfen und einsetzen kann. Dabei wird eine “Bank” linearer Prozessmodelle für verschiedene Arbeitspunkte identifiziert und für jedes dieser Modelle ein LMPC-Regler entworfen. Im laufenden Betrieb wird in Abhängigkeit vom aktuellen Arbeitspunkt stoßfrei zwischen diesen Reglern umgeschaltet. Für die Simulation wird ein “Multiple MPC Controllers”-Baustein der MPC Toolbox verwendet.
\npH-Wert-Regelungen gehören zu den kompliziertesten Regelungsaufgaben in verfahrenstechnischen Prozessanlagen. Sie spielen u. a. bei der Prozessführung von biotechnologischen inkl. Abwasseranlagen eine wichtige Rolle. Eine Ursache für die auftretenden Schwierigkeiten besteht in der ausgeprägten Nichtlinearität des statischen Verhaltens. Andere Ursachen sind Schwankungen im Durchfluss und der Zusammensetzung der zulaufenden sauren und basischen Volumenströme und die zeitliche Veränderung der Titrationskurve infolge der Änderung der Puffereigenschaften des Gemischs, dessen pH-Wert geregelt werden soll. Eine gute Übersicht über die Modellbildung und Regelung von pH-Systemen findet man in [101]. Ein umfangreiches Literaturverzeichnis zur MPC-Regelung von pH-Neutralisationsprozessen enthält [102].
\nIm vorliegenden Abschnitt soll gezeigt werden, wie das Problem des nichtlinearen statischen Verhaltens mit Hilfe eines “Gain Scheduled MPC-Reglers” behandelt werden kann, der als Baustein “Multiple MPC Controller” in der MPC Toolbox verfügbar ist. Das Konzept des “Gain Scheduling” ist als erweiterte PI(D)-Regelungsstruktur seit langem bekannt ([24], S. 177 ff.). Es bedeutet dort, dass die Reglerparameter (meist nur die Reglerverstärkung, das “controller gain”) fortlaufend automatisch an das sich ändernde Streckenverhalten angepasst werden. Diese Anpassung erfolgt mit Hilfe eines im Entwurfsprozess definierten Plans oder “Schedules”. Ein solcher “Schedule” kann zum Beispiel eine Zuordnungstabelle zwischen einem gemessenen Signal, das den aktuellen Arbeitspunkt des Prozesses charakterisiert, und den Reglerparametern sein. Bild 166 zeigt das Prinzip. Hier charakterisiert der vorgegebene Sollwert den angestrebten Arbeitspunkt und die Reglerverstärkung wird nach einer vorher definierten Beziehung \n
Gain Scheduling als erweiterte PI(D)-Regelungsstruktur.
Anders als bei einem PI(D)-Regler mit “Gain Scheduling” werden bei einem “Gain Scheduled MPC-Regler” nicht die Reglerparameter des MPC-Reglers (also etwa die Gewichtsfaktoren) an das aktuelle Streckenverhalten angepasst. Stattdessen wird für eine bestimmte Zahl von Arbeitspunkten ein (lineares) Prozessmodell entwickelt und ein MPC-Regler entworfen. In der Arbeitsphase der Regelung wird dann zwischen diesen MPC-Reglern umgeschaltet. Ein interner Mechanismus im “Multiple MPC Controller”-Baustein von Simulink® sorgt für die Stoßfreiheit der Umschaltung. Im Beispiel der pH-Wert-Regelung werden pH-Wert-Bereiche definiert, für die dann jeweils ein MPC-Regler ausgewählt und aktiviert wird. Das Konzept wird in Bild 167 verdeutlicht.
\nPrinzip der “Gain Scheduled” MPC-Regelung.
Als Beispiel soll ein Neutralisationsprozess betrachtet werden, der in einem kontinuierlichen Rührkessel im Maßstab einer Laboranlage abläuft. Die Anlage wurde an der University of California at Santa Barbara (UCSB) entwickelt und in [103, 104] beschrieben. Dort wurde auch ein theoretisches Prozessmodell angegeben. Bild 168 zeigt ein vereinfachtes technologisches Schema des Reaktors.
\nVereinfachtes technologisches Schema eines Neutralisationsreaktors.
Als Säure wird Salpetersäure (HNO3), als Base Natronlauge (NaOH) und als Pufferlösung Natriumhydrogenkarbonat oder kurz Natron (NaHCO3) verwendet. Die chemischen Gleichgewichte werden durch Einführung von Reaktionsinvarianten \n
In Tabelle 24 sind die Parameter und Arbeitspunktwerte für das pH-System zusammengestellt.
\nVariable | \nWert | \nVariable | \nWert | \n
---|---|---|---|
\n\n | \n0,003M | \n\n\n | \n0M | \n
\n\n | \n−0,03M | \n\n\n | \n0,03M | \n
\n\n | \n−3,05×10−3M | \n\n\n | \n5×10−5M | \n
\n\n | \n−4,36×10−4M | \n\n\n | \n5,276×10−4M | \n
\n\n | \n207 cm2 | \n\n\n | \n4,47×10−7 | \n
\n\n | \n14 cm | \n\n\n | \n5,62×10−11 | \n
\n\n | \n16,6 ml/s | \n\n\n | \n0,55 ml/s | \n
\n\n | \n15,6 ml/s | \n\n\n | \n7,0 | \n
\n\n | \n8,572 \n | \n\n | \n |
Parameter und Arbeitspunktwerte für den Neutralisationsprozess.
Darin bezeichnen \n
Das mathematische Modell des pH-Systems besteht aus der Massenbilanzgleichung
\n(bei Annahme konstanter Dichte) und den Differenzialgleichungen für die Reaktionsinvarianten des Produktstroms
\nDer pH-Wert lässt mit Hilfe der folgenden impliziten algebraischen Gleichung iterativ ermitteln:
\nDas Ziel der Regelung besteht in der Stabilisierung des pH-Werts gegenüber nicht gemessenen Störungen der Durchflüsse der Säure und Pufferströme. Stellgröße ist der Durchfluss des Basenstroms. Regelungstechnisch kann man daher \n
Das Differenzialgleichungssystem und die algebraische Gleichung zur Bestimmung des pH-Werts lassen sich in ein Simulink-Modell überführen (Bild 169).
\nMan beachte die Nutzung eines “Algebraic Constraint”-Blocks (rechts unten) zur Bestimmung des pH-Werts.
\nDas Simulink-Modell lässt sich zu einem Subsystem zusammenfassen, bei dem die Stell- und die Störgrößen (\n
Das pH-System als Simulink-Subsystem.
Die statische Kennlinie \n
Statische Kennlinie des UCSB-Laborsystems.
Diese Grafik wurde gewonnen, indem das Simulink-Modell mit Sprüngen des Basestroms \n
Der Entwurf der “Gain Scheduled MPC-Regelung” erfolgt in folgenden Schritten:
Identifikation linearer Prozessmodelle für vier Arbeitspunkte \n
Entwurf von vier MPC-Reglern für die vier Arbeitspunkte mit Hilfe des MPC Designers, Simulation des pH-Regelungssystems unter Verwendung des Bausteins “MPC Controller” aus der Simulink-Bibliothek der MPC Toolbox,
Entwurf eines “Gain Scheduled” MPC-Reglers und Simulation mit Hilfe des Bausteins “Multiple MPC Controller” aus der Simulink-Bibliothek der MPC Toolbox; in Abhängigkeit vom aktuellen pH-Wert erfolgt eine Umschaltung zwischen den vier MPC-Reglern, so wird zum Beispiel der MPC-Regler für den Arbeitspunkt \n
Die Identifikation eines linearen Prozessmodells für das UCSB-pH-System wird hier nur für den Arbeitspunkt \n
\n \n \n | \n
Zunächst wurde mit Hilfe des Befehls “idinput” der System Identifikation ToolboxTM ein geeignetes PRBS-Testsignal für den Basenstrom \n
Mit diesem Eingangssignal wurde das Simulink-Modell des pH-Systems beaufschlagt, der sich ergebende pH-Wert-Verlauf ermittelt und in den MATLAB-Arbeitsspeicher exportiert (Variable pH_PRBS). Bild 172 zeigt das dafür verwendete Simulink-Modell mit dem Subsystem für den Neutralisationsprozess.
\nPRBS-Test mit dem Simulink-Modell des Neutralisationsprozesses.
Man beachte, dass die Simulation gegenüber dem in Bild 170 dargestellten Original durch Aufnahme einer Messtotzeit von 5 Sekunden für den pH-Wert modifiziert wurde.
\nIn Bild 173 sind die Zeitverläufe des PRBS-Testsignals (Basenstrom) und des Antwortsignals (pH-Wert) dargestellt.
\nPRBS-Test: Zeitverläufe des Basenstroms \n\n\nQ\n3\n\n\n und des pH-Werts.
Das PRBS-Testsignal “Q3_Test” und Antwortsignal “pH_PRBS” wurden in die System Identification ToolboxTM importiert und mit der Funktion “Quick Start” vorverarbeitet. Anschließend wurde folgendes “Process Model” erster Ordnung plus Totzeit (PT1Tt) identifiziert:
\nWie der in Bild 174 dargestellte Vergleich zwischen den (virtuellen) Messdaten und dem Ergebnis der Simulation des identifizierten PT1Tt-Modells zeigt, ist die Modellgüte in dieser Hinsicht sehr hoch.
\nVergleich zwischen gemessenem und simuliertem pH-Wert.
In Tabelle 25 sind die identifizierten Prozessmodelle für alle vier Arbeitspunkte des pH-Werts zusammengestellt.
\nArbeitspunkt | \nProzessmodell | \n
---|---|
\n\n | \n\n\n | \n
\n\n | \n\n\n | \n
\n\n | \n\n\n | \n
\n\n | \n\n\n | \n
Ergebnisse der Prozessidentifikation für verschiedene Arbeitspunkte des pH-Werts.
Die Modelle unterscheiden sich weniger in der Dynamik als in den Streckenverstärkungen: Das Verhältnis zwischen der größten und der kleinsten Verstärkung (Arbeitspunkte \n
Die identifizierten Prozessmodelle mit dem Default-Namen “P1D” können in den aus der SIT in den MATLAB-Arbeitsspeicher exportiert und dort in Zustandsmodelle umgewandelt werden, z. B. mit
\nModell_pH7 = ss(P1D).
\nDer Entwurf der MPC-Regler wird hier ebenfalls nur für den Arbeitspunkt \n
Spezifikation der Ein- und Ausgangskanäle für die pH-Wert-Regelung im MPC Designer.
Für die Abtastzeit wurde \n
Führungsverhalten der MPC-Regelung des pH-Werts im MPC Designer.
Man beachte, dass die Voreinstellung für “Closed-Loop Performance” in Richtung einer weniger aggressiven, dafür robusteren Reglereinstellung verändert wurde. Der so entworfene MPC-Regler wird unter dem Namen “MPC_pH_7” in den MATLAB-Arbeitsspeicher exportiert. Dieses Vorgehen lässt sich für die anderen Arbeitspunkte des pH-Werts wiederholen. Zusätzlich zum Regler “MPC_pH_7” entstehen so die MPC-Regler-Objekte “MPC_pH_75”, “MPC_pH_85” und “MPC_pH_10” für die Arbeitspunkte \n
Im MPC Designer wird defaultmäßig das lineare Prozessmodell nicht nur MPC-reglerintern, sondern auch für die Simulation der Regelstrecke verwendet. Realistischer ist es, den MPC-Regler am nichtlinearen Modell der pH-Regelstrecke arbeiten zu lassen. Zu diesem Zweck wurde ein Simulink-Modell entwickelt, dessen Kern ein “MPC Controller”-Baustein und das Subsystem des Neutralisationsprozesses (vgl. Bild 170) ist. Dieses Modell ist in Bild 177 dargestellt.
\nSimulink-Modell des MPC-geregelten Neutralisationsprozesses.
Die Messtotzeit für den pH-Wert wurde in das Subsystem aufgenommen. Der “MPC Controller”-Baustein wird mit dem MPC-Regler-Objekt “MPC_pH_7” parametriert, der für den Arbeitspunkt \n
Führungsverhalten des MPC-geregelten Neutralisationsprozesses in einem weiten Arbeitsbereich.
Es ist deutlich zu erkennen, dass nur für den ersten Sollwertsprung eine befriedigende Regelgüte erreicht wird (Überschwingweite 15%, Ausregelzeit 200 s). Nach dem zweiten Sollwertsprung tritt starkes Überschwingen auf, da sich das System dort im Bereich einer größeren Streckenverstärkung befindet. Umgekehrt ist das Verhalten des Systems nach dem dritten Sollwertsprung sehr träge (Ausregelzeit 350 s) – Ursache ist die geringe Streckenverstärkung in diesem Bereich. Die Unterschiede sind noch gravierender, wenn man die Voreinstellung für “Closed-Loop Performance” verwendet.
\nDie Regelgüte soll nun durch Verwendung einer “Gain Scheduled MPC-Regelung” verbessert werden. Zu diesem Zweck wird im Simulink-Modell der Baustein “MPC Controller” durch den Baustein “Multiple MPC Controllers” ersetzt. Dieser Baustein besitzt einen zusätzlichen Eingang “switch”. Über diesen Eingang wird dem “Multiple MPC Controller” bekannt gemacht, welcher der vorab entworfenen MPC-Regler in der aktuellen Situation verwendet werden soll. Im vorliegenden Beispiel wird das Simulink-Modell so gestaltet, dass die in Tabelle 26 dargestellte Zuordnung von “switch”-Werten zu pH-Wert-Bereichen entsteht. Das geschieht durch eine Kette von “Switch”-Bausteinen aus dem Bereich ”Signal Routing” der Simulink-Bausteinbibliothek.
\npH-Wert-Bereich | \nswitch = | \nName des MPC-Regler-Objekts | \n
---|---|---|
\n\n | \n1 | \nMPC_pH_7 | \n
\n\n | \n2 | \nMPC_pH_75 | \n
\n\n | \n3 | \nMPC_pH_85 | \n
\n\n | \n4 | \nMPC_pH_10 | \n
pH-Wert-Bereiche, “switch”-Werte und MPC-Regler-Objekte.
Die Parametrierung des Bausteins “Multiple MPC Controller” ist aus Bild 179 ersichtlich: in das Feld “Cell Array of MPC Controllers” werden die Objekt-Namen der zuvor entworfenen MPC-Regler eingetragen.
\nParametrierung des Bausteins “Multiple MPC Controller”.
Das Simulink-Modell für die MPC-Regelung des Neutralisationsprozesses unter Verwendung eines “Multiple MPC Controller”-Bausteins zeigt Bild 180.
\nSimulink-Modell der “Gain Scheduled MPC-Regelung”.
Wie in Abschnitt 8.3 wird nun das Führungsverhalten für die Sollwertsprünge \n
Führungsverhalten des mit einem “Multiple MPC Controller” geregelten Neutralisationsprozesses in einem weiten Arbeitsbereich.
Gegenüber Bild 178 ist zu erkennen, dass die Regelgüte jetzt weitaus weniger von den verschiedenen Arbeitspunkten des pH-Systems abhängig ist.
\nIm letzten Kapitel werden Entwurf und Simulation einer nichtlinearen MPC-Regelung am Beispiel eines rigorosen Ethylenoxid-Reaktormodells beschrieben. Der Entwurf erfolgt auf der Kommandozeilenebene von MATLAB®, die Simulation in Simulink® nutzt den “Nonlinear MPC Controller”-Baustein der MPC Toolbox.
\nWie bei traditionellen MPC-Regelungen mit linearen Modellen werden auch bei NMPC-Regelungen die Stellgrößen in jedem Abtastintervall durch eine Kombination von modellbasierter Prädiktion, Optimierung mit Nebenbedingungen sowie Schätzung des aktuellen Systemzustands und der nicht gemessenen Störgrößen berechnet.
\nZur Prädiktion des zukünftigen Verhaltens der Zustands und Ausgangsgrößen des Prozesses muss ein nichtlineares dynamisches Prozessmodell in zeitkontinuierlicher oder in zeitdiskreter Form bekannt sein bzw. entwickelt werden:
\nDarin bezeichnen \n
Zur Bestimmung der Stellgrößen muss in jedem Abtastintervall ein beschränktes Optimierungsproblem gelöst werden:
\nEntscheidungsvariable sind wie bei LMPC die Stellgrößenänderungen im Steuerhorizont. Die Zielfunktion \n
Da die Zustandsgrößen oft nicht oder nur zum Teil messbar sind, müssen Zustandsschätzverfahren eingesetzt werden, um in jedem Abtastintervall deren aktuelle Werte aus den gemessenen Ein- und Ausgangsgrößen des Prozesses zu ermitteln. Diese Werte bilden dann die Anfangswerte für die Prädiktion mit Hilfe des oben beschriebenen nichtlinearen Zustandsmodells des Prozesses. Die bekannteste und am häufigsten eingesetzte Methode der nichtlinearen Zustandsschätzung (auch nichtlinearen Filterung) ist das erweiterte Kalman-Filter (EKF), eine Verallgemeinerung des in Abschnitt 2.3.2 beschriebenen linearen Kalman-Filters. Ausgangspunkt für dessen Herleitung ist ein zeitdiskretes Zustandsmodell der Form
\nDarin bezeichnen \n
Darin ist \n
Wenn zum Zeitpunkt \n
Darin bezeichnet
\ndie Matrix der partiellen Ableitungen der Ausgangsgleichungen \n
Alternativen zur Anwendung von EKF für die Zustandsschätzung bei nichtlinearen Prozessmodellen sind andere nichtlineare Filter wie das “Unscented Kalman Filter (UKF)” [108], für das die System Identification ToolboxTM von MATLAB® ebenfalls einen Simulink-Funktionsbaustein bereitstellt, oder Partikelfilter. Eine Übersicht über moderne Algorithmen der nichtlinearen Filterung geben [109, 110]. Seit einigen Jahren wird auch das Verfahren der “Schätzung auf bewegtem Horizont” (Moving Horizon Estimation, MHE) eingesetzt. MHE-Algorithmen übertragen das Prinzip des zurückweichenden Horizonts von MPC-Regelungen auf das Problem der Zustands- und Parameterschätzung. Bei der Anwendung des MHE-Verfahrens muss in jedem Abtastintervall ein weiteres nichtlineares Optimierungsproblem gelöst werden, was den Rechenaufwand für NMPC noch einmal erhöht. Vorteil ist hier allerdings, dass im Gegensatz zum EKF Nebenbedingungungen für die Zustandsgrößen vorgegeben und im Algorithmus berücksichtigt werden können. MHE-Algorithmen werden durch die System Identification ToolboxTM gegenwärtig nicht unterstützt. Vertiefende Darstellungen zu MHE finden sich in [111, 112].
\nIn Tabelle 27 sind ausgewählte Bücher zu den Themen NMPC, Identifikation nichtlinearer Systeme und nichtlineare Zustandsschätzung zusammengestellt.
\nAutor(en) | \nTitel | \nQuelle | \nJahr | \n
---|---|---|---|
Grüne, Pannek | \nNonlinear Model Predictive Control | \n[29] | \n2017 | \n
Billings | \nNonlinear System Identification | \n[113] | \n2013 | \n
Haber, Keviczky | \nNonlinear System Identification | \n[114] | \n1999 | \n
Simon | \nOptimal State Estimation | \n[108] | \n2006 | \n
Ausgewählte Bücher zu NMPC, Identifikation und Zustandsschätzung nichtlinearer Systeme.
Seit dem Release 2018b stellt MathWorks die Möglichkeit des Entwurfs und der Simulation von MPC-Regelungen mit nichtlinearen Prozessmodellen in Umgebung von MATLAB®/Simulink® bereit (Nonlinear Model Predictive Control, NMPC). Im Unterschied zu MPC-Regelungen mit linearem Prozessmodell kann der Entwurf hier allerdings nicht im MPC Designer, sondern nur auf Kommandozeilen-Ebene erfolgen. Die Erzeugung von Code für eingebettete Systeme wird für diese Art von Regelungen derzeit nicht unterstützt. Allerdings wurde die Simulink-Funktionsbaustein-Bibliothek im Bereich “Model Predictive Control” um einen Baustein “Nonlinear MPC Controller” erweitert, der es ermöglicht, auf der MATLAB-Kommandozeilen-Ebene entworfene MPC-Regler in Simulink® zusammen mit (nichtlinearen) Regelstrecken-Modellen simulativ zu untersuchen.
\nIm Folgenden werden der Entwurf und die Simulation einer NMPC-Regelung am Beispiel des Modell seines Ethylenoxid-Reaktors erläutert [115]. Dieses Beispiel wird auch im User’s Guide der Model Predictive Control ToolboxTM R2018b ([34], Abschnitt 10) aufgegriffenen. Es handelt sich – im Vergleich zu industriellen Anwendungen – um ein relativ einfaches Beispiel mit nur einer Stellgröße, einer gemessenen Störgröße und einer Regelgröße, also um eine SISO-NMPC-Regelung, die sich aber zur Erläuterung der prinzipiellen Vorgehensweise beim Reglerentwurf gut eignet.
\nBei der Ethylenoxid-Erzeugung werden Ethylen (\n
Bei der Reaktion entstehen Ethylenoxid (\n
In diesen Differenzialgleichungen bezeichnen die Variablen \n
\n\n
\n\n
\n\n
\n\n
Einige Ausdrücke in den Differenzialgleichungen lassen sich als kinetische Reaktionsgeschwindigkeiten der drei chemischen Reaktionen interpretieren:
\nDie Größen \n
Durchfluss des Einsatzprodukts (\n
Ethylenkonzentration im Zulauf (\n
Für diese sind die Ungleichungs-Nebenbedingungen
\nvorgegeben. Der Durchfluss des Einsatzprodukts wird als Stellgröße verwendet, die Ethylenkonzentration im Zulauf ist eine gemessene Störgröße. Ausgangsgröße des Prozesses und gleichzeitig die Regelgröße ist die Konzentration des Ethylenoxids im Reaktor bzw. im Reaktionsprodukt. Daher lautet die Ausgangsleichung des nichtlinearen Zustandsmodells
\nDie im Prozessmodell auftretenden Parameter sind in Tabelle 28
\nzusammengefasst. Darin bezeichnet \n
Parameter | \nWert | \nParameter | \nWert | \n
---|---|---|---|
\n\n | \n−8,13 | \n\n\n | \n7,32 | \n
\n\n | \n−7,12 | \n\n\n | \n10,39 | \n
\n\n | \n−11,07 | \n\n\n | \n2170,57 | \n
\n\n | \n92,80 | \n\n\n | \n7,02 | \n
\n\n | \n12,66 | \n\n\n | \n1,0 | \n
\n\n | \n2412,71 | \n\n | \n |
Modellparameter für den Etylenoxid-Reaktionsprozess.
Wenn die Arbeitspunktwerte für die Eingangsgrößen bekannt sind, lassen sich die Arbeitspunktwerte für die Zustandsgrößen (und die Ausgangsgröße) ermitteln, indem man die linken Seiten der Zustands-Differenzialgleichungen Null setzt und das entstehende nichtlineare algebraische Gleichungssystem löst. Für die Eingangsgrößen
\nergibt sich die Lösung
\nund demzufolge
\nDiese Lösung wird als Arbeitspunkt 1 bezeichnet, der später als Startwert für die Regelung des Ethylenoxid-Prozesses verwendet wird.
\nDas Zustands-Differenzialgleichungssystem lässt sich in ein Simulink-Modell umsetzen, das in Bild 182 dargestellt ist. Der Integrator-Baustein auf der rechten Seite des Bildes erzeugt aus den zeitlichen Ableitungen der Zustandsgrößen \n
Definition der Modellparameter unter “Model Properties/Callbacks/InitFcn”.
Zur Verbesserung der Übersichtlichkeit, insbesondere bei der späteren Simulation der NMPC-Regelung, wurde das Reaktormodell zu einem Subsystem mit den Eingängen \n
Simulink-Modell des Ethylenoxid-Reaktors als Subsystem.
Die Vorgehensweise zum Entwurf eines NMPC-Reglers wird im Detail im Abschnitt 10 des Model Predictive Control ToolboxTM User’s Guide beschrieben.
\nIm ersten Schritt muss (auf Kommandozeilenebene, also entweder im MATLAB Command-Window oder besser im MATLAB-Editor) ein NMPC-Objekt definiert werden, bei dem die Zahl der Zustands-, Eingangs- und Ausgangsgrößen festgelegt wird. Bei den Eingangsgrößen muss überdies angegeben werden, welche als Stellgröße(n) (MV) und welche als messbare Störgröße(n) (MD) aufzufassen sind. Weiterhin sind die Abtastzeit und die Horizontlängen zu spezifizieren. Für das Beispiel Ethylenoxid-Reaktor ergibt sich
\n \n \n \n \n \n \n \n \n \n \n \n \n | \n
Eine Erweiterung um nicht gemessene Störgrößen wäre ebenfalls möglich. Im zweiten Schritt ist anzugeben, in welchen MATLAB-Function-Files die Zustands-Differenzialgleichungen und die Ausgangsgleichungen programmiert sind. Es ist überdies sinnvoll, den Größen technologisch interpretierbare Namen zu geben und sie mit Skalierungsfaktoren (vgl. Abschnitt 3.2) zu versehen. Die MATLAB-Function-Files sind natürlich anwendungsspezifisch zu programmieren (siehe unten) und im aktuellen Arbeitsverzeichnis abzuspeichern.
\nMan kann zusätzlich Namen von MATLAB-Function-Files angeben, in denen die partiellen Ableitungen der Zustands- und der Ausgangsgleichungen nach den Zustands- und den Eingangsgrößen programmiert sind. Dadurch lässt sich die Rechengeschwindigkeit erhöhen, wenn für die Lösung des NMPC-Problems gradientenbehaftete nichtlineare Optimierungsverfahren verwendet werden. Im vorliegenden Beispiel wird von dieser Möglichkeit nicht Gebrauch gemacht. Stattdessen werden evtl. benötigte partielle Ableitungen durch Differenzenquotienten angenähert.
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n | \n
Schließlich sind Nebenbedingungen für die Eingangs-, Zustands- und Ausgangsgrößen vorzugeben. Das können lineare Nebenbedingungen wie obere und untere Grenzwerte für die genannten Größen oder Grenzen für die Änderungsgeschwindigkeit der Stellgrößen (rate-of-change constraints) sein, vgl. Abschnitt 3.3. Bei NMPC können aber auch nichtlineare Gleichheits- oder Ungleichungs-Nebenbedingungen berücksichtigt werden, die dann wieder in MATLAB-Function-Files zu programmieren sind. Auch für die Nebenbedingungen können partielle Ableitungen gebildet und in gesonderten Unterprogrammen hinterlegt werden. Beispiele für nutzerspezifische nichtlineare Nebenbedingungen sind in [34] ab Seite 10–24 angegeben. im vorliegenden Beispiel sind Nebenbedingungen dieser Art nicht vorhanden.
\nFür das Beispiel des Ethylenoxid-Reaktors werden im Folgenden die MATLAB-Function-Files für die Zustands-Differenzialgleichungen und die Ausgangsgleichung angegeben:
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n | \n
Verzichtet man auf die Angabe einer anwendungsspezifischen (i. A. nichtlinearen) Zielfunktion für die Lösung des NMPC-Problems, wird die aus Abschnitt 2.3.4 bekannte Zielfunktion für MPC-Regelungen mit linearen Modellen verwendet. Mit einer anwendungsspezifischen nichtlinearen Zielfunktion \n
Die Simulation des geschlossenen NMPC-Regelungssystems geschieht am einfachsten in einem Simulink-Modell unter Verwendung des Funktionsbausteins “Nonlinear MPC Controller”. Für das Beispiel des Ethylenoxid-Reaktors ist ein solches Modell in Bild 185 dargestellt. Man beachte, dass auch in diesem Simulink-Plan die Parameter des Reaktormodells wieder unter “Model Properties/Callbacks/InitFcn” angegeben werden müssen und eine Verkleinerung der Toleranzen für den ODE-Solver sinnvoll ist.
\nSimulink-Modell für die Simulation der NMPC-Regelung des Ethylenoxid-Reaktors.
Ein Doppelklick auf den Baustein “Nonlinear MPC Controller” öffnet die Eingabemaske für dessen Parametrierung (Bild 186).
\nBlock-Parameter für den Baustein “Nonlinear MPC Controller”.
In der Zeile “Nonlinear MPC Controller” ist der Name des zuvor im MATLAB-Arbeitsspeicher angelegten NMPC-Objekts einzutragen (hier “nlobj”, siehe oben). Wenn wie in diesem Beispiel eine gemessene Störgröße in die Regelung einbezogen werden soll, muss der Blockeingang für “Measured disturbances (md)” freigeschaltet werden. Der Baustein “Nonlinear MPC Controller” weist dann vier Eingänge auf:
Eingang “x” für die Rückführung der Zustandsgrößen,
Eingang “ref” für die Eingabe des Sollwertverlaufs (z. B. Sprung oder Rampe)
Eingang “last mv” für die Rückführung des ein Abtastintervall zurückliegenden Werts der Stellgröße(n) – dazu müssen die aktuellen Stellgrößenwerte am NMPC-Blockausgang “mv” abgegriffen und über einen “Unit Delay”-Baustein (Symbol 1/z) geführt werden
Eingang “md” für die Zuführung der gemessenen Störgröße(n)
Am Ausgang “mv” des Bausteins “Nonlinear MPC Controller” werden die berechneten Stellgrößenwerte des NMPC-Reglers bereitgestellt, die dem Streckenmodell zugeführt werden. In Bild 185 wird unterstellt, dass alle Zustandsgrößen messbar sind und daher direkt vom Streckenmodell des Ethylenoxid-Reaktors abgegriffen und auf den NMPC-Reglereingang zurückgeführt werden können. Wenn die Zustandsgrößen nicht messbar wären, müssten sie aus den Ein- und Ausgangsgrößen der Regelstrecke geschätzt werden. Zu diesem Zweck ist ein Erweiterter Kalman-Filter (EKF), ein “Unscented Kalman Filter (UKF)” oder ein anderer nichtlinearer Zustandsschätzer zu entwerfen und in das Simulink-Modell einzubeziehen. Die System Identification ToolboxTM stellt dafür die Bausteine “Extended Kalman-Filter” und “Unscented Kalman-Filter” zur Verfügung [37]. Ein Beispiel für die Verwendung eines EKF-Bausteins im Zusammenhang mit einer NMPC-Regelung wird im User’s Guide der Model Predictive Control ToolboxTM ab Seite 10–67 erläutert (es handelt sich dabei um den in Abschnitt 7 erläuterten kontinuierlichen Rührkesselreaktor).
\nZurück zur Simulation der NMPC-Regelung des Ethylenoxid-Reaktors: zunächst wurden das Führungsverhalten für einen Sollwertsprung der Ethylenoxid-Konzentration vom Arbeitspunktwert \n
Führungs- und Störverhalten bei der NMPC-Regelung eines Ethylenoxid-Reaktors.
Wie in [34] wurde auch das Führungsverhalten für eine Sollwertrampe untersucht. In Bild 188 ist das Ergebnis der Simulation für den Fall dargestellt, dass die Sollwertrampe zum Zeitpunkt \n
Rampenförmige Sollwertänderung bei der NMPC-Rege