Open access peer-reviewed chapter

Model Predictive Control mit MATLAB® und Simulink®

By Rainer Dittmar

Reviewed: June 27th 2019Published: December 4th 2019

DOI: 10.5772/intechopen.88257

Downloaded: 171

Abstract

Modellbasierte prädiktive Regelungen (Model Predictive Control, MPC) haben sich in den letzten drei Jahrzehnten zu einem leistungsfähigen Ansatz für die Lösung anspruchsvoller Aufgaben der Mehrgrößenregelung mit Beschränkungen der Stell- und Regelgrößen entwickelt. Sie werden in der Industrie inzwischen in vielen Bereichen erfolgreich eingesetzt. Mit der MPC Toolbox des Programmsystems MATLAB®/Simulink® steht ein Werkzeug zur Verfügung, das in der Praxis der Einsatzvorbereitung realer MPC-Regelungen dient, aber auch für die Lehre und Forschung an Universitäten und Hochschulen verwendet wird. Das vorliegende Buch gibt eine Übersicht über die Grundideen und Anwendungsvorteile des MPC-Konzepts. Es zeigt, wie mit Hilfe der Toolbox in MATLAB® und Simulink® MPC-Regelungen entworfen, eingestellt und simuliert werden können. Ausgewählte Beispiele aus dem Bereich der Verfahrenstechnik demonstrieren mögliche Vorgehensweisen und vertiefen das Verständnis. Das Buch richtet sich an in der Industrie tätige Ingenieure, die mit Hilfe von MATLAB®/Simulink® MPC-Regelungen planen, entwickeln und betreiben wollen, aber auch an Studierende unterschiedlicher technischer Fachdisziplinen, die in das Arbeitsgebiet Model Predictive Control einsteigen wollen.

Keywords

  • Model Predictive Control
  • Advanced Process Control
  • MATLAB®/Simulink®
  • Systemidentifikation
  • Prozessautomatisierung

1. Einleitung

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.

Zu 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].

MPC-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.

Der 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.

Autor(en)TitelQuelleJahr
MaciejowskiPredictive control with constraints[12]2002
Camacho, BordonsModel Predictive Control[13]2007
Rawlings, MayneModel Predictive Control-Theory and Design[14]2009
Haber, Bars, SchmitzPredictive control in process engineering[15]2011
Borelli, Bemporad, MorariPredictive control for linear and hybrid systems[16]2017
RossiterA first course in predictive control[17]2018

Tabelle 1.

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.

Autor(en)TitelQuelleJahr
Ogunnaike, RayProcess Dynamics, Modelling and Control[18], Kap. 271994
MarlinProcess Control[19], Kap. 232000
BequetteProcess Control[20], Kap. 162003
Seborg, Edgar, Mellichamp, DoyleProcess Dynamics and Control[21], Kap. 202011
CorriouProcess Control[22], Kap. 162017

Tabelle 2.

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.

Im 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.

Autor(en)TitelQuelleJahr
Grüne, PannekNonlinear Model Predictive Control[29]2017
Kouvaritakis, CannonModel Predictive Control: classical, robust and stochastic[30]2016
Grancharova, JohansonExplicit Nonlinear Model Predictive Control[31]2012
Ellis, Christofides, LiuEconomic Model Predictive Control[32]2017
Li, ZhenDistributed Model Predictive Control for plant-wide systems[33]2015

Tabelle 3.

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)

Darü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.

Wie 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.

Autor(en)TitelQuelleJahr
LjungSystem Identification – Theory for the User[39]1999
ZhuMultivariable System Identification for Process Control[40]2001
Isermann, MünchhofIdentification of Dynamic Systems – an Introduction with Applications[41]2011
TangiralaPrinciples of System Identification[42]2014
Bohn, UnbehauenIdentifikation dynamischer Systeme[43]2016

Tabelle 4.

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).

Wie 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].

Das vorliegende Buch ist wie folgt aufgebaut:

In 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.

Kapitel 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.

Die folgenden Kapitel sind unterschiedlichen Anwendungsbeispielen für MPC-Regelungen gewidmet. Alle Beispiele stammen aus dem Bereich der Verfahrenstechnik, es werden jedoch unterschiedliche Schwerpunkte gesetzt.

In 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.

Kapitel 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.

Das 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.

Die 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.

Kapitel 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.

Fü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.

2. Einführung in Model Predictive Control und die MATLAB® Model Predictive Control ToolboxTM

In 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.

2.1 Streckenmodell, MPC-Regelkreis und MPC-Terminologie

Das 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).

Bild 1.

Struktur des Streckenmodells in der MPC Toolbox.

Es besteht aus dem eigentlichen Prozessmodell, das die Zusammenhänge zwischen den

  • manipulierten Variablen (Stellgrößen) u

  • gemessenen Störgrößen v

  • nicht gemessenen Eingangsstörungen d

und den

  • gemessenen Ausgangsgrößen (Regelgrößen) ym, sowie den

  • nicht gemessenen Ausgangsgrößen yu

beschreibt. Die nicht gemessenen Eingangsstörungen d, die gemessenen Ausgangsstörungen yod(Index od… output disturbance) und das Messrauschen yn(Index n… noise) werden durch weitere mathematische Modelle beschrieben, die diese Störsignale aus weißen Rauschsignalen erzeugen. Die Störsignale lassen sich daher als “gefiltertes weißes Rauschen” oder “farbiges Rauschen” bezeichnen, deren Eigenschaften durch die Parameter der Störmodelle festgelegt werden.

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

uk=u1ku2kunukTE1

den Vektor der manipulierten Variablen (MV) oder Stellgrößen. Ähnliches gilt für die anderen vektoriellen Größen. Der in Klammern gesetzte Index kbezeichnet den aktuellen Zeitpunkt in zeitdiskreter Schreibweise. In vielen Fachbüchern und kommerziellen MPC-Werkzeugen haben sich andere Abkürzungen eingebürgert als die in der MPC Toolbox verwendeten: so werden die gemessenen Störgrößen statt als MD (measured disturbances) oft als DV (disturbance variables) und die gemessenen Ausgangsgrößen statt als MO (measured outputs) oft als CV (control variables) bezeichnet.

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.

Bild 2.

Struktur 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.

2.2 Grundelemente von MPC-Regelalgorithmen

Unabhä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 kbezeichnet, zukünftige mit k+j, vergangene mit kj.

Bild 3.

Zum Funktionsprinzip eine MPC-Regelung.

2.2.1 Schätzung nicht gemessener Zustandsgrößen des Prozessmodells und der Störmodelle

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 ykwird in diesem Schritt der Regelkreis der MPC-Regelung geschlossen.

2.2.2 Vorhersage

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 kwird das zukünftige Verhalten der Regelgröße mit Hilfe eines mathematischen Modells für das dynamische Verhalten des Prozesses vorhergesagt. Die Vorhersage erstreckt sich über den “Prädiktionshorizont” p(bzw. die Zeit pTsmit Tsals Abtastzeit). Sie setzt sich aus zwei Teilen zusammen, der “freien” und der “erzwungenen” Bewegung des Systems. Die “freie” Bewegung bezeichnet den zukünftigen Verlauf der Regelgröße unter der Annahme, dass sich die Stellgröße in der Zukunft nicht verändert. Dies ist in Bild 3 gestrichelt dargestellt. Man spricht auch von einer Vorhersage im offenen Kreis oder von “unforced prediction”. Die “erzwungene” Bewegung ergibt sich aus der Berücksichtigung des zukünftigen Verlaufs der Stellgrößen über den “Steuerhorizont” m. Dieser Teil wird auch “Vorhersage im geschlossenen Kreis” oder “forced prediction” genannt und ist im Bild durchgezogen dargestellt. Für die Regelgröße muss ein zukünftiger Sollwertverlauf bekannt sein. Im Bild ist ein konstanter Sollwert dargestellt.

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.

Für die Vorhersage der Regelgröße können messbare Störgrößen vkeinbezogen werden, wenn dynamische Modelle für deren Zusammenhang mit der Regelgröße bekannt sind. Dieses Vorgehen entspricht einer Störgrößenaufschaltung, wie sie aus Regelkreisen mit PID-Regler bekannt ist ([24], S. 143 ff.).

2.2.3 Bestimmung einer optimalen Folge zukünftiger Stellgrößenänderungen (Dynamische Optimierung)

Das dritte Element des MPC-Algorithmus beinhaltet die Ermittlung einer optimalen Folge von zukünftigen Stellgrößenänderungen Δuk=ΔukkΔu(k+m1k)Tüber einen vorgegebenen “Steuerhorizont” m, der in der Praxis meist wesentlich kürzer als der Prädiktionshorizont gewählt wird. Man beachte, dass der Steuerhorizont mdie Zahl der zukünftigen Stellgrößenänderungen bezeichnet. Da die erste Stellgrößenänderung für den aktuellen Zeitpunkt k+0bestimmt wird, läuft der Index bis k+m1, vgl. Bild 3. Die Schreibweise Δuk+ikbedeutet hier, dass Stellgrößenänderungen für die Zeitpunkte kk+1k+2k+iauf der Grundlage von Informationen berechnet werden, die bis zum aktuellen Zeitpunkt kvorliegen.

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 ukund deren Änderungen zwischen zwei Abtastzeitpunkten Δukkönnen Ungleichungs-Nebenbedingungen vorgegeben werden, die in jedem Fall durch den MPC-Regler einzuhalten sind (sogenannte “harte” Nebenbedingungen). Für die Regelgrößen können entweder Gleichungs-Nebenbedingungen (Sollwerte) oder Ungleichungs-Nebenbedingen (Sollbereiche oder obere/untere Grenzwerte) vorgegeben werden. Nebenbedingungen für die Regelgrößen dürfen zeitweilig verletzt werden, werden also als “weiche” Nebenbedingungen aufgefasst. Durch die Vorgabe von Gewichtsfaktoren, wird ein Kompromiss zwischen den Zielen “geringstmögliche zukünftige Regeldifferenzen” und “geringstmöglicher Stellaufwand” gestaltet. Die Gewichtsfaktoren sind das wesentliche Element der Reglereinstellung (Tuning). Da die unabhängigen Variablen des Optimierungsproblems eine zeitliche Folge von Stellgrößenänderungen darstellen, wird dieser Schritt auch als “dynamische Optimierung” bezeichnet.

2.2.4 Anwendung des Prinzips des zurückweichenden Horizonts

Obwohl im vorhergehenden Optimierungsschritt eine ganze Folge zukünftiger Stellgrößenänderungen berechnet wurde, wird nur das erste Element dieser Folge Δukkan den Prozess bzw. an die Stelleinrichtung ausgegeben. Das bedeutet aber auch, dass man nicht mAbtastintervalle bis zur Durchführung der nächsten Optimierung wartet, sondern die gesamte Prozedur von Schätzung, Prädiktion und Optimierung in jedem Abtastintervall wiederholt. Vorher werden der betrachtete Zeithorizont und mit ihm die Datenvektoren für die Regelkreisgrößen um einen Abtastschritt nach vorn verschoben. Dieses Vorgehen wird als Anwendung des Prinzips des zurückweichenden Horizonts (“receding horizon principle”) bezeichnet. Seine Anwendung ermöglicht eine schnelle Reaktion auf Änderungen nicht gemessener Störgrößen.

2.2.5 Hinweis: Statische Arbeitspunktoptimierung

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 uSSund ySSdurch Minimierung einer ökonomischen (oder daraus abgeleiteten technologischen) Zielfunktion zu ermitteln. Mathematisch wird diese Aufgabe meist mit Hilfe einer Linearoptimierung mit den schon beschriebenen Nebenbedingungen in Echtzeit gelöst. Benötigt wird hier das mathematische Modell für das statische Verhalten des Prozesses. In der MPC-Literatur wird die statische Arbeitspunktoptimierung auch als “Target Selection” bezeichnet, die Größen uSSund ySSsind dann die “Targets” oder Zielgrößen für den dynamischen Teil des MPC-Reglers. Durch die MPC Toolbox wird die Funktion der statischen Arbeitspunktoptimierung bisher allerdings nicht unterstützt.

In Bild 4 ist das Zusammenwirken der Grundelemente eines MPC-Regelungssystems ohne Target-Selection in Form eines Wirkungsplans dargestellt.

Bild 4.

Zusammenwirken der Grundelemente eines MPC-Regelungssystems.

2.3 MPC-Mathematik

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.

2.3.1 Verwendete Modelle

2.3.1.1 Prozessmodell

In 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 z=0(MATLAB-Funktion absorbDelay), und

  • 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 Sifür die Eingangs- und Sofür die Ausgangsgrößen zusammen, dann geschieht die Umwandlung in die dimensionslose Form z. B. durch

ypk=So1Cxpk+So1DSiupk=Cpxpk+DpuupkE2

Es wird schließlich ein Zustandsmodell der Form

xpk+1=Apxpk+Bpuupk+Bpvvpk+Bpddpkypk=Cpxpk+Dpuupk+Dpvvpk+DpddpkE3

erzeugt. Darin bezeichnen xp, up, vpund dpdie Vektoren der Zustandsgrößen, der manipulierten Variablen, der gemessenen und der nicht gemessenen Störgrößen, ypden Vektor der Ausgangsgrößen. Der Index pbedeutet “process” oder “plant”. Die Matrizen A,B,Cund Dsind konstante Matrizen des Zustandsmodells. Der MPC-Regler erzwingt Dpu=0, d. h. das Modell der Regelstrecke ist nicht sprungfähig (die Stellgrößen wirken nicht unverzögert auf die Regelgrößen).

2.3.1.2 Modell der Eingangsstörungen

Das lineare Zustandsmodell der Eingangsstörungen lautet

xidk+1=Aidxidk+Bidwidkdk=Cidxidk+DidwidkE4

Darin bezeichnen dden Vektor der nicht gemessenen, dimensionslosen Eingangsstörgrößen, wideinen Vektor dimensionsloser weißer Rauschsignale mit Mittelwert Null und Varianz Eins, xidden Zustandsvektor des Modells der Eingangsstörungen und Aid,Bid,Cidund Didkonstante Matrizen. Der Index idbedeutet “input disturbance”. Die Eingangsstörungen sind also “gefiltertes weißes Rauschen”, deren Eigenschaften durch die Struktur und die Parameter des Störmodells erzeugt werden. Mit diesem Ansatz lassen sich viele in der Praxis auftretenden Störsignale beschreiben. Wenn der Anwender kein Modell der Eingangsstörungen vorgibt, wird ein voreingestelltes Modell verwendet. Einzelheiten werden in [35], S. 2–4 ff. beschrieben. Die Wahl des Modells der Eingangsstörungen beeinflusst sowohl die Dynamik des Störverhaltens der MPC-Regelung als auch das statische Verhalten, insbesondere die Vermeidung bleibender Regeldifferenzen analog dem I-Anteil bei einer PID-Regelung.

2.3.1.3 Modell der Ausgangsstörungen

Das lineare Zustandsmodell der (nicht gemessenen) Ausgangsstörungen lautet

xodk+1=Aodxodk+Bodwodkyodk=Codxodk+DodwodkE5

mit den Zustandsgrößen xod, dem dimensionslosen weißen Rauschen wod, den konstanten Matrizen Aod,Bod,Codund Didsowie dem Index od(“output disturbance”). Die dimensionslosen Ausgangsstörgrößen yodwerden auf die Prozess-Ausgangsgrößen ypaddiert (vgl. Bild 1). Das Modell der Ausgangsstörungen ist somit wesentlich allgemeiner als das ursprünglich für “Dynamic Matrix Control” (einen der frühesten MPC-Regelalgorithmen) verwendete Modell einer sprungkonstanten Ausgangsstörung (vgl. [24], S. 285 ff.). Die ausschließliche Verwendung dieses Modells in den frühen Versionen kommerzieller MPC-Programmpakte führte u. a. zu einer unbefriedigenden Regelgüte bei der Kompensation von Eingangsstörgrößen [48, 49]. Dieser Nachteile wird durch die in der MPC Toolbox (aber auch in anderen modernen kommerziellen MPC-Programmpaketen) verwendeten Störmodelle vermieden.

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.

2.3.1.4 Modell des Messrauschens

Das lineare Zustandsmodell für das Messrauschen lautet

xnk+1=Anxnk+Bnwnkynk=Cnxnk+DnwnkE6

mit den Zustandsgrößen xn, dem dimensionslosen weißen Rauschen wn, den konstanten Matrizen An,Bn,Cnund Dnsowie dem Index n(“noise”). Das dimensionslose Messrauschen ynwird ebenfalls auf die Ausgangsgrößen des Prozesses addiert, die gemessenen Ausgangsgrößen ergeben sich dann zu ymk=ypk+yodk+ynk=yk+ynk. Wenn kein Modell des Messrauschens durch den Anwender vorgegeben wird, werden keine Zustandsgrößen xnverwendet (bzw. deren Anzahl ist gleich Null), für An,Bn,Cnsind leere Matrizen voreingestellt, und Dnist eine Einheitsmatrix mit so viel Zeilen und Spalten wie die Zahl der gemessenen Ausgangsgrößen ym. Das Modell des Messrauschens wird also auf ynk=wnkreduziert.

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.

2.3.2 Schätzung

Um 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

xcTk=xpTkxidTkxodTkxnTkE7

definiert. Er fasst also die Zustandsvektoren des Prozessmodells und der drei Störmodelle zusammen. Der Index cbedeutet “current” (aktuell). Die aktuellen Werte der Zustandsgrößen werden über einen Zustandsbeobachter der Form

xck+1=Axck+Buokyk=Cxck+DuokE8

ermittelt. Die Eingangsgrößen des Beobachters werden als

uoTk=uTkvTkwidTkwodTkwnTkE9

definiert, setzen sich also aus den manipulierten Variablen, den gemessenen Störgrößen und den weißen Rauschsignalen der Störmodelle zusammen. Die konstanten Matrizen A,B,Cund Dsetzen sich aus den Matrizen der Prozess- und Störmodelle wie folgt zusammen:

A=ApBpdCid000Aid0000Aod0000An,B=BpuBpvBpdDid0000Bid00000Bod00000BnE10
C=CpDpdCidCodCn0,D=0DpvDpdDidDodDn0

Der Zustandsbeobachter nutzt ein stationäres Kalman-Filter als voreingestellten Schätzalgorithmus (MATLAB-Funktion kalman). Die Zustandsgrößen werden mit ihm im kten Abtastintervall in folgenden Schritten geschätzt.

Schritt 1: Folgende Daten und Parameter werden benötigt:

  • xckk1… im vorangegangenen Abtastintervall k1geschätzter Zustandsvektor,

  • uactk1… aktuell im Zeitintervall von k1bis kverwendete manipulierte Variablen,

  • uoptk1… durch den MPC-Regler als optimal bestimmte Werte der manipulierten Variablen,

  • vk… aktuelle Werte der gemessenen Störgrößen,

  • ymk… aktuelle Werte der gemessenen Regelgrößen,

  • Bu,Bv… den manipulierten Variablen und gemessenen Störgrößen zugeordnete Spalten der Beobachter-Matrix B,

  • Cm… den gemessenen Ausgangsgrößen zugeordnete Zeilen der Beobachter-Matrix C,

  • Dmv… Zeilen und Spalten der Beobachter-Matrix D, die den gemessenen Ausgangsgrößen und den gemessenen Störgrößen zuzuordnen sind,

  • L,M… konstante Matrizen der Kalman-Verstärkungen.

Schritt 2: Korrektur (Revision) des Zustandsvektors für den Fall, dass uactk1und uoptk1verschieden voneinander sind:

xcrevkk1=xckk1+Buuactk1uoptk1E11

Schritt 3: Berechnung der “Innovation” (der Differenz zwischen gemessenen und vorhergesagten Ausgangsgrößen)

ek=ymkCmxcrevkk1+DmvvkE12

Schritt 4: Aktualisierung des Zustandsvektors

xckk=xcrevkk1+MekE13

Schritt 5: Mit dem aktualisierten Zustandsvektor wird danach die Prädiktion durchgeführt und eine neue optimale Stellgrößenfolge und damit auch dessen erstes Element uoptk, das im Intervall zwischen kund k+1verwendet werden soll, berechnet. Schließlich wird der Zustandsvektor für den Zeitpunkt k+1vorhergesagt:

xck+1k=Axcrevkk1+Buuoptk+Bννk+LekE14

Dabei wird angenommen, dass die unbekannten Werte der weißen Rauschprozesse widk, wodkund wnkihren Mittelwerten, d. h. Null, entsprechen.

Alternativ können (erfahrene) Anwender auch andere bzw. selbst entwickelte Schätzverfahren einsetzen.

2.3.3 Prädiktion

