Você está na página 1de 6

19th Mediterranean Conference on Control and Automation

Aquis Corfu Holiday Palace, Corfu, Greece


June 20-23, 2011

WeCT3.5

Multivariable Adaptive Control with Hardware-in-the-Loop for a


Drum-Type Boiler-Turbine System
Mihai Iacob, Gheorghe-Daniel Andreescu, Senior Member, IEEE, Rbert Antal, and Ana-Maria Dan
AbstractThis paper presents a centralized multivariable
adaptive decoupling control using hardware-in-the-loop (HIL)
for a boiler-turbine system. The boiler-turbine mathematical
model is a 3x3 nonlinear strongly-coupled MIMO system with
hard constraints. The proposed control strategy employs
decoupling technique, gain scheduling with dynamic model
linearization, and adaptive PID control with filtered updated
gains and anti-windup to improve system response quality. The
HIL concept splits the system into two sections, i.e., the
simulation of the boiler-turbine model in LabView with
graphical user interface (GUI) on PC, and the implementation
of the control algorithms on real-time control target as
programmable logic controller (PLC). The data exchange
between the PC and PLC is provided by an OLE for Process
Control (OPC) Server through Ethernet protocol. The
synchronization between a real-time controller and a non realtime operating system (PC under Windows) is presented.

I. INTRODUCTION
BOILER-TURBINE system provides high pressure
steam to drive the turbine in thermal electric power
generation. The purpose of the boiler-turbine control
system is to meet electric power load-demands in order to
maintain the pressure and water level in the drum within
acceptable ranges (Fig. 1).
The boiler-turbine model is a 3x3 MIMO nonlinear
strongly-coupled system [1]. By
applying
simulation
techniques, such systems can provide useful information for
thermal power plant operators and dispatchers in order to
anticipate transient responses for specific inputs or
parameter variations, and on the other hand, to test and
analyze complex control strategies.
The methods to control boiler-turbine systems are often
chosen based on process interaction levels. If there are low
interactions between channels, a diagonal controller
(decentralized control) is frequently used. Alternatively,
when interactions are significant (our case), a full matrix
controller (centralized control) is advisable [3].

Manuscript received February 16, 2011. Ph.D. student Mihai Iacob


thanks for financial support of his work under strategic grant POSDRU
6/1.5/S/13, ID6998 (2008) co-financed by the European Social Fund
Investing in People, within the Sectoral Operational Programme for Human
Resources Development 2007-2013, Romania.
M. Iacob is with the Automation and Applied Informatics Department,
Politehnica University of Timisoara, V. Parvan no. 2, 300223, Timisoara,
Romania (phone: +40755069787; e-mail: mihai.iacob@aut.upt.ro;
mikyblue00@yahoo.com).
G.-D. Andreescu and A.M. Dan are with Automation and Applied
Informatics Department, Politehnica University of Timisoara, V. Parvan
no. 2, 300223 Timisoara, Romania (e-mail: daniel.andreescu@aut.upt.ro;
anavonda@yahoo.com).
R. Antal is with Electrical Engineering Department, Politehnica
University of Timisoara, V. Parvan no. 2, 300223, Timisoara, Romania (email: aroberrr@yahoo.com).

978-1-4577-0123-8/11/$26.00 2011 IEEE

Fig. 1. General diagram of boiler-turbine unit.

In recent years, many researchers have paid attention to


the control of boiler-turbine units using different control
methodology such as: i) robust control (zero tracking error),
with difficulties in dealing with input constraints, ii) genetic
algorithm based-control (large overshoot), iii) fuzzy control,
iv) non-linear control, and so on [4].
The concept of hardware-in-the-loop (HIL) method splits
the system into two sections: i) simulation of the process
model (on PC) and ii) real-time implementation of the
control algorithms on real-time control target (PLC). HIL
functionality can be extended to educational purposes [5].
In this paper, the model originated in [2] is developed and
adapted to fit the thermal power plant of South Timisoara,
Romania. The multivariable centralized control is improved
by using a gain-scheduling technique through dynamic
model linearization. An adaptive PID centralized control
with anti-windup is employed, implemented on PLC. The
HIL implementation is also presented, providing good
insightful into complex control integration on PLCs. The
level of synchronization reached between HIL components
is illustrated through a simple comparative example with a
PI control implemented on PLC and in simulation, tested on
a 1st order process. A graphical user interface (GUI) is
developed for friendly human machine interaction. Finally,
the experimental results obtained with the proposed system
are presented.
The main contributions of this paper consist on: i) the
developed adaptive multivariable control with dynamic
linearization, ii) system implementation under HIL concept
and iii) HIL component synchronization without real-time
operating system on PC.

