SlideShare uma empresa Scribd logo
1 de 13
Using OPC technology to support the study of advanced
process control$
Magdi S. Mahmoud n
, Muhammad Sabih, Moustafa Elshafei
Systems Engineering Department, King Fahd University of Petroleum and Minerals, P. O. Box 5067, Dhahran 31261, Saudi Arabia
a r t i c l e i n f o
Article history:
Received 4 December 2012
Received in revised form
13 July 2014
Accepted 18 July 2014
Available online 18 February 2015
This paper was recommended for publica-
tion by Prof. A.B. Rad
Keywords:
OPC (OLE for Process Control/Open Process
Control)
Distributed control systems
OPC client
OPC server
LabVIEW
MATLAB
a b s t r a c t
OPC, originally the Object Linking and Embedding (OLE) for Process Control, brings a broad commu-
nication opportunity between different kinds of control systems. This paper investigates the use of OPC
technology for the study of distributed control systems (DCS) as a cost effective and flexible research tool
for the development and testing of advanced process control (APC) techniques in university research
centers. Co-Simulation environment based on Matlab, LabVIEW and TCP/IP network is presented here.
Several implementation issues and OPC based client/server control application have been addressed for
TCP/IP network. A nonlinear boiler model is simulated as OPC server and OPC client is used for closed
loop model identification, and to design a Model Predictive Controller. The MPC is able to control the
NOx emissions in addition to drum water level and steam pressure.
& 2014 ISA. Published by Elsevier Ltd. All rights reserved.
1. Introduction
1.1. Motivation
In process automation, the control objectives have evolved
from physical parameter control at regulatory control level to
corporate levels, where the economic, financial, international or
national standards and environmental constraints play vital role.
Each of the mentioned objectives is owned by the concerned
department in the automation industry, and therefore, the control
objectives and functions are defined at several hierarchical levels.
These distributed objectives in a plant environment are illustrated
in the Fig. 1. This hierarchical and distributed nature of today's
plant automation objectives requires advanced techniques, com-
monly called by research community as advanced process control
(APC), to take care of the overall objectives. Distributed nature of
the automation systems, on the other hand, requires standard way
of communication and data exchange with several types of tags.
APC takes care of the overall control objectives and constraints
while, OPC can be used to exchange the various types of data in a
distributed control system (DCS) environment to implement and
maintain an efficient APC technique [8].
This work shows the integration of important tools like
MATLAB and LabVIEW along with Matrikon OPC server. The setup
is important for academic and research community interested in
advanced process control and networked control systems. It is
important to notice that the research on APC and NCS are not
worthy or convincing to practitioners and industry if only pre-
sented with simulation tool. In this work, well-known simulation
and research tools (i.e., MATLAB and LabVIEW) are integrated
along with real OPC server which is Matrikon's OPC server and
Ethernet. Research over APC techniques and Networked Control
System tested in the presented scenario will be more convincing
to the industry community and is near to the industry needs.
1.2. Contribution of the paper
This paper presents a way to develop a rich dynamic environ-
ment for academic research based on Matlab and LabVIEW
integrated with OPC standard. The major contribution of the paper
is the development of a cascaded MPC-PID controller for a non-
linear boiler system that can track the setpoints of a boiler model,
in addition of controlling the NOx output to the desired level. The
subsequent learning outcomes can be described as follows:
Contents lists available at ScienceDirect
journal homepage: www.elsevier.com/locate/isatrans
ISA Transactions
http://dx.doi.org/10.1016/j.isatra.2014.07.013
0019-0578/& 2014 ISA. Published by Elsevier Ltd. All rights reserved.
$
This work is supported by the deanship for scientific research (DSR) at KFUPM
through group research project RG-1316-1.
n
Corresponding author.
E-mail addresses: msmahmoud@kfupm.edu.sa (M.S. Mahmoud),
msabih@kfupm.edu.sa (M. Sabih), elshafei@kfupm.edu.sa (M. Elshafei).
ISA Transactions 55 (2015) 155–167
development of co-simulation environment based on LabVIEW
and MATLAB [5] to run continuously a closed-loop plant model,
deployment of the plant model as OPC based periodic server that
can be interfaced with any OPC compliant client for conducting
remote identification, modeling, and designing of any advanced
process control technique, development of remote HMI to support
conducting identification tests, and to test developed controllers
over the closed-loop plant model.
1.3. Brief introduction to OPC technology
The OPC Task Force released the first specification for OPC in
1995 with the help of its industrial members and support and
consultation of Microsoft [1]. The initial members of OPC Task
Force were Fisher-Rosemount (now Emerson Process Manage-
ment), Intellution (now part of GE Fanuc), Intuitive Technology
(now part of Wizcon Systems), OPTO 22, and Rockwell Software.
With the collective opinion of industry, the OPC Task Force was
replaced with an independent, non-profit organization to be called
the OPC Foundation (www.opcfoundation.org). Since 1996, OPC
Foundation brought widespread collaborative work and demon-
strations and now OPC has confirmed it as the industry standard.
OPC is an open standard for distributed control systems. The
classical OPC is based on Microsoft's Distributed Components
Object Model (DCOM) service for communication and exchange
of data between distributed client/server models.
1.3.1. OPC technology for heterogeneous systems
The interconnection of heterogeneous control networks raises
technical difficulties and is a subject of concern in enterprise
information construction. In [2], OPC technology has been applied
in interconnection between two heterogeneous control networks
of Profibus-DP fieldbus system based on SIMATIC S7-400 PLC and
CENTUM CS3000 DCS from Yokogawa. Their application imple-
ments the data communication of production control information,
and virtual integration of sewage system. Such kind of technical
strategy can provide significant research opportunity to develop
similar subjects in process industry with higher extending value.
Using OPC as the main communication protocol seems to be a
big advantage for data transfer in a heterogeneous system. As
shown in Fig. 2, OPC acts as the common interface for mutual
communication among different devices used for data collection
from technological process (Measurex, SIEMENS, ABB, Valmet),
and liberates from dependence of specific monitoring software
(Genesis32, PI System database) on manufacturer of controller
systems (PLCs) [3]. Fig. 3 illustrates the use of OPC technology to
interconnect multi-tire systems.
The outline of the paper goes as follows. Literature review is
provided in Section 2. OPC specifications are discussed in Section 3.
Section 4 highlights the topic of APC in the context of this paper by
illustrating an example of distributed boiler system. The studied
problem is described from mathematical analysis and procedure in
Section 5. Section 6 describes the analytical framework used for
modeling, simulation and control design. Section 7 describes the
network-in-the-loop simulation setup over real network based on
OPC connectivity. This paper ends with concluding remarks
in Section 8.
2. Literature review
OPC provides a common standard for software interfacing enab-
ling horizontal integration of the automation solutions through
communication between the distributed components. Efficiency
and cost savings are achieved through the reuse of software
components and the flexible compilation of such components into
distributed automation solutions [7].
The investigation of OPC based APC in a Distributed Control
System environment shows potentially several research directions.
Our aim is to present the use of OPC connectivity as an
opportunity to study, design and test advanced process control
techniques using well established research tools. This pro
posed technique is based on the network-in-the-loop (NIL) sim
ulation with the OPC connectivity. The use of real network for
OPC connectivity between the design and simulation tools
(i.e., MATLAB and LabVIEW) enable to conduct data acquisition,
identification test, offline design of APC controllers and testing
over the real OPC connectivity in line of practical solutions for
process industry.
The need of advanced control techniques for economic benefits
has been felt since the distributed control systems were deployed.
Implementation of advanced control techniques along with the
standard regulatory controls in distributed environment requires a
DCS to have increased functional capabilities, better interfaces, and
ease of configuration [9]. OPC can be included in the overall
control strategy for building quality estimators to substitute for
analyzers. The use of OPC technology in a distributed environment
besides the regulatory control has demonstrated its potential to
increase company's profits and maintain its competitive edge.
Economy and environmental concerns are the main two driv-
ing forces in the development of advanced process control besides
the stable and quality controlled operation. In [10], authors have
conducted a survey on the economic assessment of process control
with the help of over 60 industrial APC experts.
Openness and smooth connectivity has been seen as the key
issue in implementing advanced monitoring and control strategies
in distributed heterogeneous system. The issue of openness has
been discussed critically in [12] by examining different vendors.
The DCS were not very open (see the study of [12]) as of middle of
90s, but the use of OPC technology bridge the gap and make the
systems talk each other in a distributed DCS environment. As of
today, every DCS system offers OPC based modules integrated for
better connectivity, which can be used without knowing the
specific programming details of the specific DCS system. Such
OPC based connectivity can bring cost effective desired function-
ality and availability in a system.
In [13], OPC based controller performance monitoring technol-
ogy is introduced for industrial applications. The main components
Plant wide Optimization
& International and Local
Environmental Laws
Production Unit
Optimization
Advanced Control
Regulatory Control
Sensors / Actuators
Controller Setpoints
Meeting Operation Objectives
Optimum operation, &
Environmental requirements
Dataandmodelbaseddecisions
Fig. 1. Overview of plant control and optimization at different layers.
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167156
covered by [13] include data collection, system identification and
control valve stiction monitoring, and performance monitoring
of MPC.
In [14], process-model is implemented in Matlab/Simulink and
controller is implemented in ABB's commercial OPC-MMS (Manu-
facturing Message Specifications) server. The connection between
these two is through a gateway. ABB has its own OPC-MMS server
that makes it possible to write and read global MMS variables from
the controller. The OPC-MMS server acts as a MMS client to the
controller that it is connected to. Then the OPC-MMS server
converts the global MMS-variables from the controller to OPC items
that can be read/write from OPC-clients.
In [15], a tutorial is provided for the OPC based applications in
Labview environment. It should be noted that LabVIEW supports
only the OPC Data Access specification [15]. The tutorial discussed
the use of new Compact Field Points from the National Instru-
ments. The importance of using standard components in automa-
tion industry has been discussed in [6] with detailed OPC
Specification. The focus in [6] was on the automation software
integration based on OPC standards in view of the multi-tire
architecture of industrial automation system.
Experimental validation of PID based cascade control system
through different architectures including SCADA, PLC, OPC and
Internet architectures has been addressed recently in [16]. The
performance and effectiveness of individual architecture is eval-
uated on the basis of data rate, rise time, peak time and settling
time. In this setup, a PID controller is implemented on Micrologix-
1200 PLC and RSView-32 SCADA has been used with RSLinx
communication software. The control loop for SCADA-PLC is
implemented with the functionalities such as real time data
analysis, set point modifications, automatic report generation
and integration of data with MS-Excel and MS-Access.
The Internet has become an indispensable technology in
today's globalized world. Besides the many conveniences to every-
day life, Internet has also become indispensable for process control
systems [17]. Integration of OPC technology and Internet is quite
straightforward, and thus brings many facets of improved archi-
tecture for monitoring and control applications in economical way.
A web-based distributed OPC system has been developed for
remote control and monitoring in [17]. The described system
consists of N different local control units over the Internet
realizing a distributed OPC (DOPC). Every local control unit can
control and monitor every other control point in the DOPC
architecture. The architecture permits different OPC-based process
control architectures to realize a distributed and heterogeneous
system. Dynamic web page which is constructed using Active
Server Pages (ASP) are used for remote control and monitoring.
OPC based remote real-time communication between MATLAB
and PLC (Siemens S7-300) has been reported in [18] on the
Ethernet. This setup indicates that the function of exchanging
Fig. 2. An example of using OPC technology for the interconnection of heterogeneous systems [3].
Fig. 3. Using OPC technology to interconnect multi-tire systems [4].
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 157
remote real-time data can be attained between MATLAB and
S7-300 PLC through OPC server, and shows that it is an effective
and feasible method to realize the real-time remote communica-
tion between MATLAB and PLC. Such a method can be used to
realize data process and advanced control in industry to improve
the quality of control, safety, optimization and to comply with
standards. MATLAB OPC Toolbox simplifies the process of devel-
opment and provides an effective method to realize the remote
real-time communication between MATLAB and process devices
having OPC connectivity. With the set up discussed in [18], one can
realize advanced control of complicated industrial process based
on network environment to devise improved control, economic
operation and to comply with environmental standards.
Remote control over Ethernet is demonstrated for an induction
drive system using OPC technology in [19]. This set up uses
OMRON PLC, LabVIEW and NI OPC server which has OMRON
Ethernet driver that allow the communication between OMRON
PLC with LabVIEW.
A cost effective OPC based application is reported in [20] for a
boiler system. This setup uses OPC technology, MATLAB interface
(working as OPC client), and Siemens configuration software
WinCC (working as OPC server). Control algorithm (at OPC client)
developed in Simulink communicate with OPC DA server of
industrial control software WinCC. Such setups offer a new way
of thinking for application of intelligent control algorithm in
industrial process control [20].
The importance of simulators to facilitate the execution of
engineering activities of control systems is discussed in [21].
Simulation tools offered by the main DCS suppliers (ABB's Simpow
and Simcomx ITS, Delta V/Emerson's Delta V Simulate, Foxboro/
Invensys's FSIM, Honeywell's Shadow plant, Siemens's SIMIT and
SIVAT, and Triconex's TRISIM) include the OPC connection that
enable one to include real time system into the simulators [21].
Industrial systems are designed for robustness, and typically
have limited possibilities for research, optimization, testing and
simulation [22]. Co-simulation environment based on OPC tech-
nology and numerical simulation package like MATLAB can pro-
vide good learning and research opportunity. Educational
examples of OPC-driven data exchange between MATLAB and
PLC-controlled Systems is discussed in [22]. A solution is discussed
in [22] on how to connect an existing system to the Matlab
environment by using the OPC. Through an OPC connection, the
process data can be used for the analyses and optimization of
procedures, early fault detection and diagnosis, further data
processing or data documentation. Persin et al. [22] presented an
example where synchronous reading is used for the ‘worst case’
scenario. In this scenario each piece of data changes every time
and the same computer run a server, two clients, as well as the
SCADA and Matlab software. The OPC based real time simulators
are beneficial for the training of engineers and operators in
industry [22]. In [23], the practical design and implementation of
a network-based cascade control system on a real lab pilot plant
using alternative FB and NCS control approaches.
A methodology for the development of distributed process simula-
tion based on OPC for the complex continuous processes is presented
in [24]. The distributed components are supposed to operate as OPC
servers enclosing continuous simulations. The simulation method is
applied to a large process simulator of a beet sugar factory used for
control room operator training. The simulator includes a process
simulation operating in a network of six computers, a SCADA system
for operation on the process, an instructor console and the corre-
sponding software for real time communication and synchronisation
[24]. Several advantages of such simulation approach include:
1. independent development of the simulation from the commu-
nication mechanisms,
2. wide range of applications can access the simulations, due to
the standard use of OPC,
3. low cost and
4. large scale simulations support.
OPC due to its several advantages has been adopted by most of
the companies in the process control sector as a standard for
communications among control and instrumentation equipment
[24]. The simulator by [24] operates in the CTA, a joint research
center between the University of Valladolid and AEA, a sugar
company.
Another application of OPC supported simulation environment
is reported in [25]. The work in [25] is focused on developing a
hardware-in-the-loop (HIL) system for a boiler-turbine process,
employing decoupled adaptive control based on gain scheduling
technique. Simulation environment for the boiler-turbine process
is carried out in Labview running on a PC under a general purpose
operating system. Communication is provided by an NI OPC server
at the software level, while Industrial Ethernet is used at the
physical level.
3. OPC—specifications and tools
OLE for Process Control (OPC), also known as Open Process
Control, and as Openness, Productivity, and Connectivity, is a series
of specifications defined by the OPC Foundation for supporting
open connectivity in industrial automation [1]. OPC has been
designed to serve the need for reliable communication of informa-
tion in process and manufacturing industry, such as a petrochemical
refinery, an automobile assembly line, or a paper mill [7].
The OPC Foundation portfolio of standards includes three core
parts: OPC Classic (OPC DA, OPC HDA, OPC A&E), OPC Xi, and OPC
Unified Architecture (OPC UA).
3.1. OPC Classic
Classical OPC was based on client/server model and uses
Microsoft ActiveX and DCOM technology to provide a commu-
nication link between OPC servers and OPC clients. The OPC
Foundation developed the first specification, called Data Access
Specification 1.0a, in early 1996. Using this specification, vendors
were able to quickly develop client/server software.
OPC Data Access, or OPC DA, provides access to real time
process data. Using OPC DA, a client requests the OPC server for
the most recent values of flows, pressures, levels, temperatures,
densities, and more [7]. OPC Historical Data Access, or OPC HDA, is
used to retrieve and analyze historical process data, which is
typically stored in a Process Data Archiver, database, or RTU. OPC
Alarms and Events, or OPC A&E, is used to exchange process
alarms and events. OPC Xi is a new addition to the OPC Foundation
portfolio.
3.2. OPC Xi
OPC Xi was produced as the result of collaboration of several
OPC Foundation vendor companies to develop an easily integrated
and secure OPC solution that provides a .Net (dot NET) migration
path from OPC Classic. This is called OPC Express Interface (Xi).
OPC Xi is based on Microsoft .NET technology [7].
3.3. OPC UA
The next generation of OPC technology is OPC Unified Architecture
(OPC UA). OPC UA is based on the functionality of all the OPC Classic
Specifications (OPC DA, OPC A&E, Commands, and Complex Data). OPC
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167158
Unified Architecture is designed to be platform independent, scalable,
secure, and provide high performance [7]. Core technologies for the
new OPC developments include XML, SOAP and WebService.
4. Advanced process control
The modern computer era also brings us other advanced non-
linear and adaptive controllers, automation of supervisory real-time
economic optimization of controller set points, computer perception
and monitoring of status and health to trigger corrective actions,
control of inferential variables, computer-based planning and sche-
duling, supervisory process health analysis, fault detection and
abnormal situation support, device function and reliability.
There are advanced control versions for regulatory control, some-
times also termed as ARC (Advanced Regulatory Control). ARC meth-
ods include gain scheduling, ratio, cascade, feedforward, decouplers,
override, and related and ancillary techniques such as anti-windup,
bumpless transfer, PID modifications, and adaptive tuning techniques.
APC (Advanced Process Control) has many meanings to the
industrial and academic community. Within the model predictive
control (MPC) community, APC means MPC [26].
Generally, any advanced control method, that is implemented
over the traditional regulatory control for optimum performance,
can be considered as an advanced process control.
This paper is primarily focused on OPC based implementation
to provide a platform for future studies in advanced process
control, therefore APC is not discussed in detail. A good discussion
of APC methods and their economic benefits can be found in
[10,26] and references therein. Readers are referred to [10,26] for
details discussion and economic benefits of APC methods.
4.1. OPC: cost effective way to APC
Millions of dollars are invested in a typical process plant in terms of
DCS and historians. Now, OPC standard is an integrated part of
available DCS systems and also a part of academic and research tools
(e.g., LabVIEW and MATLAB). Wide horizon of OPC tools covering the
DCS systems and academic environment encourages to use OPC for
return on the investment. This is economical in the sense that all the
departments at the plant floor including production, engineering,
maintenance, and management can have access to the historian via
OPC standard even in case of different software systems. According to
[27], OPC is the best economical and easiest way to study the plant
behavior and to find the points where the operation can be exploited
for better operation.
5. Mathematical analysis
Consider a nonlinear dynamic system,
_xðtÞ ¼ f ðxðtÞ; uðtÞÞ; xðt0Þ ¼ x0 ð1Þ
where xARn
and uARm
are the state and control vectors respec-
tively. Suppose that the control input is constraint to a compact
and convex set U , i.e., uðtÞAU. Generally, the MPC problem can be
stated as (see [28]): for any state x at time t, find a continuous
function uðτ; xðtÞÞ : ½t; tþTŠ-U, in a moving horizon time frame, T,
such that the performance index
J ¼ gðxðtþTÞÞþ
Z T
0
xðtþτÞT
QxðtþτÞ
þuðtþτ; xðtÞÞT
Ruðtþτ; xðtÞÞ dτ ð2Þ
is minimized where Q Z0; R40. Then the MPC law is determined
by uðtÞ ¼ uðt : xðtÞÞ. To establish the stability notion, we followed
from [28] that the system in (1) obeys the following assumptions:
5.1. Assumptions
1. Let the function f : Rn
 Rm
-Rn
be twice continuously differ-
entiable and f ð0; 0Þ ¼ 0 is an equilibrium point with u¼0.
2. g(x) in (2) is continuously differentiable function of x, and
gð0Þ ¼ 0; gðxÞ40 for all xARn
; xa0.
3. The system (1) has a unique solution for initial condition x0 ARn
and any piece-wise continuous and right-continuous.
4. The nonzero state of the system is detectable in the cost.
5. All the states are available for the control.
Theorem 1. Suppose that Assumptions 1–5 are satisfied and the
MPC algorithm is feasible at time t ¼ t0. Then the MPC algorithm for
system (1) is asymptotically stable if there exists control u(t) such
that the following condition is satisfied:
∂gðxÞ
∂x
f ðx; uÞþxT
QxþuT
Rur0 ð3Þ
for any state x belonging to the terminal region.
Proof. See [28] for proof. □
It has also been shown in [31] that the terminal constraints in
the MPC formulation ensure stability.
Remark. It has been mentioned in the literature on MPC that
often there is no theoretical proof of stability for industrial MPCs.
Simulations are used to check stability and performance [29]. This
is inline of what we have accomplished.
5.2. Procedure
The overall procedure can be listed as below:
 Step 1 – Modeling, Control and Simulation: Assume that a plant
_x ¼ f ðx; uÞ is given, with the control u ¼ gðx; uÞ ensuring closed
loop stable system. The system is stabilized with the local PID
controllers for stable set point tracking. This closed-loop plant
is simulated to run continuously using LabVIEW's periodic
server capability. Deploy the closed-loop plant simulation as
OPC server which makes the selected process variables avail-
able to OPC client applications over the network.
 Step 2 – Identification: The input–output data of the continuously
running simulated plant is accessed via OPC connection to identify
an ARX model of the plant. Small step testing is conducted around
the operating point which is close to the real practice in industry.
The identified MIMO ARX model is represented by (4)–(6).
 Step 3 – MPC Design: The identified model in Step 2 is used to
design an MPC controller. The MPC takes into account the
disturbance variable (steam demand in the example studied)
and the NOx which are not cared by the low-level PID controllers.
 Step 4 – Testing of MPC: The designed MPC is tested over the
existing PID controlled plant over the OPC connectivity. This
cascaded MPC-PID control will result in improved disturbance
rejection and control over the emission of NOx while the
set-point tracking for drum pressure and drum level are
satisfactory.
6. Analytical framework
This section discusses the analytical framework considered in this
paper. This framework can be defined in the following major
categories: (1) continuous plant simulation, (2) OPC tools for data
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 159
connectivity, (3) identification of closed loop system, and (4) adv-
anced process control design.
Practically, process plant are in continuous operation when
disturbances (both measured and unmeasured) affect the output
of the process. The effect of drifts, ageing and noise in sensing and
actuation devices also affect the plant operation. These facts drive
the operation people to find some optimum way to bring the
process plant to optimum performance without stopping the plant
or affecting the operation too much. It is also tedious to re-tune
the individual PID loop parameters throughout the plant. Due to
the coupling, tuning of one PID may affect and de-tune another
coupled loop. Model predictive control technique is one of the best
advanced process control techniques to optimize the closed loop
operation without changing PID parameters. MPC can be used
with local PID loops in a cascade scheme to improve the overall
performance and to meet the control objectives (see Fig. 4).
To achieve the objectives of the paper, we have made a
continuous plant simulation. LabVIEW is used to deploy the plant
as periodic server with process variables defined as shared vari-
ables. So, the important process variables are published for OPC
clients. Matlab's simulink is used on another computer equipped
with the OPC toolbox. The plant simulation is accessed from
Matlab via OPC toolbox to make closed-loop identification of the
continuous process. The identified model is then used to develop a
Model Predictive Controller. This MPC controller can be tested
back in Matlab's Simulink via OPC functions of the OPC toolbox.
6.1. Plant modelling, control and simulation
Plant model used in this paper is a nonlinear boiler model
originally proposed in [11]. The nonlinear model equations are
discussed in Appendix A. The model has four inputs (qs, qf, Q,
Excess Air), two outputs (steam pressure and drum water level)
and four states (steam pressure, total volume of water (Vwt),
steam-mass fraction in risers (αr), steam volume in drum, (Vsd)).
Further research and studies around this model enabled
researcher to propose estimator for the undesired outcome of
boiler combustion which is Nitrogen Oxides, normally known as
NOx. In this paper, the neural network based NOx estimator
proposed by [32] is also used to estimate the NOx. With the
addition of NOx estimator in the above boiler model, the output
becomes (steam pressure, drum water level, and NOx).
6.2. Closed-loop identification
The closed loop identification is based on the Matlab's Identi-
fication Toolbox. First the data is collected via OPC connectivity.
Then Matlab's ident is used to identify the MIMO model to be used
in MPC formulation. In order to make similar to real scenario, a
graphical user interface is designed on LabVIEW to conduct step
testing, and data collection. The interface is designed rich for
testing, monitoring and control. Fig. 5 shows the front panel of the
overall configuration. The figure shows the closed loop boiler
simulation which is running in LabVIEW (as OPC server), while
MPC interface is in Matlab (as OPC client). Steps are applied on
pressure setpoint, level setpoint, excess air and steam demand,
and data is saved for identification. After several iterations, best
available model (a MIMO ARX model) is selected for the design of
MPC controller. Fig. 6 shows the validation of the identified model
over a set of plant data. The plant model is identified as a
multivariable ARX model with the following structure:
A0nyðtÞþA1nyðt ÀTÞþ⋯þAnnyðtÀnTÞ
¼ B0nuðtÞþB1nuðtÀTÞþ⋯þBmnuðt ÀmTÞþeðtÞ ð4Þ
The discrete transfer function model between an input and an
output is represented by
yðkÞnAðzÞ ¼ uðkÀdÞnBðzÞþe ð5Þ
yðkÞ ¼ a0yðkÀ1Þþa1nyðkÀ2Þ⋯þb0uðkÀdÀ1Þ
þb1uðkÀdÀ2Þ⋯þeðkÞ ð6Þ
Matlab's ARX routine is used to solve A and B parameters to
minimize the error between real output data and projected output
data while assuming that the error signal is white noise.
The considered framework is a cascaded configuration of MPC
over PID control loops as shown in Fig. 4. For a clearer discussion,
the process variables are given appropriately different symbols.
In Fig. 4, SPMPC represent the setpoints at MPC controller, MVMPC
represent the manipulated variables of MPC, CVMPC are the con-
trolled variables from MPC point of view, while DVMPC represent
the measured disturbance in MPC context. From PID aspect, SPPID
represent the setpoints at the local PID controllers, UPID represent
the control signals after PID controllers, YPID represent the output
of the plant from PID point of view. Note that in the defined
scenario, MVMPC ¼ SPPID and CVMPC ¼ YPID.
6.3. Model Predictive Control
Before implementing MPC strategy, the terminologies of the
process variables from MPC point of view should be reviewed. The
commonly used description of the process variables in an MPC
project include defining variables as MVs, DVs, SPs, and PVs. These
terms are explained below:
Plant
PID
ControllersMPC
MVMPC SP PID UPID CVMPC
SP MPC
Setpoint at MPC
Manipulated
variable of MPC
PID
Setpoints
Manipulated variables
of PIDs
Controlled
variables
of the plant
Disturbance Variable DVMPC
OPC based communication (e.g., via plant historian)
YPID
MPC defined variables: SPMPC, MVMPC, CVMPC, DVMPC
PID defined variables: SP PID, UPID YPID.
where, MVMPC =SP PID, and CVMPC = YPID
Legends:
Fig. 4. Block diagram of the advanced controller (MPC) over low level PID control loops.
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167160
Manipulated variables (MV): These are the variables that the
controller can move (manipulate), for example set point of a
low level flow PID controller, or a valve position.
 Controlled variables (CV): These are the variables that can be
measured (Process Variables, PV) and have a target. The
controller minimizes the difference (error) between the PV
and the target value. Sometimes it is hard to have a direct
measurement of process variable (e.g., NOx emission in case of
boilers). Such variables can be treated as controlled variables
while their measurement is indirect (e.g., using a softsensor).
 Feedforward variables or disturbance variables (DV): These
are the variables available to the controller but the controller
cannot manipulate or control them. But, taking them into
prediction helps improve controller steps and good quality of
control.
 Constraint variables or limit variables: These include measured
variables which are controlled within limits. The good con-
troller minimizes or eliminates the limit violations, thus
extending the operation range of the plant.
 Predictive horizon: This is the number of prediction steps of the
process output. Usually this should be large enough to capture
the plant dynamics.
 Control horizon: This is usually a subset of the projected horizon
when the controller adjusts the manipulated variables.
Fig. 5. Front panel of the overall configuration. Closed loop boiler simulation in LabVIEW (as OPC server), while MPC in Matlab (as OPC client).
2000 4000 6000 8000 10000 12000 14000
44
46
48
y1. (sim)
y1
arx551; measured
data1; fit: 95.75%
2000 4000 6000 8000 10000 12000 14000
0.6
0.7
0.8
y2. (sim)
y2
arx551; measured
data1; fit: 70.14%
2000 4000 6000 8000 10000 12000 14000
80
100
120
y3. (sim)
y3
arx551; measured
data1; fit: 62.19%
Fig. 6. Validation of the identified model on a data set from boiler model.
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 161
In the considered example of boiler, MVs are the setpoints of
pressure, level, and excess air, PVs (CVs) are steam pressure, water
level in the boiler, and Nitrogen Oxides as emission from boiler, DV
is the steam demand.
6.4. MPC design for tracking
In this work, the MPC formulation for setpoint tracking is based
on [33,34]. In tracking, the control u is adjusted such that the
output y tracks a time-varying set-point. The tracking accuracy
depends on the plant characteristics, constraints on the system
variables, and the accuracy of the input u to output y model. For
MIMO plants, the challenge is to tune the controller to achieve
multiple objectives. In case of several outputs to be controlled, the
important outputs are prioritized for accurate setpoint tracking
then the less important outputs when encounter the constraints.
In MPC, optimization problem is solved much like the LQG optimal
control except that the MPC optimization includes explicit con-
straints on u and y and optimizes over a finite horizon.
In setpoint tracking, the primary control objective is to drive
the plant output to track their corresponding setpoints. Specifi-
cally, the controller predicts how much each output will deviate
from its setpoint within the prediction horizon. In optimization,
controller multiplies each deviation by the output weight, and
computes the weighted sum of the squared deviations. The
optimization objective used in the MPC design for the setpoint
tracking is given below:
J ¼ ∑
P
i ¼ 1
∑
ny
j ¼ 1
wy
j ½srjðkþiÞÀyjðkþiÞŠ2
þ ∑
M
i ¼ 1
∑
nmv
j ¼ 1
wΔu
j ΔujðkþiÀ1Þ2
ð7Þ
where k is the current sampling interval, kþi is a future sampling
interval, P is the prediction horizon, ny is the number of the plant
outputs, wj
y
is the weight for output j, ½rjðkþiÞÀyjðkþiÞŠ is the
predicted deviation at future instant kþi, M is the control horizon,
nmv is the number of manipulated variables, ΔujðkþiÀ1Þ is the
prediction adjustment (i.e., move) in the manipulated variable j at
future (or current) sampling interval kþiÀ1, and wΔu
j is a weight,
which must be zero or positive. If wy
j owy
i aj, the controller does its
best to track rj, sacrificing ri tracking if necessary. If wy
j ¼ 0, the
controller completely ignores deviations rj Àyj. The weights are
critical to tune the controller for desired behavior.
The second term of the optimization cost is used by MPC
controller to monitor the weighted sum of the controller adjust-
ments. Increasing wΔu
j forces the controller to make smaller, more
cautions Δuj moves. The small control moves may result in
degraded setpoint tracking in some cases.
All the process control systems have some constraints to be
satisfied for stable and safe operation. These constraints may be
physical (e.g., actuator limits) or to ensure safety (e.g., low–low or
high–high pressure and temperature limits). In addition to these
constraints, there might be some soft-constraints related to the
performance and optimum operation like overshoot. These con-
straints can be incorporated into an MPC formulation according to
the following categories:
 constraints on outputs: ymin ryrymax,
 constraints on the rate of control signal: Δumin rΔyrΔumax,
 constraints on the control signal: umin rurumax.
The constraints of the considered boiler system are given below:
Input constraints are:
 30ru1ðPressure SetpointÞr80,
 0:35ru2ðLevel SetpointÞr1,
 3ru3ðExcess AirÞr25.
Output constraints are:
 35ry1ðPressureÞr70,
 0:3ry2ðLevelÞr1,
 0ry3ðNOxÞr100.
6.5. Stability tests
Process plants are operated within safe limits to ensure stable and
safe operation. The PID loops of the presented example are tuned for
stable operation at the nominal operating points. The PIDs are also
Fig. 7. Simulink block diagram showing OPC based MPC interface with closed-loop boiler model.
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167162
tested for tracking setpoints of pressure and level with satisfactory
follow up. In the following lines, we discuss the closed-loop stability
of the overall system when MPC is designed and implemented on the
existing PID loops. One way to ensure stability of MPC controller is by
adding terminal constraints and keeping the manipulated variables
well into the prescribed limits [31]. MPC in the presented example is
designed using Matlab's mpctool. This is a graphical user interface
which allows rich environment to design a full MPC controller along
with testing scenarios. In addition to this, there is a capability to
review the MPC controller. After designing the MPC controller,
“review” command is used to check the designed controller [34].
The designed controller passed all tests including the Controller
Internal Stability Test, Closed-Loop Nominal Stability Test, and Hard
MV Constraints Test. Online testing of the MPC controller showed
that all process variables satisfy the constraints.
7. Network-in-the-loop (NIL) simulation setup
This section describes the network-in-the-loop simulation
setup of the studied example. This setup involves Boiler simula-
tions and APC design over Ethernet network using two different
computer systems. One computer system is running OPC server
with a nonlinear Boiler simulations. OPC client is configured on
another computer system over the Ethernet. The OPC client and
server are built using LabVIEW's Shared Variable Engine. Second
setup shows the integration of MATLAB, and LabVIEW on the same
local host. This setup shows the complete picture of the distrib-
uted control using OPC technology.
7.1. Boiler simulation setup over Ethernet
This section describes the setting up of an OPC-based scenario
for potential research in distributed control systems using com-
munication networks. Softwares used are Mathwork's MATLAB
and National Instruments LabVIEW and the communication net-
work used is a shared TCP/IP Ethernet Network.
This setup is developed with the help of MATLAB–LabVIEW
based co-simulation environment to run a nonlinear plant simula-
tion. An OPC server from National Instruments which is Shared
Variable Engine is configured on the Simulation Computer. The OPC
server is connected to the process variables of the continuously
running nonlinear plant simulation via shared variables. The shared
variables are published on the communication network for other
OPC clients. On client side, LabVIEW is used to setup an OPC client.
During the setup, DCOM settings for OPC client and OPC server
are configured appropriately. Security settings for the user has to be
carefully configured before having a successful communication
between the OPC server and client. It is recommended that the
interactive user (i.e., the user who is currently logged in) should be
selected to ensure that the OPC client can communicate with the
OPC server. Note that the DCOM level settings are accessible from
the Component Services. The Component services can be accessed
by entering “dcomcnfg” in RUN option in windows. It is important
to note that if the interactive user is disabled or not available in the
corresponding “opcEnum.exe”, one can use same login name and
password in the “This User” option which is available through
properties of opcEnum. opcEnum (abbreviation of OPC Enumera-
tor), is an inter-computer communications driver which is essentialFig. 8. OPC based distributed control system.
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
40
45
50
Pressure
with MPC
without MPC
Set point
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
0.6
0.8
1
Level
with MPC
without MPC
Set point
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
0
100
200
NO
with MPC
without MPC
Set Point
Fig. 9. Comparison of steam pressure, drum level, and NOx with and without MPC.
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 163
for OPC data transfer in a remote machine on a network or domain
(Figs. 7 and 8).
7.2. Simulation results
Simulation results are shown in Figs. 9–12. The emission of
NOx is not controlled by the PID control loops. With the addition
of MPC, the pressure and level setpoints are tracked satisfactorily
and also the NOx is regulated to much lower values are compared
to the case of PID control only. The setpoint for NOx is 40 in the
current simulation. Operation point of the boiler model is pressure
setpoint (44.9 bar), level (0.64 cm), and excess air (16%). MPC
manipulates excess air Q, qf and _mf to keep the NOx low and
ensuring stable set point tracking of pressure and level. Fig. 9
shows matching performance of controller configurations with
and without MPC for pressure and level setpoint tracking, while
MPC outperforms the local PID controllers in controlling NOx to
the desired setpoint.
8. Remarks and issues about OPC tools
Setting up OPC for control applications may present different
levels of difficulty and complexity depending upon intended
applications and objectives. Setting up OPC client/server has
different issues to tackle from different aspects. Due to the
diversity of issues, we discuss them in the following sections as
different entities based on [30]:
 Although using OPC in control applications increases the
connectivity options but at the cost of uncertain processing
time of the OPC application because OPC is based on Micro-
soft's Operating System services. When OPC application is
deployed on shared network like Ethernet, the network com-
munication delay adds the uncertainty of the overall
communication delay.
 Since, OPC uses operating system services, it depends on the
version of operating system used for server and client. This is
because the operating systems like Windows XP (and its
variants and service packs) pose different security options than
Windows 7 for example. This actually needs a very careful
DCOM settings on server and client sides.
 Version of Windows to be used for the deployment of OPC
client and OPC server can raise very important issue due to
different types of security embedded in that version.
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
30
40
50
60
70
80
90
100
110
120
Q
with MPC
without MPC
Fig. 12. Comparison of heat flow rate to the risers (Q) with and without MPC.
Fig. 13. Schematic picture of the boiler.
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
8
10
12
14
16
18
20
22
24
26
28
30
Excess Air
with MPC
without MPC
Fig. 11. Comparison of heat flow rate to the risers (Q) with and without MPC.
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
40
42
44
46
48
50
52
Steam Demand
Fig. 10. Steam demand as measured disturbance.
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167164
Interactive User setting in the Windows Component Services is
also important to configure appropriately. In case interactive
user is not used, same user and password should be configured
in the component service for the opcEnum and the correspond-
ing OPC server (for example National Instruments Variable
Engine).
9. Conclusions
In our vision, OPC technology is the economical solution in
introducing new APC technologies to a real process. Control
algorithms for local regulatory control loops are quite standard
and off-the-shelf available. The research potential is to develop
and test control algorithm for distributed and interconnected
systems. OPC provides a good interpretability option between
different systems. This work describes the integration of important
research tools like MATLAB and LabVIEW to build periodic OPC
servers (to run closed-loop process plant continuously) and OPC
clients (for interactive identification and advanced controller
design). The presented OPC based setup is important for academic
and research community interested in advanced process control,
networked control systems, and distributed control. In the pre-
sented example, OPC server is simulating a nonlinear boiler model,
while OPC client is developed for identification and control. An
MPC controller is designed over two local PID control loops of a
nonlinear boiler. This MPC added NOx control in the overall
control objectives of the simulated example. The presented exam-
ple motivates how existing MIMO control systems can be extended
with advanced control techniques to include uncontrolled vari-
ables like NOx emission in boilers. The MPC is interfaced with the
local PID controller via OPC toolbox from MATLAB's SIMULINK
environment.
Acknowledgments
The authors would like to thank the deanship for scientific
research (DSR) at KFUPM for financial support through research
group project RG-1316-1 and partial support from NSTP.
Appendix A
The model has been adapted from the work of Astrom and Bell.
The considered boiler is 160 MW oil fired boiler unit in Sweden. In
this model, much of the system behavior is captured by consider-
ing the mass and energy balance for total system so that a fourth
order non-linear state space model can be obtained. The model
describes the complicated dynamics of the drum, downcomer, and
riser components. It is derived from the first principles and is
characterized by a few physical parameters and can be easily
scaled to represent any drum power station. The basic schematic
of a boiler is given in the following figure as shown by Astrom
and Bell.
In Fig. 13, Q is the heat applied on the riser tubes. This applied
heat causes the water in the drum to boil. The applied heat also
causes saturated steam to rise in riser–drum–downcomer loop.
Feedwater, qf, is the flow rate of water being supplied to the boiler.
Saturated steam, qs, is the flow rate of the steam which is fed to the
superheaters and the turbine.
A.1. Model derivation
A simple model of the drum boiler that captures the pressure
dynamics very well is a second order model based on the global
mass and energy balances.
Three inputs to the model are qs; qf ; Q and two measurable
outputs are drum pressure, p and the drum water level, l.
Standard notations used to write the balance equations are V
denotes volume, ρ denotes specific density, u specific internal
energy, h specific enthalpy, t temperature and q mass flow rate.
Also the subscripts s; w; f and m refer to steam, water, feedwater
and metal, respectively. The double subscripts, t; d and r denoting
the total system, drum and the riser, are used for clarification of
the system components. The total mass of the metal tubes and the
drum is mt and the specific heat of the metal is Cp.
The global mass balance is
d
dt
½ρsVst þρwVwtŠ ¼ qf Àqs ð8Þ
The global energy balance is
d
dt
½ρsusVst þρwuwVwt þmtCptmŠ ¼ Q þqf hf Àqshs ð9Þ
Since the internal energy is u ¼ hÀp=ρ, the global energy balance
can be written as
d
dt
½ρsusVst þρwhwVwt ÀpVmt þmtCptmŠ ¼ Q þqf hf Àqshs ð10Þ
The total volume of the drum, downcomer, and risers is
Vt ¼ Vst þVwt ð11Þ
These equations along with saturated steam tables capture the
gross behaviour of a simple boiler and describe the drum pressure
responses due to input qf and qs fluctuations. The second order
model which follows describes the total water in the system but
does not capture the drum water level dynamics because the
distribution of steam and water are not included. The state
variables for the state model are p and Vwt.
e11
dVwt
dt
þe12
dp
dt
¼ qf Àqs
e21
dVwt
dt
þe22
dp
dt
¼ Q þqf hf Àqshs ð12Þ
where
e11 ¼ ρw Àρs
e12 ¼ Vst
∂ρs
∂ρ
þVwt
∂ρw
∂ρ
e21 ¼ ρwhw Àρshs
e22 ¼ Vst hs
∂ρs
∂ρ
þρs
∂hs
∂ρ
 
þVwt hw
∂ρw
∂ρ
þρw
∂hw
∂ρ
 
þmtCp
∂t
∂s
ð13Þ
But the serious deficiency in this simple model lies in its failure to
model drum water level. Although it does determine the total
amount of water in the system it does not take into account the
steam in the risers and below the water surface level in the drum.
To do this separate mass and energy balances must be written for
the risers and the drum.
Riser dynamics: The global mass balance for the riser is
d
dt
ðρsανVr þρwð1ÀανÞVrÞ ¼ qdc Àqr ð14Þ
where αν is the average volume fraction in the risers, qr is the total
mass flow rate out of the risers and qdc is the total mass flow rate
into the risers.
The global energy balance of the riser section is
d
dt
ðρshsανVr þρwhwð1ÀανÞVr ÀpVr þmrCptsÞ
¼ Q þqdchw Àðαrhc þhwÞqr ð15Þ
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 165
Eliminating the flow rate out of the risers, qr, multiplying Eq. (14)
by Àðhw þαrhcÞ and adding to Eq. (15) give
d
dt
ðρshsανVrÞÀðhw þαrhcÞ
d
dt
ðρsανVrÞ
þ
d
dt
ðρwhwð1ÀανÞVrÞ
Àðhw þαrhcÞ
d
dt
ðρwð1ÀανÞVrÞ
ÀVr
dp
dt
þmrCp
dts
dt
Þ ¼ Q Àαrhcqdc
This can be simplified to
hcð1ÀαrÞ
d
dt
ðρsανVrÞþρwð1ÀανÞVr
dhw
dt
ðÀαrhcÞ
d
dt
ðρwð1ÀανÞVrÞþρsανVr
dhs
dt
ÀVr
dp
dt
þmrCp
dts
dt
Þ ¼ Q Àαrhcqdc ð16Þ
Drum dynamics:
The dynamics for the steam in the drum is
ρs
dVsd
dt
þVsd
dρs
dt
þ
1
hc
ρsVsd
dhs
dt
þρwVwd
dhw
dt

ÀðVsd þVwdÞ
dp
dt
þmdCp
dts
dt

þαrð1þβÞVr
d
dt
ð1ÀανÞρw þανρsÞ
¼
ρs
Td
ðV0
sd ÀVsdÞþ
hf Àhw
hc
qf ð17Þ
Astrom and Bell conveniently chose four state variables with good
physical interpretation that describe the storage of mass, energy and
momentum. These state variables capture the pressure, water, riser,
and drum dynamics. The state variable for the drum pressure p
represents the total energy. The state variable for the total water
volume Vwt represents the accumulation of water. The state variable
for the steam mass fraction or quality in the riser outlet αr represents
the distribution of steam and water. Finally, the state variable for the
steam volume under the liquid level inside the drum is represented by
Vsd. The time derivatives of these state equations can be rewritten as
e11
dVwt
dt
þe12
dp
dt
¼ qf Àqs
e21
dVwt
dt
þe22
dp
dt
¼ Q þqf hf Àqshs
e32
dp
dt
þe33
dαr
dt
¼ Q Àαrhc Àqdc
e42
dp
dt
þe43
dαr
dt
þe44
dVsd
dt
¼
ρs
Td
ðV0
sd ÀVsdÞþ
hf Àhw
hc
qf ð18Þ
where
e11 ¼ ρw Àρs
e12 ¼ Vst
∂ρs
∂ρ
þVwt
∂ρw
∂ρ
e21 ¼ ρwhw Àρshs
e22 ¼ Vst hs
∂ρs
∂ρ
þρs
∂hs
∂ρ
 
þVwt hw
∂ρw
∂ρ
þρw
∂hw
∂ρ
 
ÀVt þmtCp
∂t
∂s
e32 ¼ ρw
∂hw
∂ρ
Àαrhc
∂ρw
∂ρ
 
ð1ÀανÞVr
e33 ¼ ðð1ÀαrÞρs þαrρwÞhcVr
∂αr
∂αr
e42 ¼ Vsd
∂ρs
∂p
þ
1
hc
ρsVsd
∂hs
∂ρ
þρwVwd
∂hw
∂ρ
ÀVsd

ÀVwd þmdCp
∂ts
∂ρ

þαrð1þβÞVr αν
∂ρs
∂ρ

þð1ÀανÞ
∂hw
∂ρ
þðρs ÀρwÞ
∂αr
∂ρ

;
The outputs are chosen as the drum-level l and the drum pressure p:
l ¼
Vsd þVwd
Ad
where
Vwd ¼ Vwt ÀVdc Àð1ÀανÞVr
Steam tables are required to calculate hs; hw; ρs; ρw; ts; ∂hs=∂p; ∂hw=∂p;
∂ps=∂p; ∂pw=∂p and ∂ts=∂p at the pressure, p
Steam table was interpolated with a function using MATLAB,
the drum boiler dynamic model of Astrom and Bell is based on
physical parameters.
The set of nonlinear differential equations (18) representing the
time dependence of the state variables can be presented in a
matrix form as follows:
e11 e12 0 0
e21 e21 0 0
0 e32 e33 0
0 e42 e43 e44
2
6
6
6
4
3
7
7
7
5
dVwt=dt
dp=dt
dx=dt
dVsd=dt
2
6
6
6
6
4
3
7
7
7
7
5
¼
qf Àqs
Q þqf hf Àqshs
Q Àαrhcqdc
ρs
Td
ðV0
sd ÀVsdÞþ
hf Àhw
hc
qf
2
6
6
6
6
4
3
7
7
7
7
5
A.2. Augmentation of NOx emission model
In [32], an artificial neural network based softsensor for the NOx
emission is proposed. This NOx estimator requires few parameters
from the boiler system including fuel flow rate, low heating value,
flame maximum temperature, average combustion chamber tem-
perature, and excess air to estimate the NOx emission.
EstimatedÀNOx ¼ f NOx
ð _mf ; LHV; Tmax; Tav; ExairÞ
where _m is the fuel flow rate, LHV is the low heating value, Tmax is
the flame maximum temperature, Tav is the average combustion
chamber temperature, Exair is the excess air, and f NOx
is the artificial
neural network based soft-sensor for estimating NOx. This NOx
estimator uses values from the nonlinear boiler model.
References
[1] OPC Foundation Specifications 〈http://www.opcfoundation.org〉.
[2] Chao D. Research and application of OPC technology in interconnection of
heterogeneous control networks. In: Process automation instrumentation,
vol. 12, p. 19 〈http://en.cnki.com.cn〉, 2009.
[3] 〈http://shop.kontron-czech.com〉. Accessed online October 2013.
[4] Matrikon OPC simulation server 〈www.matrikon.com〉.
[5] MATLAB, The language of technical computing, version 7.10.0.499 (R2010a)
〈www.mathworks.com〉; 2010.
[6] Hong X, Jianhua W. Using standard components in automation industry:
a study on OPC Specification. Comput Stand Interfaces 2006;28:386–95.
[7] Elshafei MA. Modern distributed control systems, ISA, in Press, 2014.
[8] Mahmoud MS. Distributed control and filtering for industrial systems. London,
UK: The IET Press; 2012.
[9] Bhullar RS. Strategies for implementing advanced process controls in a
distributed control system (DCS). ISA Trans 1993;32:147–56.
[10] Bauer M, Craig IK. Economic assessment of advanced process control—a survey
and framework. J Process Control 2008;18:2–18.
[11] Astrom KJ, Bell RD. Drum-boiler dynamics. Automatica 2000;36:363–78.
[12] Rahkonen T. Distributed industrial control systems—a critical review regard-
ing openness. Control Eng Pract 1995;3(8):1155–62.
[13] Lee KH, Tamayo EC, Huang B. Industrial implementation of controller
performance analysis technology. Control Eng Pract 2010;18:147–58.
[14] Larsson M. Modeling and control in Matlab for ABB's control builder [Master
Thesis]. Department of Automatic Control, Lund institute of Technology,
October 2000.
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167166
[15] Halvorsen HP. OPC and real-time systems in LABVIEW-Tutorial. Telemark
University College, Department of Electrical Engineering, Information Tech-
nology and Cybernetics, 2010.
[16] Sangeetha AL, Naveenkumar B, Ganesh AB, Bharathi N. Experimental valida-
tion of PID based cascade control system through SCADA-PLC-OPC and
internet architectures. Measurement 2012;45:643–9.
[17] Sahin C, Bolat ED. Development of remote control and monitoring of web-
based distributed OPC system. Comput Stand Interfaces 2009;31:984–93.
[18] Lieping Z, Aiqun Z, Yunsheng Z. On remote real-time communication between
MATLAB and PLC based on OPC technology. In: Proceedings of the 26th
Chinese control conference, Zhangjiajie, Hunan, China, July 26–31, 2007.
p. 545–8.
[19] Barsoum NN, Chin PR. Ethernet control AC motor via PLC using LabVIEW. Intell
Control Autom 2011;2:330–9.
[20] Mingliang WU, Mingyong WU, Jiankang H, Ling S. Intelligent control system of
water level for boiler drum based on OPC and MATLAB. In: Proceedings of the
30th Chinese control conference, Yantai, China, July 22–24, 2011. p. 4461–4.
[21] Carrasco JA, Dormido S. Analysis of the use of industrial control systems in
simulators: state of the art and basic guidelines. ISA Trans 2006;45(April
(2)):295–312.
[22] Persin S, Tovornik B, Muskinja N. OPC-driven data exchange between MATLAB
and PLC-controlled system. Int J Eng Ed 2003;19(4):586–92.
[23] Fadaei A, Salahshoor K. Design and implementation of a new fuzzy PID
controller for networked control systems. ISA Trans 2008;47(4):351–61.
[24] Santos RA, Normey-Rico JE, Gomez AM, Arconada LFA, Moraga CP. OPC based
distributed real time simulation of complex continuous processes. Simul
Model Pract Theory 2005;13:525–49.
[25] Iacob M, Andreescu GD. Implementation of hardware-in-loop system for
drum-boiler-turbine decoupled multivariable control. In: 6th IEEE interna-
tional symposium on applied computational intelligence and informatics,
Timisoara, Romania, May 19–21, 2011. p. 45–50.
[26] Rhinehart RR, Darby ML, Wade HL. Editorial—choosing advanced control. ISA
Trans 2011;50:2–10.
[27] Ruel M. Exploiting process historian data to improve process performance,
Technical Paper, 2007 〈http://www.isa.org/filestore/Division_TechPapers/Glass
Ceramics/Exploiting_TP07EXP014.pdf〉. Access on 6 October 2013).
[28] Chen WH, Ballance DJ, O'Reilly J. Model predictive control of nonlinear
systems: Computational burden and stability. IEE Proc—Control Theory Appl
2000;147(July (4)):23.
[29] Zhu Y, Patwardhan R, Wagner SB, Zhao J. Towards a low cost and high
performance MPC: the role of system identification. Comput Chem Eng
2013;51:124–35.
[30] Kondor R. OPC  DCOM troubleshooting: quick start guide. OPC Training
Institute 〈http://www.opcti.com/opc-dcom-troubleshooting.aspx〉; 2008.
[31] Maciejowski JM. Predictive control with constraints. Upper Saddle River:
Prentice-Hall; 2002.
[32] Elshafei M, Habib MA, Al-Dajani M. Prediction of boilers emission using
polynomial networks. In: Canadian conference on electrical and computer
engineering, CCECE '06, May 2006. p. 823–7.
[33] Stephens MA, Manzine C, Good MC. Explicit model predictive control for
reference tracking on an industrial machine tool. In: 18th IFAC World
congress, Milano, Italy, August 28–September 2, 2011. p. 14513–8.
[34] Bemporad A, Morarai M, Ricker NM. User's guide: model predictive control
toolbox. In: Matlab: the language of technical computing, R2013a 〈www.
mathworks.com〉; 2013.
M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 167