Sind die aktuellen Werte des Zustandsvektors xckkbekannt, können die zukünftigen Werte der von Messrauschen freien Ausgangsgrößen yk+ikvorhergesagt werden. Dafür sind im kten Abtastintervall folgende Informationen erforderlich:

  • p… der Prädiktionshorizont,

  • xckk… die Schätzung für den Vektor der Zustandsgrößen,

  • vk… die aktuellen Werte der gemessenen Störgrößen,

  • vk+ik… zukünftige Werte der gemessenen Störgrößen (falls bekannt, sonst vk+ik=vk),

  • A,Bu,Bv,C,Dv… Matrizen des Zustandsbeobachters, dabei sind Bu,Bvund Dvdie Spalten von Bund D, die den manipulierten Variablen und gemessenen Störgrößen zuzuordnen sind.

Die Vorhersage der Zustandsgrößen für den nächsten Abtastzeitpunkt ist

xck+1k=Axckk+Buukk+BvvkE15

Für die folgenden Abtastzeitpunkte bis zum Prädiktionshorizont lassen sich die Zustandsgrößen rekursiv ermitteln:

xck+ik=Axck+i1k+Buuk+i1k+Bvvki1ki=2pE16

Die Ausgangsgrößen ergeben sich dann zu

yk+ik=Cxck+ik+Dvvk+ik,i=1pE17

2.3.4 Optimierung

Modellprä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.

2.3.4.1 Zielfunktion

Die Zielfunktion des Optimierungsschritts bei MPC-Regelungen lässt sich in der Form

Jzk=Jyzk+Juzk+JΔuzk+JεzkE18

mit zkals Vektor der unabhängigen Variablen (siehe unten) schreiben. Jeder der in der Zielfunktion auftretenden, im Folgenden näher erläuterten Terme beschreibt einen Aspekt der Regelgüte. Gewichtsfaktoren erlauben dem Anwender, einen Kompromiss zwischen den konkurrierenden Teilzielen zu gestalten.

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

Jyzk=j=1nyi=1pwi,jysjyrjk+ikyj(k+ik)2E19

Darin bedeuten

  • k… den aktuellen Abtastzeitpunkt bzw. das aktuelle Abtastintervall,

  • p… die Länge des Prädiktionshorizonts als Vielfaches der Abtastzeit,

  • ny… die Zahl der Ausgangsgrößen des Prozesses bzw. der Regelgrößen,

  • zk… den Vektor der unabhängigen oder Entscheidungsvariablen, der durch zkT=ukkTuk+1kTuk+p1kTεkgegeben ist,

  • yjk+ik… Vorhersagewerte für die jte Ausgangsgröße im iten Prädiktionsintervall (in der jeweiligen Maßeinheit),

  • rjk+ik… Referenz- oder Sollwert für die jte Ausgangsgröße im iten Prädiktionsintervall (in der jeweiligen Maßeinheit),

  • sjy… Skalierungsfaktoren für die jte Ausgangsgröße (in der jeweiligen Maßeinheit),

  • wi,jy… Gewichtsfaktoren für die jte Ausgangsgröße im iten Prädiktionsintervall (dimensionslos).

Die Werte von pund wi,jysind konstante MPC-“Reglerparameter”. Die Vorhersagen yjk+ikhängen vom geschätzten Anfangszustand xckk, den gemessenen Störgrößen vkund den zukünftigen Veränderungen der Stellgrößen ab. Da zum Zeitpunkt ksowohl vkals auch xckkbekannt sind, hängt Jynur von zkab. Der Vektor der Entscheidungsvariablen beinhaltet die in der Zukunft am Prozess einzustellenden Werte der manipulierten Variablen ukkTuk+p1kTsowie eine als “Schlupfvariable” bezeichnete, skalare, dimensionslose, nicht-negative Größe εk, die ein Maß für größte Verletzung einer vorgegebenen Nebenbedingung ist. Als Steuerhorizont wurde hier m=pgewählt, also die maximal mögliche Länge. In der Praxis wird meist m<pgewählt, dann sind entsprechend weniger zukünftige MV-Werte ukkTuk+m1kTzu bestimmen, und die Optimierungsaufgabe vereinfacht sich. Die Teilzielfunktion Jyzkist ein Maß für die zukünftig auftretenden Regeldifferenzen. Über die Gewichte wi,jykann der Anwender einerseits Informationen über die Bedeutung der einzelnen Regelgrößen bereitstellen. So bedeutet wi,1ywi,2yi, dass die Einhaltung des Sollwerts für Regelgröße 1 wesentlich wichtiger ist als die Einhaltung des Sollwerts für Regelgröße 2. Andererseits können die Gewichte innerhalb des Prädiktionshorizonts variieren. So bedeutet z. B. w1…5,jywp5p,jyj, dass kleine Regeldifferenzen in den ersten fünf Stützstellen des Prädiktionshorizonts eher toleriert werden können als am Horizontende.

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:

Juzk=j=1nui=0p1wi,jusjuujk+ikuj.target(k+ik)2E20

Der MPC-Regler versucht also, ausgewählte MV auf ihre Zielwerte zu führen bzw. sie dort zu halten. Darin bedeuten

  • k… den aktuellen Abtastzeitpunkt,

  • p… die Länge des Prädiktionshorizonts als Vielfaches der Abtastzeit,

  • nu… die Zahl der manipulierten Variablen,

  • zk… den Vektor der unabhängigen oder Entscheidungsvariablen zkT=ukkTuk+1kTuk+p1kTεk,

  • uj,targetk+ik… Targets für die jte manipulierte Variable im iten Prädiktionsintervall (in der jeweiligen Maßeinheit),

  • sju… Skalierungsfaktoren für die jte manipulierte Variable (in der jeweiligen Maßeinheit),

  • wi,ju… die Gewichtsfaktoren für die jte manipulierte Variable im iten Prädiktionsintervall (dimensionslos).

Die Werte von pund wi,jysind wiederum konstante MPC-“Reglerparameter”.

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

JΔuzk=j=1nui=0p1wi,jΔusjuujk+ikuj(k+i1k)2==j=1nui=0p1wi,jΔusjuΔujk+ikE21

formulieren. Darin bezeichnen

  • k… den aktuellen Abtastzeitpunkt,

  • p… die Länge des Prädiktionshorizonts als Vielfaches der Abtastzeit,

  • nu… die Zahl der manipulierten Variablen,

  • zk… den Vektor der unabhängigen oder Entscheidungsvariablen zkT=ukkTuk+1kTuk+p1kTεk,

  • sju… Skalierungsfaktoren für die jte manipulierte Variable (in der jeweiligen Maßeinheit),

  • wi,jΔu… die Gewichtsfaktoren für die jte manipulierte Variable im iten Prädiktionsintervall (dimensionslos).

Auch hier ist zunächst m=punterstellt, meist wird jedoch mpgewählt.

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:

Jεzk=ρεεk2E22

Darin bezeichnen

  • k… den aktuellen Abtastzeitpunkt,

  • zk… den Vektor der unabhängigen oder Entscheidungsvariablen zkT=ukkTuk+1kTuk+p1kTεk,

  • εk… eine dimensionslose, nicht-negative Schlupfvariable für die Quantifizierung der schlimmstmöglichen Verletzung von Nebenbedingungen,

  • ρk… einen Gewichtsfaktor, der die Verletzung von Nebenbedingungen bestraft.

Der Anwender kann auch eine alternative, vereinfachte Form der Zielfunktion wählen:

Jzk=i=0p1eyTk+iQeyk+i+euTk+iRueuk+i++ΔuTk+iRΔuΔuTk+i+ρkεk2E23

Darin bezeichnen Q, Ruund RΔuquadratische Gewichtsmatrizen einer geeigneten Dimension, und

eyk+i=Sy1rk+i+1ky(k+i+1k)euk+i=Su1utargetk+iku(k+ik)Δuk+i=Su1uk+iku(k+i1k)E24

In den Diagonalmatrizen Syund Susind die Skalierungsfaktoren zusammengefasst. Die vereinfachte Zielfunktion ergibt sich aus der Standard-Zielfunktion, wenn die Gewichtsfaktoren wi,jy, wi,juund wi,jΔuüber den Prädiktionshorizont konstant sind, und die Gewichtsmatrizen Q, Ruund RΔudie Quadrate dieser Gewichtsfaktoren in der Diagonale enthalten.

2.3.4.2 Nebenbedingungen

Für das quadratische Optimierungsproblem des MPC-Reglers können folgende Nebenbedingungen für die Regelgrößen y, die Stellgrößen (manipulierten Variablen) uund deren Veränderung zwischen zwei Abtastzeitpunkten Δu(Verstellgeschwindigkeit, rate-of-change) vorgegeben werden:

yj,minisjyεkVj,minyiyjk+iksjyyj,maxisjy+εkVj,maxyii=1p,j=1nyuj,minisjuεkVj,minuiujk+i1ksjuuj,maxisju+εkVj,maxuii=1p,j=1nuE25
Δuj,minisjuεkVj,minΔuiΔujk+i1ksjuΔuj,maxisju+εkVj,maxΔuii=1p,j=1nu

Darin bedeuten

  • εk… eine dimensionslose, nicht-negative Schlupfvariable für das QP-Problem,

  • sjyund sju… Skalierungsfaktoren für die jte Regel- und Stellgröße (in der jeweiligen Maßeinheit),

  • yj,mini,yj,maxi… untere und obere Grenzwerte für die jte Regelgröße im iten Prädiktionsintervall (in der Maßeinheit der jeweiligen Größe),

  • uj,mini,uj,maxi… untere und obere Grenzwerte für die jte Stellgröße im iten Prädiktionsintervall (in der Maßeinheit der jeweiligen Größe),

  • Δuj,mini,Δuj,maxi… untere und obere Grenzwerte für das Inkrement der jten Stellgröße im iten Prädiktionsintervall (in der Maßeinheit der jeweiligen Größe),

  • Vj,miny, Vj,maxy, Vj,minu, Vj,maxu,Vj,minΔuund Vj,maxΔu… dimensionslose ECR-Faktoren (ECR … Equal Concern of Relaxation), die für das “Aufweichen” oder die “Lockerung” der Nebenbedingungen (“Constraint Softening”) benutzt werden und ebenso wie die Gewichte als Reglerparameter aufzufassen sind.

Die Grenzwerte für die Nebenbedingungen der Stell- und Regelgrößen sind mit Infund Inf(minus und plus Unendlich) voreingestellt, die Nebenbedingungen daher unwirksam. Will der Anwender sie aktivieren, muss er technologisch sinnvolle, endliche Grenzwerte vorgeben. Gilt yj,mini=yj,maxi, entspricht das einer Sollwertvorgabe, mathematisch wird aus einer Ungleichungs- eine Gleichungs-Nebenbedingung.

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.

2.4 Anwendung von MPC in der Prozessindustrie

Modellprä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.

Die Einbettung von MPC-Regelungen in die Hierarchie der Funktionen der Prozessautomatisierung ist in Bild 5 dargestellt.

Bild 5.

Einbettung 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)

MPC-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.

In 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.

Ist 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.

Beim 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.

Es 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:

    1. 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.

    2. 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.

AnbieterProgrammpaket
Aspen Technology(USA)DMCplus, DMC3
Honeywell (USA)Profit Controller
Shell Global Solutions (NL)/YokogawaPACE (früher SMOC)
IPCOS (B/NL)INCA MPC
Sherpa Engineering (F)IDCOM/HIECON
Axens (F)MVAC
Andritz (A/CAN)BrainWave

Tabelle 5.

Ausgewählte LMPC-Programmpakete.

AnbieterProgrammpaket
Rockwell Software (USA)Pavilion8
ABB (CH, S)Expert Optimizer
Perceptive Engineering (UK)ControlMV
Cybernetica (N)CENIT
TriSolutions (BRA)TriNMPC

Tabelle 6.

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.

2.5 Anwendung von MPC in anderen Bereichen

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.

AnwendungsbereichQuelle
AbwassertechnikOcampo-Martinez [61]
GebäudetechnikMa, Kelman, Dali, Borelli [62], Serale et al. [63]
ZementanlagenStadler, Poland, Gallestey [64]
GlaserzeugungBackx et al. [65]
PapierindustrieChu et al. [66]
VerarbeitungstechnikTrifkovic et al. [67]
SolaranlagenCamacho, Berenguel, Rubio [68]
LebensmittelindustriePetersen et al. [69, 70]
ErzaufbereitungCoetzee, Craig, Kerrigan [71], Craig [72]
FlussnetzeBreckpot et al. [73]
MedizinCapocelli et al. [74]
KraftwerkstechnikAurora et al. [75]

Tabelle 7.

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.

AnwendungsbereichQuelle
Luft- und RaumfahrtEren et al. [77]
Elektrische AntriebstechnikGeyer [78]
LeistungselektronikVazquez et al. [79]
WindenergietechnikLio, Rossiter, Jones [80], Yaramasu, Wu [81]
LandwirtschaftDing et al. [82]
FahrzeugtechnikDel Re et al. [83], Hrovat et al. [84]
ProduktionsplanungBaldea, Harjunkoski [85]

Tabelle 8.

MPC-Anwendungen außerhalb der Prozessindustrie.

2.6 Übersicht über die Model Predictive Control ToolboxTM und weitere MATLAB®/Simulink®-Werkzeuge

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.

Bild 6.

Übersicht über die MPC Toolbox.

2.6.1 Entwurf und Simulation von MPC-Reglern mit linearen Modellen (LMPC)

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.

Eine 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.

2.6.2 Adaptive und Gain-Scheduled-MPC-Regler für nichtlineare und zeitvariante Systeme

Wie 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:

Erstens 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.

Zweitens 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.

In 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.

Bild 7.

Klassen von MPC-Regelungen.

2.6.3 Entwurf und Simulation von MPC-Reglern mit nichtlinearen Modellen (NMPC) und Economic Model Predictive Control (EMPC)

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.

Der 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.

Wie 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.

Bild 8.

RTO/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.

In 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

Jzk=i=0p1eyTk+iQeyk+i+ΔuTk+iRΔuΔuTk+iE26

der erste Term “Minimierung der zukünftigen quadratischen Regeldifferenzen” durch einen Term ersetzt wird, der die Betriebskosten der Anlage beschreibt:

Jzk=i=0p1ΔuTk+iRΔuΔuTk+ii=1pβiΨk+iE27

Ziel der Optimierung ist daher jetzt eine dynamische (nichtlineare) Optimierung der Betriebskosten in direkter Form, d. h. innerhalb der MPC-Regelung [32, 87].

Die EMPC-Zielfunktion hängt in der Regel nichtlinear von den MPC-Entscheidungsvariablen zkab. Für die Lösung muss allein deshalb ein nichtlineares Optimierungsverfahren eingesetzt werden. Dann können aber auch die die Prozessmodelle und die Nebenbedingungen für die Stell- und Regelgrößen als nichtlineare (Gleichungs- und Ungleichungs-)Beschränkungen formuliert werden, ohne den Rechenaufwand wesentlich zu erhöhen. EMPC-Probleme sind daher in der Regel auch NMPC-Probleme, wie viele der bisher veröffentlichten EMPC-Studien belegen.

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.

2.6.4 MPC-Entwurfsberatung, anwenderspezifische Schätzung und Optimierung, MPC-Monitoring

Die 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.

Wie 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.

Die 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.

2.6.5 Entwurf expliziter MPC-Regler

Die 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 ukk=Fxckkbestimmt werden. Darin bezeichnet die Funktion Fden in der Zuordnungstabelle hinterlegten funktionalen Zusammenhang zwischen den optimalen Stellgrößen und den aktuellen Zustandsgrößen. Daher sind – zumindest bei MPC-Problemen kleiner Dimension – einfache Hardwarelösungen möglich (“MPC on a chip”, embedded MPC). Diese Vorgehensweise eignet sich für MPC-Anwendungen mit einer kleinen Zahl von Ein- und Ausgangsgrößen und kleinen Horizontlängen, also eher nicht für Anwendungen in der Prozessindustrie.

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.

2.6.6 Erzeugung von C-Code und Structured Text, OPC-Schnittstelle

Die 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.

In 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.

2.6.7 Model Predictive Control in Simulink®

Mit 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.

Bild 9.

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.

Der Simulink Library Browser wird durch Eingabe des Befehls slLibraryBrowser im Command-Window von MATLAB® zugänglich.

Wenn 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.

3. Entwurf von MPC-Regelungen mit der MPC Designer App

Im folgenden Kapitel wird die Vorgehensweise beim Entwurf von MPC-Regelungen mit Hilfe der “MPC Designer” App der MPC Toolbox ausführlich beschrieben.

Die 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.

Bild 10.

Hauptfenster 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.

Bild 11.

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.

Bild 12.

Eingabemöglichkeiten unter dem Tab “TUNING”.

Die unter dem Tab “VIEW” angeordneten Bedienelemente dienen der Organisation der Visualisierung der Simulationsergebnisse.

Beim Entwurf einer MPC-Regelung mit Hilfe der MPC Designer App geht man nacheinander in folgenden Schritten vor:

  1. Laden eines Prozessmodells für das dynamische Verhalten der Regelstrecke (Ein- oder Mehrgrößensystem),

  2. 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,

  3. Festlegung der Abtastzeit für den MPC-Regler,

  4. Vorgabe der Horizontlängen (Prädiktions- und Steuerhorizont),

  5. Definition der Skalierungsfaktoren für die Normierung der Variablen,

  6. Eingabe von Nebenbedingungen für die Stell- und Regelgrößen,

  7. Eingabe von Gewichtsfaktoren für die Variablen des MPC-Reglers,

  8. Optional: Anpassung der Modelle für die Schätzung nicht gemessener Störgrößen,

  9. Optional: Vorgabe eines “MV Blocking” mit dem Ziel der Verringerung des Rechenaufwands bei der Stellgrößenberechnung,

  10. 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.

3.1 Prozessmodell, MPC-Reglerstruktur und Wahl der Abtastzeit

Die 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 Tsdes MPC-Reglers notwendig. Die MPC-Reglerstruktur wird aus der Zahl der Ein-und Ausgangsgrößen des LTI-Modells wie folgt ermittelt: alle Eingangsgrößen werden zunächst als manipulierte Variable (MV), alle Ausgangsgrößen als gemessene Ausgangsgrößen (MO) bzw. Regelgrößen aufgefasst. Der Anwender kann aber die I/O-Kanäle anderen Variablentypen zuweisen und auf diese Weise die Reglerstruktur verändern. So ist es für das in Abschnitt 4 vorgestellte Modell einer Pilot-Destillationskolonne sinnvoll, die Eingangsgrößen 4 und 5 als gemessene oder nicht gemessene Störgrößen und nicht als manipulierte Variable zu deklarieren. Bild 13 zeigt eine MPC-Struktur im Fenster “Define MPC Structure By Importing”.

Bild 13.

Fenster “Define MPC Structure By Importing”.

Für die Wahl der Abtastzeit Tssollten folgende Hinweise beachtet werden:

  • Faustformeln für die Wahl der Abtastzeit sind Tr/20TsTr/10mit Trals Anstiegszeit der Sprungantwort der Regelstrecke

  • TsTCLST/10, wobei TCLSTdie kleinste angestrebte Ausregelzeit (Closed loop settling time, CLST) ist,

  • 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 Tsführt zu einem größeren Wert von p, wenn die Länge des Prädiktionshorizonts (d. h. das ProduktpTs, also der Zeitraum, über den das zukünftige Verlauf der Regelgrößen vorhergesagt wird) konstant bleiben soll; ein größeres perhöht aber seinerseits der Speicherbedarf des MPC-Regelalgorithmus und die für die Lösung des QP-Problems erforderliche Zeit,

  • wenn bei (im offenen Kreis) instabilen Regelstrecken der Wert von pTsso groß ist, dass die Amplitude der Sprungantwort in dieser Zeit unendlich groß wird, treten Probleme im MPC-Regelalgorithmus auf, die zu einer Fehlermeldung führen.

Die Maßeinheit der Zeit wird aus dem Parameter TimeUnit des LTI-Modells abgeleitet, die mit 1 s (Sekunde) voreingestellt ist.

Bild 14 zeigt die Einheits-Sprungantwort der schnellsten Teilstrecke G21s=1.113.25s+1e6.5sder Pilot-Destillationskolonne (vgl. Abschnitt 4.1), die den Zusammenhang zwischen der Ethanol-Konzentration und dem Durchfluss am Seitenabzug beschreibt. Die Anstiegszeit kann in MATLAB® im Plot der Sprungantwort angezeigt werden (rechte Maustaste – im Kontextmenü “Characteristics/Rise Time” anwählen). Sie wird defaultmäßig zwischen 10% und 90% des Endwerts der Sprungantwort gemessen und beträgt in diesem Beispiel ca. 8 s. Daraus ergibt sich der Vorschlag für eine Abtastzeit von 1 s.

Bild 14.

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.

Bild 15.

Hauptfenster 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.

3.2 Skalierungsfaktoren und Horizontlängen

Im 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).

Bild 16.

Fenster “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” sjuund sjyeingegeben werden.

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 wi,jy, wi,juund wi,jΔuder MPC-Reglereinstellung ausschließlich auf die Priorisierung der Variablen untereinander gerichtet sind, Priorisierung und Skalierung also nicht vermischt werden. Es ist daher sinnvoll, zuerst die Skalierungsfaktoren vorzugeben und diese im weiteren Verlauf des Reglerentwurfs konstant zu halten.