898

II. BOILER-TURBINE MODEL AND CONTROL


A. Non-linear 3x3 MIMO Boiler-Turbine Model
The core of the model is taken from [1] and adapted to a
small gas fired thermal power plant at 16 MW generation
capability, 33 kg/s steam flow and a maximum pressure of
20 bar, using static functioning points. The model is a 3x3
MIMO nonlinear strongly-coupled system, with wide-range
simulation efficiency, given by the state equations (1)-(6):
9

x1 = 0.0285u2 x18 + 0.9u1 0.15u3


x 2 =

x3 =

9
8
1

(0.5074u2 0.16) x x2
0.1
32.69u3 (1.9765u2 0.19) x1

57.81

(1)
(2)
Fig. 2. Dynamic linearization of pressure [bar].

(3)

y1 = x1

(4)

y2 = x2

(5)

y3 = 0.05(0.0636 x3 + 60 s + 0.019 we 31.2)


where:
(1 0.0011x3 )(0.497 x1 + 0.15)
cs =
x3 (1 0.000546 x1 )
we = 95.4u1 0.653u3 + (1.533u2 0.124) x1 18

(6)
(7)
(8)

The state variables are: x1 - the drum steam pressure P


[Bar], x2 - the generated power E [MW] and x3 - the water
fluid density in drum f [kg/m2]. The three outputs y1, y2, y3
are respectively: the drum steam pressure (x1), the megawatt
power output (x2) and the water level deviation (L) in [m]. In
the water level, as algebraic components appear: the steam
quality cs and the evaporation rate we [kg/s]. The three
inputs are the normalized positions of valve actuators that
control: u1 - the mass flow rate of fuel, u2 - the steam to
turbine, and u3 - the feed water to drum [6]. The positions of
valve actuators are clamped to [0, 1] and their rates of
change/second are:
du
0.07 1 0.07
(9)
dt
du
0.02 2 0.02
(10)
dt
du
0.05 3 0.05
(11)
dt
The non-linear model is linearized using Taylor series,
and extended to dynamic linearization in order to prepare the
adaptive gains for the multivariable control. The operating
points y0 = ( y10 , y20 , y30 ) , x0 = ( x10 , x20 , x30 ) ,

u0 = (u10 , u20 , u30 ) are updated at every 20s from the nonlinear model. The non-linear model and the linearized one
run in different simulation loops with different time steps.
Details regarding program codes, comparison between HIL
system and simulated system, and also model adaptation and
dynamic linearization are developed in [7].
978-1-4577-0123-8/11/$26.00 2011 IEEE

An example is shown in Fig. 2 for the drum pressure, at a


discrete step of h = 0.01s. Every 2s, the new functioning
point is updated and the linearization is carried out around
the new point y0. In order to get back on the non-linear
curve, a correction is applied for each adaptation step by
subtracting the previous output difference y . The linear
graph is obtained by: y = y + y0 .
After linearization, the new MIMO matrixes A, B, C, and
D are found. In order to obtain the model into a MIMO
transfer function form G(s), a translation is necessary using
the Laplace transform (12). The coefficients of the transfer
function matrix are adapted every 30s. An example of the
model is presented for 50% boiler load.
(12)
Y ( s ) = [c ( sI A) 1 B + D ]U ( s ) = G(s)U(s)
0.9
0.609632

s + 0.0279
s + 0.0279

2.19975
108.536s + 1.5363
G( S ) = 2
s + 10.0279s + 0.279
s 2 + 10.0279s + 0.279

2
0.02s 0.0001
1.81s + 0.053s 0.00051
s 2 + 0.0279s
s 2 + 0.0279s

0.15

s + 0.0279

0.366625

s 2 + 10.0279s + 0.279

0.0124s 2 + 0.017 s + 0.0006


2
s + 0.0279s

The transfer matrix is used to design the centralized


adaptive control by decoupling.
B. Adaptive Decoupling PID Control
1. PID Decoupling
One important control system target is the ability to
compensate, as accurate as possible, the loop interactions
over a wide range of operating points. To do so, the
decoupling technique presented in Fig. 3 is adopted.
Analytical decoupling and control tuning methods for
multivariable systems are intensively discussed in [3]-[4],
[8]-[10], so calculus details are omitted for brevity.
The fundamental idea is to find a control matrix K(s) so
that the closed-loop system G(s)K(s)/[I+G(s)K(s)] to be
decoupled. This is done if the open loop matrix L(s) has a
diagonal form (13).
0
0
l1 ( s)