Mais conteúdo relacionado

Semelhante a Using OPC technology to support the study of advanced process control

Ieeepro techno solutions 2013 ieee embedded project an integrated design fr...
Ieeepro techno solutions   2013 ieee embedded project an integrated design fr...Ieeepro techno solutions   2013 ieee embedded project an integrated design fr...
Ieeepro techno solutions 2013 ieee embedded project an integrated design fr...srinivasanece7
 
Solving big data challenges for enterprise application
Solving big data challenges for enterprise applicationSolving big data challenges for enterprise application
Solving big data challenges for enterprise applicationTrieu Dao Minh
 
Evaluation of interoperability between automation systems using multi-criteri...
Evaluation of interoperability between automation systems using multi-criteri...Evaluation of interoperability between automation systems using multi-criteri...
Evaluation of interoperability between automation systems using multi-criteri...MaiconSaturno1
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A SurveyIRJET Journal
 
SPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperSPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperItris Automation Square
 
Report on Enviorment Panel Monitoring
Report on Enviorment Panel MonitoringReport on Enviorment Panel Monitoring
Report on Enviorment Panel MonitoringMohammed Irshad S K
 
Integration of real time software modules for reconfigurable sens
Integration of real time software modules for reconfigurable sensIntegration of real time software modules for reconfigurable sens
Integration of real time software modules for reconfigurable sensPham Ngoc Long
 