Alle Eingaben werden erst dann wirksam, wenn sie mit “Apply/OK” abgeschlossen werden.

Durch 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).

Der Prädiktionshorizont (Prediction horizon) pbezeichnet die Zahl der Abtastintervalle, über die das zukünftige Verhalten der Regelgrößen vorhergesagt wird (vgl. Abschnitt 2.3.3). Im Zeitmaßstab ergibt sich daraus eine Horizontlänge von pTsZeiteinheiten. Der Prädiktionshorizont sollte so gewählt werden, dass zukünftige Verletzungen der Nebenbedingungen rechtzeitig erkannt werden. Eine sinnvolle Wahl ist

  • pTCLST/Ts, worin TCLSTdie längste gewünschte Ausregelzeit (CLST… Closed Loop Settling Time) bezeichnet, oder

  • pmaxi,j5Tdom,ijTs+Td,ijTs+1mit Tdom,ijals dominierende Zeitkonstanten und Td,ijals Totzeiten der Teilstrecken zwischen Eingangsgröße iund Ausgangsgröße j.

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 pTOLST/Tsgewählt werden, worin TOLSTdie Einschwingzeit der trägsten Teilregelstrecke bezeichnet (OLST… Open Loop Settling Time). Sind Regelstrecken mit Totzeiten behaftet, muss p>Td/Tsmit Tdals größter Totzeit aller Teilstrecken gewählt werden. Weisen Regelstrecken “Inverse-Response”-Verhalten auf, sollte der Prädiktionshorizont größer sein als die Zeit, bei der deren Einheits-Sprungantwort die Zeitachse schneidet. Regelstrecken mit “Inverse-Response”-Verhalten sind dadurch charakterisiert, dass deren Übertragungsfunktion eine Nullstelle in der rechten Halbebene aufweist. In Bild 17 sind beispielhaft die Einheitssprungantworten von Regelstrecke mit Totzeit und “Inverse-Response”-Verhalten dargestellt. Die Übertragungsfunktionen sind hier Gs=110s+15s+1e4sund Gs=14s10s+15s+1.

Bild 17.

Wahl des Prädiktionshorizonts bei Strecken mit Totzeit oder “Inverse-Response”-Verhalten.

Bei (im offenen Kreis) instabilen Regelstrecken sollte pTskleiner sein als die Zeit, bei der die Sprungantwort unendlich groß wird. Weitere Hinweise zur Wahl des Prädiktionshorizonts finden sich in [15, 34, 89]. Der Prädiktionshorizont sollte zu Beginn des Reglerentwurfs gewählt und anschließend konstant gehalten werden. Er ist im Gegensatz zu den Gewichtsfaktoren kein Parameter für die Reglereinstellung.

Der Steuerhorizont (control horizon) mbezeichnet die Zahl der in jedem Abtastintervall optimal zu bestimmenden Stellgrößenänderungen. Im Zeitmaßstab ergibt sich daraus eine Horizontlänge von mTsZeiteinheiten. Es gilt 1mp. Der voreingestellte Wert ist m=2. In der Regel sollte mpgewählt werden: der Wert von mbestimmt die Zahl der unabhängigen Variablen im QP-Problem und damit den Rechenaufwand. Eine Faustformel ist mmaxi,jTdom,ijTs+Td,ijTs+1mit denselben Bezeichnungen wie oben.

Die durch die MPC Designer App voreingestellten Horizontlängen sind in jedem Fall zu überprüfen und wenn nötig anzupassen.

3.3 Nebenbedingungen für die Stell- und Regelgrößen

Wird 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 ±(−Inf … +Inf) voreingestellt. Durch Anwahl der Schaltfläche “Constraints” im Hauptfenster des MPC Designer (Tab “TUNING”, vgl. Bild 12) lässt sich ein Eingabefenster für die Nebenbedingungen öffnen. Zunächst werden zwei Tabellen für die Stellgrößen (Inputs) und die Regelgrößen (Outputs) angezeigt. Für die Stellgrößen können untere und obere Grenzwerte für die Größen selbst (Min, Max) sowie für deren Verstellgeschwindigkeit (RateMin, RateMax) eingegeben werden. Für die Regelgrößen kann man nur untere/obere Grenzwerte (Min, Max) vorgeben. Bild 18 zeigt das Eingabefenster mit voreingestellten Werten der Nebenbedingungen.

Bild 18.

Eingabe von Nebenbedingungen für die Ein- und Ausgangsgrößen.

Grenzen für die Eingangsgrößen uj,mini,uj,maxiergeben sich aus physikalischen Randbedingungen der jeweiligen Anwendung. Sie können als “harte Nebenbedingungen (NB)” spezifiziert werden, die durch den MPC-Regler in jedem Fall zu respektieren sind. Begrenzte Verstellgeschwindigkeiten Δuj,mini,Δuj,maxikönnen aus der verfügbaren Stelltechnik oder anderen prozessspezifischen Grenzen resultieren. Auch die Verstellgeschwindigkeiten können als harte NB vorgegeben werden. Allerdings sollte man vermeiden, für ein und dieselbe Eingangsgröße sowohl harte NB für die Absolutwerte als auch harte NB für Verstellgeschwindigkeiten vorzugeben, weil das zu nicht zulässigen Lösungen des QP-Problems führen kann. Wenn beide Arten von NB von Bedeutung sind, muss eine von ihnen als weich spezifiziert werden. Man beachte: die Grenzen für die Stellgrößeninkremente dienen der Prozesssicherheit, sie sollen nicht für die Reglereinstellung verwendet werden!

Grenzen für die Ausgangsgrößen yj,mini,yj,maxisind in jedem Fall als “weiche NB” vorzugeben. Man kann Grenzen für die Ausgangsgrößen auch als zeitvariant über den Prädiktionshorizont gestalten (vgl. Abschnitt 3.7 “Zeitvariante Nebenbedingungen und Gewichte”). So lässt sich zum Beispiel erreichen, dass am Anfang des Prädiktionshorizonts Über- oder Unterschwingen der Regelgrößen zulässig ist, während sich die Regelgrößen am Ende des Prädiktionshorizonts in einem engeren Bereich aufhalten sollen (vgl. Bild 19). Das entspricht der “Trichtertechnik” bei einigen kommerziellen MPC-Programmpaketen.

Bild 19.

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.

Weiche 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.

Bild 20.

Vorgabe 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.

3.4 Gewichtsfaktoren

Gewichtsfaktoren treten in allen Termen der Zielfunktion der quadratischen Optimierung auf und dienen der Einstellung (dem Tuning) des MPC-Reglers. Man unterscheidet Gewichte wi,jyfür die Sollwertfolge (output reference tracking), wi,jufür die Einhaltung von Stellgrößenzielwerten (MV target tracking) und wi,jΔufür den Stellaufwand (move suppression). Alle Gewichte sind dimensionslos. Eine Erhöhung der Gewichte für die Regelgrößen bewirkt eine schnellere Regelkreisdynamik, allerdings zu Lasten der Robustheit gegenüber Modellunsicherheit. Mit der Wahl unterschiedlicher Gewichtsfaktoren für verschiedene Regelgrößen lassen sich diese untereinander priorisieren.

Für die Wahl der Gewichte für die Ausgangsgrößen wi,jygelten folgende Hinweise:

  1. Regelgrößen, für die keine Sollwerte (sondern nur Bereiche) vorgegeben werden sollen, erhalten Gewichte von wi,jy=0. Damit entfallen die zugehörigen Terme aus der Zielfunktion des QP-Problems. Regelgrößen mit Gewichten von wi,jy=0werden zwar nicht auf ihren Sollwerten gehalten, vorgegebene obere und untere Grenzwerte können aber eingehalten werden, wenn genügend freie Stellgrößen zur Verfügung stehen. Gemessene Regelgrößen werden auch dann zur Schätzung der Zustands- und Störgrößen herangezogen, wenn sie Gewichte von wi,jy=0aufweisen.

  2. Bei Mehrgrößensystemen sind folgende Strukturen denkbar:

    1. 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ß (nu=ny); man spricht dann von einem exakt spezifizierten oder quadratischen Mehrgrößensystem. Für diesen Fall ist wi,jy=1ein sinnvoller Startwert.

    2. die Zahl der verfügbaren Stellgrößen und der zu berücksichtigenden Regelgrößen ist nicht gleich groß (nuny), dann handelt es sich um ein nicht-quadratisches Mehrgrößensystem. Wenn nu<nyist, können nicht alle Regelungsziele erreicht werden, es treten bleibende Regeldifferenzen bei allen Regelgrößen auf. Die Gewichte dienen dann der Priorisierung der Regelgrößen: je größer wi,jygewählt wird, desto kleiner die bleibende Regeldifferenz. Im Fall nu>nysind “überschüssige” Stellgrößen vorhanden, für die ökonomisch oder technisch sinnvolle Zielwerte (Targets) vorgegeben werden können. Macht man das nicht, können Stellgrößen “wegdriften”.

    3. Für den Fall nu<nygelten nach [34] folgende Richtwerte für die Wahl von wi,jy:

      • 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 wi,juist zu beachten:

  1. Für Stellgrößen ohne Targets ist wi,ju=0zu setzen (der voreingestellte Wert).

  2. Stellgrößen mit Targets erhalten Gewichte von wi,ju>0. Wenn für alle “überschüssigen” Stellgrößen Targets vorgegeben werden, sollten die Targets priorisiert werden; es gelten dieselben Richtwerte wie für die Priorisierung der Regelgrößen. Wenn nur für einige Stellgrößen Targets vorgegeben werden, sollten diese gleich groß mit wi,ju=0.2gewichtet werden.

Voreingestellte Werte für die Gewichte der Stellgrößeninkremente sind wi,jΔu=0.1. Eine Vergrößerung dieser Gewichte führt zu kleineren Stellgrößenänderungen pro Abtastintervall und zur Verlangsamung der Regelkreisdynamik. Bei instabilen Regelstrecken kann es erforderlich sein, die Gewichte wi,jΔuzu verkleinern, um im Falle von Störungen größere Stellgrößenänderungen pro Abtastintervall zu ermöglichen.

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 wi,jy, wi,juund wi,jΔu, die Targets für die Stellgrößen uj,targetk+ikund der ECR-Wert für das Gewicht der Schlupfvariable ρkvorgegeben werden können (Bild 21). Die Bezeichnung “nominal” für die Stellgrößen-Targets bedeutet, dass die Arbeitspunktwerte (“Nominal Values”, vgl. Bild 16) verwendet werden sollen. Diese Bezeichnung kann durch anwendungsspezifische Zahlenwerte überschrieben werden.

Bild 21.

Fenster zur Vorgabe der Gewichtsfaktoren und der MV Targets.

Man beachte, dass ρk=100000voreingestellt ist. Ein großer Wert für ρkbewirkt einen großen Straffunktionsterm in der QP-Zielfunktion und soll sichern, dass die Verletzung der Nebenbedingungen (ausgedrückt durch die Schlupfvariable εk) möglichst klein ausfällt.

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.

3.5 Anpassung der Schätzung von Störmodellen

Wie 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.

Nach 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.

Bild 22.

Auswahl 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”.

Der Anwender kann auf das ausgewählte Modell über den Befehlgetoutdist(mpc1)im MATLAB Command Window zugreifen, nachdem der MPC-Regler (z. B. mpc1) in den MATLAB-Arbeitsspeicher exportiert wurde (Schaltfläche “Export Controller” unter dem TUNING-Tab des Hauptfensters, Bild 23). Die Störgröße “random step-like disturbance” wird zum Beispiel durch folgendes Zustandsmodell beschrieben:

Bild 23.

Einstellung der Störschätzung und der Dynamik des Störverhaltens.

A=B=C=1001,D=0000E28

Weitere Hinweise zur Spezifikation der Störmodelle findet man in [34], S. 2–15 ff.

Um 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).

Die 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.

3.6 MV Blocking

Wenn man unterstellt, dass sich innerhalb des Steuerhorizonts mdie Stellgrößen zu jedem Abtastzeitpunkt ändern können, bedeutet die Festlegung des Steuerhorizonts mgleichzeitig auch die Festlegung der Zahl der unabhängigen Variablen in der quadratischen Optimierung. Sie beträgt mnu, wobei nudie Zahl der manipulierten Variablen bezeichnet. Je größer das Produkt mnu, desto rechenzeitintensiver ist die Lösung des QP-Problems in jedem Abtastintervall. Eine Verringerung der Zahl der Unabhängigen lässt sich durch die Anwendung der Technik des “MV Blocking” erreichen [90, 91]. Dabei bildet man innerhalb des Steuerhorizonts eine Reihe von Blöcken, innerhalb deren die Stellgröße konstant bleibt. Bild 24 zeigt ein Beispiel. Die Regelgüte wird dadurch erfahrungsgemäß nicht wesentlich verschlechtert.

Bild 24.

MV Blocking.

Der Steuerhorizont ist im Beispiel m=10. Daraus ergeben sich zehn mögliche Stellgrößenänderungen Δu=Δu0Δu0Δu9T, wenn in jedem Abtastzeitpunkt eine Änderung erlaubt wird. Bildet man nun vier Blöcke (hier wachsender Länge von 1, 2, 3 und 4 Abtastintervallen), reduziert sich die Zahl der Stellgrößenänderungen auf vier, nämlich Δu=Δu0Δu1Δu3Δu6T.

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 1234. Die Summe der Blocklängen muss mit der Länge des Prädiktionshorizonts pübereinstimmen. In Bild 25 ist dargestellt, wie die Eingabe im MPC Designer unter dem Tab “TUNING” erfolgt, hier für m=p=10und den Blocking-Vektor 1234.

Bild 25.

Eingabe des Blocking-Vektors im MPC Designer.

3.7 Zeitvariante Nebenbedingungen und Gewichte

Sowohl die Gewichtsfaktoren wi,jy, wi,juund wi,jΔuals auch die Nebenbedingungen uj,mini,uj,maxi, Δuj,mini,Δuj,maxiund yj,mini,yj,maxikönnen prinzipiell innerhalb des Prädiktionshorizonts variieren. Damit ergeben sich zusätzliche Einstellmöglichkeiten wie z. B. die Definition von “Trichtern” für die Regelgrößen. Allerdings wird damit auch die Reglereinstellung komplizierter. Es wird daher empfohlen, mit Gewichten und Nebenbedingungen zu arbeiten, die über den Prädiktionshorizont konstant sind und von dieser Empfehlung nur abzuweichen, wenn man anwendungsspezifische Vorteile erwarten kann.

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 pElemente enthalten. Definiert man weniger Elemente, wird der letzte definierte Wert im gesamten weiteren Verlauf des Prädiktionshorizonts verwendet. So bedeutet w1,jy=11.52dasselbe wie w1,jy=11.5222.

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.

3.8 Simulation des MPC-Regelungssystems in der MPC Designer App

Innerhalb 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.

Wie 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.

Bild 26.

Fenster “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.

Zweitens 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.

Es 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”).

Im 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.

SignaltypSpalte “Size”Spalte “Period”
Constant--
StepSprunghöhe-
RampAnstieg-
PulseImpulsamplitudeImpulslänge
SineSinusamplitudePeriodendauer
GaussianVarianz-

Tabelle 9.

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).

Bild 27.

Closed-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.

Sowohl 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.

Bild 28.

Schaltflä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.

Bild 29.

Tab “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.

Bild 30.

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.

Die 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 nu>ny.

4. MPC-Regelung einer Pilot-Destillationskolonne

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.

4.1 Definition von LTI-Modellen am Beispiel einer Pilot-Destillationskolonne

Auf 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.

Bild 31.

Vereinfachtes Fließbild einer Pilot-Destillationskolonne (konventionelle Regelungsstruktur).

Regelgrößen CV1 … CV3 (y1y3) sind

  • der Stoffmengenanteil (früher “Molenbruch”) des Ethanols am Kolonnenkopf (y1),

  • der Stoffmengenanteil des Ethanols im Seitenabzug (y2),

  • die Temperatur auf dem Boden 19 im Abtriebsteil der Kolonne (y3),

die Stellgrößen MV1…MV3 (u1u3)

  • der Durchfluss des Rücklaufs (u1),

  • der Durchfluss des Seitenabzugs (u2), und

  • der Druck des Heizdampfs (u3).

Als Störgrößen werden der Durchfluss (ν1bzw. MD1) und die Temperatur (ν2bzw. MD2) des Einsatzprodukts aufgefasst. Tabelle 10 zeigt die statischen Arbeitspunktwerte der Kolonne. Die amerikanischen Maßeinheiten sind gpm (gallons per minute) und psig (pounds-force per square inch gauge), sie wurden in SI-Einheiten umgerechnet.

RegelgrößenStellgrößenStörgrößen
Ethanol am Kopf0,7Rücklauf0,18 gpm (0,6 l/min)Durchfluss Einsatzprodukt0,8 gpm (3 l/min)
Ethanol im Seitenabzug0,52Seitenabzug0,046 gpm (0,18 l/min)Temperatur Einsatzprodukt78°C
Temperatur Boden 1992 °CDruck Heizdampf20 psig (137,89 kPa)

Tabelle 10.

Arbeitspunkt der Pilot-Destillationskolonne.

Tabelle 11 zeigt die oberen und unteren Grenzwerte für die Stellgrößen.

StellgrößeUnterer GrenzwertOberer Grenzwert
Rücklauf0,068 gpm (0,24 l/min)0,245 gpm (1,3 l/min)
Seitenabzug0,00694 gpm (0,0264 l/min)0,1 gpm (0,6 l/min)
Druck Heizdampf15,6 psig (107,56 kPa)34 psig (234,42 kPa)

Tabelle 11.

Obere und untere Grenzwerte für die Stellgrößen.

Das Übertragungsfunktions-Modell des Mehrgrößensystems lautet

Y1sY2sY3s=0.666.7s+1e2.6s0.618.64s+1e3.5s0.00499.06s+1es1.113.25s+1e6.5s2.365.0s+1e3s0.0127.09s+1e1.2s34.688.15s+1e9.2s46.210.9s+1e9.4s0.8711.61s+118.8s+13.89s+1e2.6sU1sU2sU3s++0.146.2s+1e12s0.001126.32s+114.63s+17.85s+1e2.66s0.536.9s+1e10.5s0.003219.62s+18.94s+17.29s+1e3.44s11.547.01s+1e0.6s0.327.76s+1e2.6sV1sV2s

Es 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.

Die 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

G11s=0.666.7s+1e2.6s.

Die MATLAB-Definition lautet

G11 = tf(0.66,[6.7 1],'IODelay',2.6)

Das Bildschirmecho ist

G11 = exp(−2.6*s) * --------0.66 6.7 s + 1

Continuous-time transfer function.

Eine andere Möglichkeit besteht darin, zunächst den Laplace-Operator mit

s = tf(‘s’)

zu definieren und danach die Übertragungsfunktion (hier für den Zusammenhang zwischen Bodentemperatur und Heizdampfdruck) wie folgt anzugeben:

G33 = 0.87*(11.61*s+1)*exp(−s)/((18.8*s+1)*(3.89*s+1))

In analoger Weise lassen sich die anderen Teil-Übertragungsfunktionen definieren. Die Übertragungsfunktions matrix Gsfür das Mehrgrößensystem ergibt sich dann für die Stellgrößen- Regelgrößen-Zusammenhänge zu

Gs=G11sG12sG13sG21sG22sG23sG31sG32sG33sE29

In ähnlicher Weise lässt sich die Übertragungsfunktionsmatrix für die Störgrößen-Regelgrößen-Zusammenhänge definieren:

Gνs=Gν,11sGν,12sGν,21sGν,22sGν,31sGν,32sE30

In MATLAB-Notation ergibt sich dann für das zusammengefasste Kolonnen-Modell (5 Eingangsgrößen, 3 Ausgangsgrößen)

Kolonne = [G11 G12 G13 Gν11 Gν12; G21 G22 G23 Gν21 Gν22;…G31 G32 G33 G?31 G?32]

Die Einheitssprungantworten des Mehrgrößensystems lassen sich mit

[y,t] = step(Kolonne)

erzeugen. Sie sind für die Stellgrößen-Regelgrößen-Zusammenhänge in Bild 32 grafisch dargestellt.

Bild 32.

Einheitssprungantworten 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 KSnach der Beziehung

RGA=KSKS1TE31

berechnen. Darin bezeichnet das Symbol das Schur- oder Hadamard-Produkt zweier Matrizen. Für die Pilot-Destillationskolonne ergibt sich die RGA-Matrix zu

RGA=1.96180.66480.29700.66991.89210.22220.29190.22731.5192E32

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.

4.2 Dezentrale PI-Regelung der Pilot-Destillationskolonne

Um 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.

Bild 33.