L( s ) = G ( s ) K ( s ) = 0
l2 ( s )
0
(13)
0
0
l3 ( s)

899

K awri

ei

K ij

awri

ui

uisat

Fig. 4. Anti-windup structure.

The PI controllers described in this section have the


discrete form (16), following trapezoidal rule of integration,
which is the right form for PLC implementation [11].
K
Kp h
h
[ei (k ) + ei (k 1)] awri [awri (k ) + awri (k 1)]
Ti 2
Ti 2

1
ui (k ) = Kp ei (k ) +
xi (k )
(16)
Kp

xi (k ) = xi ( k 1) +

Fig. 3. Proposed system using centralized decoupling control method.

The next step is to extract K(s) from (13) to obtain the


matrix of the ideal controller:
K ( s ) = G ( s ) 1 L ( s ) =
G11l1 G 21l2
1 12
G l1 G 22 l2
G 13
23
G l1 G l2

i 1
G 31l3 g 11 l1
1

G 32 l3 = gi 12 l1

G 33l3 gi 1l
13 1

1
gi 21l2
1
gi 22 l2
1

gi 23l2

1
gi 31 l3

ig 1l
32 3

1
gi 33 l3

(14)

where: gij ( s) = G ( s) / G ij ( s). The form (14) is computed in


order to carry out controller reduction to a PI form.
As long as the plant pressure, power and water level
dynamics are known, the control matrix (14) can be
determined. In this case, the open loop matrix (15) and the
control reduction are decided with methods described in [3].
0
0
0.055 / s

L( s ) =
0
0.02 / s
0
(15)

0
0
0.0004(100 s + 1) / s

2. Adaptive Control
In order to achieve gain scheduling and make the control
matrix adaptive, the transfer functions from the process
matrix are represented in a literary form as G11 = a1 /( s + a2 ) .
Many of the coefficients appear several times, which
eases the calculus. The determinant is computed in the same
manner followed by K(s) and PI reduction (14).
As the process operating points are updated at every 20s,
the control gains also are changed. The new gains are shifted
smoothly in order to be bump-less for control. For this
reason, the updated gains sent to the control (on PLC) use 1st
order low pass filters H ( s ) = 1/(4s + 1) applied to the
coefficient arrays Kp and Ti of the PI controllers. The
filtering is done in LabView in the same simulation loop as
the linearization and gain calculus.
3. Anti-windup Strategy
Considering the constraints of the actuator models, an
anti-windup (awr) strategy is implemented (Fig. 4).
978-1-4577-0123-8/11/$26.00 2011 IEEE

awri = ui uisat

III. HIL AND SYNCHRONIZATION HOW ITS MADE


In this chapter, hardware-in-the-loop (HIL) key features
are described regarding the simulator implementation in
Labview, communication with the shared variable engine
and OPC Server, PLC control design and synchronization.
In the HIL method, the system is implemented in two
separate sections: i) the process model simulated on PC and
ii) the control algorithms on real-time control target (PLC).
The simulator (on PC) computes the process variables and
the new controller gains to work in an adaptive manner. The
signals are acquired/sent bidirectional through an OPC
Server, which translates address-based variables (on PLC) to
tag/shared variables (Laview Simulator on PC) and vice
versa, making them available for processing (Fig. 5).
HIL technique was adopted because in addition there are
centralized Siemens controllers in the real plant. It is desired
that, before performing the operations on the real plant, a
simulated (manual/automatic) maneuver with the new
control strategy to be carried out, thus providing valuable
comparison information for operators. Moreover, testing the
functionality of this control type on PLC systems can
provide a good insightful in implementing non-classical
control methods on industrial real-time control targets.
A. Simulator Implementation
The G language (graphical programming language of
Labview) is selected for simulation. The simulator backbone
(Fig. 6) consists in a flat sequence structure with two frames.
The first frame initializes the simulator by selecting one of
the four manual operating points, and sends values to the
non-linear state-space for initial conditions in the 2nd frame.
The second frame contains two simulation loops and a
while loop:
The 1st simulation loop contains a math script with the
process model, awr calculus and error formation. Delays and
zero-order-holders (ZOH) are used for synchronization. The
commands, errors, awrs and an enable_in button are
defined as project variables, and are taken from the OPC
Server in order to write/read to/from them for LabView.
900