ScriptRock Robotics Testing
ScriptRock Robotics TestingScriptRock Robotics Testing
ScriptRock Robotics TestingCloudCheckr
 
Quasi-Static Evaluation of a Modular and Reconfigurable Manufacturing Cell
Quasi-Static Evaluation of a Modular and Reconfigurable Manufacturing CellQuasi-Static Evaluation of a Modular and Reconfigurable Manufacturing Cell
Quasi-Static Evaluation of a Modular and Reconfigurable Manufacturing CellHillary Green
 
An Overview of Workflow Management on Mobile Agent Technology
An Overview of Workflow Management on Mobile Agent TechnologyAn Overview of Workflow Management on Mobile Agent Technology
An Overview of Workflow Management on Mobile Agent TechnologyIJERA Editor
 
Simulation-based fault-tolerant multiprocessors system
Simulation-based fault-tolerant multiprocessors systemSimulation-based fault-tolerant multiprocessors system
Simulation-based fault-tolerant multiprocessors systemTELKOMNIKA JOURNAL
 
An Algorithm Based Simulation Modeling For Control of Production Systems
An Algorithm Based Simulation Modeling For Control of Production SystemsAn Algorithm Based Simulation Modeling For Control of Production Systems
An Algorithm Based Simulation Modeling For Control of Production SystemsIJMER
 