Simulink-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: KP1=1.2;Ti=5

  • Regelung der Ethanolkonzentration am Seitenabzug: KP1=0.15;Ti=10

  • Regelung der Temperatur auf dem Boden 19: KP1=0.6;Ti=4

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.

Bild 34.

Fü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.

Sollwertsprung Δr1Sollwertsprung Δr2Sollwertsprung Δr3
Kopfkonzentration y1100200150
Konz. Seitenabzug y2200200200
Temperatur B19 y315020070

Tabelle 12.

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.

Bild 35.

Störverhalten bei dezentraler PI-Regelung der Pilot-Kolonne.

In Tabelle 13 sind die erreichten Ausregelzeiten für das Störverhalten aufgelistet.

Störgrößenänderung Δv1Störgrößenänderung Δv2
Kopfkonzentration y1200100
Konz. Seitenabzug y2>200150
Temperatur B19 y315080

Tabelle 13.

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: KP1=1.95;Ti=6.7

  • Regelung der Ethanolkonzentration am Seitenabzug: KP1=0.35;Ti=5

  • Regelung der Temperatur auf dem Boden 19: KP1=3.83;Ti=10

Mit diesen Parametern ergibt sich für eine Sollwertänderung der Kopfkonzentration das in Bild 36 dargestellte, praktisch inakzeptable Führungsverhalten.

Bild 36.

Sollwertä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]).

4.3 MPC-Regelungsentwurf mit Hilfe der MPC Designer App

Die 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.

Bild 37.

Zentrale 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.

Bild 38.

Import 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.

Tabelle 14 zeigt die gewählten Skalierungsfaktoren. Sie ergeben sich aus den zu erwartenden Arbeitsbereichen der Prozessgrößen.

RegelgrößenStellgrößenStörgrößen
Ethanol am Kopf1Rücklauf1,5Durchfluss Einsatzprodukt2
Ethanol im Seitenabzug0,6Seitenabzug1,5Temperatur Einsatzprodukt40
Temperatur Boden 19120Druck Heizdampf30

Tabelle 14.

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”

Bild 39.

Definition 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 p=50(Prädiktionshorizont) und m=5(Steuerhorizont) gewählt.

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.

Bild 40.

Vorgabe 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 t=1wird der Sollwert der Kopfkonzentration sprungförmig um Δr1=0.05(von r1=0.7auf r1=0.75) verstellt. Der Sollwert des Ethanol-Molenbruchs (Regelgröße y2) wird zum Zeitpunkt t=30ebenfalls um Δr2=0.05verstellt, und der Sollwert der Bodentemperatur (Regelgröße y3) wird bei t=60um Δr3=5Kverändert. Die Werte der Störgrößen bleiben konstant. Bild 41 zeigt das Fenster “Simulation Scenario” für das Führungsverhalten.

Bild 41.

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.

In Bild 42 sind die Simulationsergebnisse für das Führungsverhalten dargestellt.

Bild 42.

Fü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)

Sollwertsprung Δr1Sollwertsprung Δr2Sollwertsprung Δr3
Kopfkonzentration y115 (100)15 (200)40 (150)
Konz. Seitenabzug y215 (200)10 (200)10 (200)
Temperatur B19 y325 (150)20 (200)20 (70)

Tabelle 15.

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.

In 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 t=1sprungförmig um Δv1=0.6l/min(oder von v1=3l/minauf v1=3.6l/min) erhöht, die Temperatur des Einsatzprodukts zum Zeitpunkt t=100um Δv2=20K. Die Sollwerte der Regelgrößen bleiben kontant. Das entspricht dem in [92] simulierten Störverhalten. Die für die Simulation des Störverhaltens erforderlichen Einstellungen müssen im Bereich “Measured Disturbances (Inputs to MD channels)” des “Simulation scenario” vorgenommen werden.

Bild 43.

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)).

Störgrößenänderung Δv1Störgrößenänderung Δv2
Kopfkonzentration y160 (200)40 (100)
Konz. Seitenabzug y250 (>200)20 (150)
Temperatur B19 y340 (150)60 (80)

Tabelle 16.

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 t=1wurde eine sprungförmige Rücklaufstörung von Δu1=0.05l/min, bei t=100eine Störung des Seitenabzugs von Δu2=0.02l/minund bei t=200eine Störung des Heizdampfdrucks von Δu3=5kPaeingebracht. Diese Vorgaben müssen im Bereich “Load Disturbances (added to MV channels)” des “Simulation scenario” gemacht werden. Die Simulationsdauer betrug 300 min, die MPC-Reglereinstellung blieb unverändert.

Bild 44.

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.

Bild 45.

Exportieren des MPC-Reglers für die Pilot-Destillationskolonne in den MATLAB-Arbeitsspeicher.

4.4 MPC-Regelung der Pilot-Destillationskolonne in Simulink®

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.

Bild 46.

Simulink-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.

Bild 47.

Eingabemaske 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.

Bild 48.

Eingabemaske 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.

Zunächst wurde das Führungsverhalten nach dem gleichen Szenario simuliert, das auch in Abschnitt 4.3 verwendet wurde: Sollwertänderung Kopfkonzentration zum Zeitpunkt t=1, gefolgt von einer Sollwertänderung beim Seitenabzug bei t=30und einer Sollwertänderung der Bodentemperatur bei t=60. Die Simulationsdauer wurde auf 90 Minuten festgelegt. Bild 49 zeigt die Simulationsergebnisse, die Stellgrößenverläufe wurden nicht dargestellt. Wie nicht anders zu erwarten, sind die Ergebnisse nahezu identisch mit denen, die bei der Simulation innerhalb der MPC Designer App erreicht wurden, vgl. die rechte Seite von Bild 42.

Bild 49.

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 t=1, gefolgt von einem Sprung der Zulauf-Temperatur bei t=100. Die Simulationsergebnisse sind in Bild 50 dargestellt. Auch diese sind identisch mit denen, die innerhalb der MPC Designer App erzielt wurden., vgl. die rechte Seite von Bild 43.

Bild 50.

Simulation des Störverhaltens der Pilot-Destillationskolonne in Simulink®.

4.5 Range Control der Pilot-Destillationskolonne

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.

Im Folgenden soll der “Range Control”-Fall am Beispiel der Pilot-Destillationskolonne untersucht werden. Dazu wird angenommen, dass zwar für die Regelgrößen y1(Ethanol-Molenbruch am Kopf der Kolonne) und y3(Temperatur auf dem Boden 19) Sollwerte vorgegeben werden, für die Regelgröße y2(Ethanol-Molenbruch am Seitenabzug) aber eine Bereichsvorgabe erfolgt. Verfahrenstechnisch wäre das sinnvoll, wenn – wie es hier der Fall ist – in der Kolonne kein ternäres Gemisch, sondern nur ein Zweistoffgemisch getrennt wird: dann ist die Einhaltung eines festen Sollwerts für die Ethanol-Konzentration am Seitenabzug nicht zwingend erforderlich. Solange sich die Regelgröße y2im vorgegebenen Bereich y2,miny2y2,maxbewegt, liegt ein Regelungsproblem mit drei verfügbaren Stellgrößen u1u3(Rücklauf, Seitenabzug, Heizdampf), aber nur zwei zu berücksichtigenden Regelgrößen y1y3vor. Eine Stellgröße ist also “überschüssig”, für sie kann ein Target vorgegeben werden. Um Heizdampf zu sparen, wäre es z. B. möglich, einen möglichst niedrigen Wert für das Target der Stellgröße u3vorzugeben. Werden die Bereichsgrenzen für y2eingehalten, versucht der MPC-Regler, das Target für u3zu erreichen, während die anderen beiden Stellgrößen für die Einhaltung der Sollwerte von y1und y3sorgen. Wenn unter bestimmten Bedingungen eine Bereichsgrenze für y2verletzt wird, werden alle drei Stellgrößen für die Regelung benötigt: für die Einhaltung der Sollwerte von y1und y3, und für die Einhaltung der Bereichsgrenzen von y2.

Zur Vorbereitung der Simulation muss zunächst der MPC-Regler modifiziert werden. Da Regelgröße y2nicht auf Sollwert geregelt werden soll, wird das zugehörige Gewicht auf Null gesetzt. Da ein Target für die Stellgröße u3vorgegeben werden soll, wird das zugehörige Gewicht ungleich Null gesetzt und in der Spalte “Target” der Arbeitspunktwert (“nominal”) durch einen Zielwert ersetzt, der die angestrebte Fahrweise widerspiegelt. Im vorliegenden Beispiel wurde ein Wert für den Heizdampfdruck eingesetzt, der kleiner ist als der Arbeitspunktwert. Bild 51 zeigt die gewählten Gewichts-Einstellungen.

Bild 51.

Gewichtsfaktoren für eine Bereichsregelung (Range Control) der Pilotkolonne.

Um die Aufgabe zu erfüllen, müssen Nebenbedingungen für die Regelgröße y2vorgegeben werden. Im vorliegenden Fall wurde ein Bereich von 0.5y20.54gewählt. Da Nebenbedingungen für die Regelgrößen immer als weiche NB formuliert werden sollen, müssen auch die “Constraint Softening Settings” überprüft und evtl. angepasst werden. Hier wurden ECR-Werte von MinECR=5und MinECR=1gewählt (vgl. Abschnitt 3.3). Die Eingabemaske für die Nebenbedingungen zeigt Bild 52.

Bild 52.

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).

Bild 53.

Modifikation 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.

Bild 54.

Modifiziertes 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 y1und y3auf ihren Sollwerten r1=0.7bzw. r1=92gehalten. Die Stellgröße u3wird soweit wie möglich verringert (das Target liegt bei u3=130). Dabei muss jedoch gewährleistet sein, dass Regelgröße y2im Bereich 0.5y20.54verbleibt, was auch der Fall ist. Die beiden anderen Stellgrößen (hier nicht dargestellt) wachsen und sichern, dass trotz geringerem Dampfeinsatz die Sollwerte für die Kopfkonzentration und die Temperatur auf Boden 19 eingehalten werden.

Bild 55.

Range-Control-Simulation an der Pilot-Destillationskolonne.

4.6 Ausregelung nicht gemessener Eingangsstörungen

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.

Am 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.

Bild 56.

Festlegung der neuen MPC-Reglerstruktur mit einer nicht gemessenen Störgröße.

Die weiteren Einstellungen (Abtastzeit Ts=1, Prädiktionshorizont p=50, Steuerhorizont m=5, Skalierungsfaktoren, Arbeitspunktwerte, Stellbereiche) werden beibehalten, vgl. Abschnitt 4.3.

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.

Bild 57.

Parametrierung 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 Δd=5Ksimuliert (Simulationsdauer 90 min). Der “State Estimation”-Slider verbleibt dabei zunächst in seiner Ausgangsstellung (in der mittleren Position zwischen “Slower” und “Faster”). Das Fenster “Simulation Scenario: scenario1” ist in Bild 58 gezeigt.

Bild 58.

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.

Bild 59.

Vergleich 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.

Bild 60.

Vergleich der Simulationsergebnisse für das Störverhalten bei unterschiedlicher Wahl des Störmodells (rot: Random Step-like, blau: Random Ramp-like).

5. MPC-Regelung eines Verdampfersystems

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.

5.1 Theoretisches Prozessmodell

In [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.

Bild 61.

Vereinfachtes 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 Fi, Xiund TiDurchflüsse, Konzentrationen und Temperaturen sowie Li, Piund Qidie Füllstände, Drücke und Wärmeleistungen. Das mathematische Prozessmodell besteht aus den folgenden Differenzial- und algebraischen Gleichungen:

Separator: Das Aufstellen der Massenbilanz führt auf

ρAdL2dt=F1F4F2E33

worin ρdie Dichte der Flüssigkeit und Adie Querschnittsfläche des Separators bedeuten.

Verdampfer: Die Massenbilanzen in der flüssigen Lösung gelösten Stoffs und des Dampfs ergeben sich zu

MdX2dt=F1X1F2X2E34
CdP2dt=F4F5E35

Darin bezeichnet Mdie als konstant angenommene Flüssigkeitsmenge im Verdampfer. Cbezeichnet eine Konstante, die die Dampfmasse in einen äquivalenten Druck umformt. Die Flüssigkeit im Verdampfer wird als siedend angenommen, ihre Temperatur ergibt sich aus der Gleichung

T2=0.5616P2+0.3126X2+48.43E36

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

T3=0.507P2+55E37

berechnet, die sich ebenfalls durch Linearisierung der Wasserdampfdruckkurve ergibt.

Die Dynamik der Energiebilanz im Verdampfer kann als sehr schnell angenommen werden, daher kann man vereinfachend

F4=Q100F1CPT2T1/λE38

schreiben. Darin bedeuten Cpdie Wärmekapazität und λdie latente Verdampfungswärme. Es wird angenommen, dass es keine Wärmeverluste an die Umgebung und keine Wärmezufuhr durch die Pumpleistung gibt.

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

T100=0.1538P100+90E39
Q100=UA1T100T2=0.16F1+F3T100T2E40
F100=Q100/λSE41

beschrieben, worin λSdie latente Wärme des Heizdampfs bezeichnet. UA1=0.16F1+F3ist das Produkt aus Wärmeübergangskoeffizient und Wärmeübertragungsfläche im Verdampfer.

Kondensator: Auch hier wird eine schnelle Prozessdynamik vorausgesetzt. Die Kühlwasser-Energiebilanz ist dann

Q200=F200CPT201T200E42

mit CPals Wärmekapazität des Kühlwassers. Die Wärmeübertragung wird durch

Q200=UA2T30.5T200+T201E43

beschrieben. Darin bezeichnet UA2das Produkt aus dem Wärmeübertragungskoeffizienten und der Wärmeübertragungsfläche des Kondensators. Beide Gleichungen können miteinander kombiniert werden, um T201zu eliminieren.

Das Kondensator-Modell besteht dann aus den algebraischen Gleichungen

Q200=UA2T3T2001+UA2/2CPF200E44
T201=T200+Q200/CPF200E45
F5=Q200/λE46

Die 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 u=F2F200P100Tund den Vektor der Störgrößen d=F1T1X1F3T200Tzu wählen.

Der Zustands- und gleichzeitig Ausgangsgrößen(Regelgrößen)-Vektor des Systems ist dann x=L2P2X2T. In Tabelle 17 und Tabelle 18 sind die Arbeitspunktwerte der Prozessvariablen und die Werte der Modellparameter angegeben.

VariableBeschreibungArbeitspunktwertMaßeinheit
F1Durchfluss des Einsatzprodukts10,0kg/min
F2Durchfluss des Produkts2,0kg/min
F3Durchfluss Kreislaufstrom50,0kg/min
F4Brüden-Durchfluss8,0kg/min
F5Kondensat-Durchfluss8,0kg/min
X1Konzentration des Einsatzprodukts5,0%
X2Konzentration des Produkts25,0%
T1Temperatur des Einsatzprodukts40,0°C
T2Produkttemperatur84,6°C
T3Brüdentemperatur80,6°C
L2Füllstand im Separator1,0M
P2Systemdruck50,5kPa
F100Durchfluss des Heizdampfs9,3kg/min
T100Temperatur des Heizdampfs119,9°C
P100Heizdampfdruck194,7kPa
Q100Leistung des Wärmeübertragers339,0kW
F200Durchfluss des Kühlwassers208,0kg/min
T200Kühlwasser-Eintrittstemperatur25,0°C
T201Kühlwasser-Austrittstemperatur46,1°C
Q200Leistung des Kondensators307,9kW

Tabelle 17.

Arbeitspunktwerte der Prozessvariablen des Verdampfersystems.

ParameterBeschreibungWertMaßeinheit
ρAProdukt Flüssigkeitsdichte*Querschnittsfläche Separator20,0kg/m
MMasse der Flüssigkeit im Verdampfer20,0kg
CUmrechnungskonstante Dampfmasse → Druck im Separator4,0kg/kPa
CPWärmekapazität der Lösung im Verdampfer0,07kW/K(kg/min)
λLatente Wärme der Lösung im Verdampfer38,5kW/(kg/min)
λSLatente Wärme des Heizdampfs36,6kW/(kg/min)
UA2Produkt Wärmeübertragungskoeffizient* Wärmeübertragerfläche Kondensator6,84kW/K

Tabelle 18.

Modellparameter des Verdampfersystems.

Die in Bild 61 dargestellte konventionelle Regelungsstruktur nutzt folgende Stellgrößen-Regelgrößen-Zuordnung: F2L2, P100X2und F200P2. Das bedeutet, dass der Separator-Füllstand über den Produktstrom, der Druck im System über den Kühlwasserdurchfluss und die Produktkonzentration über den Heizdampfdruck als Stellgrößen beeinflusst werden. In der industriellen Praxis sicher vorhandene unterlagerte Regelkreise für den Heizdampfdruck, den Kühlwasser- und den Produkt-Durchfluss sind nicht dargestellt.

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:

F200P2: KP=176.5kg/minkPa, Ti=9.77min, direkte Reglerwirkung

P100X2: KP=1.64kg/min%,Ti=12.5min, invertierende Reglerwirkung

Für die Füllstandsregelung wurden in [98] mit Hilfe der SIMC-Einstellregeln folgende Reglerparameter für den Füllstandsregler ermittelt:

F2L2: KP=1.33kg/minm,Ti=20min

Die starke Verkopplung der Druck- und Konzentrationsregelstrecken zeigt eine RGA-Analyse des im Arbeitspunkt linearisierten Prozessmodells. Die statische RGA-Matrix ergibt sich zu

P100F200RGA=X2P20.4820.5180.5180.482E47

Wä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.

Bild 62 zeigt die Sprungantworten der Produktkonzentration X2und des Verdampferdrucks P2bei einer Veränderung der Stellgrößen um ΔP100=+10kPa(linke Bildhälfte) und ΔF200=+10kg/min(rechte Bildhälfte).

Bild 62.

Sprungantworten des Verdampfersystems.

5.2 Dezentrale PI-Regelung 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.

Bild 63.

Simulink-Subsystem Verdampfermodell.

Das Subsystem hat als Eingangsgrößen die beiden Stellgrößen Heizdampfdruck P100und Kühlwasserdurchfluss F200, die fünf äußeren Störgrößen Durchfluss, Temperatur und Konzentration des Einsatzprodukts F1T1X1, Kreislaufstrom und Kühlwassertemperatur F3T200sowie die als innere Störgröße aufgefasste Größe UA2, die die Wärmeübertragung im Kondensator charakterisiert. Ausgangsgrößen des Subsystems sind der (intern geregelte) Separatorfüllstand L2, die Produktkonzentration X2und der Druck P2. An den Eingängen befinden sich Konstanten-Blöcke, in denen die Arbeitspunktwerte eingetragen sind. Einige Modellparameter sind unter “File/Model Properties/Callbacks/InitFcn” abgelegt, vgl. Bild 64.

Bild 64.

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.

Bild 65.

Simulink-Modell für die dezentrale PI-Regelung des Verdampfersystems.

Zur Untersuchung des Führungsverhaltens wurden zum Zeitpunkt t=1der Sollwert für X2um 1% und zum Zeitpunkt t=300der Sollwert für P2um 0,1 kPa sprungförmig verstellt. Bild 66 zeigt die Simulationsergebnisse. Im oberen Bildteil sind Soll- und Istwertverlauf, im unteren der Stellgrößenverlauf zu sehen. Die Ausregelzeiten sind ca. 200 min für die Produktkonzentration (kein Überschwingen) und ca. 100 min für den Druck (Überschwingweite ca. 10%).

Bild 66.

Führungsverhalten bei dezentraler PI-Regelung des Verdampfers.

Um das Störverhalten zu simulieren, wurden zum Zeitpunkt t=1der Durchfluss des Zulaufs F1um 0,1 kg/min und zum Zeitpunkt t=300die Zulauftemperatur T1um 5°C sprungförmig verstellt. Die Simulationsergebnisse sind in Bild 67 dargestellt. Die Ausregelzeiten für Produktkonzentration und Systemdruck liegen bei 200 min.

Bild 67.

Störverhalten bei dezentraler PI-Regelung des Verdampfers.

5.3 Identifikation eines linearen Verdampfermodells aus virtuellen Messdaten

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.

Bild 68.

Grundprinzip 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”).

5.3.1 Testsignalplanung und Generierung von virtuellen Messdaten

