Download as a PDF - CiteSeerX
Download as a PDF - CiteSeerX
Download as a PDF - CiteSeerX
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.