Integration of queuing network and idef3 for business process analysis
Integration of queuing network and idef3 for business process analysisIntegration of queuing network and idef3 for business process analysis
Integration of queuing network and idef3 for business process analysisPatricia Tavares Boralli
 
Controller selection in software defined networks using best-worst multi-crit...
Controller selection in software defined networks using best-worst multi-crit...Controller selection in software defined networks using best-worst multi-crit...
Controller selection in software defined networks using best-worst multi-crit...journalBEEI
 
Iaetsd pinpointing performance deviations of subsystems in distributed
Iaetsd pinpointing performance deviations of subsystems in distributedIaetsd pinpointing performance deviations of subsystems in distributed
Iaetsd pinpointing performance deviations of subsystems in distributedIaetsd Iaetsd
 
Svm Classifier Algorithm for Data Stream Mining Using Hive and R
Svm Classifier Algorithm for Data Stream Mining Using Hive and RSvm Classifier Algorithm for Data Stream Mining Using Hive and R
Svm Classifier Algorithm for Data Stream Mining Using Hive and RIRJET Journal
 

Semelhante a Using OPC technology to support the study of advanced process control (20)

Ieeepro techno solutions 2013 ieee embedded project an integrated design fr...
Ieeepro techno solutions   2013 ieee embedded project an integrated design fr...Ieeepro techno solutions   2013 ieee embedded project an integrated design fr...
Ieeepro techno solutions 2013 ieee embedded project an integrated design fr...
 
Solving big data challenges for enterprise application
Solving big data challenges for enterprise applicationSolving big data challenges for enterprise application
Solving big data challenges for enterprise application
 
p850-ries
p850-riesp850-ries
p850-ries
 
Evaluation of interoperability between automation systems using multi-criteri...
Evaluation of interoperability between automation systems using multi-criteri...Evaluation of interoperability between automation systems using multi-criteri...
Evaluation of interoperability between automation systems using multi-criteri...
 
PID2143641
PID2143641PID2143641
PID2143641
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 
Journals analysis ppt
Journals analysis pptJournals analysis ppt
Journals analysis ppt
 
SPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperSPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paper
 
Report on Enviorment Panel Monitoring
Report on Enviorment Panel MonitoringReport on Enviorment Panel Monitoring
Report on Enviorment Panel Monitoring
 
Integration of real time software modules for reconfigurable sens
Integration of real time software modules for reconfigurable sensIntegration of real time software modules for reconfigurable sens
Integration of real time software modules for reconfigurable sens
 
ScriptRock Robotics Testing
ScriptRock Robotics TestingScriptRock Robotics Testing
ScriptRock Robotics Testing
 
Quasi-Static Evaluation of a Modular and Reconfigurable Manufacturing Cell
Quasi-Static Evaluation of a Modular and Reconfigurable Manufacturing CellQuasi-Static Evaluation of a Modular and Reconfigurable Manufacturing Cell
Quasi-Static Evaluation of a Modular and Reconfigurable Manufacturing Cell
 
An Overview of Workflow Management on Mobile Agent Technology
An Overview of Workflow Management on Mobile Agent TechnologyAn Overview of Workflow Management on Mobile Agent Technology
An Overview of Workflow Management on Mobile Agent Technology
 
Simulation-based fault-tolerant multiprocessors system
Simulation-based fault-tolerant multiprocessors systemSimulation-based fault-tolerant multiprocessors system
Simulation-based fault-tolerant multiprocessors system
 
An Algorithm Based Simulation Modeling For Control of Production Systems
An Algorithm Based Simulation Modeling For Control of Production SystemsAn Algorithm Based Simulation Modeling For Control of Production Systems
An Algorithm Based Simulation Modeling For Control of Production Systems
 
Profile tulasi v1.1
Profile tulasi v1.1Profile tulasi v1.1
Profile tulasi v1.1
 
Integration of queuing network and idef3 for business process analysis
Integration of queuing network and idef3 for business process analysisIntegration of queuing network and idef3 for business process analysis
Integration of queuing network and idef3 for business process analysis
 
Controller selection in software defined networks using best-worst multi-crit...
Controller selection in software defined networks using best-worst multi-crit...Controller selection in software defined networks using best-worst multi-crit...
Controller selection in software defined networks using best-worst multi-crit...
 
Iaetsd pinpointing performance deviations of subsystems in distributed
Iaetsd pinpointing performance deviations of subsystems in distributedIaetsd pinpointing performance deviations of subsystems in distributed
Iaetsd pinpointing performance deviations of subsystems in distributed
 
Svm Classifier Algorithm for Data Stream Mining Using Hive and R
Svm Classifier Algorithm for Data Stream Mining Using Hive and RSvm Classifier Algorithm for Data Stream Mining Using Hive and R
Svm Classifier Algorithm for Data Stream Mining Using Hive and R
 

Mais de ISA Interchange