Der für das Verdampfersystem später zu entwerfende MPC-Regler soll zwei Stellgrößen (Heizdampfdruck P100und Kühlwasserdurchfluss F200), zwei Regelgrößen (Produktkonzentration X2und der Druck P2) und eine gemessene Störgröße (Durchfluss des Zulaufs F1) aufweisen. Für die drei Eingangsgrößen P100, F200und F1werden PRBS-Testsignale entworfen, mit denen das nichtlineare Prozessmodell des Verdampfers in Simulink® beaufschlagt werden. Die im Ergebnis der Simulation entstehenden Zeitverläufe der Ausgangsgrößen X2und P2werden aufgezeichnet. Die Zeitverläufe der Testsignale und der Ausgangssignale bilden die virtuellen (d. h. nicht am realen Prozess, sondern am nichtlinearen Prozessmodell generierten) Messdaten, auf deren Grundlage ein lineares Prozessmodell durch Systemidentifikation gewonnen wird. (Um die virtuellen Messdaten “realistischer” erscheinen zu lassen, werden die Ausgangsignale in Simulink® mit Zufallssignalen überlagert, die in der Praxis auftretendes Messrauschen nachbilden sollen.) PRBS (Pseudo-stochastic random binary signals) sind so konstruiert, dass sie zu quasi zufälligen Zeitpunkten zwischen zwei Amplitudenwerten schalten und damit eine Folge von Impulsen unterschiedlicher Länge generieren. Sie sind für die Identifikation linearer dynamischer Systeme besonders geeignet, da sie (anders als z. B. Sprungsignale) ein breites Frequenzspektrum anregen und in der Folge zu einer höheren Modellgenauigkeit führen.

Die PRBS-Signale wurden mit Hilfe des Befehls idinput der System Identification ToolboxTM generiert, für den Heizdampfdruck z. B. mit

P100_PRBS = idinput(10000, 'PRBS', [0.0 0.028], [184.7 204.7]);

In 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 P100, F200und F1. Sie haben einen ähnlichen, aber nicht identischen Verlauf.

Bild 69.

PRBS-Testsignale für das Verdampfersystem.

Bild 70 zeigt das für die virtuellen Anlagentests angepasste Simulink-Modell des Verdampfersystems. Die PRBS-Testsignale P100_PRBS, F200_PRBSund F1_PRBSwerden zunächst in MATLAB® erzeugt und über “From Workspace”-Blöcke importiert. Die Ausgangssignale X2_PRBSund P2_PRBSwerden in Scopes angezeigt und über “To Workspace-Blöcke” in den MATLAB-Arbeitsspeicher exportiert. Das Messrauschen wird über Zufallssignale nachgebildet.

Bild 70.

Simulink-Modell des Verdampfersystems für virtuelle Anlagentests.

Die Reaktion der Ausgangsgrößen des Verdampfersystems auf diese (simultan aufgegebenen) Testsignale zeigt Bild 71.

Bild 71.

Zeitverläufe der Ausgangssignale des Verdampfersystems nach Erregung mit PRBS-Testsignalen.

5.3.2 Identifikation eines Verdampfermodells mit Hilfe der System Identification ToolboxTM

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.

Bild 72.

Hauptfenster 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.

Die 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.

Bild 73.

“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 (P100) und der ersten Ausgangsgröße (X2) angezeigt werden. Über den Menüpunkt “Channel” können andere Kombinationen von Ein- und Ausgangsgrößen zur Anzeige gebracht werden.

Bild 74.

Trends (Time Plot) der Eingangsgröße P 100 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.

Bild 75.

Auswahlliste für Funktionen der Datenvorverarbeitung.

Bild 76 zeigt das Ergebnis für die Eingangsgröße F1und die Ausgangsgröße X2. Die ursprünglichen Messdaten sind blau, die Arbeitsdaten rot und die Validierungsdaten cyan dargestellt. Während z. B. die originalen Messdaten für X2um den Arbeitspunktwert (X20=25%) der Produktkonzentration streuen, bewegen sich die vorverarbeiten Messdaten um den Mittelwert Null.

Bild 76.

Trend der Messdaten für F 1 und X 2 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.

Im 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].

Bild 77.

Auswahlliste 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

ẋt=Axt+But+Ketyt=Cxt+Dut+et.

Darin bezeichnen utden Vektor der Eingangsgrößen (hier P100, F200und F1), xtden Vektor der Zustandsgrößen (hier ohne physikalische Entsprechung), ytden Vektor der Ausgangsgrößen (hier X2und P2) und eteinen Störsignalvektor. Die Elemente der Matrizen A,B,C,Dund Kwerden mit Hilfe von Subspace-Identifikationsverfahren oder durch Minimierung des Vorhersagefehlers (Prediction Error Minimization oder PEM) aus den Messdaten geschätzt. Bild 78 zeigt das Fenster “State Space Models”, dass sich nach Anwahl der Option “State Space Models …” in der Estimate-Auswahlliste öffnet. Die voreingestellten Optionen wurden nicht verändert.

Bild 78.

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.

Zur 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”P2. Es zeigt sich eine gute Übereinstimmung, was man auch an der rechts eingeblendeten Zahl für “Best fits” ablesen kann. Diese beschreibt, wieviel Prozent der Streuung der Ausgangsgröße durch das Modell reproduziert wird. Der Wert wird mit Hilfe der Formel

Bild 79.

Vergleich von Messdaten und simulierten Daten für den Systemdruck P 2 .

FIT=1k=1NyProzesskyModellk2k=1NyProzessky¯2 100

berechnet. Je größer dieser Wert, desto besser die Modellgüte in dieser Hinsicht. Das theoretische Maximum beträgt FIT=100, was einer exakten Übereinstimmung der Messdaten mit den simulerten Modellausgangsdaten entsprechen würde.

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 P2liefert einen “Best Fit”-Wert von 93,33. Bild 80 zeigt für diesen Fall den “Error plot”, der sich ebenfalls unter “Options” anwählen lässt. Die Abweichung zwischen Messwerten und Vorhersagewerten liegt hier bei ±0.4kPa, was bei einem Arbeitspunktwert von P20=50.5kPaca. ±0.8%entspricht.

Bild 80.

Trend des Vorhersagefehlers für die Ausgangsgröße P 2 .

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 P100und X2. Über den Menüpunkt “Channel” können andere Ein-/Ausgangsgrößen-Kombinationen dargestellt werden. Die hier dargestellte Sprungantwort weist eine gute Übereinstimmung mit der Sprungantwort des nichtlinearen Verdampfermodells auf, vgl. Bild 62.

Bild 81.

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.)

Nach 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.

5.4 MPC-Reglerentwurf für das Verdampfersystem mit Hilfe der MPC Designer App

Nach 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.

Bild 82.

Import 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 p=30(Prädiktionshorizont) und m=3(Steuerhorizont) gewählt.

Bild 83.

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 t=1wird der Sollwert für X2, zum Zeitpunkt t=100der Sollwert für P2sprungförmig verstellt.

Bild 84.

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.

Bild 85.

Fü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).

Die 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.

Bild 86.

Stö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.

Trotzdem 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.

Ein Aufruf der “Review Design”-Funktion unter dem TUNING-Tab der MPC Designer App liefert keine Beanstandungen oder Hinweise, siehe Bild 87.

Bild 87.

“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.

5.5 Simulation des MPC-Regelungssystems mit Hilfe von Simulink®

Das 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

Bild 88.

Simulink-Modell der MPC-Regelung des Verdampfersystems.

Das Führungsverhalten wird mit dem gleichen Szenario wie oben untersucht: zum Zeitpunkt t=1wird der Sollwert für X2, zum Zeitpunkt t=100der Sollwert für P2sprungförmig verstellt. Bild 89 zeigt die Simulationsergebnisse.

Bild 89.

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. ±10kPafür den Druck und ±10%für die Produktkonzentration, ändern sich die Ergebnisse nicht wesentlich. Das zeigt, dass man mit dem LMPC-Regler das Verdampfersystem auch in einem größeren Arbeitsbereich zufriedenstellend stabilisieren kann.

Um das Störverhalten zu untersuchen, wurden wie in Abschnitt 5.1 zum Zeitpunkt t=1der Zulauf-Durchfluss F1sprungförmig um 0,1 kg/min und Zeitpunkt t=100die Zulauf-Temperatur sprungförmig um 5K verändert. Bild 90 zeigt die Simulationsergebnisse.

Bild 90.

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).

Vergrößert man die Amplitude der Störgrößenänderung bei F1, verschlechtert sich die Regelgüte, insbesondere ergibt sich eine größere Ausregelzeit für die Produktkonzentration. Die Robustheit der MPC-Regelung gegenüber Plant-Model-Mismatch ist für das Störverhalten also geringer als für das Führungsverhalten. Daher empfiehlt es sich, beim Reglerentwurf von vornherein eine robustere Einstellung zu verwenden. Das kann dadurch geschehen, dass man den Slider für “Closed-Loop Performance” unter dem TUNING-Tab des MPC Designers in Richtung “Robust” verschiebt, den entstehenden MPC-Regler wieder in den MATLAB-Arbeitsspeicher verschiebt und das Simulink-Modell für Führungs- und Störverhalten mit dem modifizierten Regler erneut simuliert.

6. MPC-Regelung eines Viertanksystems

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.

6.1 Theoretisches Prozessmodell und rechnerische Linearisierung

In [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.

Bild 91.

Vereinfachtes 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 v1und v2, mit denen sie angesteuert werden. Regelgrößen sind die Füllstände H1und H2der unteren Tanks, die mit Füllstandssensoren erfasst werden. Für diese Versuchsanlage wurde in [99] ein theoretisches Prozessmodell entwickelt. Stellt man die Massenbilanzen unter der Annahme konstanter Dichten der Flüssigkeit in allen Tanks auf, ergeben sich die folgenden Zustands-Differenzialgleichungen für die Füllstände:

dH1dt=1A1a12gH1+a32gH3+γ1k1v1dH2dt=1A2a22gH2+a42gH4+γ2k2v2dH3dt=1A3a32gH3+1γ2k2v2dH4dt=1A4a42gH4+1γ1k1v1E48

Darin bedeuten Hidie Füllstände in den Tanks, Aidie Querschnittsflächen der Tanks und aidie Querschnittsflächen der Auslassöffnungen (i=14). Die Pumpen werden mit viVolt angesteuert und liefert einen Durchfluss von Fi=kivi(i=12). Die beiden sich hinter den Pumpen ergebenden Durchflüsse werden geteilt: zum Beispiel ist der Durchfluss zu Tank 1 γ1k1v1, der zu Tank 4 1γ1k1v1. Ähnliches gilt für die Tanks 2 und 3. Die Erdbeschleunigung wird mit gbezeichnet. Die Wurzelausdrücke in den Differenzialgleichungen resultieren aus der Anwendung des Gesetzes von Bernoulli. Die gemessenen Füllstandssignale y1=kcH1und y2=kcH2werden in Volt ausgedrückt.

Tabelle 19 listet die Modellparameter auf.

ParameterWertMaßeinheit
A1,A328cm2
A2,A432cm2
a1,a30,071cm2
a2,a40,057cm2
kc0,5V/cm
k1k2(3,33;3,35)(cm3/s)/V
g981cm/s2

Tabelle 19.

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 H10H20H30H40ergeben sich, wenn man das nichtlineare Gleichungssystem löst, welches sich durch Nullsetzen der Ableitungen dHi/dt,i=14auf der linken Seite des Zustands-Differenzialgleichungssystems ergibt. Diese Aufgabe lässt sich als nichtlineares Optimierungsproblem formulieren. Bezeichnet man die vier rechten Seiten des nichtlinearen Differenzialgleichungssystems mit f1f4, dann ist die Zielfunktion der Optimierung J=i=14f2i, deren kleinstmöglicher Wert Null ist. Wenn der Wert der Zielfunktion aber gleich Null ist, müssen alle rechten Seiten gleich Null sein, und das nichtlineare Gleichungssystem für die Bestimmung des Arbeitspunkts ist gelöst. Die unabhängigen Variablen des Optimierungsproblems sind die Füllstände in den Tanks H1H4. Die Optimierungsaufgabe lässt sich schreiben.

VariablenMaßeinheitAP1AP2
H10H20cm(12.263;12.783)(12.076;13.023)
H30H40cm(1634;1409)(4448;5087)
v10v20V(3,0;3,0)(3,0;3,0)
γ1γ2-(0,7;0,6)(0,43;0,34)

Tabelle 20.

Arbeitspunktwerte der Variablen des Viertanksystems.

minH1H4J=i=14f2iE49

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 f1f4und der Wert der Zielfunktion Jberechnet. Die Lösung der Optimierungsaufgabe sind die im Vektor Hzusammengefassten Arbeitspunktwerte der Füllstände und der optimale Wert der Zielfunktion fval. In der Optimierungsroutine selbst ist ein gradientenfreies Suchverfahren (das Nelder-Mead-Verfahren) implementiert.

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.

%
% Berechnung des Arbeitspunkts des Viertanksystems
% Hauptprogramm: Festlegung von Startwerten
% und Aufruf des Optimierungsprogramms
%

global gamma1 gamma2 v1 v2

% Definition der Eingangsgrößen

v1 = 3;% Pumpenansteuerung (∼ Durchfluss nach Pumpen)
v2 = 3;
gamma1 = 0.7; % Aufteilung Volumenströme
gamma2 = 0.6;

% Vorgabe von Startwerten für die Füllstände

H1_0 = 10;
H2_0 = 10;
H3_0 = 1;
H4_0 = 1;

H_0 = [H1_0 H2_0 H3_0 H4_0];

% Aufruf des Optimierungsprogamms fminsearch
% @viertank_stat_AP1 verweist auf den namen des Unterprogramms
% zur Berechnung der Zielfunktion

[H, fval] = fminsearch(@viertank_stat_AP1,H_0)

function fqs = viertank_stat_AP1(x)

% Unterprogramm zur Berechnung der Zielfunktion

global gamma1 gamma2 v1 v2

% Definition der Modellparameter

A1 = 28;% Querschnittsflächen Tanks
A3 = 28;
A2 = 32;
A4 = 32;
a1 = 0.071;% Querschnittsflächen Auslässe
a3 = 0.071;
a2 = 0.057;
a4 = 0.057;
kc = 0.5;% Umrechnung Füllstand --> Volt Füllstandssensor
g = 981;% Erdbeschleunigung
k1 = 3.33;% Umrechnung Volt Pumpe --> Durchfluss
k2 = 3.35;

% Auflösung des vektors der unabhängigen Variablen

H1 = x(1);
H2 = x(2);
H3 = x(3);
H4 = x(4);

% Berechnung der rechten Seiten des Zustands-Dgl.-Systems

f(1) = 1/A1*(-a1*sqrt(2*g*H1) + a3*sqrt(2*g*H3) + gamma1*k1*v1);
f(2) = 1/A2*(-a2*sqrt(2*g*H2) + a4*sqrt(2*g*H4) + gamma2*k2*v2);
f(3) = 1/A3*(-a3*sqrt(2*g*H3) + (1 - gamma2)*k2*v2);
f(4) = 1/A4*(-a4*sqrt(2*g*H4) + (1 - gamma1)*k1*v1);

% Berechnung der Zielfunktion

fqs = sum(f.^2);

Die in Tabelle 20 aufgelisteten Ergebnisse weichen nur geringfügig von denen ab, die in [99] angegeben wurden.

Definiert man neue Variable als Abweichungen der physikalischen Größen von ihren Arbeitspunktwerten, ergeben sich als Zustandsgrößen xi=HiHi0,i=14und als Eingangsgrößen (Stellgrößen) ui=vivi0,i=12. Eine Linearisierung des nichtlinearen Zustands-Differenzialgleichungssystems führt auf das lineare Zustandsmodell

dxdt=1T10A3A1T3001T20A4A2T4001T300001T4x+γ1k1A100γ2k2A201γ2k2A31γ1k1A40uE50
y=kc0000kc00xE51

mit dem Zustandsvektor x=x1x2x3x4T, dem Eingangsgrößen-(Stellgrößen)Vektor u=u1u2Tund dem Ausgangsgrößen-(Regelgrößen)Vektor y=y1y2T, in allgemeiner Form

dxdt=Ax+BuE52
y=CxE53

Die in der Zustandsmatrix Aauftretenden Zeitkonstanten Ti,i=14ergeben sich aus

Ti=Aiai2Hi0gE54

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

Gs=YsUs=γ1c1T1s+11γ2c1T1s+1T3s+11γ1c2T2s+1T4s+1γ2c2T2s+1E55

mit den Konstanten c1=T1k1kc/A1und c2=T2k2kc/A2. Wie zu erwarten ist der Zusammenhang zwischen der Stellgröße “Leistung Pumpe 1” und dem Füllstand im Tank 1 erster Ordnung, dem Füllstand im Tank 2 zweiter Ordnung (zusätzliche Verzögerung im Tank 4). Ähnliches gilt für den Zusammenhang zwischen der Leistung von Pumpe 2 und den Füllstanden im Tank 1 und 2 (also den Regelgrößen). Für die beiden Arbeitspunkte ergeben sich nach Einsetzen der Zahlenwerte der Parameter und der Arbeitspunktwerte der Variablen die Übertragungsfunktionen

GAP1s=G11sG12sG21sG22s=2.662.4s+11.4962.4s+122.8s+11.4290.6s+130.1s+12.8590.6s+1E56

und

GAP2s=1.5861.9s+12.4361.9s+137.6s+12.7391.5s+157.2s+11.6391.5s+1E57

Die Teil-Übertragungsfunktionen Gijs=Yis/Ujsdes Viertanksystems enthalten keine Zähler-Nullstellen (und keine Totzeiten), weisen also minimalphasiges Verhalten auf. Daraus kann man aber nicht schließen, dass auch das Mehrgrößensystem keine Zähler-Nullstellen hat und daher immer minimalphasig sein muss. Für quadratische Mehrgrößensysteme (gleiche Zahl von Stell- und Regelgrößen) ergeben sich die Zählernullstellen der Übertragungsfunktionsmatrix Gsaus den Nullstellen des Polynoms ihrer Determinante [94], hier

detGs=Gs=c1c2γ1γ2i=1i=4Tis+1×T3s+1T4s+11γ11γ2γ1γ2E58

Die Übertragungsfunktionsmatrix Gshat daher zwei endliche Nullstellen für γ1,γ201, eine davon liegt immer in der linken s-Halbebene, die andere kann aber in der rechten s-Halbebene liegen. Im ersten Fall ist das System minimalphasig, im zweiten Fall nicht-minimalphasig. Die Eigenschaft der Minimalphasigkeit ist bei dem Viertanksystem also von der Stellung der Dreiwegeventile bzw. der Aufteilung der Förderströme auf Tank 1 und 4 bzw. Tank 2 und 3 abhängig. Man kann zeigen [99], dass Minimalphasigkeit vorhanden ist, wenn

1<γ1+γ2<2E59

gilt. Nicht-Minimalphasigkeit liegt hingegen vor, wenn

0<γ1+γ2<1E60

ist. Für Arbeitspunkt AP1 ergibt sich γ1+γ2=1.3>1, daher Minimalphasigkeit, für Arbeitspunkt AP2 γ1+γ2=0.7<1, daher nicht-minimales Phasenverhalten. Neben der Lage der Nullstellen in der komplexen s-Ebene ist bei Mehrgrößensystemen auch die “Richtung” der Nullstellen von Bedeutung [94]. Bei Eingrößensystemen bewirkt das Vorhandensein einer Nullstelle in der rechten Halbebene sogenanntes Inverse-Response-Verhalten: die Einheits-Sprungantwort der Regelstrecke bewegt sich anfangs in die eine Richtung, schneidet dann die Zeitachse und bewegt sich danach in die andere Richtung. Dadurch wird die erreichbare Regelgüte begrenzt. Bei Mehrgrößensystemen bewirkt das Vorhandensein von “Mehrgrößen-Nullstellen” ebenfalls eine Begrenzung für die erreichbare Regelgüte, zumindest für bestimmte Richtungen der Verstellung der Eingangsgrößen. In jedem Fall kann erwartet werden, dass sich die Regelung der Füllstände für den Arbeitspunkt 2 als schwieriger als für den Arbeitspunkt 1 erweist.

Die RGA-Matrix(Relative Gain Array) des Viertanksystems ergibt sich zu

RGA=λ1λ1λλE61

mit λ=γ1γ2γ1+γ21, ist also nur von den Ventilstellungen abhängig. Es gibt kein Paar γ1,γ201, das zu λ01führt. Das RGA-Element ist λ<0, wenn γ1+γ2<1gilt, d. h. für den nicht-minimalphasigen Arbeitspunkt. Die RGA-Analyse liefert auch Hinweise für eine sinnvolle Stellgrößen-Regelgrößen-Zuordnung beim Einsatz dezentraler PI(D)-Eingrößenregelungen für ein Mehrgrößensystem. Eine Stellgrößen-Regelgrößen-Zuordnung, die auf λ<0führt, sollte vermieden werden. Für den Arbeitspunkt AP2 ist es daher sinnvoll, den Füllstandsregler für Tank 2 auf Pumpe 1 wirken zu lassen und den Füllstandsregler für Tank 1 mit Pumpe 2 zu kombinieren. Für den (minimalphasigen) Arbeitspunkt AP1 ist hingegen die (meist intuitiv gewählte) Zuordnung Pumpe 1 ➔ Füllstand Tank 1 und Pumpe 2 ➔ Füllstand Tank 2 sinnvoll.

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).

Bild 92.

Einheits-Sprungantworten des linearisierten Modells des Viertanksystems.

