08.03.2014 Views

Download as a PDF - CiteSeerX

Download as a PDF - CiteSeerX

Download as a PDF - CiteSeerX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Alexander Horch<br />

Angewandte Regelung und Optimierung<br />

in der Prozessindustrie<br />

6. Nichtlinearer Regler für Kraftwerksanfahrten<br />

© A.Horch<br />

SS 2010 | Slide 1


Kraftwerksautomatisierung<br />

Einführung<br />

• Prinzipiell ist ein Kraftwerk einer chemischen<br />

Prozessanlage ähnlich. Es gibt jedoch einige Spezifika,<br />

weshalb d<strong>as</strong> Gebiet der Kraftwerksautomatisierung sich als<br />

eigenständiger Zweig entwickelt hat.<br />

• Kraftwerke haben eine Lebensdauer von ca. 40 Jahren.<br />

• Bis 2020 werden ca. 50 neue Kraftwerke in Deutschland<br />

geplant.<br />

• Durch zunehmende Integration erneuerbarer<br />

Energiequellen wird d<strong>as</strong> Elektrizitätsnetz in Deutschland<br />

komplexer und damit steigen die Anforderungen an<br />

Kraftwerke und ihren Betrieb.<br />

© ABB Group<br />

SS 2010 | Slide 2


Kraftwerke<br />

Grundprinzipien<br />

• Herzstück ist der Generator<br />

• B<strong>as</strong>iert auf dem dynamoelektrischen Prinzip (W.v. Siemens,<br />

1866)<br />

• Wandelt mechanische in elektrische Energie<br />

• Der größte Teil sind jedoch die Dampferzeugung und die<br />

Reduzierung der Umweltbel<strong>as</strong>tungen<br />

• Die Automatisierung elektrischer Übertragungs- und Verteilnetze<br />

ist eine eigenständige Disziplin, die sich von der<br />

Kraftwerksautomatisierung stark unterscheidet.<br />

• Dampfkraftwerke werden seit 40 Jahren verbessert, in der wurde<br />

der Wirkungsgrad um ca. 1/3 gesteigert.<br />

• Weiterhin wurden m<strong>as</strong>sive Verbesserungen im Umweltschutz<br />

erreicht (z.B. Rauchg<strong>as</strong>reinigung)<br />

• Die Möglichkeiten zur Verbesserung sind noch nicht ausgeschöpft.<br />

© ABB Group<br />

SS 2010 | Slide 3


Kraftwerkstypen<br />

Konventionelle Kraftwerke<br />

• Dampfkraftwerke<br />

• Antrieb des Generators durch Dampfturbine; eine<br />

Sonderform der Dampfkraftwerke sind Heizkraftwerke,<br />

die sowohl Strom erzeugen als auch Wärme<br />

auskoppeln<br />

• G<strong>as</strong>turbinenkraftwerke<br />

• Antrieb des Generators durch G<strong>as</strong>turbine<br />

• Kombikraftwerke<br />

• Antrieb der Generatoren durch G<strong>as</strong>- und Dampfturbine<br />

• Block(heiz)kraftwerke<br />

• Antrieb des Generators durch Verbrennungsmotor<br />

• Kernkraft, W<strong>as</strong>serkraft, Windkraft, Solar, Biom<strong>as</strong>se, ...<br />

© ABB Group<br />

SS 2010 | Slide 4


Kraftwerke<br />

Wirkungsgrade<br />

• Wirkungsgrad η = Verhältnis von abgegebener Leistung<br />

(P Nutzen<br />

) zu zugeführter Leistung (P Aufwand<br />

)<br />