Fig. 5. General hardware-in-the-loop (HIL) simulator description.


nd

The 2 simulation loop contains the linearization dynamic


model, two first-order filters, and Kp and Ti arrays - as
project variables.
The 3rd loop is a while loop deals with the graphical user
interface (GUI) running much slower than the above loops.
The communication and data transition between loops and
between 1st and 2nd frame are carried out through local
variables. The simulator firstly starts in manual mode (one
of the four operating points). Operators can switch the
enable_in button to go to automatic mode.

B. Data Transition with OPC Server


The essential feature of the OPC Server is the ability to
translate PLC addresses to tags.
The OPC Server configuration starts by defining the type
of PLC to use, the communication protocol and acquisition
cycle of variables. Then, the following steps are used:
1) Introduce variables (in groups or not) by defining their
PLC addresses, e.g., for Simatic controller db1.dbd10

(floating-point variable from block 1, starting from byte 10).


2) Gather the simulation VIs (virtual instruments), and
define an OPC Client for the Server under LabView project.
3) Insert the variables in the project from the Server as
project variables.
4) Update variables by drag-and-drop in simulation VIs.
C. PLC Control Implementation
The control is implemented in the Simatic S7-315
2PN/DP PLC. To the beginning, the hardware configuration
and the communication have to be configured and tested.
The first step in the control implementation is to write a
SCL (source code list) with the control algorithm (16) under
the FB (function block) principle. FBs work with the PLC
retain-memory through instance DBs (data blocks). This is
the correct way of control implementation in PLCs,
otherwise controller commands are not retained through the
PLC scan cycle. The FBs work as object oriented classes,
meaning that it is possible to instance the FB as many times
as it is needed, but with a different instance DB.
The next step is to define the PLC variables as addresses
in order to pin point correctly for OPC and send the errors,
gain arrays, etc. The variable addresses are also stored in
DBs, but this time shared DBs, which can access all
functions (Kp[1..9], Ti[1..9], error signals etc.).
The final step is to call the FB of nine times (once for
each controller) in a cyclic interrupt to be sure that the
blocks will be executed periodically (every 10 ms). This is
important due to PLC variable scan cycle. The FB calls and
decoupled control algorithm are carried out in LAD (ladder
diagram) in OB35 Fig. 7.

Fig. 6. Simulator implementation backbone.

978-1-4577-0123-8/11/$26.00 2011 IEEE

901

IV. TEST RESULTS


In this section, the performance of the proposed control
under HIL concept is analyzed.
In Fig. 9, two simultaneous set point changes are done to
the non-linear process, i.e., the drum pressure and power
output, in order to analyze the performance of the proposed
adaptive control. At t = 10s the pressure is increased from
15.22 to 17.22 bar and the power from 3.31 to 6.31 MW.
The system quickly reaches the pressure and power demand
with lower deviation and oscillation in water level.
Fig. 10 shows the importance of the 1st order low pass
filters applied on the controller gain. The test is done on a
power demand. Undesired bumps appear over the transient
regime, which may cause turbine vibration and malfunction.
Fig. 7. PLC control code and principles.

D. Synchronization Level
In order to synchronize the process model - simulated on
PC, with the real-time controllers - implemented on PLC, the
following procedure is fulfilled.
The PLC and the OPC Server run at 10 ms intervals.
Taking into account that the model simulation runs on a
Windows-based operating system, which is not a real-time
operating system, the loops inside the VIs are fit to run as
close as possible to real time. This is achieved by
synchronizing the 1st simulation loop to an internal processor
clock at 1kHz. The zero-order-hold (ZOH) blocks are
configured for 10 ms and the ODE Solver is chosen as
Runge-Kutta 4 with fixed discrete time step of 1 ms.
With this configuration, a comparative test is performed
with a PI controller implemented on PLC and another
implemented on PC under the same loop as the LabView
process. A simple 1st order process is chosen. The level of
synchronization reached for this system is given in Fig. 8.

b
Fig. 8. Synchronization level: a) commands; b) responses.

978-1-4577-0123-8/11/$26.00 2011 IEEE

Fig. 9. Adaptive decoupled PI control with anti-windup: a) pressure; b)


power; c) water level; d) commends: fuel, valve, water.

902