6.2 Simulink-Modell und Arbeitspunktbestimmung durch Trimming

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 H1H4. Die Arbeitspunktwerte H10H20H30H40sind als Anfangswerte in den Integrations-Bausteinen angegeben. Die Step-Bausteine ermöglichen die Vorgabe sprungförmiger Veränderungen der Pumpleistungen v1und v2bzw. der Volumenströme F1und F2. Für die Definition der Modellparameter, die auf den rechten Seiten des Zustands-Differenzialgleichungssystems auftreten, gibt es verschiedene Möglichkeiten:

  • 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).

Bild 93.

Simulink-Modell des Viertanksystems.

Bild 94 zeigt die Unterschiede zwischen den Sprungantworten des linearisierten Systems GAP1sund des nichtlinearen Differenzialgleichungssystems.

Bild 94.

Sprungantworten des nichtlinearen und des linearisierten Modells des Viertanksystems.

Es sind die Zeitverläufe der gemessenen Füllstände y1und y2nach einer sprungförmigen Änderung der Pumpenspannung um Δv1=1Vfür den Arbeitspunkt AP1 dargestellt. Die Abweichungen sind gering, was auf eine nur schwach ausgeprägte statische Nichtlinearität des Systems schließen lässt.

Um die Übersichtlichkeit zu erhöhen, kann das Simulink-Modell zu einem Subsystem mit den Eingangsgrößen v1und v2und den Ausgangsgrößen y1=kcH1und y2=kcH2zusammengefasst werden. Dazu werden Inport- und Outport-Bausteine mit den Ein- und Ausgangsgrößen verknüpft und ein Lasso um alle Bausteine geworfen, die Bestandteile des Subsystems werden sollen (Bild 95). Unter dem Menüpunkt Diagram/Subsystem & Model Reference kann durch Anwahl von “Create Subsystem from Selection” die Bildung des Subsystems gestartet werden.

Bild 95.

Zusammenfassung des Simulink-Modells des Viertanksystems zu einem Subsystem.

Das Subsystem hat danach das in Bild 96 dargestellte Aussehen.

Bild 96.

Subsystem 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).

Bild 97.

Aufruf 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.

Bild 98.

Anwahl von “Trim Model” zur Bestimmung eines Arbeitspunkts für das Viertanksystem.

Bild 99.

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 v1und v2, also für vorgegebene Pumpenleistungen, bestimmt werden soll. Für die Zustandsgrößen (hier: die Füllstande in den Tanks) kann man dann Schätzwerte für die zu erwartenden stationären Werte eintragen, im Bild 99 zum Beispiel H1=H2=10und H3=H4=1. Bei “Steady State” muss ein Häkchen gesetzt werden, weil die Füllstande bestimmt werden sollen, die sich im stationären Zustand ergeben. Weil diese noch nicht bekannt sind, wird kein Häkchen bei “Known” gesetzt. Wechselt man zum Reiter “Inputs”, kann man die Werte der Eingangsgrößen (hier v1=v2=3) vorgeben (Bild 100). Das Häkchen bei “Known” muss hier gesetzt werden. Mit “Start trimming” kann nun die Arbeitspunktbestimmung gestartet werden. Dabei läuft im Hintergrund eine Optimierungsrechnung ab.

Bild 100.

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).

Bild 101.

Anzeige 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).

Bild 102.

Zustandsgrößen im Arbeitspunkt 1 des Viertanksystems.

Bild 103.

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 1012bis 1011. Das ist ein Indiz dafür, dass der Arbeitspunkt mit großer Genauigkeit auf numerischem Weg ermittelt wurde. In Bild 103 sind die Arbeitspunktwerte der Ausgangsgrößen dargestellt, die man ablesen kann, wenn man zum Reiter “Outputs” wechselt.

6.3 Linearisierung mit Hilfe des Linear Analysis Tools

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 v1und v2mit Sprungfunktionsgebern verknüpft. Als Ausgangsgrößen wurden die an den Tanks 1 und 2 gemessenen Füllstände y1=kcH1und y2=kcH2sowie zusätzlich die Füllstände der Tanks 3 und 4 (H3und H4) definiert.

Bild 104.

Simulink-Subsystem des nichtlinearen Modells des Viertanksystems.

Das linearisierte dynamische Modell soll ebenfalls die Eingangsgrößen v1und v2, aber nur die Ausgangsgrößen y1und y2aufweisen. Für eine Linearisierung setzt man zunächst sogenannte “Linear Analysis Points”. Dazu führt man einen Rechtsklick auf die Ein- und Ausgangssignale aus und wählt unter “Linear Analysis Points” die Option “Input Perturbation” (Eingangssignale) bzw. “Open-Loop Output” (Ausgangssignale). Bild 105 verdeutlicht die Vorgehensweise am Beispiel des ersten Eingangssignals.

Bild 105.

Setzen von “Linear Analysis Points”.

Wie in Bild Bild 106 gezeigt, werden die “Linear Analysis Points” durch Symbole an den Signallinien gekennzeichnet.

Bild 106.

Subsystem 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).

Bild 107.

Zugriff 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)

Bild 108.

Fenster “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.

Bild 109.

Linearisierung 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 GAP1s. Durch den Befehl dcgain(linsys1) lassen sich z. B. die Streckenverstärkungen berechnen:

>> dcgain(linsys1)
ans =
2.5956 1.4921
1.4147 2.8464

Sie stimmen mit denen der Übertragungsfunktionsmatrix GAP1süberein.

6.4 Dezentrale PI-Regelung des Viertanksystems

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.

Bild 110.

Dezentrale 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 H1bzw. y1: KP,1=3;Ti,1=30
PI-Regler für Füllstand H2bzw. y2: KP,2=2.7;Ti,2=40

Mit diesen Reglerparametern wurde das Führungsverhalten der Füllstandsregelungen simuliert. Bild 111 zeigt das zugehörige Simulink-Modell, hier mit dem linearisierten Streckenmodell GAP1s.

Bild 111.

Simulink-Modell für die PI-Füllstandsregelungen am Viertanksystem.

Zum Zeitpunkt t=1wurde der Sollwert des Füllstands im Tank 1 vom Arbeitspunktwert r1=12.2626/2=6.1315(das entspricht H10=12.2629) auf r1=10erhöht; zum Zeitpunkt t=200der Sollwert des Füllstands im Tank 2 vom Arbeitspunktwert r2=12.7832/2=6.3916(bzw. H20=12.7832) auf r2=10. Die Stellgrößen bzw. deren Änderungen waren dabei nicht beschränkt. Bild 112 zeigt die Simulationsergebnisse. Zum Vergleich sind auch die Zeitverläufe dargestellt, die sich mit dem nichtlinearen Streckenmodell bei gleichem Simulations-Szenario ergeben.

Bild 112.

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%.

Für den Arbeitspunkt 2 wurden in [99] folgende, durch manuelles Tuning gefundenen Reglerparameter angegeben:

PI-Regler für Füllstand H1bzw. y1: KP,1=1.5;Ti,1=110
PI-Regler für Füllstand H2bzw. y2: KP,2=0.12;Ti,2=220

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 y2, das durch die Nullstelle in der rechten Halbebene bedingt ist, die bei diesem Prozess im Arbeitspunkt 2 auftritt.

Bild 113.

Führungsverhalten der PI-Regelung des Viertanksystems, Arbeitspunkt 2 (orange: nichtlineares System, grün: lineares System).

6.5 Entwurf einer MPC-Regelung des Viertanksystems mit Hilfe der MPC Designer App

6.5.1 MPC-Regelung des quadratischen Mehrgrößensystems

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.

Bild 114.

MPC-Struktur für die Regelung des Viertanksystems (Arbeitspunkt 1).

Bild 115.

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 t=1sprungförmig um den Betrag Δr1=5, der Sollwert für den Füllstand im Tank 2 wird zum Zeitpunkt t=100sprungförmig ebenfalls um den Betrag Δr2=5verstellt. Es werden keine Nebenbedingungen für die Stellgrößen vorgegeben. Die Eintragungen für das Simulations-Szenario zeigt Bild 116. Die Simulationsdauer wurde auf 200 Sekunden gesetzt.

Bild 116.

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 p=50(Prädiktionshorizont) und m=5(Steuerhorizont) gewählt.

Bild 117.

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.

Noch 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 t=500verstellt. Die Simulationsdauer betrug 1000 Sekunden. Wie man ablesen kann, betragen die Ausregelzeiten 300 bis 350 Sekunden (PI-Regelung 2000 bis 3000 Sekunden!), und die Wechselwirkungen zwischen den Regelgrößen haben sich ebenfalls verringert.

Bild 118.

Führungsverhalten der MPC-Regelung des Viertanksystems im Arbeitspunkt 2.

6.5.2 MPC-Regelung nicht-quadratischer Mehrgrößensysteme: mehr Stell- als Regelgrößen

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 (nu>ny). Dieser Fall kann simuliert werden, wenn der Gewichtsfaktor für eine der beiden Regelgrößen auf Null gesetzt wird, in Bild 119 ist das für den Füllstand im Tank 1 gezeigt. Dieser Füllstand kann sich jetzt frei bewegen. Der für ihn vorgegebene Sollwert spielt keine Rolle mehr, da der zugehörige Term in der Zielfunktion der quadratischen Optimierung wegen wi,1y=0verschwindet. Wenn man wie in Bild 119 auch keine Targets für Stellgrößen vorgibt und die Stellgrößengewichte auf wi,ju=0belässt, können die Stellgrößen “beliebige” stationäre Endwerte annehmen, solange gewährleistet ist, dass Regelgröße 2 (Füllstand im Tank 2) auf Sollwert gehalten wird.

Bild 119.

Gewichtsfaktoren für den Fall n u > n y ohne Targets für Stellgrößen.

In Bild 120 sind die Simulationsergebnisse dargestellt.

Bild 120.

Führungsverhalten im Fall n u > n y , keine Stellgrößen-Targets.

Die Sollwertänderung für den Füllstand im Tank 1 zum Zeitpunkt t=1wird ignoriert, die Stellgrößen verharren zunächst auf ihren Arbeitspunktwerten. Die Sollwertänderung für den Füllstand im Tank 2 zum Zeitpunkt t=100wird hingegen ausgeregelt. Die Stellgrößen “driften” auf stationäre Endwerte von u12.8und u13.4. Der Füllstand im Tank 1 entfernt sich von seinem Arbeitspunktwert, erreicht aber nicht den neuen Sollwert.

Da eine “überschüssige Stellgröße” vorhanden ist, kann man entweder für u1oder für u2einen Zielwert (Target) vorgeben. In der Praxis wären konkrete technologische oder wirtschaftliche Gesichtspunkte für die Wahl der Targets maßgebend. Zur Demonstration wird hier für die Stellgröße u1ein Target von u1,target=2, die Leistung der Pumpe 1 im stationären Zustand soll dadurch verringert werden. Um die Vorgabe des Targets wirksam zu machen, muss auch ein Gewicht für die Stellgröße 1 vorgegeben werden. Bild 121 zeigt die Einstellung der Gewichtsfaktoren für diesen Fall.

Bild 121.

Gewichtsfaktoren für den Fall n u > n y mit Target für Stellgröße 1.

In Bild 122 sind die zugehörigen Simulationsergebnisse dargestellt.

Bild 122.

Führungsverhalten im Fall n u > n y , u 1 , target = 2 .

Es ist zu erkennen, dass MV1 auf sein Target u1,target=2gebracht und dort gehalten wird, während nur noch MV2 für die Regelung des Füllstands im Tank 2 verwendet wird. Der Füllstand im Tank 1 wird nicht geregelt.

6.5.3 MPC-Regelung nicht-quadratischer Mehrgrößensysteme: mehr Regel- als Stellgrößen

Um die Regelung des Viertanksystems für den Fall nu<ny, also weniger Stell- als Regelgrößen, zu untersuchen, kann man das linearisierte Modell des Systems reduzieren:

GAP1,reds=G11sG21sE62

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.

Bild 123.

Führungsverhalten im Fall n u < n y .

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 y1ein doppelt so großes Gewicht als für Regelgröße y2verwendet wird (wi,1y=2,wi,2y=1).

Bild 124.

Führungsverhalten im Fall n u < n y , stärkere Gewichtung der Regelgröße y 1 .

Die Folge davon ist, dass sich die bleibende Regeldifferenz bei Regelgröße y1verringert, während sie sich bei Regelgröße y2erhöht. Im vorliegenden Fall verschwindet die bleibende Regeldifferenz für y1bei einer Verfünffachung des Gewichts nahezu vollständig. Mit der Wahl der Gewichtsfaktoren lässt sich also eine Priorisierung der Regelungsziele erreichen.

6.5.4 Untersuchung der Robustheit gegenüber Plant-Model-Mismatch

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

generiert wurde, kann man ein abweichendes Modell z. B. durch

s = tf(‘s‘)
G11 = 2.6/(62.4*s+1);
G12 = …

Viertanksystem_AP1_exakt = [G11 G12; G21 G22];

Viertanksystem_AP1_modif = [G11*1.3 G12*0.7; G21*0.8 G22*1.2];

definieren, wenn man nur die Streckenverstärkungen modifizieren möchte (z. B. bei G11seine Erhöhung um 30%). Bild 125 zeigt die Einheitssprungantworten des exakten und des modifizierten Prozessmodells.

Bild 125.

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).

Bild 126.

Importieren 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.

Bild 127.

Auswahl 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.

Bild 128.

Vergleich 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).

Bild 129.

Export des MPC-Reglers in den MATLAB-Arbeitsspeicher.

Der MPC-Regler kann nun zum Beispiel in einem Simulink-Modell weiterverwendet werden.

6.6 MPC-Regelung des Viertanksystems in Simulink®

Im 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.

Bild 130.

Verschiedene 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.

Bild 131.

Simulink-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)

Bild 132.

Anwahl 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.

Bild 133.

Definition 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.

Bild 134.

Eingabemaske 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.

Es wurde ein Simulations-Szenario ähnlich dem in Abschnitt 6.5 gewählt: Zum Zeitpunkt t=1wird der Sollwert für den Füllstand im Tank 1, zum Zeitpunkt t=100der Sollwert für den Füllstand im Tank 2 vom Anfangswert (Arbeitspunktwert) auf r1=7bzw. r2=7erhöht. Bild 135 zeigt die Simulationsergebnisse.

Bild 135.

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.

7. Adaptive MPC-Regelung eines chemischen Reaktors

Gegenstand 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.

7.1 Mathematisches Modell und Regelungsaufgabe

Kontinuierliche 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].

Ein vereinfachtes technologisches Schema eines solchen Reaktors ist in Bild 136 dargestellt.

Bild 136.

Technologisches Schema eines kontinuierlichen Rührkesselreaktors.

Der zulaufende Volumenstrom V̇mit der Zulauftemperatur Tzuenthält nur die Komponente A mit der molaren Konzentration cA,zu. Über eine Kühlschlange wird das Reaktionsgemisch auf der vorgesehen Betriebstemperatur des Reaktors gehalten und die Reaktionswärme abgezogen. Das Kühlmittel hat die Temperatur TK. Das Reaktorvolumen Vwird als konstant angenommen. Daher ist der Produktvolumenstrom gleich dem Zulauf-Volumenstrom Der Reaktor wird als ideal durchmischt angesehen, d. h. Temperatur und Konzentration sind an allen Orten gleich groß. Sie entsprechen auch der Produkttemperatur und der Produktkonzentration.

Es wird angenommen, das eine einfache exotherme Reaktion ABin flüssiger Phase stattfindet. Die Reaktionsgeschwindigkeit rist erster Ordnung, d. h. sie ist linear von der Konzentration cAabhängig:

r=kcAE63

mit kals Reaktionsgeschwindigkeitskonstante und cAals molarer Konzentration der Komponente A im Reaktor. Die Temperaturabhängigkeit der Reaktionsgeschwindigkeitskonstante wird durch die Arrhenius-Gleichung beschrieben.

k=k0expERTE64

Darin bezeichnen k0den Stoßfaktor, Edie Aktivierungsenergie, Rdie allgemeine Gaskonstante und Tdie Reaktortemperatur.

Um die Modellbildung zu erleichtern, werden weitere vereinfachende Annahmen getroffen:

  • Die Dichten ρvon Zulauf, Reaktionsgemisch und Produkt sind gleich groß und konstant.

  • 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

VdcAdt=V̇cA,zucAVk0expERTcAE65

Dabei 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.

Die Energiebilanz lautet

cPdTdt=V̇ρcPTzuT+UATKT+ΔHRVk0expERTcAE66

Hier 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 Uden Wärmeübertragungskoeffizienten, Adie Fläche der Wärmeübertragung, cPdie spezifische Wärmekapazität und ΔHRdie Reaktionswärme pro Mol A.

Das Modell lässt sich auch als nichtlineares Differenzialgleichungssystem für die Konzentration A und die Temperatur schreiben:

dcAdt=V̇VcA,zucAk0expERTcAdTdt=V̇VTzuT+UAcPTKT+ΔHRρcPk0expERTcAE67

In 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.)

ParameterWertVariableWert
V1 m3cA,zu10 kgmol/m3
UA/cP0,3 h−1Tzu298,15 K
ΔHR/ρcP11,92 m3K/kgmolTK298,15 K
E/R5963,6 K
k03,49308×107 h−1
V̇1 m3/h

Tabelle 21.

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

dcAdt=00=V̇VcA,zucAk0expERTcAE68

betrachtet. Durch Auflösung nach cAlässt sich die Temperaturabhängigkeit der Konzentration cAim stationären Zustand angeben:

cAT=V̇VcA,zuk0expERT+V̇VE69

Die stationäre Wärmebilanz ergibt sich dann zu

0=V̇ρcPTzuT+UATKTWärmeabfuhr+ΔHRk0expERTcATVWärmeerzeugungE70

Die 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.

Bild 137.

Arbeitspunkte 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.

Temperatur TKonzentration cA
Arbeitspunkt 1 (stabil)311,2638 K (38,1138°C)8,5698 kgmol/m3
Arbeitspunkt 2 (instabil)339,5233 K (66,3733°C)5,4878 kgmol/m3
Arbeitspunkt 3 (stabil)368,0585 K (94.9085°C)2,3758 kgmol/m3

Tabelle 22.

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.

Um 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.

Bild 138.

Simulink-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).

Bild 139.

Simulink-Modell des CSTR.

Die Werte der Modellparameter bzw. der aus diesen Parametern gebildete Ausdrücke (wie z. B. UA/(cp))sind direkt in die Bausteine eingetragen. Anfangswerte der Integratoren sind die Arbeitspunktwerte T=311.2638und cA=8.5698für den Arbeitspunkt 1.

In Bild 140 sind die Sprungantworten der Reaktortemperatur und der Konzentration dargestellt, die sich für sprungförmige Veränderungen der Kühlmitteltemperatur um ΔTK=±5Kergeben. Ausgangspunkt ist der Betrieb des Reaktors im Arbeitspunkt 1.

Bild 140.

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.

Bild 141.

Sprungantworten 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 cA,zu=10kgmol/m3auf cA=8,5698kgmol/m3) in einen Bereich hoher Umsatzrate (von cA,zu=10kgmol/m3auf cA=2.3758kgmol/m3) überführt werden. Das schließt ein, dass der CSTR aus einem stabilen über einen instabilen wieder in einen stabilen stationären Zustand gebracht wird. Neben einer guten Sollwertfolge soll außerdem gewährleistet sein, das sinusförmige Störungen der Zulauftemperatur Tzuausgeregelt werden. Die Zulaufkonzentration wird hingegen als konstant (cA,zu=10kgmol/m3) angenommen. Als Nebenbedingung ist zu berücksichtigen, dass sich die Stellgröße Kühlmitteltemperatur um nicht mehr als 2 K pro Abtastintervall ändern darf.

Für diese Aufgabe soll ein Eingrößen-MPC-Regler mit der Regelgröße Reaktortemperatur T, der Stellgröße Kühlmitteltemperatur TKund der gemessenen Störgröße Zulauftemperatur Tzueingesetzt werden. Da der Reaktor stark nichtlineares Verhalten aufweist und in einem weiten Arbeitsbereich betrieben werden soll, ist nicht zu erwarten, dass die Regelungsaufgabe mit nur einem für einen bestimmten Arbeitspunkt entworfenen MPC-Regler zufriedenstellend gelöst werden kann. Die MPC Toolbox bietet für diesen Fall folgende Lösungsmöglichkeiten an:

Fall A: Während des Betriebs des Regelungssystems kann kein lineares Prozessmodell für das aktuelle Systemverhalten gewonnen werden.

Lö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).

Lö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).

Fall B: Während des Betriebs des Regelungssystems kann ein lineares Prozessmodell für das aktuelle Systemverhalten gewonnen werden.

Lö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.

Lö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.

Fü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.

Bild 142.

Blockschaltbild einer adaptiven MPC-Regelung mit Online-Identifikation des Prozessmodells.