• η = [0...100%[. η > 100% ist ein Perpetuum Mobile.<br />

• Carnot-Wirkungsgrad<br />

kann niemals überschritten werden<br />

Wirkungsgrad einer<br />

Glühlampe<br />

• Kohlekraftwerke heute: Max. Dampftemperatur T~600 °C (η~45%)<br />

• Es werden Versuche gemacht, T~700 °C zu erreichen.<br />

T n – niedrigste, T h – höchste Temperatur [K]


Wirkungsgrade in der Technik


Kraftwerksbetrieb<br />

• Man unterscheidet<br />

• Grundl<strong>as</strong>tkraftwerke: laufen kontinuierlich<br />

• Mittell<strong>as</strong>tkraftwerke: laufen meist<br />

• Spitzenl<strong>as</strong>tkraftwerke: laufen bei Bedarf<br />

© ABB Group<br />

SS 2010 | Slide 7


Fossile Dampfkraftwerke<br />

Charakteristika<br />

• Häufigster Kraftwerkstyp (‚Arbeitspferd‘ der<br />

Energiewirtschaft)<br />

• Kraftwerke sind mit einigen Varianten weitgehend ähnlich<br />

in Betrieb und Komponenten<br />

• Durch gesetzliche Auflagen sind Kraftwerke vielfältig<br />

instrumentiert.<br />

• Großer Aufwand wird in die Rauchg<strong>as</strong>reinigung gesteckt.<br />

• Durch verschiedene Zwischenüberhitzungen kann der<br />

Wirkungsgrad gesteigert werden. Der theoretisch mögliche<br />

Wirkungsgrad des Carnot-Prozesses ist noch nicht<br />

erreicht.<br />

• B<strong>as</strong>isregelungen ebenso wie gehobene Regelungen<br />

spielen eine große Rolle im Erreichen moderner<br />

Wirkungsgrade.


Dampfkraftwerk<br />

Funktionsweise<br />

Meist fossile Energiequellen:<br />

• Braunkohle<br />

• Steinkohle<br />

• Erdöl<br />

W<strong>as</strong>ser-Dampf-Kreislauf:<br />

Der Dampf wird nach dem<br />

Austritt aus der Turbine<br />

zu W<strong>as</strong>ser kondensiert.<br />

© ABB Group<br />

SS 2010 | Slide 9


Dampfkraftwerk<br />

Funktionsweise<br />

© ABB Group<br />

SS 2010 | Slide 10<br />

REA - Rauchg<strong>as</strong>entschwefelungsanlage


Dampfkraftwerk<br />

Funktionsweise<br />

© ABB Group<br />

SS 2010 | Slide 11


Dampfkraftwerk<br />

Funktionsweise<br />

Der zum Betrieb der Dampfturbine notwendige W<strong>as</strong>serdampf wird in einem<br />

Dampfkessel aus zuvor gereinigtem und aufbereitetem W<strong>as</strong>ser erzeugt. Durch<br />

weiteres Erwärmen des Dampfes im Überhitzer nimmt die Temperatur und<br />

d<strong>as</strong> spezifische Volumen des Dampfes zu. Vom Dampfkessel aus strömt der<br />

Dampf über Rohrleitungen in die Dampfturbine, wo er einen Teil seiner zuvor<br />

aufgenommenen Energie als Bewegungsenergie an die Turbine abgibt. An die<br />

Turbine ist ein Generator angekoppelt, der die mechanische Leistung in<br />

elektrische Leistung umwandelt. Danach strömt der entspannte und<br />

abgekühlte Dampf in den Kondensator, wo er durch Wärmeübertragung an die<br />

Umgebung kondensiert und sich als flüssiges W<strong>as</strong>ser an der tiefsten Stelle<br />

des Kondensators sammelt. Über die Kondensatpumpen und den Vorwärmern<br />

hindurch wird d<strong>as</strong> W<strong>as</strong>ser in einen Speisew<strong>as</strong>serbehälter<br />

zwischengespeichert und dann über die Speisepumpe erneut dem<br />

Dampfkessel zugeführt.<br />

© ABB Group<br />

SS 2010 | Slide 12


Exemplary Water-Steam Cycle<br />

DT Kugelstück (Innen- und Mittelf<strong>as</strong>er<br />

03RA05T002I und 03RA05T002M)<br />

FD-Menge<br />

RA07F901<br />

FD-Temperatur<br />

RA07T901<br />

Ü V<br />

EK IV/1<br />

Ü IV<br />

Ü III<br />

EK II/1<br />

Dampftemp<br />

nach Ü V<br />

RA01T004<br />

Temp<br />

Dampftemp<br />

EK IV/1<br />

Dampftemp<br />

vor EK IV/1<br />

Dampftemp<br />

vor EK III/4<br />

Dampftemp<br />

nach EK II/1<br />

Dampftemp<br />

vor EK II/1<br />

Ü V<br />

RG-Temp v Ü V<br />

NR05T010 und 20<br />

RV EK IV/1<br />

EK IV/4<br />

Dampftemp. vor<br />

EK IV/4 NA44T004<br />

Ü IV<br />

RG-Temp v Ü IV<br />

NR04T010 und 20<br />

Dampftemp vor EK<br />

III/4 NA34T004<br />

RV EK II/1<br />

2<br />

Ü II<br />

Ü III<br />

EK II/4<br />

Dampftemp vor EK II/4<br />

NA24T004<br />

Dampftemp nach<br />

Ü V RA04T004<br />

4<br />

Dampftemp nach<br />

EK IV/4 NA44T008<br />

6<br />

Dampftemp nach<br />

EK II/4 NA24T008<br />

FD-Druck<br />

RA07P901<br />

RV EK II/4<br />

RL24S002<br />

RV EK IV/4<br />

RL44S002<br />

DT Sammler IV/4 (Innen- und<br />

Mittelf<strong>as</strong>er NA44T010I und NA44T010M)<br />

3 Kombination Strahlung/Konvektion<br />

DT Sammler III/4 (Innen- und Mittelf<strong>as</strong>er<br />

NA34T010I und NA34T010M)<br />

DT Sammler II/4 (Innen- und Mittelf<strong>as</strong>er<br />

NA24T010I und NA24T010M)<br />

Stellungsbefehl Y<br />

HDU 1...4 RA08C000<br />

RA 80<br />

Druck kalte ZÜ<br />

RC12P007<br />

ZÜ I<br />

7<br />

DT Hosenstück (Innen- und Mittelf<strong>as</strong>er<br />

03RA07T003I und 03RA07T003M)<br />

HD<br />

HD-Einlaß-RV Turbine<br />

SA11S016-46<br />

Generatorleistung<br />

SP10E927<br />

MD-RV<br />

Turbine<br />

Anordnung ist 4-strängig<br />

(4 HDUs, 4 HD-Turbinen-<br />

RV)<br />

Radkammerdruck<br />

SA11P020<br />

MD/<br />

ND<br />

MDU<br />

G<br />

Hauptentwässerungen<br />

zu den Abscheidern 1 - 3<br />

Dampftemp n EK I/1<br />

NA11T007<br />

RV EK I/1<br />

RL11S002<br />

EK I/1<br />

Verdampfer<br />

Verdampfermenge<br />

NA01F001<br />

Temp Speisesew<strong>as</strong>ser vor<br />

Verdampfer NA01T001<br />

Dampftemp vor<br />

EK I/2 NA12T007<br />

Eco<br />

1<br />

EK I/2<br />

RV EK I/2<br />

RL12S002<br />

Ü I<br />

Umwälzmenge<br />

NB05F901<br />

ECO Speisew.-<br />

Menge RL15F001<br />

Dampftemp nach<br />

Abscheider 4 NA16T005<br />

Abscheider<br />

4<br />

pD Anfahrfl<strong>as</strong>che NB01P003<br />

Niveau Anfahrfl<strong>as</strong>che<br />

NB01L901<br />

Summe Menge<br />

Notabläufe RK10F001<br />

SPW-Pumpe<br />

1 8<br />

ZÜ II<br />

5<br />

Zwischenüberhitzer (ZÜ)<br />

rauchg<strong>as</strong>seitige Reighenfolge<br />

der Überhitzer<br />

SPW-<br />

Behälter<br />

Kondensatpumpe<br />

ND-<br />

Vorwärmer<br />

© ABB Group<br />

SS 2010 | Slide 13<br />

8<br />

Temp Speisew vor ECO<br />

RL15T004<br />

HD-Vorwärmer<br />

SPW-Druck vor HD-<br />

Vorwärmer<br />

RL10P002


Exkurs<br />

Zukunftsprojekt ‚Desertec‘


Exkurs<br />

Zukunftsprojekt ‚Desertec‘<br />

• Die Energie für die<br />

Überhitzung des<br />

W<strong>as</strong>serdampfes entsteht<br />

aus durch<br />

Sonnenkollektoren<br />

erhitztem Öl.<br />

• Der Rest entspricht genau<br />

einem Dampfkraftwerk.


Typische Suite von gehobenen Lösungen für Kraftwerke<br />

Beispiel ABB Optimax TM


Kraftwerksautomatisierung – Kessel<br />

W<strong>as</strong> muss geregelt werden?


Kraftwerksautomatisierung – Kessel<br />

Bespiel Verbrennungsoptimierung<br />

Manipulated variables<br />

• Air dampers at every burner<br />

• Overfire air dampers<br />

• Total air flow<br />

• F primary air<br />

• F secondary air<br />

• Flue g<strong>as</strong> recirculation<br />

• feeder / fuel oil flow<br />

Process-/disturbance variables<br />

• Coal / fuel oil quality<br />

• Mill / burner wear<br />

• Boiler cleanliness<br />

• Ambient conditions<br />

Boiler<br />

Controlled<br />

variables<br />

• Flue G<strong>as</strong> Boiler Exit<br />

• O 2 concentration<br />

• Exhaust G<strong>as</strong> temperature<br />

• NO x concentration<br />

• CO concentration<br />

• Carbon in Ash


Kraftwerksautomatisierung – Kessel<br />

Bespiel Verbrennungsoptimierung


Kraftwerksautomatisierung – Kessel<br />

Bespiel Verbrennungsoptimierung<br />

• Max limit lowered sequentially by 10 ppm from 225 to 195<br />

NOx<br />

(ppm)


Kraftwerksautomatisierung<br />

Closed-loop Energy Management and Coordinated Control<br />

Example improved control of steam Temperature, Flow,<br />

Pressure:<br />

• T 1.2% of energy cost savings<br />

• F 3% of energy cost savings<br />

• p standard deviation reduced from 88 to 18kPa<br />

• Less thermal cycle stress on the high pressure parts<br />

• More stable operation, less boiler trips<br />

• Less operator intervention required


Warum Kesselanfahrt optimieren?


Warum Kesselanfahrt optimieren?


Kesselanfahrtoptimierung<br />

Motivation<br />

• Warum Anfahrtoptimierung?<br />

• Schnelle Anfahrt in definierter Zeit<br />

• Einsparung von Öl und Kohlestaub<br />

• Einhalten der Grenzen des thermischen Stresses<br />

• W<strong>as</strong> für eine Regelung / Optimierung braucht man?<br />

• Vermutlich nicht-linear, da Anfahrt einen großen<br />

Arbeitsbereich durchläuft (Linearisierung nicht möglich)<br />

• Randbedingungen müssen eingehalten werden können<br />

(thermischer Stress)<br />

• Möglichkeit, verschiedene Gütekriterien vorzugeben<br />

(Zeit, Energieverbrauch, Schonung)


NMPC: Minimizing Thermal Stress at Boiler Start-up<br />

Configuration of a heat recovery steam<br />

generation plant<br />

Thick-walled steam header (cylindric type, 6.4 cm thick)<br />

Superheater<br />

subsystems<br />

Stretching of the material<br />

because of temperature gradients<br />

lead to lifetime reduction<br />

© ABB Group<br />

SS 2010 | Slide 25


Kesselanfahrt<br />

Modellbildung<br />

• Statische Modelle: verfügbar zur Auslegung aber ohne<br />

Dynamik zur Regelung nicht geeignet.<br />

• Daten-getriebene Black-box Modelle: nur geeignet für den<br />

Einsatz in einem Arbeitspunkt. Nicht physikalisch.<br />

• Physikalische Modelle: Aufwändig, komplex, physikalisch.<br />

• Balance zwischen Genauigkeit und Beherrschbarkeit<br />

• Modelle für Regelungsaufgaben müssen nur die<br />

wichtigsten Dynamiken beschreiben, da die Regelung<br />

Unsicherheiten qu<strong>as</strong>i ausgleicht.<br />

• Für Designaufgaben sind genauere Modelle notwendig.


Kesselanfahrt<br />

Model building principles<br />

• Drum level control (DLC)<br />

• important problem in power plant<br />

• ~30% of shutdowns due to poor level control of steam<br />

water level in DLC<br />

• difficult control problem due to shrink and swell<br />

dynamics non-minimum ph<strong>as</strong>e behaviour<br />

feed water q f<br />

saturated steam q s<br />

Reality: complicated<br />

geometry with many<br />

downcomer and<br />

riser tubes.<br />

heat Q<br />

drum level


Kesselanfahrt<br />

Model building principles<br />

• This setup h<strong>as</strong> a very efficient heat transfer due to boiling<br />

and condensation.<br />

• All parts of the system which are in contact with the<br />

saturated liquid-vapor mixture will be in thermal equilibrium.<br />

• Energy stored in the system and water is rele<strong>as</strong>ed or<br />

absorbed very rapidly when the pressure changes.<br />

• The rapid rele<strong>as</strong>e of energy ensures that different parts of<br />

the boiler change their temperature in the same way.<br />

• Therefore low-order dynamics are sufficient!<br />

• Model consits fo global m<strong>as</strong>s and energy balances.


Kesselanfahrt<br />

Model building principles<br />

• System inputs<br />

• heat flow rate to risers Q<br />

• feedwater m<strong>as</strong>s flow rate q f<br />

• steam m<strong>as</strong>s flow rate q s<br />

• System outputs<br />

• drum pressure p<br />

• drum water level l<br />

• Parameters / Variables<br />

• volume (V), specific density (ρ), specific internal energy<br />

(u), specific enthalpy (h), temperature (t), total m<strong>as</strong>s of<br />

metal tubes and the drum (m t<br />

), specific heat of metal<br />

(C p<br />

)


Kesselanfahrt<br />

Simple boiler model<br />

• Global m<strong>as</strong>s balance:<br />

d<br />

dt<br />

[ ρs<br />

Vst<br />

+ ρw<br />

Vw<br />

] = q<br />

f<br />

− qs<br />

Subscripts:<br />

s – steam<br />

w – water<br />

f – feedwater<br />

m – metal<br />

t – total system<br />

d – drum<br />

r – risers<br />

• Global energy balance (with u = h – p/ρ):<br />

d<br />

dt<br />

[ ρ<br />

]<br />

s<br />

hs<br />

Vst<br />

+ ρw<br />

hw<br />

Vw<br />

− pVt<br />

+ mt<br />

C<br />

p<br />

tm<br />

= Q + q<br />

f<br />

h<br />

f<br />

− qshs<br />

• Total volume of the drum, downcomer and riser V t :<br />

V t<br />

= V st<br />

+ V wt<br />

• Steam tables for saturated<br />

steam<br />

• use of quadratic approximations<br />

proved sufficient


Kesselanfahrt<br />

Simple boiler model<br />

• This model is a differential algebraic system (DAE)<br />

• Such a model can be used for direct simulation.<br />

• There are many different choices for state variables, e.g.<br />

• drum pressure p, total volume of water V wt<br />

• The model can then further be simplified<br />

• Further model equations (to obtain drum level)<br />

• Riser: heated tube with water / steam<br />

• Essential to capture amount of steam in the risers<br />

• M<strong>as</strong>s & energy balances for risers


Alexander Horch<br />

Objekt-orientierte Modellierung<br />

MODLICA<br />

© A.Horch<br />

SS 2010 | Slide 32


Modelica Overview by Martin Otter<br />

Abstract:<br />

This slide set gives an overview about the Modelica language,<br />

including users view, libraries and a sketch of the language elements.<br />

Copyright © 2005-2009, Martin Otter.<br />

This material is provided "<strong>as</strong> is" without any warranty. It is licensed under the<br />

CC-BY-SA (Creative Commons Attribution-Sharealike 3.0 Unported) License,<br />

see http://creativecommons.org/licenses/by-sa/3.0/legalcode<br />

Modelica® is a registered trademark of the Modelica Association


1. Modelica Introduction<br />

Goal of Modelica:<br />

• Modeling the dynamic behavior of technical<br />

systems consisting of components from, e.g.,<br />

mechanical, electrical, thermal, hydraulic,<br />

pneumatic, fluid, control and other domains<br />

in a convenient way.<br />

• Models are described by<br />

differential, algebraic, and discrete equations.<br />

• No description by partial differential equations, i.e.,<br />

no FEM (finite element method) and<br />

no CFD (computational fluid dynamics),<br />

but using results of, e.g., FEM programs.<br />

• Modelica is used in industry since year 2000.


Example: detailed vehicle model<br />

• Vehicle dynamics (3-dim. mechanics)<br />

• Drive trains (1-dim. mechanics)<br />

courtesy: Modelon AB<br />

• Hydraulics<br />

• Combustion<br />

• Air Conditioning<br />

(Thermofluid systems)<br />

• Electrical/electronic systems<br />

• Electrical machines<br />

courtesy Modelon AB<br />

• Hierarchical state machines<br />

• Control (Input/output blocks, ...)


Modelica Language und Simulation-Environments<br />

Graphical editor<br />

for Modelica models<br />

Modelica simulation<br />

environment<br />

(free or commercial)<br />

Textual description<br />

on file (equations,<br />

"schematic", animation)<br />

Free Modelica language<br />

Translation of Modelica<br />

models in C-Code,<br />

Simulation, and<br />

interactive scripting<br />

(plot, freq. resp., ...)<br />

Modelica Simulationenvironment<br />

(free or commercial)


Commercial Modelica Simulation Environments (alphabetical list)<br />

• CATIA Systems from D<strong>as</strong>sault Systèmes<br />

(b<strong>as</strong>ed on Dymola kernel with PLM integration)<br />

• Dymola from Dyn<strong>as</strong>im AB, Sweden<br />

(Dyn<strong>as</strong>im w<strong>as</strong> acquired by D<strong>as</strong>sault Systèmes in 2006).<br />

• LMS Imagine.Lab AMESim from LMS International<br />

• MapleSim from MapleSoft, Canada.<br />

• MathModelica from MathCore AB, Sweden.<br />

• SimulationX from ITI GmbH, Dresden, Germany.<br />

Free Modelica Simulation Environments (alphabetical list)<br />

• OpenModelica from Linköping University, Sweden<br />

(under development; subset of Modelica is available)<br />

• SCICOS from INRIA, France<br />

(under development; subset of Modelica is available).<br />

An up-to-date list of Modelica tools is available from www.modelica.org/tools


Modelica Association<br />

• Modelica is a free language and is developed by the (non-profit)<br />

Modelica Association since 1996<br />

2000: First applications<br />

...<br />

2005: Modelica 2.2<br />

2007: Modelica 3.0<br />

2009: Modelica 3.1 (actual)<br />

• Develops also the largest, free library<br />

for multi-domain models<br />

(Modelica Standard Library)<br />

62 nd Design Meeting in Lund, May 2009<br />

(after rele<strong>as</strong>e of Modelica 3.1)<br />

• 80 "individual" and 11 "organizational members"<br />

(interested in "active" individual members; Therefore requirement:<br />

participation at 2 Modelica Design Meetings in the l<strong>as</strong>t 12 months).<br />

• 6 International Modelica Conferences (Modelica'2008 with 250 participants)<br />

• All infos under http://www.Modelica.org<br />

(Specification, simulation environments, free libraries, 300 papers, ...)


Example: Industrial Robots (from Modelica.Mechanics.MultiBody.Examples.Systems.RobotR3.fullRobot)<br />

model Resistor<br />

extends OnePort;<br />

parameter Real R;<br />

equation<br />

v = R*i;<br />

end Resistor;<br />

1000 non-trivial algebraic equations, 80 states.<br />

F<strong>as</strong>ter <strong>as</strong> real-time on slow PC.


Example: Hardware-in-the-Loop Simulation of automatic gear boxes<br />

(different vehicle manufacturers)<br />

Electronic Control Unit<br />

(Hardware)<br />

desired pressure<br />

(Simulation)<br />

+ driver + engine<br />

+ 1D vehicle dynamics


More free libraries under www.Modelica.org/libraries


Quickly growing number of commercial libraries. Small selection:<br />

SmartElectricDrives (ATI, Austria)<br />

Controlled electrical machines with qu<strong>as</strong>i-stationary and<br />

transient models, e.g.,<br />

controllers (voltage/frequency, field-oriented, speed/position),<br />

power electronics (AD/DC, DC/AC, DC/DC converters, PWM),<br />

energy storages (batteries, supercaps, fuel cells), ...<br />

Hydraulic/Pneumatic Libraries (Modelon AB, Sweden)<br />

Libraries to model pipe networks for oil and air. Contain all<br />

important standard components like pumps, valves,<br />

volumes, lines, sensors<br />

PowerTrain (DLR-RM, Germany)<br />

Library to model vehicle power trains and all type of<br />

planetary gearboxes. E.g. standard and planetary<br />

gears with losses, clutches with friction, flexible<br />

driveline models, automatic gearboxes,<br />

optional 3D effects (mounting on vehicle)


Modelica Language Elements<br />

Example: Definition of Capacitor<br />

connector Pin<br />

Voltage v; // identical at connection<br />

flow Current i; // sums to zero at connection<br />

end Pin;<br />

partial model TwoPin<br />

Pin p, n; Voltage v;<br />

equation<br />

v = p.v - n.v;<br />

0 = p.i + n.i;<br />

end TwoPin;<br />

model Capacitor<br />

extends TwoPin;<br />

parameter Capacitance C;<br />

equation<br />

C*der(v) = p.i;<br />

dv<br />

end Capacitor;<br />

dt


Object-oriented modeling<br />

• Graphical flowsheet modeling<br />

• Combine commodity models with proprietary knowledge<br />

• Automatic generation of stand-alone executable code<br />

© ABB Group<br />

SS 2010 | Slide 44


Object-oriented modeling<br />

• Graphical modelling<br />

• Connections are non-direction connections. Concerned variables<br />

are either equal or sum up to zero (e.g. force – velocity; current –<br />

voltage)<br />

• Done by the modelling tool (e.g. Dymola*)<br />

• Read model files and collect equations from sub-models<br />

• Generate connection equations considering Kirchhoff‘s laws,<br />

analyse causality<br />

• Detect and treat DAEs, index reduction<br />

• Change equations for unknown variables<br />

• detect and tread algebraic loops analytically<br />

• determine state variables, create an ODE if possible<br />

• generate target code for numerical solvers (e.g. Simulink S-<br />

function)<br />

© ABB Group<br />

SS 2010 | Slide 45<br />

*www.dyn<strong>as</strong>im.se


Boiler Modelling<br />

The final model<br />

• Implicit DAE System with 538 unknowns and 538<br />

equations of the form<br />

•<br />

⎡<br />

⎤<br />

S<br />

⎢<br />

x( t),<br />

x(<br />

t),<br />

y(<br />

t),<br />

u(<br />

t),<br />

v(<br />

t),<br />

p<br />

⎥<br />

= 0<br />

⎣<br />

⎦<br />

x – state variables<br />

y – output variables<br />

u – manipulated variables<br />

v – algebraic variables<br />

p – constant parameters<br />

• Symbolic equation processing (Dymola) eliminates 352<br />

connection variables, and other things, resulting to:<br />

•<br />

∧<br />

x( t)<br />

= f<br />

, x(<br />

t0)<br />

= x0<br />

y(<br />

t)<br />

= g<br />

( x(<br />

t),<br />

u(<br />

t),<br />

p)<br />

( x(<br />

t),<br />

u(<br />

t),<br />

p)<br />

• This is an explicit ODE with only eight states.<br />

• Initial conditions and parameters need to be estimated from<br />

data.


Dynamic optimization problem<br />

J<br />

s.<br />

t.<br />

t<br />

f<br />

[ T(<br />

t)<br />

−T<br />

= ∫ 2<br />

w<br />

t=<br />

0<br />

x&<br />

( t)<br />

=<br />

T<br />

f [ x(<br />

t),<br />

q<br />

set<br />

F<br />

]<br />

2<br />

( t),<br />

Y<br />

[ p(<br />

t)<br />

− p<br />

+<br />

2<br />

w<br />

HPB<br />

p<br />

( t),<br />

Y<br />

AW<br />

set<br />

]<br />

2<br />

( t)],<br />

[ q<br />

+<br />

m<br />

( t)<br />

−q<br />

w<br />

2<br />

q<br />

m<br />

x(0)<br />

= x<br />

m,<br />

set<br />

]<br />

2<br />

dt<br />

⎯→<br />

‣ Process model<br />

q<br />

F<br />

min<br />

( t),<br />

Y<br />

HPB<br />

( t)<br />

q<br />

F,min<br />

0 ≤Y<br />

≤ q<br />

HPB<br />

F<br />

≤ q<br />

( t)<br />

≤1<br />

F,max<br />

,<br />

q&<br />

F,min<br />

≤ q&<br />

F<br />

≤ q&<br />

F,max<br />

‣ bounds on fuel<br />

‣ bounds on valve positions<br />

ΔT<br />

min, i<br />

≤ ΔT<br />

( t)<br />

≤ ΔT<br />

i<br />

max, i<br />

,<br />

i<br />

= 1,..., n<br />

‣ thermal stresses<br />

General startup optimization problem:<br />

Optimal transition to new operating point (T,p,q m ) subject to control bounds and state constraints (esp.<br />

thermal stresses).<br />

© ABB Group<br />

SS 2010 | Slide 47


Discretization of the optimization problem<br />

• Parameterize control u(t) = u(u k ), k=0,1,…,K-1<br />

• Convert dynamic optimization problem to discrete-time optimal control<br />

problem:<br />

J<br />

=<br />

s.<br />

t.<br />

x<br />

c<br />

c<br />

k+<br />

1<br />

k<br />

K<br />

( x<br />

f<br />

( x<br />

K−1<br />

K<br />

k k<br />

0(<br />

x ) + ∑ f0(<br />

x , u<br />

0<br />

x , u<br />

k=<br />

0<br />

=<br />

k<br />

, u<br />

K<br />

f<br />

k<br />

k<br />

( x<br />

) ≥ 0,<br />

) ≥ 0<br />

k<br />

, u<br />

k<br />

),<br />

) ⎯→min<br />

k = 0, K,<br />

K −1<br />

k = 0, K,<br />

K −1<br />

• Solve <strong>as</strong> large-scale nonlinear programming<br />

problem with vector of optimization variables v:<br />

k<br />

0<br />

⎛ x<br />

⎜<br />

0<br />

⎜ u<br />

⎜ 1<br />

⎜<br />

x<br />

1<br />

⎜ u<br />

v = ⎜<br />

⎜ M<br />

⎜<br />

K<br />

x<br />

⎜<br />

K<br />

⎜u<br />

⎜ K<br />

⎝ x<br />

−1<br />

−1<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

© ABB Group<br />

SS 2010 | Slide 48


Modellprädiktive Regelung<br />

Prinzip


Optimierungslösung


Optimization solver<br />

Huge Quadratic Programming (HQP)<br />

• HQP is a solver for nonlinearly constrained<br />

large-scale optimization. It is primarily intended<br />

for the optimization of dynamic systems.<br />

• HQP is implemented <strong>as</strong> framework in C++.<br />

External model interfaces are provided for<br />

Simulink S-functions.<br />

• HQP uses a sparse interior point algorithm for<br />

the efficient treatment of the linear-quadratic<br />

subproblems in the nonlinear SQP iterations.<br />

• HQP combines a large-scale nonlinear<br />

optimization solver with ODE and DAE solvers.<br />

TCL – tool command language (www.tlc.tk)<br />

DAE – differential algebraic equation<br />

SQP – sequential quadratic program<br />

QP – quadratic program<br />

ODE – ordinary differential equation<br />

http://sourceforge.net/projects/hqp/


Organizing Information With Aspect Objects TM<br />

Real<br />

Object<br />

Aspect<br />

Object<br />

Aspects<br />

Mechanical<br />

Drawing<br />

Inventory report<br />

Aspect Systems<br />

AutoCAD<br />

Microsoft<br />

Excel<br />

Product<br />

specification<br />

Operational<br />

procedure<br />

Microsoft<br />

Word<br />

SAP, IFS . . .<br />

Production<br />

schedule<br />

Dynamic<br />

Optimization<br />

Transition<br />

Optimization<br />

© ABB Group<br />

SS 2010 | Slide 52


Integration der Lösung in d<strong>as</strong> Leitsystem<br />

ABB System 800xA


Realisierung der Lösung<br />

vorwärmer<br />

Dampfeinspritzkühler<br />

Frischdampf


Realisierung von MPC<br />

Einbettung in die Automationslandschaft<br />

Source: Dittmar & Pfeiffer, 2006<br />

MPC – Model predictive control


Realisierung der Lösung bei ABB


NMPC Integration with Control System<br />

• Seamless integration with<br />

operator station<br />

• Connectivity to process<br />

datab<strong>as</strong>es<br />

• Connectivity to major control<br />

systems<br />

• Further synergies,<br />

e.g. alarm handling<br />

© ABB Group<br />

SS 2010 | Slide 57


Results: Conventional ramp start-up<br />

• Cl<strong>as</strong>sical start-up: apply ramp on fuel flow rate q f<br />

• Thermal stress violates constraint (-60 instead of –25)<br />

© ABB Group<br />

SS 2010 | Slide 58


Results: Optimized start-up<br />

• Result: achieve f<strong>as</strong>ter startup and fulfill constraints<br />

• Seamless integration with Trend & Historian subsystem<br />

© ABB Group<br />

SS 2010 | Slide 59


Results


Results<br />

Startup costs <strong>as</strong> a function of the duration of the standstill<br />

E.ON Ingolstadt oil-fired power plant, unit 4


MPC<br />

Marktübersicht


Zusammenf<strong>as</strong>sung<br />

• Moderne Modellierungswerkzeuge bieten weitgehende<br />

Unterstützung.<br />

• Modellverständnis in für komplexe Prozesse unerlässlich.<br />

• Bei nichtlinearen Prozessen ist die Effizienz der Lösung<br />

erheblich, damit d<strong>as</strong> Optimierungsproblem in jedem<br />

Abt<strong>as</strong>tschritt gelöst werden kann.<br />

• Bei der Realisierung sollte vorhandene Infr<strong>as</strong>truktur flexibel<br />

verwendet werden.<br />

• Kraftwerksoptimierung ist noch nicht abgeschlossen, die<br />

Anforderungen wechseln und steigen.<br />

• Für Smart Grids sind effiziente Kraftwerksanfahrten eine<br />

Grundvoraussetzung.


References<br />

• K.J.Aström, R.D.Bell (2000). Drum-boiler dynamics. Automatica Vol. 36, pp<br />

363-378.<br />

• MODELICA Object-oriented modelling language. www.modelica.org.<br />

• R. Franke, E. Arnold, and H. Linke. HQP: a solver for nonlinearly<br />

constrained large-scale optimization. http://hqp.sourceforge.net.<br />

• R. Franke and L. Vogelbacher. Nonlinear model predictive control for cost<br />

optimal startup of steam power plants. at -- Automatisierungstechnik,<br />

54(12):630--637, 2006.<br />

• R. Franke and B. Weidmann. Steaming ahead with optimizing power plant<br />

boiler startup. Power Engineering International -- PEi, 15(6), 2007.<br />

• R. Franke et al. (2008) Model-b<strong>as</strong>ed online applications in the ABB Dynamic<br />

Optimization framework. Modelica Conference 2008.<br />

(www.modelica.org/events/modelica2008/Proceedings/sessions/session3b1.pdf)<br />

• F.C<strong>as</strong>ella and F. Pretolani 2006) F<strong>as</strong>t Start-up of a Combined-Cycle Power<br />

Plant: a Simulation Study with Modelica. In Modelica Conference 2006.<br />

(http://www.modelica.org/events/modelica2006/Proceedings/sessions/Session1a1.pdf)<br />

• R.Dittmar, B.Pfeiffer (2006). Modellb<strong>as</strong>ierte prädiktive Regelung in der<br />

industriellen Praxis. Automatisierungstechnik, 12/2006, pp. 590 – 601.


Kontakt<br />

Dr. Alexander Horch<br />

ABB Forschungszentrum<br />

Wallstadter Straße 59<br />

68526, Ladenburg, GERMANY<br />

Links<br />

www.abb.de/forschung<br />

www.abb.de/karriere<br />

Phone: +49 6203716021<br />

Telefax: +49 6203 716253<br />

Mobile: +49 171 307 6403<br />

Email: alexander.horch@de.abb.com<br />

© ABB Group<br />

SS 2010 | Slide 65


License<br />

This slide set is provided "<strong>as</strong> is" without any warranty. It is licensed under the<br />

CC-BY-SA (Creative Commons Attribution-Sharealike 3.0 Unported) License<br />

(= the license used by Wikipedia). Human-readable summary of the license text:<br />

You are free:<br />

• to Share — to copy, distribute and transmit the work, and<br />

• to Remix — to adapt the work<br />

Under the following conditions:<br />

• Attribution — You must attribute the work in the manner specified by the<br />

author or licensor (but not in any way that suggests that they endorse you<br />

or your use of the work.)<br />

• Share Alike — If you alter, transform, or build upon this work, you may<br />

distribute the resulting work only under the same, similar or a compatible<br />

license.<br />

The legal license text and disclaimer is available from here:<br />

http://creativecommons.org/licenses/by-sa/3.0/legalcode<br />

Revisions:<br />

2009-07-17<br />

Martin Otter (DLR-RM and Chairman of Modelica Association):<br />

First version, b<strong>as</strong>ed on material from courses given at Technical University of Munich.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!