V. CONCLUSION

Fig. 10. Filtered vs. non filtered output power.

A HIL control system is implemented for a boiler-turbine


unit employing multivariable adaptive decoupled control.
The HIL technique integrates the simulator of complex
processes, i.e., boiler-turbine within a thermal power plant,
with PLC based real-time control systems, and provides
valuable information for implementing non-classical
control systems.
A multivariable decoupled centralized control method,
suitable for the present case, is chosen with good
performances in transient responses. The control strategy is
improved by gain-scheduling technique based on dynamic
model linearization. Due to hard input constraints, adaptive
PID control with anti-windup is employed. To eliminate
bumps in system responses when adaptive controller gains
are changed, the updated PI controller gains are filtered.
The HIL simulator functionality with interactive GUI can
also be extended to education purpose in teaching
multivariable control systems.
The main contributions of this paper consist on: i) the
development of adaptive multivariable control with dynamic
linearization, ii) system implementation under HIL concept
and iii) HIL component synchronization without process
real-time target (without real-time operating system on PC).
REFERENCES
[1]

Fig. 11. Pressure response to water level deviation with/without anti-windup.

The anti-windup technique significantly improves system


responses. Fig. 11 illustrates the pressure response to water
level step from 0.063 to 0.1m with & without anti-windup.
This has a major effect over the pressure and turbine power.
A GUI is developed in Fig. 12 to facilitate the humanmachine interaction. The operators start the simulation in
one of the four operating points. They have the possibility to
make manual or automatic maneuvers by switching the
enable_in button. By modifying the set points, they can
observe transient and stationary process responses.

R. D. Bell and K. J. Astrom, Dynamic models for boiler-turbinealternator units: Data logs and parameter estimation for a 160 MW
unit, Report TFRT-3192, Lund Inst. Technol., Lund, Sweden, 1987.
[2] K. J. Astrom and K. Eklund, A simplified non-linear model of a
drum boiler-turbine unit, Int. Journal of Control, vol. 16, no. 1, pp.
145169, 1972.
[3] F. Morilla, F. Vazquez, and J. Garrido, Centralized PID control by
decoupling for TITO processes, in Proc. 13th IEEE Int. Conf. on
Emerging Technologies and Factory Automation (EFTA 2008),
Hamburg, Germany, Sep. 2008, pp. 13181325.
[4] J. Garrido, F. Morilla, and F. Vazquez, Centralized PID control by
decoupling of a boiler-turbine unit, in Proc. European Control Conf.
(ECC09), Budapest, Hungary, Aug. 2009, pp. 40074012.
[5] W. Grega, Hardware-in-the-loop simulation and its application in
control education, in Proc. 29th ASEE/IEEE Frontiers in Education
Conf. (FIE99), San Juan, Puerto Rico, Nov. 1999, vol. 2, pp. 12B6/7
12.
[6] Un-Chul Moon and Kwang Y. Lee, Step-response model
development for dynamic matrix control of a drum-type boiler-turbine
system, IEEE Trans. on Energy Convers., vol. 24, no. 2, pp. 423
430, June 2009.
[7] M. Iacob and G.-D. Andreescu, Implementation of Hardware-in-theLoop System for Drum-Boiler-Turbine Decoupled Multivariable
Control, in Proc. 6th IEEE International Symposium on Applied
Computational Intelligence and Informatics (SACI 2011), Timisoara,
Romania, May 2011 (accepted paper).
[8] F. Vazquez and F. Morilla, Tuning decentralized PID controllers for
MIMO systems with decouplers, in Proc. 15th IFAC Triennial World
Congress, Barcelona, Spain, Sep. 2002, pp. 21722178.
[9] S. Skogestad, Simple analytic rules for model reduction and PID
controller tuning, Journal of Process Control, vol. 13, no. 4, pp. 291
309, June 2003.
[10] T. Liu, W. Zhang, and F. Gao, Analytical decoupling control strategy
using a unity feedback control structure for MIMO processes with
time delays, Journal of Process Control, vol. 17, no. 2, pp. 173186,
Feb. 2007.
[11] Ch. Salzmann, D. Gillet, and P. Huguenin, Introduction to real-time
control using LabView with an application to distance learning, Int.
Journal of Engineering Education, vol. 16, no. 3, pp. 255272, 2000.

Fig. 12. Graphical user interface.

978-1-4577-0123-8/11/$26.00 2011 IEEE

903

Você também pode gostar