7.2 Entwurf eines MPC-Reglers für den kontinuierlichen Rührkesselreaktor

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 TKund Tzuund an die Ausgangsgröße Tanzutragen (Bild 143).

Bild 143.

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.

Bild 144.

CSTR-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).

Bild 145.

Sprungantworten des linearisierten CSTR-Modells im “Linear Analysis Tool”.

Bild 146.

Parameter des linearen Zustandsmodells “linsys1”.

Durch Doppelklick auf “linsys1” lassen sich die Parameter des linearen Zustandsmodells anzeigen (Bild 146).

Es hat die allgemeine Form

dxtdt=Axt+Butyt=CxtE71

Für den Rührkesselreaktor im Arbeitspunkt 1 ergibt sich

dΔcA/dtdΔT/dt=1.1670.088031.9890.2506ΔcAΔT+000.31ΔTKΔTzuΔT=01ΔcAΔTE72

Man beachte, dass die Prozessgrößen jetzt Abweichungen von den Arbeitspunktwerten darstellen. Die Eingangsmatrix Bist plausibel: Da die Kühlmittel- und die Zulauftemperaturen in der Differenzialgleichung für die Konzentration nicht vorkommen, muss die erste Zeile aus Nullen bestehen. Da weiterhin die Ableitung der rechten Seite der Differenzialgleichung für die Reaktortemperatur nach der Kühlmitteltemperatur gleich UA/cPist, muss das Element b21der B-Matrix gleich 0,3 sein. Schließlich ist die Ableitung der rechten Seite der Differenzialgleichung für die Reaktortemperatur nach der Zulauftemperatur gleich V̇/Vund daher der Koeffizient b22der B-Matrix gleich 1.

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:

CSTR_Modell_AP1_tf = tf(CSTR_Modell_AP1)

Es ergeben sich die Übertragungsfunktionen

Gyus=0.3s+0.3501s2+1.418s+0.4676E73

für den Zusammenhang von Kühlmitteltemperatur (Stellgröße u) und Reaktortemperatur (Regelgröße y), und

Gyvs=s+1.167s2+1.418s+0.4676E74

für den Zusammenhang zwischen Zulauftemperatur (gemessene Störgröße v) und Reaktortemperatur.

Eine zeitliche Diskretisierung des Zustandsmodells mit der Abtastzeit Ts=0.5minmit Hilfe des Befehls

CSTR_Modell_AP1_diskret = c2d(CSTR_Modell_AP1,0.5)

führt auf ein zeitdiskretes Zustandsmodell der Form

xk+1=Axk+Bukyk=CxkE75

Für den Arbeitspunkt 1 ergeben sich die Matrizen des zeitdiskreten Zustandsmodells zu

A=0.54370.030930.69890.8656,B=0.0026180.0087260.14010.467,C=01E76

Das zeitdiskrete Zustandsmodell wird später für die Parametrierung des “Adaptive MPC Controller”-Bausteins benötigt.

Eine zeitliche Diskretisierung der zeitkontinuierlichen Übertragungsfunktionen Gsfür den Arbeitspunkt 1 mit der Abtastzeit Ts=0.5minführt auf die zeitdiskreten Übertragungsfunktionen Gq

Gyuq=TqTKq=0.1401q10.078q211.409q1+0.4923q2E77

und

Gyvq=TqTzuq=0.467q10.26q211.409q1+0.4923q2E78

Darin bezeichnet q1einen Verschiebeoperator (xk1=q1xk). Die erste dieser beiden zeitdiskreten Übertragungsfunktionen wird später als Startmodell für die Online-Identifikation des dynamischen Verhaltens der Regelstrecke “Rührkesselreaktor” benötigt.

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.

Zeitkontinuierliches ZustandsmodellÜbertragungsfunktionen
Arbeitspunkt 1A=1.1670.088031.9890.2506
B=000.31, cT=01
Gyus=0.3s+0.3501s2+1.418s+0.4676
Gyvs=s+1.167s2+1.418s+0.4676
Arbeitspunkt 2A=1.8220.23349.8011.482
B=000.31, cT=01
Gyus=0.3s+0.5467s2+0.3397s0.4136
Gyvs=s+1.822s2+0.3397s0.4136
Arbeitspunkt 3A=4.2090.335638.252.701
B=000.31, cT=01
Gyus=0.3s+1.263s2+1.508s+1.471
Gyvs=s+4.209s2+1.508s+1.471

Tabelle 23.

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 s1=0.8963und s2=0.5217) und im Arbeitspunkt 3 Schwingungsverhalten (die Pole liegen bei s1,2=0.754±0.95j). In beiden Arbeitspunkten ist der CSTR stabil. Bild 148 zeigt die Einheits-Sprungantworten des linearen Modells für Arbeitspunkt 2. Das Reaktorverhalten ist in diesem Arbeitspunkt instabil, die Polstellen der Übertragungsfunktionen liegen bei s1=0.8350und s2=+0.4953, ein Pol liegt in der rechten s-Halbebene.

Bild 147.

Sprunganworten der Reaktortemperatur des CSTR gegenüber Verstellungen der Kühlmittel- und der Zulauftemperatur (Arbeitspunkte 1 und 3).

Bild 148.

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] Ts=0,5 gewählt. Bild 149 zeigt das Fenster “Define MPC Structure by Importing”.

Bild 149.

Definition des MPC-Reglers für den kontinuierlichen Rührkesselreaktor.

Danach werden die Arbeitspunktwerte und Skalierungsfaktoren definiert (Bild 150).

Bild 150.

Spezifikation der I/O Channels für den CSTR.

Die Ungleichungs-Nebenbedingungen für die Stellgrößeninkremente zeigt Bild 151.

Bild 151.

Constraints-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 p=20und m=4gewählt. Der Slider für “Closed-Loop Performance” wurde in Richtung “Robust” verschoben. Bild 152 zeigt diese Einstellungen.

Bild 152.

Horizontlängen und Reglereinstellung für den MPC-Regler des CSTR.

Das Simulationsszenario wird so festgelegt, dass zum Zeitpunkt t=1der Sollwert der Reaktortemperatur um 1 K erhöht wird und zum Zeitpunkt t=10die gemessene Störgröße von 298,15 K auf 299,15 K springt. Bild 153 zeigt die simulierten Sprungantworten des geschlossenen MPC-Regelungssystems.

Bild 153.

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.

Bild 154.

Ausregelung 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.

Wesentlich 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.

Bild 155.

Simulink-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.

Es 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 t=1und das Störverhalten für eine Zulauftemperatur-Änderung um 1 K zum Zeitpunkt t=30.

Bild 156.

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.

Bild 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.

Bild 157.

Stö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.

Wie 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 t=50bei Arbeitspunkt 1 (T=311.2638K) beginnt und zum Zeitpunkt t=100bei Arbeitspunkt 3 (T=368.0585) endet. Als MPC-reglerinternes Modell wird das lineare Modell des CSTR für Arbeitspunkt 1 verwendet. Die Zulauftemperatur wird als konstant angenommen. Das Ergebnis der Simulation ist in Bild 158 dargestellt.

Bild 158.

Nicht-adaptive MPC-Regelung des CSTR bei Vorgabe einer Sollwertrampe.

Es ist klar zu erkennen, dass das Verhalten der Regelung ab ca. t=70nicht akzeptabel ist. Zu diesem Zeitpunkt nähert sich die Temperatur-Rampe einem Sollwert, der dem (instabilen) Arbeitspunkt 2 des Reaktors entspricht.

7.3 Identifikation des dynamischen Verhaltens durch rekursive Regression

Eine Möglichkeit zur Verbesserung der Regelgüte besteht darin, die Parameter biaides Prozessmodells

Gq=BqAq=b1q1+b2q11+a1q1+a2q1E79

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

yk+a1yk1+a2yk2=b1uk1+b2uk1E80

Fügt man diesem deterministischen Modell einen stochastischen Störterm hinzu, ergibt sich das sogenannte ARX-Modell. Es hat die Differenzengleichung

yk+a1yk1+a2yk2=b1uk1+b2uk1+εkE81

Unter Nutzung von Übertragungsfunktionen lässt sich das ARX-Modell auch

yk=BqAquk+1AqεkE82

schreiben. Stellt man die Differenzengleichung nach ykum und setzt auf der rechten Seite Messwerte für die Ein- und Ausgangsgrößen sowie Schätzwerte b̂iâifür die Modellparameter ein, ergibt sich

ŷkk1=â1yk1â2yk2 +b̂1uk1+b̂2uk2E83

Die Schreibweise ŷkk1soll andeuten, dass es sich um eine Einschritt-Vorhersage der Ausgangsgröße für den Zeitpunkt kauf der Grundlage von Messungen bis zum Zeitpunkt k1handelt. Fasst man die Messwerte und die Modellparameter zu Vektoren

ψTk=yk1yk2uk1uk2E84
θ̂Tk=â1â2b̂1b̂2E85

zusammen, lässt sich kompakter schreiben

ŷkk1=ψTkθ̂k1E86

Der Gleichungsfehler oder das Residuum ekist die Differenz zwischen dem Messwert ykzum Zeitpunkt kund der Vorhersage ŷkk1

ek=ykŷkk1E87

Die Modellparameter werden nun so bestimmt, dass eine möglichst gute Übereinstimmung zwischen den über das Modell vorhergesagten Werten ŷkk1und den am realen Prozess gemessenen Werten der Ausgangsgröße erreicht wird. Das kann man über die Minimierung der Fehlerquadratsumme

minθJ=i=1Ne2iθ=i=1Nymessiŷ(iθ)2E88

erreichen, worin Ndie Zahl der Messwertsätze bezeichnet. Daher auch die Bezeichnung Least-Squares- oder LS-Schätzung. In nicht-rekursiver Form, d. h. wenn zunächst N2Messwertsätze gesammelt werden, lässt sich das Optimierungsproblem explizit in einem Schritt lösen und es ergibt sich die bekannte Schätzgleichung

θ̂=ΨTΨ1ΨTyE89

Hier sind in der Messwertmatrix Ψzeitverschobene Messwerte für die Ein- und Ausgangsgrößen in der Form von ψund im Messwertvektor ydie Messwerte für die Ausgangsgröße angeordnet ([41], S. 226). Bei der nicht-rekursiven Form der LS-Schätzung werden alle Messdaten zuerst gesammelt und dann in einem Schritt verarbeitet. Sie eignet sich daher für eine Offline-Identifikation. Hier soll das dynamische Verhalten des Prozesses aber im Online-Betrieb und in Echtzeit identifiziert werden. Das erfordert eine rekursive Formulierung der LS-Schätzung, bei der aktualisierte Werte für die Modellparameter gefunden werden, wenn ein neuer Messwertsatz für die Ein- und Ausgangsgrößen eintrifft. Wenn sich die Modellparameter (langsam) im Laufe der Zeit ändern, ist es sinnvoll, die aktuellen und jüngeren Messungen stärker zu berücksichtigen als ältere, weiter zurück liegende Messungen. Das lässt sich durch eine Modifikation der Zielfunktion Jdurch Einführung von Gewichtsfaktoren erreichen:

J=i=1Nwie2iθE90

Wählt man die Gewichte nach der Vorschrift

wk=λNk0<λ<1E91

dann sind sie kleiner, je weiter die Messungen zurückliegen: für die jüngste (Nte) Messung ergibt sich nämlich wN=λ0=1, für die zweitjüngste Messung wN1=λ1=λ<1, für wN2=λ2<λ<1usw.. Die Größe λwird daher als “Vergessensfaktor” bezeichnet.

Die Grundgleichung der rekursiven Regression lautet

θ̂k=NeuerParameterSchätzwertθ̂k1AlterParameterSchätzwert+ γkKorrekturvektorykNeuerMesswertψTkθ̂k1Vorhersagemitalten ParameternE92

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 ykund der Ein-Schritt-Vorhersage ŷkk1, die mit einem neuen Messwertvektor ψTk, aber den alten Modellparametern θ̂k1gebildet wird. Proportionalitätsfaktor ist der Korrekturvektor γk. Die Rekursionsgleichungen (für eine Herleitung siehe ([41], S. 269 ff.)) lauten:

θ̂k=θ̂k1+γkykψTkθ̂k1γk=Pk1ψkψTkPk1ψk+λPk=IγkψTkPk1λE93

In diesen Gleichungen bezeichnet Pk=ΨkTΨk1die sogenannte “Präzisionsmatrix”. Sie ist ein Schätzwert für die Kovarianzmatrix des Schätzfehlers der Modellparameter. Um den Rekursionsalgorithmus zu starten, müssen Anfangswerte für die Modellparameter θ̂0und die Präzisionsmatrix P0bekannt sein. Im Beispiel der adaptiven MPC-Regelung des Rührkesselraktors sind die Koeffizienten der zeitdiskreten Übertragungsfunktion im Arbeitspunkt 1 bekannt und können als Startwerte für θ̂0verwendet werden. Für P0wird eine Diagonalmatrix angenommen, deren (identische) Elemente durch den Nutzer vorgegeben werden müssen. Da für θ̂0genaue Schätzwerte vorliegen, ist P0=0.15Iein sinnvoller Startwert.

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.):

θ̂k=θ̂k1+γkykψTkθ̂k1γk=Pk1ψkψTkPk1ψk+R2Pk=Pk1+R1Pk1ψkψTkPk1ψTkPk1ψk+R2E94

Es wird angenommen, dass sich die “wahren” Modellparameter θ0wie ein “Random-walk”-Prozess θ0k=θ0k1+wkverhalten. Darin bedeutet wkGaußsches weißes Rauschen mit der Kovarianzmatrix R1=EwkwTk. Die Matrix R2bezeichnet die Varianz von ekaus yk=ψTkθ0k+ek.

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.

7.4 Adaptive MPC-Regelung

Abschließ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.

Der 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 Ts=0,5beträgt. Das online im geschlossenen Regelkreis zu identifizierende ARX-Modell besteht aus zwei Teil-Modellen jeweils zweiter Ordnung für die Zusammenhänge von Stell- und Regelgröße (Stellstrecke):

Gyuq=TqTKq=B1qAq=b11q1+b12q11+a1q1+a2q1E95

und Stör- und Regelgröße (Störstrecke)

Gyvq=TqTzuq=B2qAq=b21q1+b22q11+a1q1+a2q1E96

Die 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.

Öffnet man die Eingabemaske für den Baustein “Recursive Polynomial Model Estimator”(Bild 160), erkennt man die Möglichkeiten der Parametrierung.

Bild 160.

Eingabemaske 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 Ts=0.5),

  • 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 Aqund Bq, d. h. Nenner und Zähler der zeitdiskreten Übertragungsfunktionen des CSTR, eingetragen.

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:

CSTR_Modell_AP1_diskret = c2d(CSTR_Modell_AP1,0.5);
[zaehler, nenner] = tfdata(CSTR_Modell_AP1_diskret);
Aq = nenner{1};
Bq = zaehler;

Wechselt man zum Reiter “Algorithm and Block Options” (Bild 161), eröffnen sich weitere Möglichkeiten der Parametrierung.

Bild 161.

Eingabemaske 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.

Im 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.

Bild 162.

Parametrierung 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.

Wichtig 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.

Bild 163.

Eintragung 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 50t100linear interpoliert, für 0t50und 100t150ist der Sollwert konstant.

Bild 164.

Parametrierung einer Rampenfunktion im “Repeated Sequence Interpolated”-Baustein.

Bild 165 zeigt das Ergebnis der Simulation der adaptiven MPC-Regelung.

Bild 165.

Adaptive 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.

8. pH-Wert-Regelung mit einem Gain-Scheduled MPC-Regler

Am 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.

8.1 Theoretisches Prozessmodell eines Neutralisationsreaktors

pH-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].

Im 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 KP=fwin Abhängigkeit vom Sollwert angepasst. Die Gain-Scheduling-Struktur ist eine der einfachsten adaptiven Regelungsstrategien.

Bild 166.

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.

Bild 167.

Prinzip 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.

Bild 168.

Vereinfachtes 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 Waiund Wbifür die zulaufenden Volumenströme (i=1Säurestrom, i=2Pufferstrom, i=3Basenstrom, i=4Produktstrom) wie folgt beschrieben [105]:

Wai=H+iOHiHCO3i2CO32iWbi=H2CO3i+HCO3i+CO32iE97

In Tabelle 24 sind die Parameter und Arbeitspunktwerte für das pH-System zusammengestellt.

VariableWertVariableWert
Wa10,003MWb10M
Wa2−0,03MWb20,03M
Wa3−3,05×10−3MWb35×10−5M
Wa4−4,36×10−4MWb45,276×10−4M
A207 cm2Ka14,47×10−7
H14 cmKa25,62×10−11
Q116,6 ml/sQ20,55 ml/s
Q315,6 ml/spH7,0
c8,572 ml/scm

Tabelle 24.

Parameter und Arbeitspunktwerte für den Neutralisationsprozess.

Darin bezeichnen Aund Hdie Querschnittsfläche und die Füllhöhe des zylindrischen Tanks, ceinen Ventilkoeffizienten und Q1Q3die Volumenströme von Säure, Pufferlösung und Base. Ka1und Ka2bezeichnen Gleichgewichtskonstanten, pKa1und pKa2sind deren negative dekadische Logarithmen. Der pH-Wert ist definiert als der negative dekadische Logarithmus der Wasserstoffionenkonzentration: pH=log10H+.

Das mathematische Modell des pH-Systems besteht aus der Massenbilanzgleichung

dHdt=1AQ1+Q2+Q3cHE98

(bei Annahme konstanter Dichte) und den Differenzialgleichungen für die Reaktionsinvarianten des Produktstroms

dWa4dt=1AHWa1Wa4Q1+Wa2Wa4Q2+Wa3Wa4Q3dWb4dt=1AHWb1Wb4Q1+Wb2Wb4Q2+Wb3Wb4Q3E99

Der pH-Wert lässt mit Hilfe der folgenden impliziten algebraischen Gleichung iterativ ermitteln:

Wa4+10pH1410pH+Wb41+210pHpKa21+10pKa1pH+10pHpKa2=0E100

Das 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 x=HWa4Wb4Tals Vektor der Zustandsgrößen, u=Q3als Stellgröße, d=Q2als Störgröße und y=pHals Regelgröße auffassen.

Das Differenzialgleichungssystem und die algebraische Gleichung zur Bestimmung des pH-Werts lassen sich in ein Simulink-Modell überführen (Bild 169).

Man beachte die Nutzung eines “Algebraic Constraint”-Blocks (rechts unten) zur Bestimmung des pH-Werts.

Das Simulink-Modell lässt sich zu einem Subsystem zusammenfassen, bei dem die Stell- und die Störgrößen (u=Q3und d=Q2) als Eingangsgrößen und der Füllstand Hsowie die Regelgröße y=pHals Ausgangsgrößen auftreten (Bild 170).

Bild 170.

Das pH-System als Simulink-Subsystem.

Die statische Kennlinie pH=fQ3besitzt das in Bild 171 dargestellte Aussehen.

Bild 171.

Statische Kennlinie des UCSB-Laborsystems.

Diese Grafik wurde gewonnen, indem das Simulink-Modell mit Sprüngen des Basestroms Q3(Endwerte Q3=1,2,3,,30) beaufschlagt und die sich ergebenden pH-Endwerte erfasst wurden. Es ist deutlich zu erkennen, dass die Streckenverstärkung stark variiert. Im Bereich 4<pH<5ist sie zum Beispiel deutlich größer als im Bereich 2.8<pH<3.5oder 10<pH<11. Das Verhältnis der größten zur kleinsten Streckenverstärkung beträgt ca. 15,5:1. Es ist daher zu erwarten, dass der pH-Wert nicht im gesamten Bereich mit einer konstanten Reglereinstellung bzw. bei einem MPC-Regler mit nur einem Prozessmodell gleichermaßen gut geregelt werden kann.

Der Entwurf der “Gain Scheduled MPC-Regelung” erfolgt in folgenden Schritten:

  • Identifikation linearer Prozessmodelle für vier Arbeitspunkte pH=77.58.510auf der Grundlage virtueller Messdaten, die durch PRBS-Tests am Simulink-Modell des pH-Systems gewonnen wurden; die Vorgehensweise entspricht der in Abschnitt 5.2 beschriebenen Prozedur,

  • 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 pH=10verwendet, wenn die Bedingung pH>9.5erfüllt ist.

8.2 Identifikation linearer Modelle für verschiedene Arbeitspunkte der pH-Wert-Regelung

Die Identifikation eines linearen Prozessmodells für das UCSB-pH-System wird hier nur für den Arbeitspunkt pH=7beschrieben. Bei den anderen drei Arbeitspunkte ist die Vorgehensweise identisch. Die Erläuterung erfolgt hier in gedrängter Form, da eine detaillierte Beschreibung für die Arbeit mit der System Identification ToolboxTM Abschnitt 5.2 entnommen werden kann.

zeit = [1:1:10000]';
Q3_Test = idinput(10000,'PRBS',[0. 0.01],[15.5 15.7]);
Q3_PRBS = [zeit Q3_Test];

