Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Using OPC technology to support the study of advanced process control


Published on

OPC, originally the object linking and embedding (OLE) for process control, brings a broad communication 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 (MPC). The MPC is able to control the NOx emissions in addition to drum water level and steam pressure.

Published in: Technology

Using OPC technology to support the study of advanced process control

  1. 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: ISA Transactions 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: (M.S. Mahmoud), (M. Sabih), (M. Elshafei). ISA Transactions 55 (2015) 155–167
  2. 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 ( 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 〈〉. [2] Chao D. Research and application of OPC technology in interconnection of heterogeneous control networks. In: Process automation instrumentation, vol. 12, p. 19 〈〉, 2009. [3] 〈〉. Accessed online October 2013. [4] Matrikon OPC simulation server 〈〉. [5] MATLAB, The language of technical computing, version (R2010a) 〈〉; 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. 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 〈 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 〈〉; 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.〉; 2013. M.S. Mahmoud et al. / ISA Transactions 55 (2015) 155–167 167