An optimal general type-2 fuzzy controller for Urban Traffic Network
An optimal general type-2 fuzzy controller for Urban Traffic NetworkAn optimal general type-2 fuzzy controller for Urban Traffic Network
An optimal general type-2 fuzzy controller for Urban Traffic NetworkISA Interchange
 
Embedded intelligent adaptive PI controller for an electromechanical system
Embedded intelligent adaptive PI controller for an electromechanical  systemEmbedded intelligent adaptive PI controller for an electromechanical  system
Embedded intelligent adaptive PI controller for an electromechanical systemISA Interchange
 
State of charge estimation of lithium-ion batteries using fractional order sl...
State of charge estimation of lithium-ion batteries using fractional order sl...State of charge estimation of lithium-ion batteries using fractional order sl...
State of charge estimation of lithium-ion batteries using fractional order sl...ISA Interchange
 
Fractional order PID for tracking control of a parallel robotic manipulator t...
Fractional order PID for tracking control of a parallel robotic manipulator t...Fractional order PID for tracking control of a parallel robotic manipulator t...
Fractional order PID for tracking control of a parallel robotic manipulator t...ISA Interchange
 
Fuzzy logic for plant-wide control of biological wastewater treatment process...
Fuzzy logic for plant-wide control of biological wastewater treatment process...Fuzzy logic for plant-wide control of biological wastewater treatment process...
Fuzzy logic for plant-wide control of biological wastewater treatment process...ISA Interchange
 
Design and implementation of a control structure for quality products in a cr...
Design and implementation of a control structure for quality products in a cr...Design and implementation of a control structure for quality products in a cr...
Design and implementation of a control structure for quality products in a cr...ISA Interchange
 
Model based PI power system stabilizer design for damping low frequency oscil...
Model based PI power system stabilizer design for damping low frequency oscil...Model based PI power system stabilizer design for damping low frequency oscil...
Model based PI power system stabilizer design for damping low frequency oscil...ISA Interchange
 
A comparison of a novel robust decentralized control strategy and MPC for ind...
A comparison of a novel robust decentralized control strategy and MPC for ind...A comparison of a novel robust decentralized control strategy and MPC for ind...
A comparison of a novel robust decentralized control strategy and MPC for ind...ISA Interchange
 
Fault detection of feed water treatment process using PCA-WD with parameter o...
Fault detection of feed water treatment process using PCA-WD with parameter o...Fault detection of feed water treatment process using PCA-WD with parameter o...
Fault detection of feed water treatment process using PCA-WD with parameter o...ISA Interchange
 
Model-based adaptive sliding mode control of the subcritical boiler-turbine s...
Model-based adaptive sliding mode control of the subcritical boiler-turbine s...Model-based adaptive sliding mode control of the subcritical boiler-turbine s...
Model-based adaptive sliding mode control of the subcritical boiler-turbine s...ISA Interchange
 
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...ISA Interchange
 
An artificial intelligence based improved classification of two-phase flow patte...
An artificial intelligence based improved classification of two-phase flow patte...An artificial intelligence based improved classification of two-phase flow patte...
An artificial intelligence based improved classification of two-phase flow patte...ISA Interchange
 
New Method for Tuning PID Controllers Using a Symmetric Send-On-Delta Samplin...
New Method for Tuning PID Controllers Using a Symmetric Send-On-Delta Samplin...New Method for Tuning PID Controllers Using a Symmetric Send-On-Delta Samplin...
New Method for Tuning PID Controllers Using a Symmetric Send-On-Delta Samplin...ISA Interchange
 
Load estimator-based hybrid controller design for two-interleaved boost conve...
Load estimator-based hybrid controller design for two-interleaved boost conve...Load estimator-based hybrid controller design for two-interleaved boost conve...
Load estimator-based hybrid controller design for two-interleaved boost conve...ISA Interchange
 
Effects of Wireless Packet Loss in Industrial Process Control Systems
Effects of Wireless Packet Loss in Industrial Process Control SystemsEffects of Wireless Packet Loss in Industrial Process Control Systems
Effects of Wireless Packet Loss in Industrial Process Control SystemsISA Interchange
 
Fault Detection in the Distillation Column Process
Fault Detection in the Distillation Column ProcessFault Detection in the Distillation Column Process
Fault Detection in the Distillation Column ProcessISA Interchange
 
Neural Network-Based Actuator Fault Diagnosis for a Non-Linear Multi-Tank System
Neural Network-Based Actuator Fault Diagnosis for a Non-Linear Multi-Tank SystemNeural Network-Based Actuator Fault Diagnosis for a Non-Linear Multi-Tank System
Neural Network-Based Actuator Fault Diagnosis for a Non-Linear Multi-Tank SystemISA Interchange
 
A KPI-based process monitoring and fault detection framework for large-scale ...
A KPI-based process monitoring and fault detection framework for large-scale ...A KPI-based process monitoring and fault detection framework for large-scale ...
A KPI-based process monitoring and fault detection framework for large-scale ...ISA Interchange
 
An adaptive PID like controller using mix locally recurrent neural network fo...
An adaptive PID like controller using mix locally recurrent neural network fo...An adaptive PID like controller using mix locally recurrent neural network fo...
An adaptive PID like controller using mix locally recurrent neural network fo...ISA Interchange
 
A method to remove chattering alarms using median filters
A method to remove chattering alarms using median filtersA method to remove chattering alarms using median filters
A method to remove chattering alarms using median filtersISA Interchange
 

Mais de ISA Interchange (20)

An optimal general type-2 fuzzy controller for Urban Traffic Network
An optimal general type-2 fuzzy controller for Urban Traffic NetworkAn optimal general type-2 fuzzy controller for Urban Traffic Network
An optimal general type-2 fuzzy controller for Urban Traffic Network
 
Embedded intelligent adaptive PI controller for an electromechanical system
Embedded intelligent adaptive PI controller for an electromechanical  systemEmbedded intelligent adaptive PI controller for an electromechanical  system
Embedded intelligent adaptive PI controller for an electromechanical system
 
State of charge estimation of lithium-ion batteries using fractional order sl...
State of charge estimation of lithium-ion batteries using fractional order sl...State of charge estimation of lithium-ion batteries using fractional order sl...
State of charge estimation of lithium-ion batteries using fractional order sl...
 
Fractional order PID for tracking control of a parallel robotic manipulator t...
Fractional order PID for tracking control of a parallel robotic manipulator t...Fractional order PID for tracking control of a parallel robotic manipulator t...
Fractional order PID for tracking control of a parallel robotic manipulator t...
 
Fuzzy logic for plant-wide control of biological wastewater treatment process...
Fuzzy logic for plant-wide control of biological wastewater treatment process...Fuzzy logic for plant-wide control of biological wastewater treatment process...
Fuzzy logic for plant-wide control of biological wastewater treatment process...
 
Design and implementation of a control structure for quality products in a cr...
Design and implementation of a control structure for quality products in a cr...Design and implementation of a control structure for quality products in a cr...
Design and implementation of a control structure for quality products in a cr...
 
Model based PI power system stabilizer design for damping low frequency oscil...
Model based PI power system stabilizer design for damping low frequency oscil...Model based PI power system stabilizer design for damping low frequency oscil...
Model based PI power system stabilizer design for damping low frequency oscil...
 
A comparison of a novel robust decentralized control strategy and MPC for ind...
A comparison of a novel robust decentralized control strategy and MPC for ind...A comparison of a novel robust decentralized control strategy and MPC for ind...
A comparison of a novel robust decentralized control strategy and MPC for ind...
 
Fault detection of feed water treatment process using PCA-WD with parameter o...
Fault detection of feed water treatment process using PCA-WD with parameter o...Fault detection of feed water treatment process using PCA-WD with parameter o...
Fault detection of feed water treatment process using PCA-WD with parameter o...
 
Model-based adaptive sliding mode control of the subcritical boiler-turbine s...
Model-based adaptive sliding mode control of the subcritical boiler-turbine s...Model-based adaptive sliding mode control of the subcritical boiler-turbine s...
Model-based adaptive sliding mode control of the subcritical boiler-turbine s...
 
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
 
An artificial intelligence based improved classification of two-phase flow patte...
An artificial intelligence based improved classification of two-phase flow patte...An artificial intelligence based improved classification of two-phase flow patte...
An artificial intelligence based improved classification of two-phase flow patte...
 
New Method for Tuning PID Controllers Using a Symmetric Send-On-Delta Samplin...
New Method for Tuning PID Controllers Using a Symmetric Send-On-Delta Samplin...New Method for Tuning PID Controllers Using a Symmetric Send-On-Delta Samplin...
New Method for Tuning PID Controllers Using a Symmetric Send-On-Delta Samplin...
 
Load estimator-based hybrid controller design for two-interleaved boost conve...
Load estimator-based hybrid controller design for two-interleaved boost conve...Load estimator-based hybrid controller design for two-interleaved boost conve...
Load estimator-based hybrid controller design for two-interleaved boost conve...
 
Effects of Wireless Packet Loss in Industrial Process Control Systems
Effects of Wireless Packet Loss in Industrial Process Control SystemsEffects of Wireless Packet Loss in Industrial Process Control Systems
Effects of Wireless Packet Loss in Industrial Process Control Systems
 
Fault Detection in the Distillation Column Process
Fault Detection in the Distillation Column ProcessFault Detection in the Distillation Column Process
Fault Detection in the Distillation Column Process
 
Neural Network-Based Actuator Fault Diagnosis for a Non-Linear Multi-Tank System
Neural Network-Based Actuator Fault Diagnosis for a Non-Linear Multi-Tank SystemNeural Network-Based Actuator Fault Diagnosis for a Non-Linear Multi-Tank System
Neural Network-Based Actuator Fault Diagnosis for a Non-Linear Multi-Tank System
 
A KPI-based process monitoring and fault detection framework for large-scale ...
A KPI-based process monitoring and fault detection framework for large-scale ...A KPI-based process monitoring and fault detection framework for large-scale ...
A KPI-based process monitoring and fault detection framework for large-scale ...
 
An adaptive PID like controller using mix locally recurrent neural network fo...
An adaptive PID like controller using mix locally recurrent neural network fo...An adaptive PID like controller using mix locally recurrent neural network fo...
An adaptive PID like controller using mix locally recurrent neural network fo...
 
A method to remove chattering alarms using median filters
A method to remove chattering alarms using median filtersA method to remove chattering alarms using median filters
A method to remove chattering alarms using median filters
 

Último

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 