Zunächst wurde mit Hilfe des Befehls “idinput” der System Identifikation ToolboxTM ein geeignetes PRBS-Testsignal für den Basenstrom Q3entworfen:

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.

Bild 172.

PRBS-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.

In Bild 173 sind die Zeitverläufe des PRBS-Testsignals (Basenstrom) und des Antwortsignals (pH-Wert) dargestellt.

Bild 173.

PRBS-Test: Zeitverläufe des Basenstroms Q 3 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:

Gs=0.51687.97s+1e5.7sE101

Wie 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.

Bild 174.

Vergleich zwischen gemessenem und simuliertem pH-Wert.

In Tabelle 25 sind die identifizierten Prozessmodelle für alle vier Arbeitspunkte des pH-Werts zusammengestellt.

ArbeitspunktProzessmodell
pH=7Gs=0.51687.97s+1e5.7s
pH=7.5Gs=1.1488.67s+1e5.94s
pH=8.5Gs=2.5693.78s+1e5.1s
pH=10Gs=0.163100.75s+1e5.27s

Tabelle 25.

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 pH=8.5und pH=10) beträgt 15,7:1.

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

Modell_pH7 = ss(P1D).

8.3 Entwurf und Simulation des MPC-Regelungssystems mit einem “MPC Controller”-Baustein

Der Entwurf der MPC-Regler wird hier ebenfalls nur für den Arbeitspunkt pH=7beschrieben, da die Vorgehensweise bei den anderen Arbeitspunkten identisch ist. Zunächst wird eine MPC-Regelung ohne Scheduling betrachtet. Nach Starten des MPC Designers mit Hilfe des Befehls “mpcDesigner” wird das Prozessmodell “Modell_pH7” importiert. Die Spezifikation der Ein- und Ausgangskanäle zeigt Bild 175.

Bild 175.

Spezifikation der Ein- und Ausgangskanäle für die pH-Wert-Regelung im MPC Designer.

Für die Abtastzeit wurde Ts=10sgewählt, für die Horizontlängen wurden p=40(Prädiktionshorizont) und m=5(Steuerhorizont) vorgegeben. Die Ergebnisse der Simulation des Führungsverhaltens innerhalb des MPC Designer (ohne Plant-Model-Mismatch) sind in Bild 176 dargestellt.

Bild 176.

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 pH=7.58.510, die später im Abschnitt 8.4 zur Parametrierung des “Multiple MPC Controller”-Bausteins benötigt werden.

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.

Bild 177.

Simulink-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 pH=7entworfen wurde. Simuliert wird zunächst das Führungsverhalten für eine Folge von Sollwertsprüngen pH=77.58.510, also in einem großen Arbeitsbereich, in dem sich die Streckenverstärkung stark verändert. Als Sollwertgeber wurde zu diesem Zweck ein “Repeating Sequence Interpolated”-Baustein aus dem Bereich “Sources” der Simulink-Bausteinbibliothek aufgenommen. Die Simulationsergebnisse sind in Bild 178 dargestellt.

Bild 178.

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.

8.4 Entwurf und Simulation des MPC-Regelungssystems mit einem “Multiple MPC Controllers”-Baustein

Die 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.

pH-Wert-Bereichswitch =Name des MPC-Regler-Objekts
7<pH<7.21MPC_pH_7
7.2<pH<7.82MPC_pH_75
7.8<pH<9.53MPC_pH_85
pH>9.54MPC_pH_10

Tabelle 26.

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.

Bild 179.

Parametrierung 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.

Bild 180.

Simulink-Modell der “Gain Scheduled MPC-Regelung”.

Wie in Abschnitt 8.3 wird nun das Führungsverhalten für die Sollwertsprünge pH=77.58.510simuliert. Das Ergebnis geht aus Bild 181 hervor.

Bild 181.

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.

9. Nichtlineare modellprädiktive Regelung (NMPC) eines Ethylenoxid-Reaktors

Im 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.

9.1 MPC-Regelung mit nichtlinearen Modellen

Wie 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.

Zur 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:

dxtdt=ẋt=fxtutyt=gxtutE102

xk+1=fxkukyk=gxkukE103

Darin bezeichnen fund gnichtlineare Vektorfunktionen geeigneter Dimension. Modelle dieser Form werden auch als nichtlineare Zustandsmodelle bezeichnet. Die Modellbildung kann entweder auf theoretischem Weg oder durch Anlagentests und anschließende Auswertung der Messdaten durch Verfahren der nichtlinearen Systemidentifikation erfolgen. Wenn ein zeitkontinuierliches Modell vorliegt, wird es reglerintern durch Diskretisierung unter Anwendung der impliziten Trapezregel in ein zeitdiskretes Modell umgewandelt.

Zur Bestimmung der Stellgrößen muss in jedem Abtastintervall ein beschränktes Optimierungsproblem gelöst werden:

minΔuk,Δuk+1Δuk+m1Jk=J(xkukE104

x̂k+jk=fx̂k+j1kuk+j1ŷk+jk=gx̂k+jkuk+jj=1pE105

uminkuk+jumaxkΔuminkΔuk+jΔumaxkj=0,1,m1yminkyk+jymaxkxminkxk+jxmaxkj=1,2,pE106

Entscheidungsvariable sind wie bei LMPC die Stellgrößenänderungen im Steuerhorizont. Die Zielfunktion Jkann der quadratischen Zielfunktion entsprechen, die in Abschnitt 2.3.4 für die MPC-Regelung mit linearen Modellen vorgestellt wurde. Diese beinhaltet eine gewichtsbehaftete Minimierung der prädizierten quadratischen Regeldifferenzen und des dafür erforderlichen Stellaufwands. Alternativ kann aber auch eine allgemeinere nichtlineare Zielfunktion Jxuverwendet werden, die ökonomische Ziele wie z. B. die Maximierung der Ausbeute, die Minimierung des spezifischen Energieverbrauchs u. a. beschreibt. In beiden Fällen entsteht mathematisch betrachtet ein nichtlineares, im Allgemeinen nichtkonvexes Optimierungsproblem mit Nebenbedingungen. Die Lösung geschieht durch Anwendung von Optimierungsverfahren, die für diese Problemklasse entwickelt wurden, z. B. Sequential Quadratic Programming (SQP) [106].

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

xk+1=fxkuk+wkyk=gxk+vkE107

Darin bezeichnen wkund vkStörprozesse (System- und Messrauschen) mit den Kovarianzmatrizen Qkund Rk, x̂0einen gegebenen Schätzwert für den Anfangszustand und P0eine bekannte Start-Präzisionsmatrix. Wie das lineare Kalman-Filter weist auch das EKF eine Prädiktor-Korrektor-Struktur auf. Die Prädiktionsgleichungen für den Zustandsvektor und die Präzisionsmatrix lauten

x̂kk1=fx̂k1k1uk1Pkk1=Fk1Pk1k1FTk1+Qk1E108

Darin ist Fk1die Matrix der partiellen Ableitungen (Jacobi-Matrix) der Funktionen fnach den Zustandsgrößen:

Fk1=fxuxx̂k1k1,uk1E109

Wenn zum Zeitpunkt kneue Messwerte der Ausgangsgrößen ykeintreffen, wird eine Korrektur vorgenommen. Die Gleichungen dafür sind

Kk=Pkk1GkTGkP(kk1)GTk+Rk1Pkk=IKkGkPkk1x̂kk=x̂kk1+Kkykgx̂kk1E110

Darin bezeichnet

Gk=gxxx̂kk1E111

die Matrix der partiellen Ableitungen der Ausgangsgleichungen gnach den Zustandsgrößen. Die Korrektur des Schätzwerts für den Zustandsvektor x̂kkist proportional zur Differenz zwischen den neu eintreffenden Messwerten der Ausgangsgrößen und der modellbasierten Vorhersage ykgx̂kk1, der Proportionalitätsfaktor ist die Kalman-Verstärkung Kk. Die Prädiktions- und die Korrekturgleichunegn werden – beginnend mit x̂0und P0– alternativ und rekursiv abgearbeitet. Die Kovarianzmatrizen Qkund Rkwerden meist als konstante Matrizen Qund Raufgefasst, können aber alternativ auch fortlaufend aus Messdaten geschätzt werden [107]. Die System Identification ToolboxTM enthält einen Funktionsbaustein für ein solches erweitertes Kalman-Filter.

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].

In Tabelle 27 sind ausgewählte Bücher zu den Themen NMPC, Identifikation nichtlinearer Systeme und nichtlineare Zustandsschätzung zusammengestellt.

Autor(en)TitelQuelleJahr
Grüne, PannekNonlinear Model Predictive Control[29]2017
BillingsNonlinear System Identification[113]2013
Haber, KeviczkyNonlinear System Identification[114]1999
SimonOptimal State Estimation[108]2006

Tabelle 27.

Ausgewählte Bücher zu NMPC, Identifikation und Zustandsschätzung nichtlinearer Systeme.

9.2 Theoretisches Prozessmodell des Reaktors

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.

Im 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.

Bei der Ethylenoxid-Erzeugung werden Ethylen (C2H4) und Sauerstoff (O2) einem katalytischen Reaktor zugeführt, in dem folgende Reaktionen ablaufen:

C2H4+12O2C2H4OC2H4+3O22CO2+2H2OC2H4O+52O22CO2+2H2OE112

Bei der Reaktion entstehen Ethylenoxid (C2H4O). Kohlendioxid (CO2) und Wasser (H2O). In [116] wurden dimensionslose Stoff- und Energiebilanzen für diesen Reaktionsprozess entwickelt, die im folgenden System von Zustands-Differenzialgleichungen ẋ=fxuresultieren:

ẋ1=u11x1x4ẋ2=u1u2x2x4A1eγ1/x4x2x40.5A2eγ2/x4x2x40.25ẋ3=u1x3x4+A1eγ1/x4x2x40.5A3eγ3/x4x3x40.5ẋ4=u1x11x4+B1x1eγ1/x4x2x40.5+B2x1eγ2/x4x2x40.25+B3x1eγ3/x4x3x40.5B4x1x4TcE113

In diesen Differenzialgleichungen bezeichnen die Variablen x1x4die (dimensionslosen) Zustandsgrößen

  • x1… Gasdichte im Reaktor,

  • x2… Ethylenkonzentration im Reaktor,

  • x3… Ethylenoxid-Konzentration im Reaktor, und

  • x4… Reaktortemperatur.

Einige Ausdrücke in den Differenzialgleichungen lassen sich als kinetische Reaktionsgeschwindigkeiten der drei chemischen Reaktionen interpretieren:

r1=eγ1/x4x2x40.5r2=eγ2/x4x2x40.25r3=eγ3/x4x3x40.5E114

Die Größen u1und u2bezeichnen die Eingangsgrößen des Prozesses:

  • Durchfluss des Einsatzprodukts (u1)

  • Ethylenkonzentration im Zulauf (u2)

Für diese sind die Ungleichungs-Nebenbedingungen

0.0704u10.7042,0.2465u22.4648E115

vorgegeben. 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

y=x3E116

Die im Prozessmodell auftretenden Parameter sind in Tabelle 28

zusammengefasst. Darin bezeichnet Tcdie Kühlmitteltemperatur, und die Parameter γi, Aiund Bisind zusammengesetzte Ausdrücke, die sich aus Stoffkonstanten, Temperaturen und Konzentrationen ergeben. Sie sind in [116] im Einzelnen erläutert.

ParameterWertParameterWert
γ1−8,13B17,32
γ2−7,12B210,39
γ3−11,07B32170,57
A192,80B47,02
A212,66Tc1,0
A32412,71

Tabelle 28.

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

u1,0=0.38u2,0=0.5E117

ergibt sich die Lösung

x1,0=0.9981x2,0=0.4291x3,0=0.03027x2,0=1.0019E118

und demzufolge

y0=x3,0=0.03027E119

Diese Lösung wird als Arbeitspunkt 1 bezeichnet, der später als Startwert für die Regelung des Ethylenoxid-Prozesses verwendet wird.

Das 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 dxi/dti=14den Vektor der Zustandsgrößen x, der dann durch einen Demultiplexer-Baustein in die einzelnen Zustandsgrößen xii=14aufgelöst wird. Um das Simulink-Modell grafisch übersichtlich zu halten, wurden Ausdrücke, die Reaktionsgeschwindigkeits-Terme enthalten, in Function-Blöcken zusammengefasst. Die Modellparameter wurden in den “Model Properties” unter Callbacks/InitFcn eingegeben (Bild 183). Es ist sinnvoll, die relative und absoluten Toleranzen für den ODE-Solver auf 10−8 herabzusetzen, um die Genauigkeit zu erhöhen (Menüpunkt “Simulation/Model Configuration Parameters”).

Bild 183.

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 u1und u2sowie den Ausgängen yund xzusammengefasst (Bild 184).

Bild 184.

Simulink-Modell des Ethylenoxid-Reaktors als Subsystem.

9.3 Entwurf und Simulation einer NMPC-Regelung

Die Vorgehensweise zum Entwurf eines NMPC-Reglers wird im Detail im Abschnitt 10 des Model Predictive Control ToolboxTM User’s Guide beschrieben.

Im 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

% NMPC Objekt mit 4 Zustands-, einer Ausgangs-, einer
%Stellgröße und einer gemessenen Störgröße

nlobj = nlmpc(4,1,'MV',1,'MD',2);

% Abtastzeit und Horizontlängen

Ts = 3;
PredictionHorizon = 20;
ControlHorizon = 3;
nlobj.Ts = Ts;
nlobj.PredictionHorizon = PredictionHorizon;
nlobj.ControlHorizon = ControlHorizon;

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.

Man 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.

% Definition Prädiktionsgleichungen und Namen der
%Zustandsgrößen

nlobj.Model.StateFcn = 'Ethylen_Reaktor_Zustands_Dgl';
nlobj.States(1).Name = 'Dichte';
nlobj.States(2).Name = 'c_Ethylen';
nlobj.States(3).Name = 'c_Ethylenoxid';
nlobj.States(4).Name = 'Reaktor_Temp';

% Definition Ausgangsgleichung, Name der Regelgröße,
%Skalierungsfaktor

nlobj.Model.OutputFcn = 'Ethylen_Reaktor_Ausgangs_Gl';
nlobj.OV.Name = 'c_Ethylenoxid_Produkt';
nlobj.OV.ScaleFactor = 0.03;

% Namen und Skalierungsfaktoren der Eingangsgrößen
%(MV % und MD)

nlobj.MV.Name = 'Durchfluss Feed';
nlobj.MV.ScaleFactor = 0.6;
nlobj.MD.Name = 'c_Ethylen_in';
nlobj.MD.ScaleFactor = 0.5;

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.

Für das Beispiel des Ethylenoxid-Reaktors werden im Folgenden die MATLAB-Function-Files für die Zustands-Differenzialgleichungen und die Ausgangsgleichung angegeben:

%
% Zustands-Differenzialgleichungen des Modells
% für den Ethylenoxid-Reaktor
%
function dxdt = Ethylen_Reaktor_Zustands_Dgl(x,u)

% 4 Zustandsgrößen (x):
%x(1) … Gasdichte im Reaktor
%x(2) … Ethylenkonzentration im Reaktor
%x(3) … Ethylenoxid-Konzentration im Reaktor
%x(4) … Reaktortemperatur
%
% 2 Eingangsgrößen: (u)
%u(1) … Durchfluss Einsatzpodukt (Feed) (MV)
%u(2) … Ethylenkonzentration im Zulauf (MD)
%
% 1 Ausgangsgröße (Regelgröße): (y)
%y(1)… Ethylenoxid-Konzentration im Produkt
%(gleich x(3))
%
% Parameter

gam1 = -8.13;
gam2 = -7.12;
gam3 = -11.07;
A1 = 92.80;
A2 = 12.66;
A3 = 2412.71;
B1 = 7.32;
B2 = 10.39;
B3 = 2170.57;
B4 = 7.02;
Tc = 1.0;

% Reaktionsgeschwindigkeiten

r1 = exp(gam1/x(4))*(x(2)*x(4))^0.5;
r2 = exp(gam2/x(4))*(x(2)*x(4))^0.25;
r3 = exp(gam3/x(4))*(x(3)*x(4))^0.5;

% Zustandsgleichungen

dxdt = zeros(4,1);
dxdt(1) = u(1)*(1 - x(1)*x(4));
dxdt(2) = u(1)*(u(2) - x(2)*x(4)) - A1*r1 - A2*r2;
dxdt(3) = -u(1)*x(3)*x(4) + A1*r1 - A3*r3;
dxdt(4) = (u(1)*(1 - x(4)) + B1*r1 + B2*r2 + B3*r3 - B4*(x(4) - Tc))/x(1);
% Ausgangsgleichung des Modells
% für den Ethylenoxid-Reaktor

%
function y = Ethylen_Reaktor_Ausgangs_Gl(x,u)

y(1) = x(3)

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 Jxulassen sich solche Ziele wie die Minimierung des spezifischen Energieverbrauchs oder die Maximierung des Gewinns einer Prozessanlage oft einfacher mathematisch beschreiben. In diesem Fall muss ein MATLAB-Function-File programmiert werden, indem diese Zielfunktion definiert wird. Zusätzlich kann man dann auch hier deren partielle Ableitungen in einem gesonderten File angeben. Die Nutzung dieser Möglichkeit ist gleichbedeutend mit der Verwirklichung des Konzepts “Economic Model Predictive Control” (vgl. Abschnitt 2.6). Für die Lösung des NMPC-Problems wird das Programm fmincon aus der MATLAB® Optimization ToolboxTM mit dem Algorithmus “Sequential Quadratic Programming (SQP)” verwendet [117]. Die Installation dieser Toolbox wird daher vorausgesetzt. Der Anwender kann alternativ aber auch nutzerspezifische Algorithmen zur nichtlinearen Optimierung einbinden. Eine Übersicht über solche Algorithmen und Programmsysteme kann man z. B. auf der NEOS-Webseite (Network Enabled Optimization System,www.neos-guide.org) finden.

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.

Bild 185.

Simulink-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).

Bild 186.

Block-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).

Zurück zur Simulation der NMPC-Regelung des Ethylenoxid-Reaktors: zunächst wurden das Führungsverhalten für einen Sollwertsprung der Ethylenoxid-Konzentration vom Arbeitspunktwert w=y0=0.03027auf w=0.035und das Störverhalten für eine sprungförmige Veränderung der gemessen Störgröße (Ethylen-Konzentration im Zulauf) von u2=0.5auf u2=0.55untersucht. Der Sollwertsprung erfolgt zum Zeitpunkt t=0.1, der Störgrößensprung bei t=30. Die Simulationsergebnisse sind in Bild 187 dargestellt.

Bild 187.

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 t=0.1bei w=y0=0.03027beginnt und zum Zeitpunkt t=20bei w=0.05endet. (Ein Wert der Ethylenoxid-Konzentration von y=0.05entspricht dem Arbeitspunkt 2 aus [34]). Anschließend ändert sich wie zuvor die Ethylenkonzentration im Zulauf (Störgrößensprung).

Bild 188.

Rampenförmige Sollwertänderung bei der NMPC-Regelung des Ethylenoxid-Reaktors.

Die Model Predictive Control ToolboxTM bietet die Möglichkeit, NMPC-Regler für vorgegebene Arbeitspunkte in lineare MPC-Regler zu konvertieren (Befehl convertToMPC). Damit ist es möglich, die infolge der nichtlinearen Schätzung und Optimierung aufwändige NMPC-Regelung auf einfache Weise in eine rechenzeitsparende “Gain Scheduled MPC”-Regelung umzusetzen. Für das Beispiel des Ethylenoxid-Reaktors wird diese Möglichkeit in [34], S. 10–91 ff. beschrieben. Da der Reaktor ein nur schwach nichtlineares statisches Verhalten aufweist, ergibt sich dort mit der “Gain Scheduled MPC”-Regelung eine der NMPC-Regelung vergleichbare Regelgüte.

Quellen von Abbildungen

Der Nachdruck der Bilder 4.24, 6.1 und 6.2 aus “Dittmar, R.: Advanced Process Control, de Gruyter, Berlin 2017” (S. 178, 265 und 268) erfolgt mit Zustimmung des Verlags de Gruyter, Berlin.

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Rainer Dittmar (December 4th 2019). Model Predictive Control mit MATLAB<sup>®</sup> und Simulink<sup>®</sup>, Model Predictive Control mit MATLAB und Simulink - Model Predictive Control with MATLAB and Simulink, Rainer Dittmar, IntechOpen, DOI: 10.5772/intechopen.88257. Available from:

chapter statistics

171total chapter downloads

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

Model Predictive Control mit MATLAB® und Simulink®

By Rainer Dittmar

Related Book

First chapter

Numerical Solution of Many-Body Wave Scattering Problem for Small Particles and Creating Materials with Desired Refraction Coefficient

By M. I. Andriychuk and A. G. Ramm

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More About Us