Último (20)

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Using OPC technology to support the study of advanced process control

  • 1. Using OPC technology to support the study of advanced process control$ Magdi S. Mahmoud n , Muhammad Sabih, Moustafa Elshafei Systems Engineering Department, King Fahd University of Petroleum and Minerals, P. O. Box 5067, Dhahran 31261, Saudi Arabia a r t i c l e i n f o Article history: Received 4 December 2012 Received in revised form 13 July 2014 Accepted 18 July 2014 Available online 18 February 2015 This paper was recommended for publica- tion by Prof. A.B. Rad Keywords: OPC (OLE for Process Control/Open Process Control) Distributed control systems OPC client OPC server LabVIEW MATLAB a b s t r a c t OPC, originally the Object Linking and Embedding (OLE) for Process Control, brings a broad commu- nication opportunity between different kinds of control systems. This paper investigates the use of OPC technology for the study of distributed control systems (DCS) as a cost effective and flexible research tool for the development and testing of advanced process control (APC) techniques in university research centers. Co-Simulation environment based on Matlab, LabVIEW and TCP/IP network is presented here. Several implementation issues and OPC based client/server control application have been addressed for TCP/IP network. A nonlinear boiler model is simulated as OPC server and OPC client is used for closed loop model identification, and to design a Model Predictive Controller. The MPC is able to control the NOx emissions in addition to drum water level and steam pressure. & 2014 ISA. Published by Elsevier Ltd. All rights reserved. 1. Introduction 1.1. Motivation In process automation, the control objectives have evolved from physical parameter control at regulatory control level to corporate levels, where the economic, financial, international or national standards and environmental constraints play vital role. Each of the mentioned objectives is owned by the concerned department in the automation industry, and therefore, the control objectives and functions are defined at several hierarchical levels. These distributed objectives in a plant environment are illustrated in the Fig. 1. This hierarchical and distributed nature of today's plant automation objectives requires advanced techniques, com- monly called by research community as advanced process control (APC), to take care of the overall objectives. Distributed nature of the automation systems, on the other hand, requires standard way of communication and data exchange with several types of tags. APC takes care of the overall control objectives and constraints while, OPC can be used to exchange the various types of data in a distributed control system (DCS) environment to implement and maintain an efficient APC technique [8]. This work shows the integration of important tools like MATLAB and LabVIEW along with Matrikon OPC server. The setup is important for academic and research community interested in advanced process control and networked control systems. It is important to notice that the research on APC and NCS are not worthy or convincing to practitioners and industry if only pre- sented with simulation tool. In this work, well-known simulation and research tools (i.e., MATLAB and LabVIEW) are integrated along with real OPC server which is Matrikon's OPC server and Ethernet. Research over APC techniques and Networked Control System tested in the presented scenario will be more convincing to the industry community and is near to the industry needs. 1.2. Contribution of the paper This paper presents a way to develop a rich dynamic environ- ment for academic research based on Matlab and LabVIEW integrated with OPC standard. The major contribution of the paper is the development of a cascaded MPC-PID controller for a non- linear boiler system that can track the setpoints of a boiler model, in addition of controlling the NOx output to the desired level. The subsequent learning outcomes can be described as follows: Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/isatrans ISA Transactions http://dx.doi.org/10.1016/j.isatra.2014.07.013 0019-0578/& 2014 ISA. Published by Elsevier Ltd. All rights reserved. $ This work is supported by the deanship for scientific research (DSR) at KFUPM through group research project RG-1316-1. n Corresponding author. E-mail addresses: msmahmoud@kfupm.edu.sa (M.S. Mahmoud), msabih@kfupm.edu.sa (M. Sabih), elshafei@kfupm.edu.sa (M. Elshafei). ISA Transactions 55 (2015) 155–167
  • 2. development of co-simulation environment based on LabVIEW and MATLAB [5] to run continuously a closed-loop plant model, deployment of the plant model as OPC based periodic server that can be interfaced with any OPC compliant client for conducting remote identification, modeling, and designing of any advanced process control technique, development of remote HMI to support conducting identification tests, and to test developed controllers over the closed-loop plant model. 1.3. Brief introduction to OPC technology The OPC Task Force released the first specification for OPC in 1995 with the help of its industrial members and support and consultation of Microsoft [1]. The initial members of OPC Task Force were Fisher-Rosemount (now Emerson Process Manage- ment), Intellution (now part of GE Fanuc), Intuitive Technology (now part of Wizcon Systems), OPTO 22, and Rockwell Software. With the collective opinion of industry, the OPC Task Force was replaced with an independent, non-profit organization to be called the OPC Foundation (www.opcfoundation.org). Since 1996, OPC Foundation brought widespread collaborative work and demon- strations and now OPC has confirmed it as the industry standard. OPC is an open standard for distributed control systems. The classical OPC is based on Microsoft's Distributed Components Object Model (DCOM) service for communication and exchange of data between distributed client/server models. 1.3.1. OPC technology for heterogeneous systems The interconnection of heterogeneous control networks raises technical difficulties and is a subject of concern in enterprise information construction. In [2], OPC technology has been applied in interconnection between two heterogeneous control networks of Profibus-DP fieldbus system based on SIMATIC S7-400 PLC and CENTUM CS3000 DCS from Yokogawa. Their application imple- ments the data communication of production control information, and virtual integration of sewage system. Such kind of technical strategy can provide significant research opportunity to develop similar subjects in process industry with higher extending value. Using OPC as the main communication protocol seems to be a big advantage for data transfer in a heterogeneous system. As shown in Fig. 2, OPC acts as the common interface for mutual communication among different devices used for data collection from technological process (Measurex, SIEMENS, ABB, Valmet), and liberates from dependence of specific monitoring software (Genesis32, PI System database) on manufacturer of controller systems (PLCs) [3]. Fig. 3 illustrates the use of OPC technology to interconnect multi-tire systems. The outline of the paper goes as follows. Literature review is provided in Section 2. OPC specifications are discussed in Section 3. Section 4 highlights the topic of APC in the context of this paper by illustrating an example of distributed boiler system. The studied problem is described from mathematical analysis and procedure in Section 5. Section 6 describes the analytical framework used for modeling, simulation and control design. Section 7 describes the network-in-the-loop simulation setup over real network based on OPC connectivity. This paper ends with concluding remarks in Section 8. 2. Literature review OPC provides a common standard for software interfacing enab- ling horizontal integration of the automation solutions through communication between the distributed components. Efficiency and cost savings are achieved through the reuse of software components and the flexible compilation of such components into distributed automation solutions [7]. The investigation of OPC based APC in a Distributed Control System environment shows potentially several research directions. Our aim is to present the use of OPC connectivity as an opportunity to study, design and test advanced process control techniques using well established research tools. This pro posed technique is based on the network-in-the-loop (NIL) sim ulation with the OPC connectivity. The use of real network for OPC connectivity between the design and simulation tools (i.e., MATLAB and LabVIEW) enable to conduct data acquisition, identification test, offline design of APC controllers and testing over the real OPC connectivity in line of practical solutions for process industry. The need of advanced control techniques for economic benefits has been felt since the distributed control systems were deployed. Implementation of advanced control techniques along with the standard regulatory controls in distributed environment requires a DCS to have increased functional capabilities, better interfaces, and ease of configuration [9]. OPC can be included in the overall control strategy for building quality estimators to substitute for analyzers. The use of OPC technology in a distributed environment besides the regulatory control has demonstrated its potential to increase company's profits and maintain its competitive edge. Economy and environmental concerns are the main two driv- ing forces in the development of advanced process control besides the stable and quality controlled operation. In [10], authors have conducted a survey on the economic assessment of process control with the help of over 60 industrial APC experts. Openness and smooth connectivity has been seen as the key issue in implementing advanced monitoring and control strategies in distributed heterogeneous system. The issue of openness has been discussed critically in [12] by examining different vendors. The DCS were not very open (see the study of [12]) as of middle of 90s, but the use of OPC technology bridge the gap and make the systems talk each other in a distributed DCS environment. As of today, every DCS system offers OPC based modules integrated for better connectivity, which can be used without knowing the specific programming details of the specific DCS system. Such OPC based connectivity can bring cost effective desired function- ality and availability in a system. In [13], OPC based controller performance monitoring technol- ogy is introduced for industrial applications. The main components Plant wide Optimization & International and Local Environmental Laws Production Unit Optimization Advanced Control Regulatory Control Sensors / Actuators Controller Setpoints Meeting Operation Objectives Optimum operation, & Environmental requirements Dataandmodelbaseddecisions Fig. 1. Overview of plant control and optimization at different layers. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167156
  • 3. covered by [13] include data collection, system identification and control valve stiction monitoring, and performance monitoring of MPC. In [14], process-model is implemented in Matlab/Simulink and controller is implemented in ABB's commercial OPC-MMS (Manu- facturing Message Specifications) server. The connection between these two is through a gateway. ABB has its own OPC-MMS server that makes it possible to write and read global MMS variables from the controller. The OPC-MMS server acts as a MMS client to the controller that it is connected to. Then the OPC-MMS server converts the global MMS-variables from the controller to OPC items that can be read/write from OPC-clients. In [15], a tutorial is provided for the OPC based applications in Labview environment. It should be noted that LabVIEW supports only the OPC Data Access specification [15]. The tutorial discussed the use of new Compact Field Points from the National Instru- ments. The importance of using standard components in automa- tion industry has been discussed in [6] with detailed OPC Specification. The focus in [6] was on the automation software integration based on OPC standards in view of the multi-tire architecture of industrial automation system. Experimental validation of PID based cascade control system through different architectures including SCADA, PLC, OPC and Internet architectures has been addressed recently in [16]. The performance and effectiveness of individual architecture is eval- uated on the basis of data rate, rise time, peak time and settling time. In this setup, a PID controller is implemented on Micrologix- 1200 PLC and RSView-32 SCADA has been used with RSLinx communication software. The control loop for SCADA-PLC is implemented with the functionalities such as real time data analysis, set point modifications, automatic report generation and integration of data with MS-Excel and MS-Access. The Internet has become an indispensable technology in today's globalized world. Besides the many conveniences to every- day life, Internet has also become indispensable for process control systems [17]. Integration of OPC technology and Internet is quite straightforward, and thus brings many facets of improved archi- tecture for monitoring and control applications in economical way. A web-based distributed OPC system has been developed for remote control and monitoring in [17]. The described system consists of N different local control units over the Internet realizing a distributed OPC (DOPC). Every local control unit can control and monitor every other control point in the DOPC architecture. The architecture permits different OPC-based process control architectures to realize a distributed and heterogeneous system. Dynamic web page which is constructed using Active Server Pages (ASP) are used for remote control and monitoring. OPC based remote real-time communication between MATLAB and PLC (Siemens S7-300) has been reported in [18] on the Ethernet. This setup indicates that the function of exchanging Fig. 2. An example of using OPC technology for the interconnection of heterogeneous systems [3]. Fig. 3. Using OPC technology to interconnect multi-tire systems [4]. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 157
  • 4. remote real-time data can be attained between MATLAB and S7-300 PLC through OPC server, and shows that it is an effective and feasible method to realize the real-time remote communica- tion between MATLAB and PLC. Such a method can be used to realize data process and advanced control in industry to improve the quality of control, safety, optimization and to comply with standards. MATLAB OPC Toolbox simplifies the process of devel- opment and provides an effective method to realize the remote real-time communication between MATLAB and process devices having OPC connectivity. With the set up discussed in [18], one can realize advanced control of complicated industrial process based on network environment to devise improved control, economic operation and to comply with environmental standards. Remote control over Ethernet is demonstrated for an induction drive system using OPC technology in [19]. This set up uses OMRON PLC, LabVIEW and NI OPC server which has OMRON Ethernet driver that allow the communication between OMRON PLC with LabVIEW. A cost effective OPC based application is reported in [20] for a boiler system. This setup uses OPC technology, MATLAB interface (working as OPC client), and Siemens configuration software WinCC (working as OPC server). Control algorithm (at OPC client) developed in Simulink communicate with OPC DA server of industrial control software WinCC. Such setups offer a new way of thinking for application of intelligent control algorithm in industrial process control [20]. The importance of simulators to facilitate the execution of engineering activities of control systems is discussed in [21]. Simulation tools offered by the main DCS suppliers (ABB's Simpow and Simcomx ITS, Delta V/Emerson's Delta V Simulate, Foxboro/ Invensys's FSIM, Honeywell's Shadow plant, Siemens's SIMIT and SIVAT, and Triconex's TRISIM) include the OPC connection that enable one to include real time system into the simulators [21]. Industrial systems are designed for robustness, and typically have limited possibilities for research, optimization, testing and simulation [22]. Co-simulation environment based on OPC tech- nology and numerical simulation package like MATLAB can pro- vide good learning and research opportunity. Educational examples of OPC-driven data exchange between MATLAB and PLC-controlled Systems is discussed in [22]. A solution is discussed in [22] on how to connect an existing system to the Matlab environment by using the OPC. Through an OPC connection, the process data can be used for the analyses and optimization of procedures, early fault detection and diagnosis, further data processing or data documentation. Persin et al. [22] presented an example where synchronous reading is used for the ‘worst case’ scenario. In this scenario each piece of data changes every time and the same computer run a server, two clients, as well as the SCADA and Matlab software. The OPC based real time simulators are beneficial for the training of engineers and operators in industry [22]. In [23], the practical design and implementation of a network-based cascade control system on a real lab pilot plant using alternative FB and NCS control approaches. A methodology for the development of distributed process simula- tion based on OPC for the complex continuous processes is presented in [24]. The distributed components are supposed to operate as OPC servers enclosing continuous simulations. The simulation method is applied to a large process simulator of a beet sugar factory used for control room operator training. The simulator includes a process simulation operating in a network of six computers, a SCADA system for operation on the process, an instructor console and the corre- sponding software for real time communication and synchronisation [24]. Several advantages of such simulation approach include: 1. independent development of the simulation from the commu- nication mechanisms, 2. wide range of applications can access the simulations, due to the standard use of OPC, 3. low cost and 4. large scale simulations support. OPC due to its several advantages has been adopted by most of the companies in the process control sector as a standard for communications among control and instrumentation equipment [24]. The simulator by [24] operates in the CTA, a joint research center between the University of Valladolid and AEA, a sugar company. Another application of OPC supported simulation environment is reported in [25]. The work in [25] is focused on developing a hardware-in-the-loop (HIL) system for a boiler-turbine process, employing decoupled adaptive control based on gain scheduling technique. Simulation environment for the boiler-turbine process is carried out in Labview running on a PC under a general purpose operating system. Communication is provided by an NI OPC server at the software level, while Industrial Ethernet is used at the physical level. 3. OPC—specifications and tools OLE for Process Control (OPC), also known as Open Process Control, and as Openness, Productivity, and Connectivity, is a series of specifications defined by the OPC Foundation for supporting open connectivity in industrial automation [1]. OPC has been designed to serve the need for reliable communication of informa- tion in process and manufacturing industry, such as a petrochemical refinery, an automobile assembly line, or a paper mill [7]. The OPC Foundation portfolio of standards includes three core parts: OPC Classic (OPC DA, OPC HDA, OPC A&E), OPC Xi, and OPC Unified Architecture (OPC UA). 3.1. OPC Classic Classical OPC was based on client/server model and uses Microsoft ActiveX and DCOM technology to provide a commu- nication link between OPC servers and OPC clients. The OPC Foundation developed the first specification, called Data Access Specification 1.0a, in early 1996. Using this specification, vendors were able to quickly develop client/server software. OPC Data Access, or OPC DA, provides access to real time process data. Using OPC DA, a client requests the OPC server for the most recent values of flows, pressures, levels, temperatures, densities, and more [7]. OPC Historical Data Access, or OPC HDA, is used to retrieve and analyze historical process data, which is typically stored in a Process Data Archiver, database, or RTU. OPC Alarms and Events, or OPC A&E, is used to exchange process alarms and events. OPC Xi is a new addition to the OPC Foundation portfolio. 3.2. OPC Xi OPC Xi was produced as the result of collaboration of several OPC Foundation vendor companies to develop an easily integrated and secure OPC solution that provides a .Net (dot NET) migration path from OPC Classic. This is called OPC Express Interface (Xi). OPC Xi is based on Microsoft .NET technology [7]. 3.3. OPC UA The next generation of OPC technology is OPC Unified Architecture (OPC UA). OPC UA is based on the functionality of all the OPC Classic Specifications (OPC DA, OPC A&E, Commands, and Complex Data). OPC M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167158
  • 5. Unified Architecture is designed to be platform independent, scalable, secure, and provide high performance [7]. Core technologies for the new OPC developments include XML, SOAP and WebService. 4. Advanced process control The modern computer era also brings us other advanced non- linear and adaptive controllers, automation of supervisory real-time economic optimization of controller set points, computer perception and monitoring of status and health to trigger corrective actions, control of inferential variables, computer-based planning and sche- duling, supervisory process health analysis, fault detection and abnormal situation support, device function and reliability. There are advanced control versions for regulatory control, some- times also termed as ARC (Advanced Regulatory Control). ARC meth- ods include gain scheduling, ratio, cascade, feedforward, decouplers, override, and related and ancillary techniques such as anti-windup, bumpless transfer, PID modifications, and adaptive tuning techniques. APC (Advanced Process Control) has many meanings to the industrial and academic community. Within the model predictive control (MPC) community, APC means MPC [26]. Generally, any advanced control method, that is implemented over the traditional regulatory control for optimum performance, can be considered as an advanced process control. This paper is primarily focused on OPC based implementation to provide a platform for future studies in advanced process control, therefore APC is not discussed in detail. A good discussion of APC methods and their economic benefits can be found in [10,26] and references therein. Readers are referred to [10,26] for details discussion and economic benefits of APC methods. 4.1. OPC: cost effective way to APC Millions of dollars are invested in a typical process plant in terms of DCS and historians. Now, OPC standard is an integrated part of available DCS systems and also a part of academic and research tools (e.g., LabVIEW and MATLAB). Wide horizon of OPC tools covering the DCS systems and academic environment encourages to use OPC for return on the investment. This is economical in the sense that all the departments at the plant floor including production, engineering, maintenance, and management can have access to the historian via OPC standard even in case of different software systems. According to [27], OPC is the best economical and easiest way to study the plant behavior and to find the points where the operation can be exploited for better operation. 5. Mathematical analysis Consider a nonlinear dynamic system, _xðtÞ ¼ f ðxðtÞ; uðtÞÞ; xðt0Þ ¼ x0 ð1Þ where xARn and uARm are the state and control vectors respec- tively. Suppose that the control input is constraint to a compact and convex set U , i.e., uðtÞAU. Generally, the MPC problem can be stated as (see [28]): for any state x at time t, find a continuous function uðτ; xðtÞÞ : ½t; tþTŠ-U, in a moving horizon time frame, T, such that the performance index J ¼ gðxðtþTÞÞþ Z T 0 xðtþτÞT QxðtþτÞ þuðtþτ; xðtÞÞT Ruðtþτ; xðtÞÞ dτ ð2Þ is minimized where Q Z0; R40. Then the MPC law is determined by uðtÞ ¼ uðt : xðtÞÞ. To establish the stability notion, we followed from [28] that the system in (1) obeys the following assumptions: 5.1. Assumptions 1. Let the function f : Rn  Rm -Rn be twice continuously differ- entiable and f ð0; 0Þ ¼ 0 is an equilibrium point with u¼0. 2. g(x) in (2) is continuously differentiable function of x, and gð0Þ ¼ 0; gðxÞ40 for all xARn ; xa0. 3. The system (1) has a unique solution for initial condition x0 ARn and any piece-wise continuous and right-continuous. 4. The nonzero state of the system is detectable in the cost. 5. All the states are available for the control. Theorem 1. Suppose that Assumptions 1–5 are satisfied and the MPC algorithm is feasible at time t ¼ t0. Then the MPC algorithm for system (1) is asymptotically stable if there exists control u(t) such that the following condition is satisfied: ∂gðxÞ ∂x f ðx; uÞþxT QxþuT Rur0 ð3Þ for any state x belonging to the terminal region. Proof. See [28] for proof. □ It has also been shown in [31] that the terminal constraints in the MPC formulation ensure stability. Remark. It has been mentioned in the literature on MPC that often there is no theoretical proof of stability for industrial MPCs. Simulations are used to check stability and performance [29]. This is inline of what we have accomplished. 5.2. Procedure The overall procedure can be listed as below: Step 1 – Modeling, Control and Simulation: Assume that a plant _x ¼ f ðx; uÞ is given, with the control u ¼ gðx; uÞ ensuring closed loop stable system. The system is stabilized with the local PID controllers for stable set point tracking. This closed-loop plant is simulated to run continuously using LabVIEW's periodic server capability. Deploy the closed-loop plant simulation as OPC server which makes the selected process variables avail- able to OPC client applications over the network. Step 2 – Identification: The input–output data of the continuously running simulated plant is accessed via OPC connection to identify an ARX model of the plant. Small step testing is conducted around the operating point which is close to the real practice in industry. The identified MIMO ARX model is represented by (4)–(6). Step 3 – MPC Design: The identified model in Step 2 is used to design an MPC controller. The MPC takes into account the disturbance variable (steam demand in the example studied) and the NOx which are not cared by the low-level PID controllers. Step 4 – Testing of MPC: The designed MPC is tested over the existing PID controlled plant over the OPC connectivity. This cascaded MPC-PID control will result in improved disturbance rejection and control over the emission of NOx while the set-point tracking for drum pressure and drum level are satisfactory. 6. Analytical framework This section discusses the analytical framework considered in this paper. This framework can be defined in the following major categories: (1) continuous plant simulation, (2) OPC tools for data M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 159
  • 6. connectivity, (3) identification of closed loop system, and (4) adv- anced process control design. Practically, process plant are in continuous operation when disturbances (both measured and unmeasured) affect the output of the process. The effect of drifts, ageing and noise in sensing and actuation devices also affect the plant operation. These facts drive the operation people to find some optimum way to bring the process plant to optimum performance without stopping the plant or affecting the operation too much. It is also tedious to re-tune the individual PID loop parameters throughout the plant. Due to the coupling, tuning of one PID may affect and de-tune another coupled loop. Model predictive control technique is one of the best advanced process control techniques to optimize the closed loop operation without changing PID parameters. MPC can be used with local PID loops in a cascade scheme to improve the overall performance and to meet the control objectives (see Fig. 4). To achieve the objectives of the paper, we have made a continuous plant simulation. LabVIEW is used to deploy the plant as periodic server with process variables defined as shared vari- ables. So, the important process variables are published for OPC clients. Matlab's simulink is used on another computer equipped with the OPC toolbox. The plant simulation is accessed from Matlab via OPC toolbox to make closed-loop identification of the continuous process. The identified model is then used to develop a Model Predictive Controller. This MPC controller can be tested back in Matlab's Simulink via OPC functions of the OPC toolbox. 6.1. Plant modelling, control and simulation Plant model used in this paper is a nonlinear boiler model originally proposed in [11]. The nonlinear model equations are discussed in Appendix A. The model has four inputs (qs, qf, Q, Excess Air), two outputs (steam pressure and drum water level) and four states (steam pressure, total volume of water (Vwt), steam-mass fraction in risers (αr), steam volume in drum, (Vsd)). Further research and studies around this model enabled researcher to propose estimator for the undesired outcome of boiler combustion which is Nitrogen Oxides, normally known as NOx. In this paper, the neural network based NOx estimator proposed by [32] is also used to estimate the NOx. With the addition of NOx estimator in the above boiler model, the output becomes (steam pressure, drum water level, and NOx). 6.2. Closed-loop identification The closed loop identification is based on the Matlab's Identi- fication Toolbox. First the data is collected via OPC connectivity. Then Matlab's ident is used to identify the MIMO model to be used in MPC formulation. In order to make similar to real scenario, a graphical user interface is designed on LabVIEW to conduct step testing, and data collection. The interface is designed rich for testing, monitoring and control. Fig. 5 shows the front panel of the overall configuration. The figure shows the closed loop boiler simulation which is running in LabVIEW (as OPC server), while MPC interface is in Matlab (as OPC client). Steps are applied on pressure setpoint, level setpoint, excess air and steam demand, and data is saved for identification. After several iterations, best available model (a MIMO ARX model) is selected for the design of MPC controller. Fig. 6 shows the validation of the identified model over a set of plant data. The plant model is identified as a multivariable ARX model with the following structure: A0nyðtÞþA1nyðt ÀTÞþ⋯þAnnyðtÀnTÞ ¼ B0nuðtÞþB1nuðtÀTÞþ⋯þBmnuðt ÀmTÞþeðtÞ ð4Þ The discrete transfer function model between an input and an output is represented by yðkÞnAðzÞ ¼ uðkÀdÞnBðzÞþe ð5Þ yðkÞ ¼ a0yðkÀ1Þþa1nyðkÀ2Þ⋯þb0uðkÀdÀ1Þ þb1uðkÀdÀ2Þ⋯þeðkÞ ð6Þ Matlab's ARX routine is used to solve A and B parameters to minimize the error between real output data and projected output data while assuming that the error signal is white noise. The considered framework is a cascaded configuration of MPC over PID control loops as shown in Fig. 4. For a clearer discussion, the process variables are given appropriately different symbols. In Fig. 4, SPMPC represent the setpoints at MPC controller, MVMPC represent the manipulated variables of MPC, CVMPC are the con- trolled variables from MPC point of view, while DVMPC represent the measured disturbance in MPC context. From PID aspect, SPPID represent the setpoints at the local PID controllers, UPID represent the control signals after PID controllers, YPID represent the output of the plant from PID point of view. Note that in the defined scenario, MVMPC ¼ SPPID and CVMPC ¼ YPID. 6.3. Model Predictive Control Before implementing MPC strategy, the terminologies of the process variables from MPC point of view should be reviewed. The commonly used description of the process variables in an MPC project include defining variables as MVs, DVs, SPs, and PVs. These terms are explained below: Plant PID ControllersMPC MVMPC SP PID UPID CVMPC SP MPC Setpoint at MPC Manipulated variable of MPC PID Setpoints Manipulated variables of PIDs Controlled variables of the plant Disturbance Variable DVMPC OPC based communication (e.g., via plant historian) YPID MPC defined variables: SPMPC, MVMPC, CVMPC, DVMPC PID defined variables: SP PID, UPID YPID. where, MVMPC =SP PID, and CVMPC = YPID Legends: Fig. 4. Block diagram of the advanced controller (MPC) over low level PID control loops. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167160
  • 7. Manipulated variables (MV): These are the variables that the controller can move (manipulate), for example set point of a low level flow PID controller, or a valve position. Controlled variables (CV): These are the variables that can be measured (Process Variables, PV) and have a target. The controller minimizes the difference (error) between the PV and the target value. Sometimes it is hard to have a direct measurement of process variable (e.g., NOx emission in case of boilers). Such variables can be treated as controlled variables while their measurement is indirect (e.g., using a softsensor). Feedforward variables or disturbance variables (DV): These are the variables available to the controller but the controller cannot manipulate or control them. But, taking them into prediction helps improve controller steps and good quality of control. Constraint variables or limit variables: These include measured variables which are controlled within limits. The good con- troller minimizes or eliminates the limit violations, thus extending the operation range of the plant. Predictive horizon: This is the number of prediction steps of the process output. Usually this should be large enough to capture the plant dynamics. Control horizon: This is usually a subset of the projected horizon when the controller adjusts the manipulated variables. Fig. 5. Front panel of the overall configuration. Closed loop boiler simulation in LabVIEW (as OPC server), while MPC in Matlab (as OPC client). 2000 4000 6000 8000 10000 12000 14000 44 46 48 y1. (sim) y1 arx551; measured data1; fit: 95.75% 2000 4000 6000 8000 10000 12000 14000 0.6 0.7 0.8 y2. (sim) y2 arx551; measured data1; fit: 70.14% 2000 4000 6000 8000 10000 12000 14000 80 100 120 y3. (sim) y3 arx551; measured data1; fit: 62.19% Fig. 6. Validation of the identified model on a data set from boiler model. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 161
  • 8. In the considered example of boiler, MVs are the setpoints of pressure, level, and excess air, PVs (CVs) are steam pressure, water level in the boiler, and Nitrogen Oxides as emission from boiler, DV is the steam demand. 6.4. MPC design for tracking In this work, the MPC formulation for setpoint tracking is based on [33,34]. In tracking, the control u is adjusted such that the output y tracks a time-varying set-point. The tracking accuracy depends on the plant characteristics, constraints on the system variables, and the accuracy of the input u to output y model. For MIMO plants, the challenge is to tune the controller to achieve multiple objectives. In case of several outputs to be controlled, the important outputs are prioritized for accurate setpoint tracking then the less important outputs when encounter the constraints. In MPC, optimization problem is solved much like the LQG optimal control except that the MPC optimization includes explicit con- straints on u and y and optimizes over a finite horizon. In setpoint tracking, the primary control objective is to drive the plant output to track their corresponding setpoints. Specifi- cally, the controller predicts how much each output will deviate from its setpoint within the prediction horizon. In optimization, controller multiplies each deviation by the output weight, and computes the weighted sum of the squared deviations. The optimization objective used in the MPC design for the setpoint tracking is given below: J ¼ ∑ P i ¼ 1 ∑ ny j ¼ 1 wy j ½srjðkþiÞÀyjðkþiÞŠ2 þ ∑ M i ¼ 1 ∑ nmv j ¼ 1 wΔu j ΔujðkþiÀ1Þ2 ð7Þ where k is the current sampling interval, kþi is a future sampling interval, P is the prediction horizon, ny is the number of the plant outputs, wj y is the weight for output j, ½rjðkþiÞÀyjðkþiÞŠ is the predicted deviation at future instant kþi, M is the control horizon, nmv is the number of manipulated variables, ΔujðkþiÀ1Þ is the prediction adjustment (i.e., move) in the manipulated variable j at future (or current) sampling interval kþiÀ1, and wΔu j is a weight, which must be zero or positive. If wy j owy i aj, the controller does its best to track rj, sacrificing ri tracking if necessary. If wy j ¼ 0, the controller completely ignores deviations rj Àyj. The weights are critical to tune the controller for desired behavior. The second term of the optimization cost is used by MPC controller to monitor the weighted sum of the controller adjust- ments. Increasing wΔu j forces the controller to make smaller, more cautions Δuj moves. The small control moves may result in degraded setpoint tracking in some cases. All the process control systems have some constraints to be satisfied for stable and safe operation. These constraints may be physical (e.g., actuator limits) or to ensure safety (e.g., low–low or high–high pressure and temperature limits). In addition to these constraints, there might be some soft-constraints related to the performance and optimum operation like overshoot. These con- straints can be incorporated into an MPC formulation according to the following categories: constraints on outputs: ymin ryrymax, constraints on the rate of control signal: Δumin rΔyrΔumax, constraints on the control signal: umin rurumax. The constraints of the considered boiler system are given below: Input constraints are: 30ru1ðPressure SetpointÞr80, 0:35ru2ðLevel SetpointÞr1, 3ru3ðExcess AirÞr25. Output constraints are: 35ry1ðPressureÞr70, 0:3ry2ðLevelÞr1, 0ry3ðNOxÞr100. 6.5. Stability tests Process plants are operated within safe limits to ensure stable and safe operation. The PID loops of the presented example are tuned for stable operation at the nominal operating points. The PIDs are also Fig. 7. Simulink block diagram showing OPC based MPC interface with closed-loop boiler model. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167162
  • 9. tested for tracking setpoints of pressure and level with satisfactory follow up. In the following lines, we discuss the closed-loop stability of the overall system when MPC is designed and implemented on the existing PID loops. One way to ensure stability of MPC controller is by adding terminal constraints and keeping the manipulated variables well into the prescribed limits [31]. MPC in the presented example is designed using Matlab's mpctool. This is a graphical user interface which allows rich environment to design a full MPC controller along with testing scenarios. In addition to this, there is a capability to review the MPC controller. After designing the MPC controller, “review” command is used to check the designed controller [34]. The designed controller passed all tests including the Controller Internal Stability Test, Closed-Loop Nominal Stability Test, and Hard MV Constraints Test. Online testing of the MPC controller showed that all process variables satisfy the constraints. 7. Network-in-the-loop (NIL) simulation setup This section describes the network-in-the-loop simulation setup of the studied example. This setup involves Boiler simula- tions and APC design over Ethernet network using two different computer systems. One computer system is running OPC server with a nonlinear Boiler simulations. OPC client is configured on another computer system over the Ethernet. The OPC client and server are built using LabVIEW's Shared Variable Engine. Second setup shows the integration of MATLAB, and LabVIEW on the same local host. This setup shows the complete picture of the distrib- uted control using OPC technology. 7.1. Boiler simulation setup over Ethernet This section describes the setting up of an OPC-based scenario for potential research in distributed control systems using com- munication networks. Softwares used are Mathwork's MATLAB and National Instruments LabVIEW and the communication net- work used is a shared TCP/IP Ethernet Network. This setup is developed with the help of MATLAB–LabVIEW based co-simulation environment to run a nonlinear plant simula- tion. An OPC server from National Instruments which is Shared Variable Engine is configured on the Simulation Computer. The OPC server is connected to the process variables of the continuously running nonlinear plant simulation via shared variables. The shared variables are published on the communication network for other OPC clients. On client side, LabVIEW is used to setup an OPC client. During the setup, DCOM settings for OPC client and OPC server are configured appropriately. Security settings for the user has to be carefully configured before having a successful communication between the OPC server and client. It is recommended that the interactive user (i.e., the user who is currently logged in) should be selected to ensure that the OPC client can communicate with the OPC server. Note that the DCOM level settings are accessible from the Component Services. The Component services can be accessed by entering “dcomcnfg” in RUN option in windows. It is important to note that if the interactive user is disabled or not available in the corresponding “opcEnum.exe”, one can use same login name and password in the “This User” option which is available through properties of opcEnum. opcEnum (abbreviation of OPC Enumera- tor), is an inter-computer communications driver which is essentialFig. 8. OPC based distributed control system. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 40 45 50 Pressure with MPC without MPC Set point 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0.6 0.8 1 Level with MPC without MPC Set point 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 100 200 NO with MPC without MPC Set Point Fig. 9. Comparison of steam pressure, drum level, and NOx with and without MPC. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 163
  • 10. for OPC data transfer in a remote machine on a network or domain (Figs. 7 and 8). 7.2. Simulation results Simulation results are shown in Figs. 9–12. The emission of NOx is not controlled by the PID control loops. With the addition of MPC, the pressure and level setpoints are tracked satisfactorily and also the NOx is regulated to much lower values are compared to the case of PID control only. The setpoint for NOx is 40 in the current simulation. Operation point of the boiler model is pressure setpoint (44.9 bar), level (0.64 cm), and excess air (16%). MPC manipulates excess air Q, qf and _mf to keep the NOx low and ensuring stable set point tracking of pressure and level. Fig. 9 shows matching performance of controller configurations with and without MPC for pressure and level setpoint tracking, while MPC outperforms the local PID controllers in controlling NOx to the desired setpoint. 8. Remarks and issues about OPC tools Setting up OPC for control applications may present different levels of difficulty and complexity depending upon intended applications and objectives. Setting up OPC client/server has different issues to tackle from different aspects. Due to the diversity of issues, we discuss them in the following sections as different entities based on [30]: Although using OPC in control applications increases the connectivity options but at the cost of uncertain processing time of the OPC application because OPC is based on Micro- soft's Operating System services. When OPC application is deployed on shared network like Ethernet, the network com- munication delay adds the uncertainty of the overall communication delay. Since, OPC uses operating system services, it depends on the version of operating system used for server and client. This is because the operating systems like Windows XP (and its variants and service packs) pose different security options than Windows 7 for example. This actually needs a very careful DCOM settings on server and client sides. Version of Windows to be used for the deployment of OPC client and OPC server can raise very important issue due to different types of security embedded in that version. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 30 40 50 60 70 80 90 100 110 120 Q with MPC without MPC Fig. 12. Comparison of heat flow rate to the risers (Q) with and without MPC. Fig. 13. Schematic picture of the boiler. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 8 10 12 14 16 18 20 22 24 26 28 30 Excess Air with MPC without MPC Fig. 11. Comparison of heat flow rate to the risers (Q) with and without MPC. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 40 42 44 46 48 50 52 Steam Demand Fig. 10. Steam demand as measured disturbance. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167164
  • 11. Interactive User setting in the Windows Component Services is also important to configure appropriately. In case interactive user is not used, same user and password should be configured in the component service for the opcEnum and the correspond- ing OPC server (for example National Instruments Variable Engine). 9. Conclusions In our vision, OPC technology is the economical solution in introducing new APC technologies to a real process. Control algorithms for local regulatory control loops are quite standard and off-the-shelf available. The research potential is to develop and test control algorithm for distributed and interconnected systems. OPC provides a good interpretability option between different systems. This work describes the integration of important research tools like MATLAB and LabVIEW to build periodic OPC servers (to run closed-loop process plant continuously) and OPC clients (for interactive identification and advanced controller design). The presented OPC based setup is important for academic and research community interested in advanced process control, networked control systems, and distributed control. In the pre- sented example, OPC server is simulating a nonlinear boiler model, while OPC client is developed for identification and control. An MPC controller is designed over two local PID control loops of a nonlinear boiler. This MPC added NOx control in the overall control objectives of the simulated example. The presented exam- ple motivates how existing MIMO control systems can be extended with advanced control techniques to include uncontrolled vari- ables like NOx emission in boilers. The MPC is interfaced with the local PID controller via OPC toolbox from MATLAB's SIMULINK environment. Acknowledgments The authors would like to thank the deanship for scientific research (DSR) at KFUPM for financial support through research group project RG-1316-1 and partial support from NSTP. Appendix A The model has been adapted from the work of Astrom and Bell. The considered boiler is 160 MW oil fired boiler unit in Sweden. In this model, much of the system behavior is captured by consider- ing the mass and energy balance for total system so that a fourth order non-linear state space model can be obtained. The model describes the complicated dynamics of the drum, downcomer, and riser components. It is derived from the first principles and is characterized by a few physical parameters and can be easily scaled to represent any drum power station. The basic schematic of a boiler is given in the following figure as shown by Astrom and Bell. In Fig. 13, Q is the heat applied on the riser tubes. This applied heat causes the water in the drum to boil. The applied heat also causes saturated steam to rise in riser–drum–downcomer loop. Feedwater, qf, is the flow rate of water being supplied to the boiler. Saturated steam, qs, is the flow rate of the steam which is fed to the superheaters and the turbine. A.1. Model derivation A simple model of the drum boiler that captures the pressure dynamics very well is a second order model based on the global mass and energy balances. Three inputs to the model are qs; qf ; Q and two measurable outputs are drum pressure, p and the drum water level, l. Standard notations used to write the balance equations are V denotes volume, ρ denotes specific density, u specific internal energy, h specific enthalpy, t temperature and q mass flow rate. Also the subscripts s; w; f and m refer to steam, water, feedwater and metal, respectively. The double subscripts, t; d and r denoting the total system, drum and the riser, are used for clarification of the system components. The total mass of the metal tubes and the drum is mt and the specific heat of the metal is Cp. The global mass balance is d dt ½ρsVst þρwVwtŠ ¼ qf Àqs ð8Þ The global energy balance is d dt ½ρsusVst þρwuwVwt þmtCptmŠ ¼ Q þqf hf Àqshs ð9Þ Since the internal energy is u ¼ hÀp=ρ, the global energy balance can be written as d dt ½ρsusVst þρwhwVwt ÀpVmt þmtCptmŠ ¼ Q þqf hf Àqshs ð10Þ The total volume of the drum, downcomer, and risers is Vt ¼ Vst þVwt ð11Þ These equations along with saturated steam tables capture the gross behaviour of a simple boiler and describe the drum pressure responses due to input qf and qs fluctuations. The second order model which follows describes the total water in the system but does not capture the drum water level dynamics because the distribution of steam and water are not included. The state variables for the state model are p and Vwt. e11 dVwt dt þe12 dp dt ¼ qf Àqs e21 dVwt dt þe22 dp dt ¼ Q þqf hf Àqshs ð12Þ where e11 ¼ ρw Àρs e12 ¼ Vst ∂ρs ∂ρ þVwt ∂ρw ∂ρ e21 ¼ ρwhw Àρshs e22 ¼ Vst hs ∂ρs ∂ρ þρs ∂hs ∂ρ þVwt hw ∂ρw ∂ρ þρw ∂hw ∂ρ þmtCp ∂t ∂s ð13Þ But the serious deficiency in this simple model lies in its failure to model drum water level. Although it does determine the total amount of water in the system it does not take into account the steam in the risers and below the water surface level in the drum. To do this separate mass and energy balances must be written for the risers and the drum. Riser dynamics: The global mass balance for the riser is d dt ðρsανVr þρwð1ÀανÞVrÞ ¼ qdc Àqr ð14Þ where αν is the average volume fraction in the risers, qr is the total mass flow rate out of the risers and qdc is the total mass flow rate into the risers. The global energy balance of the riser section is d dt ðρshsανVr þρwhwð1ÀανÞVr ÀpVr þmrCptsÞ ¼ Q þqdchw Àðαrhc þhwÞqr ð15Þ M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 165
  • 12. Eliminating the flow rate out of the risers, qr, multiplying Eq. (14) by Àðhw þαrhcÞ and adding to Eq. (15) give d dt ðρshsανVrÞÀðhw þαrhcÞ d dt ðρsανVrÞ þ d dt ðρwhwð1ÀανÞVrÞ Àðhw þαrhcÞ d dt ðρwð1ÀανÞVrÞ ÀVr dp dt þmrCp dts dt Þ ¼ Q Àαrhcqdc This can be simplified to hcð1ÀαrÞ d dt ðρsανVrÞþρwð1ÀανÞVr dhw dt ðÀαrhcÞ d dt ðρwð1ÀανÞVrÞþρsανVr dhs dt ÀVr dp dt þmrCp dts dt Þ ¼ Q Àαrhcqdc ð16Þ Drum dynamics: The dynamics for the steam in the drum is ρs dVsd dt þVsd dρs dt þ 1 hc ρsVsd dhs dt þρwVwd dhw dt ÀðVsd þVwdÞ dp dt þmdCp dts dt þαrð1þβÞVr d dt ð1ÀανÞρw þανρsÞ ¼ ρs Td ðV0 sd ÀVsdÞþ hf Àhw hc qf ð17Þ Astrom and Bell conveniently chose four state variables with good physical interpretation that describe the storage of mass, energy and momentum. These state variables capture the pressure, water, riser, and drum dynamics. The state variable for the drum pressure p represents the total energy. The state variable for the total water volume Vwt represents the accumulation of water. The state variable for the steam mass fraction or quality in the riser outlet αr represents the distribution of steam and water. Finally, the state variable for the steam volume under the liquid level inside the drum is represented by Vsd. The time derivatives of these state equations can be rewritten as e11 dVwt dt þe12 dp dt ¼ qf Àqs e21 dVwt dt þe22 dp dt ¼ Q þqf hf Àqshs e32 dp dt þe33 dαr dt ¼ Q Àαrhc Àqdc e42 dp dt þe43 dαr dt þe44 dVsd dt ¼ ρs Td ðV0 sd ÀVsdÞþ hf Àhw hc qf ð18Þ where e11 ¼ ρw Àρs e12 ¼ Vst ∂ρs ∂ρ þVwt ∂ρw ∂ρ e21 ¼ ρwhw Àρshs e22 ¼ Vst hs ∂ρs ∂ρ þρs ∂hs ∂ρ þVwt hw ∂ρw ∂ρ þρw ∂hw ∂ρ ÀVt þmtCp ∂t ∂s e32 ¼ ρw ∂hw ∂ρ Àαrhc ∂ρw ∂ρ ð1ÀανÞVr e33 ¼ ðð1ÀαrÞρs þαrρwÞhcVr ∂αr ∂αr e42 ¼ Vsd ∂ρs ∂p þ 1 hc ρsVsd ∂hs ∂ρ þρwVwd ∂hw ∂ρ ÀVsd ÀVwd þmdCp ∂ts ∂ρ þαrð1þβÞVr αν ∂ρs ∂ρ þð1ÀανÞ ∂hw ∂ρ þðρs ÀρwÞ ∂αr ∂ρ ; The outputs are chosen as the drum-level l and the drum pressure p: l ¼ Vsd þVwd Ad where Vwd ¼ Vwt ÀVdc Àð1ÀανÞVr Steam tables are required to calculate hs; hw; ρs; ρw; ts; ∂hs=∂p; ∂hw=∂p; ∂ps=∂p; ∂pw=∂p and ∂ts=∂p at the pressure, p Steam table was interpolated with a function using MATLAB, the drum boiler dynamic model of Astrom and Bell is based on physical parameters. The set of nonlinear differential equations (18) representing the time dependence of the state variables can be presented in a matrix form as follows: e11 e12 0 0 e21 e21 0 0 0 e32 e33 0 0 e42 e43 e44 2 6 6 6 4 3 7 7 7 5 dVwt=dt dp=dt dx=dt dVsd=dt 2 6 6 6 6 4 3 7 7 7 7 5 ¼ qf Àqs Q þqf hf Àqshs Q Àαrhcqdc ρs Td ðV0 sd ÀVsdÞþ hf Àhw hc qf 2 6 6 6 6 4 3 7 7 7 7 5 A.2. Augmentation of NOx emission model In [32], an artificial neural network based softsensor for the NOx emission is proposed. This NOx estimator requires few parameters from the boiler system including fuel flow rate, low heating value, flame maximum temperature, average combustion chamber tem- perature, and excess air to estimate the NOx emission. EstimatedÀNOx ¼ f NOx ð _mf ; LHV; Tmax; Tav; ExairÞ where _m is the fuel flow rate, LHV is the low heating value, Tmax is the flame maximum temperature, Tav is the average combustion chamber temperature, Exair is the excess air, and f NOx is the artificial neural network based soft-sensor for estimating NOx. This NOx estimator uses values from the nonlinear boiler model. References [1] OPC Foundation Specifications 〈http://www.opcfoundation.org〉. [2] Chao D. Research and application of OPC technology in interconnection of heterogeneous control networks. In: Process automation instrumentation, vol. 12, p. 19 〈http://en.cnki.com.cn〉, 2009. [3] 〈http://shop.kontron-czech.com〉. Accessed online October 2013. [4] Matrikon OPC simulation server 〈www.matrikon.com〉. [5] MATLAB, The language of technical computing, version 7.10.0.499 (R2010a) 〈www.mathworks.com〉; 2010. [6] Hong X, Jianhua W. Using standard components in automation industry: a study on OPC Specification. Comput Stand Interfaces 2006;28:386–95. [7] Elshafei MA. Modern distributed control systems, ISA, in Press, 2014. [8] Mahmoud MS. Distributed control and filtering for industrial systems. London, UK: The IET Press; 2012. [9] Bhullar RS. Strategies for implementing advanced process controls in a distributed control system (DCS). ISA Trans 1993;32:147–56. [10] Bauer M, Craig IK. Economic assessment of advanced process control—a survey and framework. J Process Control 2008;18:2–18. [11] Astrom KJ, Bell RD. Drum-boiler dynamics. Automatica 2000;36:363–78. [12] Rahkonen T. Distributed industrial control systems—a critical review regard- ing openness. Control Eng Pract 1995;3(8):1155–62. [13] Lee KH, Tamayo EC, Huang B. Industrial implementation of controller performance analysis technology. Control Eng Pract 2010;18:147–58. [14] Larsson M. Modeling and control in Matlab for ABB's control builder [Master Thesis]. Department of Automatic Control, Lund institute of Technology, October 2000. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167166
  • 13. [15] Halvorsen HP. OPC and real-time systems in LABVIEW-Tutorial. Telemark University College, Department of Electrical Engineering, Information Tech- nology and Cybernetics, 2010. [16] Sangeetha AL, Naveenkumar B, Ganesh AB, Bharathi N. Experimental valida- tion of PID based cascade control system through SCADA-PLC-OPC and internet architectures. Measurement 2012;45:643–9. [17] Sahin C, Bolat ED. Development of remote control and monitoring of web- based distributed OPC system. Comput Stand Interfaces 2009;31:984–93. [18] Lieping Z, Aiqun Z, Yunsheng Z. On remote real-time communication between MATLAB and PLC based on OPC technology. In: Proceedings of the 26th Chinese control conference, Zhangjiajie, Hunan, China, July 26–31, 2007. p. 545–8. [19] Barsoum NN, Chin PR. Ethernet control AC motor via PLC using LabVIEW. Intell Control Autom 2011;2:330–9. [20] Mingliang WU, Mingyong WU, Jiankang H, Ling S. Intelligent control system of water level for boiler drum based on OPC and MATLAB. In: Proceedings of the 30th Chinese control conference, Yantai, China, July 22–24, 2011. p. 4461–4. [21] Carrasco JA, Dormido S. Analysis of the use of industrial control systems in simulators: state of the art and basic guidelines. ISA Trans 2006;45(April (2)):295–312. [22] Persin S, Tovornik B, Muskinja N. OPC-driven data exchange between MATLAB and PLC-controlled system. Int J Eng Ed 2003;19(4):586–92. [23] Fadaei A, Salahshoor K. Design and implementation of a new fuzzy PID controller for networked control systems. ISA Trans 2008;47(4):351–61. [24] Santos RA, Normey-Rico JE, Gomez AM, Arconada LFA, Moraga CP. OPC based distributed real time simulation of complex continuous processes. Simul Model Pract Theory 2005;13:525–49. [25] Iacob M, Andreescu GD. Implementation of hardware-in-loop system for drum-boiler-turbine decoupled multivariable control. In: 6th IEEE interna- tional symposium on applied computational intelligence and informatics, Timisoara, Romania, May 19–21, 2011. p. 45–50. [26] Rhinehart RR, Darby ML, Wade HL. Editorial—choosing advanced control. ISA Trans 2011;50:2–10. [27] Ruel M. Exploiting process historian data to improve process performance, Technical Paper, 2007 〈http://www.isa.org/filestore/Division_TechPapers/Glass Ceramics/Exploiting_TP07EXP014.pdf〉. Access on 6 October 2013). [28] Chen WH, Ballance DJ, O'Reilly J. Model predictive control of nonlinear systems: Computational burden and stability. IEE Proc—Control Theory Appl 2000;147(July (4)):23. [29] Zhu Y, Patwardhan R, Wagner SB, Zhao J. Towards a low cost and high performance MPC: the role of system identification. Comput Chem Eng 2013;51:124–35. [30] Kondor R. OPC DCOM troubleshooting: quick start guide. OPC Training Institute 〈http://www.opcti.com/opc-dcom-troubleshooting.aspx〉; 2008. [31] Maciejowski JM. Predictive control with constraints. Upper Saddle River: Prentice-Hall; 2002. [32] Elshafei M, Habib MA, Al-Dajani M. Prediction of boilers emission using polynomial networks. In: Canadian conference on electrical and computer engineering, CCECE '06, May 2006. p. 823–7. [33] Stephens MA, Manzine C, Good MC. Explicit model predictive control for reference tracking on an industrial machine tool. In: 18th IFAC World congress, Milano, Italy, August 28–September 2, 2011. p. 14513–8. [34] Bemporad A, Morarai M, Ricker NM. User's guide: model predictive control toolbox. In: Matlab: the language of technical computing, R2013a 〈www. mathworks.com〉; 2013. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 167