UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Application software for performance monitoring Chen, Rong 1998

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-ubc_1999-0018.pdf [ 8.58MB ]
Metadata
JSON: 831-1.0065329.json
JSON-LD: 831-1.0065329-ld.json
RDF/XML (Pretty): 831-1.0065329-rdf.xml
RDF/JSON: 831-1.0065329-rdf.json
Turtle: 831-1.0065329-turtle.txt
N-Triples: 831-1.0065329-rdf-ntriples.txt
Original Record: 831-1.0065329-source.json
Full Text
831-1.0065329-fulltext.txt
Citation
831-1.0065329.ris

Full Text

APPLICATION SOFTWARE FOR PERFORMANCE MONITORING B y R o n g C h e n B . E . ( A u t o m a t i o n ) T s i n g h u a U n i v e r s i t y , P . R . C h i n a M . E . ( A u t o m a t i o n ) T s i n g h u a U n i v e r s i t y , P . R . C h i n a A THESIS S U B M I T T E D IN P A R T I A L F U L F I L L M E N T O F T H E R E Q U I R E M E N T S F O R T H E D E G R E E O F M A S T E R O F A P P L I E D S C I E N C E in T H E F A C U L T Y O F G R A D U A T E STUDIES D E P A R T M E N T O F E L E C T R I C A L A N D C O M P U T E R E N G I N E E R I N G W e accept t h i s thesis as c o n f o r m i n g t o the r e q u i r e d s t a n d a r d T H E U N I V E R S I T Y O F BRITISH C O L U M B I A D e c e m b e r 1998 © R o n g C h e n , 1998 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Department of Electrical and Computer Engineering The University of British Columbia 2075 Wesbrook Place Vancouver, Canada V6T 1Z1 Date: Abstract During recent years, control loop performance monitoring has been a topic of interest in both academic and industrial circles because the method gives non-intrusive insight into the operation of control loops. Many useful results have been obtained through research, however, their industrial applications are just starting. The main reason.is the lack of good application software for implementation. In this thesis, an integrated loop monitoring software system was developed. On one hand, it provides comprehensive performance monitoring tools, including process data analysis in both time domain and frequency domain, loop oscillation detection, valve friction detection, and performance index calculation. On the other hand, it integrates all the user-system interfaces from a distributed control system (DCS) into PC networks. Two direct benefits of this approach are: first, it shields the critical DCS system from user errors, avoiding potential damage to the industrial process; second, it presents a friendly graphic user interface (GUI) to the user, making the whole system much easier to use. The whole software system was developed in an industrial environment, and prelimi-nary evaluation has been carried out. ii Table of Contents Abstract ii Acknowledgment iX List of Tables vi List of Figures vii 1 Introduction 1 1.1 Introduction 1 1.2 Background and Literature Review 2 1.2.1 Basic Concepts 2 1.2.2 Process Description and Analysis 3 1.2.3 Direct Performance Monitoring 5 1.2.4 Performance Monitoring by Performance Index 6 1.2.5 Advanced Performance Monitoring 8 1.2.6 Other Approaches to Performance Monitoring 9 1.2.7 Related Issues 12 1.2.8 Industrial Applications 14 1.3 Thesis Motivation 15 1.4 Thesis Contribution 16 1.5 Thesis Outline 16 iii 2 Process Data Analysis 17 2.1 Introduction 17 2.2 Process Data Analysis in the Time Domain 17 2.2.1 Setpoint and Error 17 2.2.2 Autocorrelation Function 19 2.2.3 Partial Autocorrelation Function 21 2.3 Process Data Analysis in the Frequency Domain 23 2.3.1 Power Spectrum Estimation 24 2.3.2 Cumulative Power Spectrum Estimation 25 2.4 Process Data Pre-Processing 25 2.5 Conclusion 29 3 Performance Index Calculation 31 3.1 Introduction 31 3.2 Performance Index Calculation via an ARMA Model 31 3.2.1 Durbin-Levison Algorithm 32 3.2.2 Mayne-Firoozan Algorithm 34 3.3 Performance Index Calculation via a Laguerre Network 35 3.4 Simulation Results 39 3.5 Conclusion 41 4 Loop Oscillation and Valve Friction Detection 43 4.1 Introduction 43 4.2 Loop Oscillation Detection 43 4.2.1 Loop Oscillation Causes 43 4.2.2 Loop Oscillation Detection 44 4.3 Valve Friction Detection 46 iv 4.4 C o n c l u s i o n 49 5 Performance Monitoring Application Software 50 5.1 I n t r o d u c t i o n 50 5.2 S y s t e m D e v e l o p m e n t E n v i r o n m e n t a n d P h a s e s 50 5.2.1 D e v e l o p m e n t E n v i r o n m e n t 50 5.2.2 D e v e l o p m e n t P h a s e s 52 5.3 S y s t e m S t r u c t u r e a n d F u n c t i o n s 52 5.3.1 S y s t e m S t r u c t u r e 52 5.3.2 S y s t e m F u n c t i o n s 53 5.4 A p p l i c a t i o n Cases 56 5.4.1 p H C o n t r o l M o n i t o r i n g 57 5.4.2 F l o w C o n t r o l M o n i t o r i n g 60 5.5 C o n c l u s i o n 65 6 Conclusions 67 6.1 S u m m a r y o f T h e s i s W o r k 67 6.2 F u t u r e W o r k 69 6.2.1 R e l a t e d t o t h e T h e s i s W o r k 69 6.2.2 G e n e r a l 69 Bibliography 70 v List o f Tables 3.1 P e r f o r m a n c e I n d e x for Dif ferent T i m e D e l a y ci 41 3.2 P e r f o r m a n c e I n d e x for Dif ferent i V a n d a 41 v i List of Figures 2.1 SPE Plot (Onecycle Data) 18 2.2 SPE Plot (Twocycle Data) 18 2.3 SPE Plot (MA Data) 18 2.4 SPE Plot (AR Data) 18 2.5 ACF Plot (Onecycle Data) 20 2.6 ACF Plot (MA Data) 20 2.7 PACF Plot (MA Data) 23 2.8 PACF Plot (AR Data) 23 2.9 PSE Plot (Onecycle Data) 25 2.10 PSE Plot (Twocycle Data) 25 2.11 CPSE Plot (Onecycle Data) 26 2.12 CPSE Plot (Twocycle Data) 26 2.13 Originally Sampled Data 27 2.14 Directly Down-Sampled Data 28 2.15 Filtered and Down-Sampled Data 29 3.16 Block Diagram of Laguerre Network 36 4.17 Loops with Oscillation 46 4.18 Control Valve Input-Output Relation 47 5.19 Performance Monitoring System Structure 53 5.20 Performance Monitoring System Function 54 vii 5.21 Six Plots in the Performance Monitoring System 55 5.22 A Dialogue for Changing the Plot Range 56 5.23 Setpoint/Error Plot for a pH Control Loop 57 5.24 Autocorrelation Function Plot for a pH Control Loop 58 5.25 Partial Autocorrelation Function Plot for a pH Control Loop 59 5.26 Power Spectrum Estimation Plot for a pH Control Loop 59 5.27 Cumulative Power Spectrum Estimation Plot for a pH Control Loop . . . 60 5.28 Performance Analysis Results for a pH Control Loop 61 5.29 Setpoint/Error Plot for a Flow Control Loop 62 5.30 Autocorrelation Function Plot for a Flow Control Loop 62 5.31 Partial Autocorrelation Function Plot for a Flow Control Loop 63 5.32 Power Spectrum Estimation Plot for a Flow Control Loop 63 5.33 Cumulative Power Spectrum Estimation Plot for a Flow Control Loop . . 64 5.34 Performance Analysis Results for a Flow Control Loop 65 Acknowledgment First, I would like to express my sincere thanks to my supervisors, Prof. Guy A. Dumont and Prof. Michael S. Davies, who have guided me through my whole Master's program at UBC. Also, I want to express appreciations to Mr. John Ball, who has given me a great deal of help during my stay at Prince George Pulp and Paper Mill. And finally, I wish to thank all other people in the Control Group at Pulp and Paper Centre for their kind help. ix Chapter 1 Introduction 1.1 Introduction During the development of control theory, much effort has been placed on controller design strategies based upon objective functions and on control algorithms based upon specific mathematical models, while relatively less attention has been paid to control loop performance assessment. However, performance assessment is very important. If a controller is not running properly, its design objectives will not be met, and the control algorithm can hardly be successful. Also as a result, excessive variability occurs, cost increases, quality degrades. Unfortunately, it is very common that industrial controllers perform poorly due to causes such as improper implementation, lack of proper maintenance, valve wear, and process change. In modern manufacturing plants, there are usually hundreds or even thousands of automatic control loops but fairly limited human resources, so it is virtually impossible to monitor all control loops without using a formalized assessment tool. Consequently, control malfunctions are often not detected until either a serious failure occurs, or until the resulting variability becomes too high to be ignored by operators. In either case, loss has already existed for a long time before the cause is removed. On the contrary, if control loop performance monitoring can be automated, then loop malfunctions will be detected and located as soon as they occur. Thus process engineers 1 Introduction 2 and instrument staff will be able to respond quickly and maintain better quality control. Resulting from such concerns, research in the field of performance monitoring has dramatically increased since 1989, when Harris published his ground-breaking paper [11]. The goal of control loop performance monitoring is to use data analysis methods and routine operation data only, in order to assess how well a process is behaving during closed loop operation. Because such methods are not intrusive (no extra disturbance needs to be added into the process) and yet can tell if the process is operating as expected, they are becoming increasingly popular in the process industries. 1.2 Background and Literature Review 1.2.1 Basic Concepts Control loop performance monitoring deals with the following problems: (1) Without introducing extraneous disturbing test signals into the system, based only on the routine process data, how to determine whether or not a control loop is behaving well? (2) If the control loop is not operating well, what is the problem? Is it because the controller is not tuned or chosen appropriately? Or is it because of the process limit itself, while the controller is already doing its best? Using minimum variance control as a benchmark, one can construct a scalar perfor-mance monitoring index to indicate how well a control loop is currently behaving. If the performance index indicates that current control performance is far from the theoretical "best achievable" one (as under the minimum variance control), then there is potential for better control performance by re-tuning the controller or changing the control strat-egy. If the performance index indicates that under the current control, the system has already reached the theoretical "best achievable" control, while the process output is Introduction 3 still not satisfactory as measured by the mean square error, then the only way to achieve better control lies in modifying the process itself such as reducing the process time delay, changing the control variable, or introducing feedforward control. 1.2.2 Process Description and Analysis Many commonly encountered process industry loops can be described by the following discrete dynamic model: Yt-Yt = A(z)zd/B{z)ut + Dt (1.1) d = 1 + integer (Td/T) (1.2) Dt = C(z)/[D(z)(l-z)*\at (1.3) where Yt is the measured process output, Yt is the mean of Yt, ut is the deviation of the manipulated variable from a reference value required to keep the process at its mean value, DT is the combined effect of all unmeasured disturbances acting on the process output, A(z), B(z), C(z) and D(z) are polynomials, z is the backward shift operator [z?Yt = Yt_j), d is the number of whole periods of delay in the process, Td is the process delay arising from true process deadtime or analysis delay, T is the control interval, {at} is a sequence of independently and identically distributed random variables, with zero mean and standard deviation aa. If the controller is linear and time-invariant, i.e.: ut = -Gc(z)(Yt-Yap) (1.4) Introduction 4 where YAP is a fixed setpoint, and Gc(z) is the control law, then the closed control loop system can be easily shown as: Yt-Yt = F(z)at (1.5) where Yt is the mean of Yt under the feedback control, F(z) is a monic polynomial; in general case, it has an infinite degree. Ideally, Yt = Y$P, however this may not always be true. The monic polynomial F(z) can be broken into two parts: F(z) = F!(z) + F2(z)zd (1.6) where Fi(z) is a monic polynomial of order d — 1: F1(z) = l + fiz + ... + fd_1zd-1 (1.7) So, the closed-loop system can be further interpreted as: Yt-Yt = FxOOat + F2(z)at_d (1.8) The first and second terms in the right-hand side of (1.8) can be interpreted as the d-step ahead forecast error et and the ci-step ahead forecast ht respectively. So, we have: Yt - Yt = et + ht (1.9) Define the deviation of the measured process output from the setpoint as: Vt = Yt- YSP (1.10) If et and ht are independent, then the variance of yt is given by: var{yt} = var{et} + var{ht} (1.11) Introduction 5 Under minimum variance control, ht reduces to zero; because et depends only on the delay of the process and the disturbance characteristics, it cannot be eliminated by any control methods. So, under the minimum variance control, the variance of yt becomes: var{yt} = var{et} (1-12) This is the minimum value which var{yt} can ever reach. 1.2.3 Direct Performance Monitoring From the above discussion, we know that under minimum variance control, the process output is the error in forecasting the d-step ahead disturbance. Such error is a moving average (MA) time series model of order d: et = (1 + fiz + . . . + fd-izd-1)at (1.13) The variance of et is given by: v a r { e t } = (1 + + ... + flJal (1.14) As is well known, a moving average process of order d has the property that its auto-correlation function is 0 beyond lag d. As a result, this property supplies a direct perfor-mance monitoring method: by checking the autocorrelation function of the output error, one can easily tell whether or not a control strategy is giving minimum variance control, the theoretical "best achievable" control. In practice, the sample autocorrelation function is calculated and compared to the ap-proximate upper and lower 95% confidence intervals. If after the lag d, all autocorrelation values lie within such 95% confidence intervals, the current control loop can be regarded as having achieved minimum variance control, and further reductions in the variance of the process output cannot be achieved by changing the control strategy. Instead, it can only be achieved by modifying process itself or reducing the disturbance. Introduction 6 As there exists a direct link between autocorrelation function and power spectrum of the same output error signal, the power spectrum can also be used in a similar way as a direct means of performance monitoring [23]. 1.2.4 Performance Monitoring by Performance Index By checking the autocorrelation function (or corresponding power spectrum) it can be determined whether the current control loop is under minimum variance control, however in practice it is usually difficult for operating staff and control engineers to determine the extent to which the controller is "good" or "bad". It would be convenient and intuitive if there were a single criterion directly related to the controller behavior. This need is met by the construction of a performance index. From the analysis in section 1.2.2, we know that under the minimum variance control, the process deviation is minimized to its theoretical optimal value. So, if we compare the current control effect with that under the minimum variance control, the resulting ratio will quantify how well the closed loop behaves. Thus a primitive performance index PI(d) may be defined as: PI{d) = *2y/crL (1-15) where a2 is the variance of the control deviation under the current control: a\ — var{et} + var{ht} (1-16) a\v is the variance of the control deviation under the minimum variance control: a2mv = var{et} (1.17) PI(d) is in [l,oo). Introduction 7 For computation convenience, we may wish the performance index be bounded within [0,1], so a normalized performance index NPI(d) is calculated as: NPI(d) = 1 - c-lJo-l (1.18) NPI(d) is in [0,1]. In practice, it is often useful to assess control loop performance by using a modified performance index 77(d), which is given as: r)(d) = l-<T2mv/mse(yt) (1.19) where mse(yt) = aJ + o?y (1.20) where d? is the mean deviation from setpoint. 77(d) is also in [0,1]. Note: (1) All the performance indices are written as a function of the process time delay d, emphasizing that they are dependent on d; (2) Although minimum variance control is a good benchmark to assess the perfor-mance of a control loop, it does not necessarily mean minimum variance control should be the best choice for that loop. In certain situations, minimum variance control may cause large excessive control actions which are neither desirable nor tolerable. For processes exhibiting inverse response behavior (non-minimum phase), implementing minimum vari-ance control will result in an unstable controller, which, is obviously unacceptable. Introduction 8 1.2.5 Advanced Performance Monitoring Performance Monitoring in Feedforward/Feedback Control Desborough et al. [7] constructed a variance table and a generalized performance index to assess the performance of the overall feedforward/feedback control loop. The basic idea is: (1) Breaking down disturbances into measurable and unmeasurable components, as-suming they are not cross-correlated, to calculate their contributions to the total output variance respectively, and list them in a variance table. (2) Analyse the table, if the contribution of the measured feedforward variable to the total variance is acceptable, then there is no need to modify the existing feedforward controller or implement a new feedforward controller; if it is unacceptable, then introduce feedforward control and re-tune the controller. (3) Similar to the SISO performance index, define a generalized performance index to more precisely compare the overall feedforward/feedback control with the minimum variance control benchmark. The variance table and the generalized performance index can be obtained solely from routine operation data, which makes it attractive for industrial applications. One major concern here is how to separate precisely the measurable disturbances from the unmea-surable ones and how to describe correctly their characteristics, because the variance table and performance index are based on them. Performance Monitoring in M I M O Control Huang et al. [13] expanded performance monitoring to the multi-input multi-output (MIMO) case. Their starting point is the single-input single-output (SISO) system. Since univariate minimum variance control is used as a benchmark to assess the closed Introduction 9 loop performance, in the MIMO system, multivariate minimum variance control should be able to serve the same purpose. Their works includes: (1) Resorting to the interactor matrix concept, prove that the feedback invariance property of minimum variance control in MIMO process can be solved by using the unitary or weighted unitary interactor matrix. (2) Assert that the interactor matrix (or equally, the transfer function matrix) needs to be known for assessing the MIMO system, just as in SISO system the time delay is required as a priori knowledge in order to assess closed loop performance. (3) Define a MIMO performance index to assess the current controller performance against that of the multivariate minimum variance controller. (4) Develop a FCOR (Filtering and CORrelation) algorithm to calculate the above defined MIMO performance index for a class of multivariable processes, which have a diagonal interactor matrix. Because many industrial processes are inherently multivariable, the above work in MIMO system is certainly desirable. But currently only processes with a diagonal inter-actor matrix can be handled conveniently, further research work is still needed for the general MIMO case. 1.2.6 Other Approaches to Performance Monitoring In addition to control loop performance monitoring based on minimum variance control as a benchmark, there are other approaches for assessing the control loop behavior [15,14,1]. T h e P I D Approach PID controllers are the most commonly used controllers in the industry and will very likely remain so in the future. Further, they make up the backbone of many sophisticated Introduction 10 control systems. Because of these reasons, the choice of PID controller parameters and assessment of their performance have long been key issues. The earliest work in this field may be the well-known tuning rules developed by Ziegler and Nichols, which, based on simple tests, gives the tuning rules in terms of simple formulae. Since then, a vast related literature has been published. Recently, Astrom [1] proposed a methodology for assessing the performance of such loops. According to Astrom's definition, there are six levels of process knowledge: • Level 0: Qualitative characterization, • Level 1: Level 0 plus process time constant and time delay, • Level 2: Level 1 plus process gain, • Level 3: Level 2 plus more points on Nyquist curve, possibly with uncertainty regions, • Level 4: Complete mathematical model with uncertainty regions, • Level 4A: Knowledge of dynamics that is strictly positive real (SPR) or of first or second order with known model. Then, depending on the knowledge level of the process dynamics, either crude or accurate assessment of PID controller performance can be made. For crude assessment, only level 2 information about the process is needed. Based on a;90, wi$0 bandwidth (where the loop phase lag is —90°, —180° respectively) or maximum loop gain, one can determine if the PID controller is appropriate for handling the process, and decide what rules should be used to set its parameters. For accurate assessment, level 3 or level 4 information about the process is needed. Based on the known transfer function of the process, the proper PID parameters can be conveniently determined through dominant pole design. Further, Introduction 11 the best achievable performance such as an upper bound of achievable bandwidth can be assessed. Compared with the performance index approach described in section 1.2.5, the PID approach gives frequency domain information in terms of bandwidth, while the perfor-mance index approach gives time domain information in terms of standard deviation. The Linear Quadratic (LQ) Approach Kammer, et al. [15] presented a model-free method for determining LQ optimality of the current controller as well as the closed loop pole positions that would be obtained by the LQ optimal controller. The approach consists of adding an exogenous signal to the control action, and then analysing the spectrum of the process input and output signals. From this testing, sub-optimal results are obtained, indicating the location of the optimal closed-loop poles. Then, comparing with the current control, it can be decided whether or not the current control law should be replaced by an LQ control algorithm. The results can be applied through both state and output feedback to all linear and time invariant system without any constraint on the process characteristics, and do not need a parametric model for the process. Unfortunately, one drawback is that because the objective is so general, the needed information is so large that an identification with extraneous exciting signal is a necessity. In many industrial cases this is a serious constraint. The Expert System Approach Jofriet et al. [14] developed an expert system (named QCLiP for Queen's/QUNO Control Loop Performance analysis expert system) to analyse control loop performance. The expert system is operated at a supervisory level in a pulp and paper mill, implemented by an advanced intelligent real-time system development and deployment tool Gensym's Introduction 12 G2. The system collects data from a distributed control system, and evaluates the loop performance based on certain rules and exception report cases. (The rules are mainly based on the previously outlined performance index.) QCLiP has an interpretation hierarchy structure and an analysis toolbox. It can auto-matically calculate the sample autocorrelation function, estimate the minimum variance spectrum and test the periodic components. It is implemented with a graphical user interface. All these features give QCLiP the potential to become a practical system for continuous on-line loop performance monitoring, although further work is still needed in order to truly reach such an objective. 1.2.7 Related Issues A control loop is made up of sensors, controllers and actuators. The whole loop per-formance depends on the performance of sensors and actuators, as well as that of the controller. Unfortunately, for a long time, this issue has been ignored. Often it is incor-rectly assumed that the sensors will reflect the process quickly and correctly, and that the actuators will respond instantly and accurately to the signal from the controller. However, this is not always the case. In 1993, a survey indicated that 30% of all control loops in Canadian paper mills were not operating properly because of actuator problems [3]. During recent years, some papers concerning this issue have been published [4, 27, 6]. In order to improve the control valve design, Bialkowski [4] presented dynamic specifi-cations for control valves. They include specifications on valve tracking nonlinearities (backlash/stiction), sizing and flow characteristic nonlinearities, dynamic performance specification summary, and their impacts on future valve design. Taylor [27] described the control valve characteristics that cause process variability in paper mills, including the combination of backlash and stiction in the assembled valve, Introduction 13 the response speed as a function of valve size, and the percent overshoot. Taylor tested control valve performance, and expanded these test results to a real mill. From his experiment, he suggested procedures to specify and verify control valve performance so as to assure that a control system with such valves will indeed minimize process variability and improve quality. Clarke [6] discussed validation standards for both sensors and actuators. In sensor validation, borrowing the idea from metrology, he introduced "uncertainty" as a part of the validity index for the sensor, and classified sensor measurements into four categories: • clear (the data is fine), • dazzled (possibly the data is transiently abnormal), • blurred (the data is abnormal, but believed to have some correspondence to the real measurements), • blind (the data is completely untrustworthy). Clarke then discussed when a certain category of measurements can be used for con-trol. In actuator validation, attention must be paid to actuation signal limits and satura-tion, non-linearity, as well as the highest achievable bandwidth. Therefore, he advocated the use of internal feedback or of an inverse nonlinearity for the purpose of making the nominal actuator approach an ideal one. After examining both sensors and actuators, he stressed the importance of combining the sensor, and the actuator with the controller to constitute a whole valid control loop. Astrom [2] also pointed out limitations on control system performance: • For a minimum phase system, measurement noise is injected into the system and they can result in large control signals that saturate the actuators. Measurement Introduction 14 noise and actuator saturation are thus factors that limit the performance of a minimum phase system. • For an non-minimum phase system, the limitations are due to system dynamics. Specifically, the upper bounds of the bandwidth of the closed loop system are imposed by time delays and zeros in the right-half plane, while the lower bounds are imposed by poles in the right-half plane. 1.2.8 Industrial Applications Currently, some industrial applications have been reported in the field of performance monitoring. Owen, et al. [21] implemented a prototype on-line automatic monitoring system at a paper mill. The system obtains data from the DCS, and analyzes a large number of control loops. The system then locates malfunctioning loops, and diagnoses possible causes. The approach uses only a small amount of prior information about the loop, such as the time delay, and requires neither identification nor an exact process model. By employing a modified form of the performance index, the system is capable of overcoming difficulties arising from non-stationary disturbances and sensor-caused or valve-caused nonlinearities. The system has been applied in a Paprican's member company mill. Stanfelj, et al. [25] presented a hierarchical system for monitoring and diagnosing the performance of single-loop control systems. Based primarily on routine operating plant data, the system can (1) in the first level, identify significant process output deviation, (2) in the second level, determine the best achievable performance within current control strategy, Introduction 15 (3) i n t h e t h i r d l eve l , d iagnose the poss ib le reason of p o o r c o n t r o l p e r f o r m a n c e , (4) i n t h e f o u r t h leve l , g ive suggestions o n h o w t o i m p r o v e current l o o p p e r f o r m a n c e . T h e s y s t e m has b e e n tes ted i n b o t h s i m u l a t i o n a n d i n d u s t r i a l ( S h e l l C a n a d a , S c o t f o r d R e f i n e r y ) e n v i r o n m e n t s . O g a w a [20] d e v e l o p e d a d a t a a n a l y s i s s y s t e m for c o n t r o l l o o p p e r f o r m a n c e m o n i t o r -i n g . T h e s y s t e m c a n c a l c u l a t e t h e n o r m a l i z e d p e r f o r m a n c e i n d e x , t i m e series f u n c t i o n s ( a u t o c o r r e l a t i o n , p a r t i a l a u t o c o r r e l a t i o n , etc.) a n d power s p e c t r u m of a c e r t a i n c o n t r o l l o o p . T h e a l g o r i t h m uses b a t c h - p r o c e s s i n g . T h e m o s t d i s t i n c t feature o f t h i s s y s t e m is i t has a v e r y f r i e n d l y g r a p h i c user interface, w h i c h is essent ia l for a successful i n d u s t r i a l a p p l i c a t i o n . T h e s y s t e m was d e v e l o p e d a n d i m p l e m e n t e d i n M a c M i l l a n B l o e d e l P a p e r L t d . T h e r e are also some c o m m e r c i a l p e r f o r m a n c e m o n i t o r i n g softwares s u c h as M a t r i k o n ' s P r o c e s s D o c , w h i c h analyses t h e p l a n t o p e r a t i n g d a t a t r e n d , a n d a u d i t s t h e c o n t r o l l o o p p e r f o r m a n c e . 1.3 Thesis Motivation B e c a u s e o f i t s c a l c u l a t i o n s i m p l i c i t y , n o n - i n t r u s i o n , a n d m o s t o f a l l , b i g p o t e n t i a l benefi ts , p e r f o r m a n c e m o n i t o r i n g has a t t r a c t e d great a t t e n t i o n f r o m i n d u s t r y w o r l d once after i t was presented. H o w e v e r , t h e c u r r e n t s i t u a t i o n is t h a t a l t h o u g h m a n y useful a c a d e m i c resu l ts have b e e n d e v e l o p e d , t h e i r i n d u s t r i a l a p p l i c a t i o n is l a g g i n g b e h i n d . T h e r e is a l a c k o f g o o d a p p l i c a t i o n software t o i m p l e m e n t these techniques over a n e x t e n d e d p e r i o d i n i n d u s t r i a l e n v i r o n m e n t . T h i s thesis is d e v o t e d t o d e v e l o p i n g software t o f a c i l i t a t e t h e i n d u s t r i a l a p p l i c a t i o n o f p e r f o r m a n c e m o n i t o r i n g . Introduction 16 1.4 Thesis Contribution In this thesis, an integrated application software system was developed in an industrial environment. The system presents three groups of functions: • process data analysis in both time domain and frequency domain; • performance index calculation; • loop oscillation and valve friction detection. The system also integrates all the user-system interfaces into PC networks, thus shielding the critical distributed control system (DCS) from user errors while providing a very friendly graphic user interface to facilitate the use of the system. 1.5 Thesis Outline In Chapter 2, various methods of process data analysis are studied, including setpoint/error analysis, autocorrelation and partial autocorrelation function calculation, power spec-trum and cumulative power spectrum estimation. The data pre-processing method is also illustrated. Chapter 3 focuses on computing the performance index. Chapter 4 con-tains procedures for detecting loop oscillation and valve friction. Chapter 5 describes the performance monitoring application software system in detail, and also gives application examples. In Chapter 6, the thesis results are summarized, conclusions are drawn, and further work is proposed. Chapter 2 Process Data Analysis 2.1 Introduction In modern industry, vast amount of routine operation data are collected and stored daily in a computer system. If carefully analysed, these data can present useful information about the performance of the process. In this chapter, we will discuss how to analyse the process data in both time domain and frequency domain. 2.2 Process Data Analysis in the Time Domain From a mathematical point of view, the industrial sampled data constitutes a time series. For a thorough analysis, interested readers are referred to look in [5] for details. Here, however only the basic data analysis techniques which are commonly used in the process industry are considered. 2.2.1 Setpoint and Error Setpoint and Error (SPE) plot is a simple data analysis form widely used in the process industry. It plots a loop setpoint and error signals against the time. Very often, the lower and upper limits of the loop are also shown in the plot. Much insight comes from observing sampled process variables. Offsets, cyclic components, and outliers can be intuitively observed. Figure 2.1 - 2.4 show four typical types of process industry data samples. They are respectively of onecycle, twocycle, MA and AR model. In these plots, 17 Process Data Analysis 18 limits are set according to the maximum allowed process output. SetPoint/Error Plot SetPoint Limil J J > V » ij i' '/ l' 0 10 20 30 40 50 60 Number of Samples Figure 2.1: SPE Plot (Onecycle Data) SetPoint/Error Plot ' 1 ' I ' l l I,' - J !i Signal SetPoint Limit ,,1,-f, 1'-30 40 Number of Samples Figure 2.2: SPE Plot (Twocycle Data) i i SetPoinfError Plot Signal SetPoint Limit ~\—r-7-- = ..,.1.. 10 20 30 40 50 60 Number of Samples Figure 2.3: SPE Plot (MA Data) SetPoint/Errof Ptot Signal SetPoint ,1 l> " ll 1! " !> n 1 , 1 1 1 ! " i / \ ' f i .1 p. i ' 1 1 ! i i i , i ; • ' , I' ' ' . i 'i • i ' 1 i 1 I 11,11 ',' 1 ' , i i . i ' ',' '! • i, > 1 1 >' v 10 20 30 40 50 Number of Samples Figure 2.4: SPE Plot (AR Data) From these plots, we can clearly find the setpoint values, and whether or not the variables exceed the upper and lower limits. Also, we can directly recognize a simple pattern. For example, Figure 2.1 obviously shows a periodical variable. However, for Process Data Analysis 19 more complex process data as shown in Figure 2.2 - 2.4, one cannot so easily detect patterns. Consequently, we need other tools to analyse these data. 2.2.2 Autocorrelation Function The autocovariance function j(d) expresses correlation between two observations that are d time periods apart: where E[-\ denotes the expectation operation, y(t) is the observation, Hy is the mean of y(t). 7(0) is thus the variance of y(t). The values of the autocovariance function are affected by the variance. If divided by the variance, the autocorrelation function value will be normalized to [—1,1], which is called the autocorrelation function (ACF): The ACF plot is considered the best indicator of the randomness or periodicity in a data series. If the data is completely random (i.e. white noise), then ACF[d) will be 1 when d is zero, and 0 for all other d values. If the data contains some periodic components, its ACF(d) is then also periodic with period d. Furthermore, if the data is an n-th order moving average (MA) process, then its ACF(d) vanishes beyond lag n. This property, as discussed in Chapter 1, is the basis for determining whether or not a loop is under minimum variance control just by checking whether or not the ACF(d) value of this loop is zero beyond the loop time delay d. >y(d) = El(y(t)-tiy)(y(t + d)-Vy)} (2.21) ACF(d) = 7(<0/7(0) (2.22) Process Data Analysis 20 In practice, the autocorrelation function value of a certain loop is unknown. Instead, we can only calculate an estimate from observations by the following formula: ACF(d) = 1 5>(t) - my)(y(t + d)- my)/±- J>(t) - myf (2.23) i y t=i i y t=i where d is the lag or time delay, TV is the number of samples, y(t) is the sample value at time r, y(t + d) is the sample value at time t + d, my is the mean value of all y(t). In (2.23), if d is not zero, then summations of fewer than TV terms are divided by TV, which biases the estimate. If TV ^> d, this is not significant. When d is non-zero, ACF(d) fluctuates asymptotically as Gaussian random variables with mean zero and variance 1/TV. Approximately 95% of the ACF(d) estimates are in [-1.96/\/N, 1.96/y/N] [5]. JV Autocorrelation Function Plot -0.4 -0.6 -0.8 Signal 95% Confidence Line . / 1. > / 0 1 2 3 4 5 6 7 Lag(samples) Figure 2.5: ACF Plot (Onecycle Data) Autocorrelation Function Plot T 0.8: 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 Signal 95% Confidence Line _ l 1 I I L_ 0 1 2 3 4 5 Lag(sampies) Figure 2.6: ACF Plot (MA Data) Now, for example we can draw ACF plot for data shown in Figure 2.1 and 2.3 in Process Data Analysis 21 Figure 2.5 and 2.6. From Figure 2.5, we can see there is a peak value every 4 sample pe-riods, indicating this is a cyclic variable. This result is consistent with that in Figure 2.1. From Figure 2.6, we find that after 2 sample lags, the ACF(d) values are all within 95% confidence limits, indicating this is a second order MA process. 2.2.3 Partial Autocorrelation Function The partial autocorrelation function (PACF) is another useful tool. It is the correlation of the residuals of linear regressions. We denote the best linear predictor of y(t) from d adjacent past, y(t — d),... ,y(t — 1), as Lp(y(t),d), and from d adjacent future, y(t 4-1),..., y(t + d), as Lf(y(t),d). Time moves backward in the latter case, i.e. we "predict" y{t) from the future observations. The residual (i.e. prediction error) of y(t) from d adjacent observations is: ef(t,d) = y(t)-Lf(y(t),d) (2.24) ep(t,d) = y(t)-Lp(y(t),d) (2.25) Then the partial autocorrelation function <p(d) is defined by: (p{0) = 1 (2.26) 0(1) = Corr(y(l), y(2)) = ACF(1) (2.27) <f>(j) = Corr(ef(l,j),ep(l + j,j)), 1< j < d (2.28) <j){d) = Corr(ef(l, d), ep(l + d, d)) (2.29) where Corr(x,y) denotes the correlation between two random variables x and y: Corr(X, y) = E[{x - ^(y - u,)] yjE[{x - ^}E[(y - u,,)*] Process Data Analysis 22 Like the ACF, in the real world we can only estimate the PACF from samples. PACF estimation is very complex and there are many different algorithms to calculate it. Here, we present a simple and convenient recursive algorithm, Durbin-Levinson Algorithm [5]. Initial conditions: hi = 7(l)/7(0) (2.31) where 7(-) is the estimate of the autocovariance function defined in (2.21), and • Recursive operations: 7(0) ^ 0 ^=7(0)[l-ft] m—1 0 m m = [nt{m) - ^m-uj(m - j)]/l>m-l 3=1 (2.32) (2.33) / 0 m , l ^ \ 0 m , m - l / <Pm-l,l \ 0 m - l , m - l / - 0 „ <Pm-l,m-l \ 0 m - l , l / (2.34) om = i> m _i ( i - <f>mm) (2.35) • Results: • • • > 0m,m are the estimated partial autocorrelation functions at lags 1,2,..., m. where m = N — 1, N is the number of samples. Process Data Analysis 23 While ACF(d) is important for MA process, PACF(d) can provide insight informa-tion on judging whether or not the process is of AR type, because for an n-th order AR process, its PACF(d) vanishes after the lag n [5]. Also, the sample PACF(d) of a white noise has the same asymptotic distribution as that of the sample ACF(d). So, the same 95% confidence interval works for both ACF and PACF plots. Now, we draw PACF plot for data shown in Figure 2.3 and 2.4 in Figure 2.7 and 2.8. From Figure 2.7, we can see PACF(d) of an MA process decays slowly and remains outside the 95% confidence limits after 4 sample lags. But in Figure 2.8, we can see PACF(d) of an AR process decays quickly and stays inside the 95% confidence limits after 2 samples lag, indicating this is a second-order AR process. -0.2 -0.4 -0. Partial Autocorrelation Function Plot Signal 95% Confidence Line 0 1 2 3 4 5 Lag(samples) Figure 2.7: PACF Plot (MA Data) Partial Aulocorrelation Function Plot -0.4 -0.6 -0.8 Signal 95% Confidence Line 0 1 2 3 4 5 Lag(samples) Figure 2.8: PACF Plot (AR Data) 2.3 Process Data Analysis in the Frequency Domain Very often, data sampled from industrial processes are mixed with load disturbances and stochastic components. In the time domain, it may be hard to distinguish between Process Data Analysis 24 these components. But in the frequency domain, they can be characterized as a second-order weakly stationary stochastic series [12] and can easily be broken down into discrete frequencies. In this section, we study two commonly used spectral analysis tools: power spectrum estimation (PSE) and cumulative power spectrum estimation (CPSE). These methods can reveal information such as hidden periodicities or close spectral peaks. 2.3.1 Power Spectrum Estimation Mathematically, the power spectrum is defined as the Fourier transform of the auto-correlation function, and they therefore constitute a Fourier transform pair. In process industries, signals often contain many frequencies, ranging from very slow cycles to very fast cycles. The power spectrum can display these components and indicate what fraction of each variance exists at a particular frequency or period. In practice, only estimates of the autocorrelation function are available so that after Fourier transforming it, the power spectrum estimation (PSE) is obtained. In a PSE plot, variance is shown versus frequency and the sum of the individual variances at each frequency is equal to the total variance in the data series. The most popular method of estimating the power spectrum is to use the fast Fourier transform (FFT). If signals are time-varying, then the short-time Fourier transform (SFFT) is preferred, which first uses a window to slide over the signal in the time domain, and then computes the Fourier transform for every portion within each window [19]. Figure 2.9 and 2.10 are the PSE plots for the data shown in Figure 2.1 and 2.2. In Figure 2.9, there is one peak at frequency of 2.5Hz, indicating this is a single cyclic variable. This result is consistent with that of Figure 2.1. While we cannot tell the characteristics of data from Figure 2.2 (time domain), Figure 2.10 (frequency domain) clearly shows there are two peaks at different frequencies, indicating it is a mixture of two cyclic variables. In this case, frequency domain analysis can give us a clearer picture. Process Data Analysis 25 Power Spectrum Estimation Plot ' \ / \ / \ ' I l \ l l I l ' 1 I i / l l 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Frequency(Hz) Figure 2.9: PSE Plot (Onecycle Data) Power Spectrum Estimation Plot -1 1 ! I 1 « / 1 > ; i i ; i i l i i ; ' t > / i » / / * i 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Frequency(H2) Figure 2.10: PSE Plot (Twocycle Data) 2.3.2 Cumulative Power Spectrum Estimation The cumulative power spectrum estimation (CPSE) is obtained by summing up all values of the power spectrum estimation from zero frequency to the current frequency. The CPSE plot shows the percentage of total variance versus the frequency. It is very useful in specifying the percent contribution of the individual cycles in the process signal to the total variance. Figure 2.11 and 2.12 are the CPSE plots for the data shown in Figure 2.1 and 2.2. For instance, from Figure 2.11, approximately 80% of the total variance is seen to be slower than 3 Hz. 2.4 Process Data Pre-Processing In process industries, original data is continuous in the time domain. In order to imple-ment computer control, the data needs to be first sampled into discrete form. The sampling theorem says [22] that if the highest frequency contained in a continuous Process Data Analysis 26 Cumulative Power Spectrum Estimation Plot 0 0.5 1 1.5 2 2.5 3 3.5 Frequency(Hz) Figure 2.11: C P S E Plot (Onecycle Data) Cumulative Power Spectrum Estimation Plot 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Frequency(Hz) Figure 2.12: C P S E Plot (Twocycle Data) signal xa(t) is FMAX = B and the signal is sampled at a rate FS > 2Fmax = 2B, then xa(t) can be exactly recovered from its sample values using the interpolation function sin2irBt g(t) = 2nBt Thus xa(t) may be expressed as xa(t) = Y, xa{^r)g(t -n=-oo r » r » where xa(n/FS) = xa(nT) = x(n) are the samples of xa(t), and the sampling rate FN = 2B = 2 F m Q X is called the Nyquist rate. However, i n process applications, the situation is often that a loop is sampled too fast. For example, the sampling period of a Foxboro D C S at the controller level is 1 seconds, i.e. 1 Hz , which is much faster than the Nyquist rate of some loops. For these loops, more data is sampled than is actually needed. In order to reduce the computation load, only one from every several samples wi l l be picked out for further processing. This is called down-sampling. Process Data Analysis 27 W h e n d o w n - s a m p l i n g is p e r f o r m e d , the o r i g i n a l s a m p l i n g rate is a c t u a l l y r e d u c e d so t h a t the s a m p l i n g t h e o r e m m a y be v i o l a t e d a n d " a l i a s i n g " m a y o c c u r . W h e n a l i a s i n g o c c u r s , h i g h frequency c o m p o n e n t s w i l l be ref lected d o w n f r o m t h e i r o r i g i n a l p o s i t i o n above t h e N y q u i s t r a t e i n t h e frequency d o m a i n so t h a t t h e o r i g i n a l s i g n a l is d i s t o r t e d . T h e f o l l o w i n g figures i l l u s t r a t e such a p h e n o m e n o n . 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Frequency (Hz) F i g u r e 2.13: O r i g i n a l l y S a m p l e d D a t a F i g u r e 2.13 shows t h e o r i g i n a l s a m p l e d d a t a o b t a i n e d w i t h a s a m p l i n g r a t e o f 10 H z . A s s u m e we are o n l y interes ted i n the c o m p o n e n t s w i t h frequency lower t h a n 0.6 H z , t h e n t h e N y q u i s t ra te of the interes ted s i g n a l is 0.6 x 2 = 1 .2Hz. So, t h e o r i g i n a l s a m p l i n g r a t e 10 H z is t o o h i g h . N o w d i r e c t l y p e r f o r m i n g d o w n - s a m p l i n g o n the o r i g i n a l d a t a w i t h a r a t i o of 8, the results are s h o w n i n F i g u r e 2.14 (note t h e different f requency ranges i n these t w o figures). C o m p a r i n g F i g u r e 2.13 a n d 2.14, one c a n find t h a t the u n w a n t e d h i g h f requency noise c o m p o n e n t i n F i g u r e 2.13 ( w i t h f requency o f 4.75 H z ) does n o t d i s a p p e a r i n F i g u r e 2.14. I n s t e a d , i t moves t o a different f requency (0.25 H z ) . T h i s is c a u s e d b y Process Data Analysis 28 0 0.1 0.2 0.3 0.4 0.5 0.6 Frequency (Hz) Figure 2.14: Direct ly Down-Sampled Da ta aliasing because the new sampling rate becomes 10 4- 8 = 1.25 Hz . Al though the new sampling rate is s t i l l higher than the Nyquist rate of the signal (1.2 Hz) , it is less than the Nyquist rate of the noise signal (4.75 x 2 = 9.5Hz). A s a result, the original signal is altered and cannot be exactly recovered. The remedy is to use a lowpass filter to filter the high frequency noise before carrying out down-sampling. First let the original sampled data pass through a 4-th order Bessel lowpass filter wi th pass band of 1 Hz , and then down-sample the data wi th a ratio of 8. The results are shown i n Figure 2.15. It can be seen that the signal wi th in the frequency range of interest (0 - 0.6 Hz) remains unchanged because the component at 4.75 H z has been filtered by the Bessel lowpass filter. Such data pre-processing is used i n the performance monitoring application system discussed in chapter 5. Because different loops have different bandwidth, the stop bandwidth of the Bessel lowpass filter can be specified correspondently. Process Data Analysis 29 0 0.1 0.2 0.3 0.4 0.5 0.6 Frequency (Hz) Figure 2.15: Filtered and Down-Sampled Data 2.5 Conclusion In this chapter, several simple data analysis methods are discussed, including the setpoint and error (SPE) plot, the autocorrelation function (ACF) plot and the partial autocorre-lation function (PACF) plot in the time domain, the power spectrum estimation (PSE) plot and the cumulative power spectrum estimation (CPSE) plot in the frequency do-main. Generally speaking, the SPE plot is an intuitive and simple method to find out offsets, variances and simple cyclic components; the ACF plot is useful in looking for single periodic component and determining MA model orders; the PACF plot is good for determining AR model orders; and the PSE plot is particularly suitable of breaking down different frequency components; the CPSE plot is used to indicate the percentage distribution of total variance at different frequencies. Used in combination, all these can assist us to analyse effectively most data obtained from an industrial process. In addi-tion, for some industrial loops, a DCS sampling rate is too fast so that down-sampling Process Data Analysis 30 is needed. Before carrying out down-sampling, the data must first go through a lowpass filter to avoid aliasing. In addition to these methods, statistical process control (SPC) tools are also often used in industries. Interested readers are referred to [17]. Chapter 3 Performance Index Calculation 3.1 Introduction As discussed in section 1.2.4, the performance index is a scalar measure used to indicate how well a control loop is operating. A practical form, rj(d), is given by: n(d) = 1 - a2mv/(a2y + <$) (3.36) where is the loop variance deviation under the minimum variance control, a2, is the loop variance deviation under the current control, is the mean variance deviation from setpoint. In (3.36), o-y and 3y are easy to calculate from loop data, and the only problem is obtaining a^. This is the major issue that will be discussed in this chapter. 3.2 Performance Index Calculation via an A R M A Model As is well known, under minimum variance control, for a linear discrete time invariant SISO system, the loop output error can be fitted by a moving average (MA) time series model of order dr1, where d is the process time delay: e, = (1 + fiz + ... + fd-izd-l)at (3.37) So, the variance of et is given by: var{et} = (1 + fl + ... + flM (3.38) 31 Performance Index Calculation 32 This is o2mv, the loop deviation under minimum variance control: *L = (i + f{ + --- + fLM (3.39) So, now the problem of how to calculate a^v becomes that of finding MA model coefficients / i , . . . , /<f-i and the noise deviation o\. Two methods are discussed below. 3.2.1 Durbin-Levison Algorithm The Durbin-Levison Algorithm [5], which was used to calculate partial autocorrelation function in section 2.2.3, can also be used to obtain MA model coefficients / i , . . . , fa-i and noise deviation cra. Recall the algorithm: • Initial conditions: 0 i i = 7(l)/7(0) (3.40) where 7(0) ^ 0 * = 7 ( 0 ) [ l - # i ] (3.41) • Recursive operations: m—1 0 m m = [7{m) - ] T 0m_ij-7(m - j)]/vm-i (3.42) 1 0 m , l ^ \ 0 m , m - l / (pm-1,1 \ 0 m - l , m - l / - 0n <Pm-l,m-\ \ 0 m - l , l / (3.43) Vm = Vm-lO- ~ 0 m m ) (3.44) Performance Index Calculation 33 • Results: • • • 14>m,rn are the estimated partial autocorrelation functions at lags 1,2,..., m. where m = N — 1, N is the number of samples. In addition to the above results, it can be also shown that 0 m , i> • • • , 0 m , m are the estimate of the coefficients of the following AR model: ^(q-^yt = <H (3.45) where $ ( g - 1 ) = 1 + (p^iQ'1 + ••• + </>m,m<Tm-and, is the estimate of the noise deviation a\. In order to calculate the performance index, the MA model is needed rather than the AR model of the process. This can be done through polynomial comparison. Substituting the MA model: yt = *(<?-% (3.46) where ^(q'1) = 1 + V i ? - 1 + • • • + V'n t f - "-to the AR model (3.45) gives: Hq'^iq-1)^ = at (3.47) Thus: ^(q-^iq'1) = 1 (3.48) If written out: (1 + 4>m,iq'1 + ••• + 0m,m<T m ) ( l + V ^ " 1 + • • • + ^ n ? " " ) = 1 (3.49) Comparing the same degree of q~l of the both sides, we have: 0m, l+^ l=O (3.50) Performance Index Calculation 34 <f>m,2 +1p2 + <t>m,l^l = 0 (3.51) And obtain: tl>\ = -<f>m,i (3.52) *h = -(/>m,ltpl ~ <t>m,2 (3.53) Estimate o2mv as: *L = ( l + $ + ...+V2-i)*m ( 3 - 5 4 ) and performance index r)(d) as: V(d) = l-a2mv/(a2y + dl) (3.55) Note: (1) In order to calculate the performance index 77(d), the process time delay d must be known in advance; (2) When estimating the AR model coefficients in Durbin-Levison Algorithm, the order of AR model n must satisfy: n 7$> d to ensure the model accuracy. 3.2.2 Mayne-Firoozan Algorithm The Mayne-Firoozan Algorithm [18] is an extension of the Durbin-Levison Algorithm. It considers the problem of the parameter estimation for an ARMA (mixed autoregressive-moving average) model: Performance Index Calculation 35 where A{q^)yt = Ciq'1)^ A(q-1) = l + alq'1 + ...anq-n C(q-l) = l + c1q-1 + ...cnq-n (3.56) (3.57) (3.58) Its basic idea is: • Step 1: using linear least square estimation method to obtain an asymptotically unbiased parameter estimate A(q~1), • Step 2: using A(q~1) to calculate the residual sequence {st}, • Step 3: estimating A(q~l) again and C(q~1), • Step 4: determining the filtered data sequence {yt} using C(q~r)yt — yt, • Step 5: using the residual sequence {et} and the filtered data sequence {yt} to get the final asymptotically unbiased and efficient estimator of A(q~1) and C(q~1). With the ARMA model, the MA model coefficients can be found through the same polynomial comparison method shown in Durbin-Levison Algorithm, and estimate aa through {et}. Then, using (3.36) to get performance index n(d). 3.3 Performance Index Calculation via a Laguerre Network The above approaches to calculate performance index are via an ARMA model, which means the degree of the model has to be chosen. This is not always an easy choice. Performance Index Calculation 36 For example, in the Durbin-Levison Algorithm, the choice of the AR model order di-rectly affects the accuracy of the performance index. The model parameter identification procedure can also be very complicated, as shown in the Mayne-Firoozan Algorithm. e(t) 1-a-q q -a 4) y(t) Figure 3.16: Block Diagram of Laguerre Network By comparison, the use of a Laguerre network has some attractive and convenient properties. A block diagram representation of the Laguerre network which models a control loop is shown in Figure 3.16. A discrete Laguerre model is usually written as [8]: y/1 - a2 1 - aq ^ Lm) = — — — ( - — r ) 1 = (3.59) q — a q — a where a is the Laguerre filter time scale. Because Laguerre functions are orthonormal and complete in L2[0, oo), they can rep-resent the impulse response of any stable sampled linear time invariant system h(t) with an infinite expansion: oo Ht) = Y,Mt) (3-6°) i = l Performance Index Calculation 37 where gt is the i-th Laguerre gain. li(t) is the output of i-th. Laguerre filter. In practice, the above infinite expansion is truncated after N filters, which expressed in transfer function form is: H(q-1) = JTgiLi(q-1) (3.61) In (3.61), L^q'1) depends only on the time scale a, which is often chosen by trial as 0.2 and 0.3. So once the number of Laguerre filters N is set, the only parameters remaining to be determined are the gi} which can be found through recursive extended least squares (RELS) estimation. After determining the Laguerre network, the performance index is calculated. The whole procedure is shown below [16]: • Step 1: Represent the discrete Laguerre network in state-space form: l(t + 1) = Al(t) + be(t) (3.62) y(t) = cTl(t) + e(t) (3.63) where A is a matrix whose elements are given by: aij = a i — j a i j = 0 i<j (3.64) = (-ay-i-^l -a2) i> j 6 is a vector whose elements are given by: 6. = ( - o y - i v T ^ a i = i , . . . ,JV (3.65) c is a vector whose elements are given by: c = [gi g2 • • • 9N]T (3.66) Performance Index Calculation l(t) is a vector whose elements are given by: l(t) = [h(t) h(t) ••• lN(t)]T 38 (3.67) Step 2: Estimate the parameters of the model recursively by using: l(t) = Al(t - 1) + bn(t - 1) (3.68) P{t) = P{t - 1) - 1 + l T { t ) p { t _ m t ) (3-69) c{t) = c(t - 1) + P(t)l(t)[y(t) - cT{t - l)l(t)] (3.70) Vit) = y(t) - cT(t)l{t) (3.71) where the initial values 1(0), c(0) are randomly set, the initial values of P(0) are set to be very large. • Step 3: Terminate the recursive process when parameters of the model have con-verged, and now the residual r){t) gives an estimate of the white noise e(i): o\ = tl (3.72) • Step 4: Calculate the loop output variance under minimum variance control: "L = ^[1 + (cT6)2 + {FAbf + ••• + icTAd~%)2} (3.73) where d is the loop time delay. Performance Index Calculation 39 • Step 5: Compute the perform index r)(d): V(d) = 1 - oL/(oJ + %) (3.74) Compared to the Durbin-Levison algorithm, which is batch-processing, this algorithm is recursive and is easier to carry out on-line. Compared to Mayne-Firoozan algorithm, its computation load is much less. 3.4 Simulation Results Consider the following process loop, (process time delay d = 4 is assumed known): y ( t ) = (1 - O . " ! - ) " ' ' - 4 ) + (1 - I J h - i + 0 . 3 5 ^ ) ° W ( 3 ' 7 5 ) The control law is given as following, and is proved to be close to minimum variance control [11]. u(t) - u{t - 1) = -0.13y(t) + 0.011y(* - 1) (3.76) The loop noise signal a(t) is simulated using pseudo random white noise sequence with zero mean and 0.6 variance, i.e. {«(£)} ~ WN(0,0.62). First, calculate the performance index tj(d) via an ARMA model (using Durbin-Levison algorithm). The MA model coefficients are estimated as: fa = 0.8636 V2 = 0.1898 ^ 3 = -0.1658 The noise signal variance is estimated as: v2m = 0.3587 So, the loop deviation given by the minimum variance control is: °L = (1 + V>i2 + V>22 + = 0-6490 Performance Index Calculation 40 The loop deviation a2y and the mean deviation from setpoint d? under the current control can be easily calculated from loop data, the results are: ^ = 0.7260 dy = 0.0023 And, the performance index rj(d) can now be computed out: V(d) = l - o ^ / ( ^ + <3) = 0.1089 Next, we calculate the performance index n(d) using the Laguerre network represen-tation. The Laguerre filter number N is chosen as 6, the filter time scale a is chosen as 0.2, and the network coefficients are estimated as: cTb = 0.8360 cTAb = 0.2010 cTA2b = -0.2017 The noise signal variance is estimated as: a\ = 0.3611 So, the loop deviation given by the minimum variance control is: a2mv = a2v[l + (cTb)2 + (cTAb)2 + ••• + (crAd"26)2] = 0.6428 The loop deviation a2 and the mean deviation from setpoint under the current control are obtained as before. And, the performance index n(d) is now computed out as: irtd) = l-^/W + <?) = 0.1175 The control law is proved to be close to minimum variance control [11], so the loop performance index should be small. The results obtained from both methods are also small, indicating both methods are right. Performance Index Calculation 41 The process time delay d must be known in advance, otherwise neither method can give out an accurate performance index. Table 3.1 shows the corresponding performance index values when different time delay values are used. Table 3.1: Performance Index for Different Time Delay d d=2 d=3 d=4 d=5 ci=6 ARMA model method Laguerre network method 0.6510 0.6718 0.3301 0.3485 0.1089 0.1175 0.1003 0.1040 0.0392 0.0571 The performance index value is not very sensitive to the Laguerre filter number N and the filter time scale a. Table 3.2 shows the different results when TV and a vary. Table 3.2: Performance Index for Different TV and a N — 5 N = 6 a = 0.2 a = 0.3 0.1303 0.1326 0.1175 0.1281 3.5 Conclusion The performance index is a scalar value which reflects how well a control loop is behaving and is therefore useful in control loop monitoring automation. This chapter describes methods of calculating the performance index. Two approaches are introduced: one using the ARMA model and the other using a Laguerre network. The two methods use the same Harris index definition to calculate the performance index n(d): V(d) = 1 - o2mv/(o2y + 4) where a2mv is the loop deviation under the minimum variance control, Performance Index Calculation 42 o2 is the loop deviation under the current control, 3^ is the mean deviation from setpoint. Two methods only differ in how to estimate cr^v- The ARMA approach calculates it by coefficients of the MA model, while the second method uses Laguerre filter gains. Given the loop time delay, both can give out a relatively accurate performance index value. The ARMA model method first needs to estimate the AR model coefficients and then convert them to MA model coefficients by polynomial comparison. The computation load is significant. Also, it is batch algorithm so that it is not directly suitable for on-line implementation. By comparison, the Laguerre network method is quicker in computation as it only needs to estimate the Laguerre filter time scale. In addition, it is easier for on-line implementation because it is an recursive algorithm. If the process time delay is unknown, neither method can calculate the performance index accurately. Accurate identification of the process time delay is therefore a very important issue that needs extensive research work. Chapter 4 Loop Oscillation and Valve Friction Detection 4.1 Introduction It has been found that oscillations occur in many process control loops. Thus they may have severe effects on the performance of the loop: increasing energy consumption, causing raw material loss and product quality degradation. In addition to outside load disturbances and improper controller parameters, control valve friction is a major cause of loop oscillation: it has been claimed that about 30% of all process loops are oscillating because of valve friction [3]. A control loop performance monitoring system must be able to detect loop oscillation and diagnose the cause. This chapter will present procedures for detecting loop oscillation and valve friction. 4.2 Loop Oscillation Detection 4.2.1 Loop Oscillation Causes The major causes for loop oscillation are [9]: • Load disturbances near the ultimate frequency (where the phase lag is —180°). While low frequency load disturbances are eliminated by the controller, and high frequency load disturbances are filtered out by the process itself, such middle range frequency load disturbances cannot be treated by either the controller or the pro-cess, instead they are typically amplified by feedback. 43 Loop Oscillation and Valve Friction Detection 44 • A badly tuned controller. Especially when an nonlinear loop is subjected to a change in operating point, too high a controller gain will likely result in a loop oscillation. • Valve friction. When friction occurs, a valve introduces nonlinearity to the whole loop, and may lead to stick slip and finally causes loop oscillations. The patterns of such oscillations vary, depending on the type of valve and the type of friction. Often this effect is incorrectly believed result from controller mis-tuning. 4.2.2 Loop Oscillation Detection One approach to loop oscillation detection is quite intuitive: if within a certain period of time, the process output crosses the setpoint too many times and each time with a too big overshoot, then a loop oscillation is concluded to be present. The whole procedure is as follows [9]: • Step 1: Calculate the integrated absolute error (IAE) using: where rjj_i and U are two consecutive times of zero crossings, e(t) is process output error. • Step 2: If IAE exceeds a certain limit IAEum, then one load disturbance is counted to have occurred. The IAEiim can be computed by: (4.77) IAEum = (4.78) where uu is the ultimate frequency. Loop Oscillation and Valve Friction Detection 45 In most cases, uu is unknown and replaced by u^: *i = % (4-79) where % is the integral time of the controller. • Step 3: If over a supervision time Tsup, the number of detected load disturbances exceeds a certain limit n^m, then a loop oscillation is considered to be present. tium is usually chosen as 10, and the supervision time Taup is chosen as: Tsup > nuJ± (4.80) where Tu is the ultimate oscillation period. In practice, if Tu is unknown, it can be replaced by the integral time of the controller In the above procedure it is assumed that the controller has integral action so that the mean process output error is zero. If the controller does not contain an integral action, a similar approach can still be obtained [9]. Figure 4.17 shows two simulated control loops. Applying the above procedure to them, the following results were obtained: For loop 1, Ti = lOsec So, IAElim = - = « 3.18 tium is chosen as 10, so the supervision time must satisfy: Ti Taup > n « m y = 50sec Loop Oscillation and Valve Friction Detection 46 As the sampling frequency is one sample per second, we choose 300 samples so that • sup 300sec. It is easy to calculate that the total number of IAE whose value exceeds IAEiim is 14, greater than nnm, so it is concluded that oscillation exists in loop 1. Similarly it is also concluded that oscillation exists in loop 2. However, as will be seen in section 4.3, the reasons for the oscillation in those two loops are different. Loop 1 Loop 2 1 SO 2 0 0 Number of Samples Figure 4.17: Loops with Oscillation 4.3 Valve Friction Detection After loop oscillation is detected, the next step is naturally to find out its origin so that corrective actions can be taken. As mentioned, valve friction is one major cause for loop oscillation and moreover this kind of oscillation is often mistaken as due to poorly tuned controller parameters. As a result, controller parameters are sometimes re-tuned to very conservative values and the whole loop performance is degraded. In contrast, if there is a method to determine whether or not valve friction is present and to estimate the Loop Oscillation and Valve Friction Detection 47 friction degree, then an appropriate solution can be found: If the friction level is high, then it may be the origin of the loop oscillation so that the first step should be valve maintenance; If the friction level is not high, then a mis-tuned controller or an external perturbation is more likely to be responsible for the oscillation. A method to detect valve friction is now discussed [26]. For each type of valve used in control loops, there is a characteristic function (or characteristic table) describing the valve input-output relation. With an ideal valve, its output will track the valve reference signal given by the controller, in conformity with the valve characteristic function. But in practice, the real valve output tracks the reference signal with delay and/or overshoot. As a result, the valve output is different from the one indicated by the valve characteristic function (See Figure 4.18). The more friction that exists in a valve, the more deviation appears between the real valve output and the indicated value. The degree of valve friction is found by measuring such deviation. Control Valve Character Function 1.51 1 1 1 i : 1 1 1 1 1 1 _1 I i i i i i i i i i I - 0 . S - 0 . 4 - 0 . 3 - 0 . 2 - 0 . 1 0 0.1 0.2 0.3 0.4 0.5 Valve Position Figure 4.18: Control Valve Input-Output Relation Loop Oscillation and Valve Friction Detection 48 The whole procedure is: • Step 1: Calculate D, the overall deviation between real valve output and ideal valve output over a supervision time: t=TBUp D = E \Qr(t) - Qi(t)\ (4.81) t=0 where Tsup is the supervision time, Qr(t) is the real valve output, Qi(t) is the ideal valve output. • Step 2: Determine A n a s , the maximum acceptable overall deviation between real valve output and ideal valve output over a supervision time: Dmax= Y, \Qma*(t) ~ Qi{t)\ (4.82) where Qmax(t) is the maximum allowed valve output deviation in each valve position. Step 3: Define a valve friction index Fr: Fr = j^- (4.83) 'max If FT <C 1, then the real valve output is close to the ideal one, which means the valve is operating in conformity with its characteristic function; If Fr > 1, then the real valve output has deviated far away from the ideal one, which indicates high friction in the valve; If JFV « 1, then the valve is near its maximum allowed deviation. The method is now used to diagnose two loops shown in Figure 4.17. For loop 1, Fr « 0.6, which means the control valve does not have too much friction and the oscillation Loop Oscillation and Valve Friction Detection 49 reason should be either external perturbation or bad tuned controller parameters. For loop 2, Fr « 3.5, which indicates high valve friction has caused the loop oscillation. Therefore, the two loops need different remedies in order to eliminate oscillations from them. 4 . 4 Conclusion Loop oscillation is a common phenomenon encountered in process loops and can have a severe impact on the loop performance. The detection of its existence is an important issue in control loop performance monitoring. This chapter introduced a procedure for carrying out this task. First the load disturbance is detected through loop output inte-grated absolute error (IAE), and then the total number of load disturbance occurrences within a supervision time is checked. If this number exceeds a certain limit, then an oscillation is believed to have occurred. This procedure is simple and easy to implement, and yet may yield good results. After a loop oscillation is detected, the next step is to diagnose its cause. One algorithm to detect valve friction was presented here. It measures the deviation distance between the real valve output and the ideal one described by its characteristic input-output function. Based on this, a friction index Fr is defined. When Fr is greater than 1, valve friction is likely to exist. The method is simple and does not require a model, as long as the characteristic input-output function of the valve is known. However, loop oscillation may be also resulted from external load disturbance, or mis-tuned controller parameters. When a loop oscillates, the interaction with other loops will export the oscillation so that it is often very difficult to determine which loop is the source of the oscillation. So, many challenges remain. Chapter 5 Performance Monitoring Application Software 5.1 Introduction Control loop performance monitoring is very useful for assessing the loop operation and ensuring the product quality, however, very few industrial application software systems are available. This gap must be filled. As part of this thesis, an integrated performance monitoring software system has been developed in an industrial environment and evaluated. Its source code exceeds 10,000 lines. In the work of developing a software system, the algorithm part usually accounts for about 35%, the system specification and structure design part accounts approximately for 25%, the user interface part accounts for 20%, and the installation and validation part usually accounts for 20%. However, this chapter will only introduce the system from a general perspective, and with emphasis on its applications. 5.2 System Development Environment and Phases 5.2.1 Development Environment The system was developed in a Windows 95/NT environment, using Visual C++ 5.0 Developer Studio and Microsoft Foundation Classes (MFC). This provides an excellent development environment for the performance monitoring system. 50 Performance Monitoring Application Software 51 Windows programming is different from traditional programming. Generally speak-ing, it has the following major characteristics: • Multi-Task: Windows is a multi-task operating environment, which means that under Windows, multiple programs can run at the same time. • Event-Driven: A Windows program is event-driven; each user action (called an event) will typically result in a particular segment of the program being executed. • Graphical Interface: Windows supports a complete and elegant graphical interface to the user, which makes the user operation intuitively easy. • Hardware Isolation: No direct access to the hardware resources (for example, key-board, screen, printer, etc.) is permitted. The above four attributes enable a well designed Windows program to be run-time effective, system reliable and user friendly. C++ is an object-oriented programming language. It has four distinct features: • Inheritance, such as super- and sub-classes; • Generic Programming, such as template technology; • Polymorphism, such as operator overloading; • Dynamic Binding, such as virtual function. These features greatly increase the reliability, reusability and maintainability of a program, especially of a large program written in C++. C++ therefore has now become a widely used program language. Until recently, Windows programming was very time-consuming and tedious with many functions for a programmer to remember. Microsoft Foundation Classes (MFC), a Performance Monitoring Application Software 52 set of pre-defined classes which bind most of these functions into some application-specific groups, make today's Windows programming much easier and more efficient. 5.2.2 Development Phases The system was developed in conformity to the standard software development process [24]. Four phases have been carried out to produce the final software system: • Software Specification: define the functionality of the software and constraints on its operation; • Software Development: write software code to implement the specification; • Software Validation: validate to ensure that the software really does what the customer wants; • Software Evolution: evolve the software to meet the changing customer needs. 5.3 System Structure and Functions 5.3.1 System Structure The system is a multiple document interface (MDI) application program so that it can monitor multiple loops at the same time. Figure 5.19 shows the system structure. For each loop, the data are first sampled by the DCS - the "DCS data"; then they are collected and stored in a Foxboro Data for Windows database - the "real-time or historian data". The performance monitoring system accesses the data from Data for Windows; pre-processes it (as discussed before, first filtering it with a 4-th order Bessel lowpass filter, then down-sampling it); and then performs three kinds of operations on the data: process data analysis, performance index calculation, loop oscillation and valve friction Performance Monitoring Application Software 53 detection. Finally the results are shown on the screen and can be saved to a file and/or printed. One Loop DCS Data DCS Real-Time or Historian Data Data Preprocessing Process Data Analysis \ Display or Performance Index Calculation Print. or Save in File / Oscillation & Frictior / Detection Foxboro Data for Windows Performance Monitoring System Figure 5.19: Performance Monitoring System Structure 5.3.2 System Functions The system has two groups of functions: system service, performance monitoring. System Service Function Figure 5.20 shows the whole system function menu, where Plot, Edit, View, Window, Help are system service functions. They are described below in detail: Plot: contains functions related for plot/file operation, including drawing a new plot, saving it in a file; calling an existing plot from a file; printing out a plot; directly calling four newly used plots; etc. Performance Monitoring Application Software 54 F i g u r e 5.20: P e r f o r m a n c e M o n i t o r i n g S y s t e m F u n c t i o n • E d i t : c o n t a i n s f u n c t i o n s r e l a t e d t o p l o t e d i t i n g , i n c l u d i n g c u t t i n g or c o p y i n g a p l o t o r a p o r t i o n of a p l o t a n d l a t e r p a s t i n g i t . T h i s f u n c t i o n is n o t c u r r e n t l y i m p l e m e n t e d . • V i e w : c o n t a i n s f u n c t i o n s for v i e w i n g the p l o t . B y c h a n g i n g t h e v i e w scale, t h e p l o t c a n be s h o w n o n the screen i n different sizes. • W i n d o w : c o n t a i n s f u n c t i o n s r e l a t e d t o w i n d o w s m a n a g e m e n t . A s there are severa l w i n d o w s o n t h e screen s i m u l t a n e o u s l y , the user s h o u l d be able t o t i l e t h e m , cascade t h e m or choose a n y one of t h e m as the ac t ive w i n d o w . A l l these o p e r a t i o n s are def ined here. • H e l p : c o n t a i n s i n f o r m a t i o n e x p l a i n i n g t h e system's o p e r a t i o n . Performance Monitoring Application Software 55 Performance Monitoring Function I n F i g u r e 5.20, Draw, Pen, Trend are p e r f o r m a n c e m o n i t o r i n g f u n c t i o n s . T h e y p r o v i d e t h e f o l l o w i n g o p e r a t i o n s : F i g u r e 5.21: S i x P l o t s i n the P e r f o r m a n c e M o n i t o r i n g S y s t e m • D r a w : A s s h o w n i n F i g u r e 5.21, the s y s t e m w i l l a u t o m a t i c a l l y d r a w s i x p l o t s for each l o o p , t h e y are: s e t p o i n t / e r r o r p l o t , a u t o c o r r e l a t i o n f u n c t i o n p l o t , p a r t i a l a u t o -c o r r e l a t i o n f u n c t i o n p l o t , power s p e c t r u m e s t i m a t i o n p l o t , c u m u l a t i v e p o w e r spec-t r u m e s t i m a t i o n p l o t , l o o p p e r f o r m a n c e analys is resul ts . T h e p l o t range c a n be a d j u s t e d b y the user i n o r d e r to show each p l o t m o r e c lear ly , t h i s is done b y a d i -a logue b e t w e e n the user a n d t h e s y s t e m . F i g u r e 5.22 shows such a d ia logue . A l s o , t h e p l o t s c a n be d r a w n u s i n g e i ther r e a l - t i m e d a t a or h i s t o r i c a l d a t a . A l l these o p e r a t i o n s are speci f ied i n D r a w . • P e n : T o d i s t i n g u i s h different p l o t s , the user m a y choose different pens w i t h different Performance Monitoring Application Software 56 Figure 5.22: A Dialogue for Changing the Plot Range colors, widths, types to draw them respectively. These operations are defined here. • Trend: If a plot is drawn using real-time data, then the plot w i l l be automatically updated. If the plot is drawn using historical data, then the user might wish to browse the plot from current time backward or forward. Using operations defined here (Backward/Forward One/Ten Sample(s)), this can be easily done. 5.4 Application Cases In this section, we wi l l illustrate how the performance monitoring system works v ia two application cases. Performance Monitoring Application Software 57 5.4.1 pH Control Monitoring F i r s t a p p l y t h e s y s t e m t o m o n i t o r a p H c o n t r o l l o o p . It is the effluent p H c o n t r o l i n a b i o b a s i n for p u l p p r e p a r a t i o n w i t h 9 3 % s u l f u r i c a c i d . P u l p is m i x e d w i t h t h e r e q u i s i t e a m o u n t of b l e a c h i n g agent t o c a r r y out b l e a c h i n g r e a c t i o n , a n d t h e n is t r a n s f e r r e d t o a subsequent w a s h i n g o p e r a t i o n . D u r i n g the r e a c t i o n , p H value m u s t b e m a i n t a i n e d at a c e r t a i n leve l . A p H p r o b e is i n the l i n e j u s t before e n t e r i n g the b i o b a s i n a n d a d i s t u r b a n c e flow of s p i l l l a g o o n p u m p b a c k is a d d e d t o the s t r e a m after the p H p r o b e . T h e l o o p is c o n t r o l l e d b y a F o x b o r o P I D c o n t r o l l e r . T h e t i m e de lay o f t h e l o o p is 10 m i n u t e s . T h e o r i g i n a l s a m p l i n g p e r i o d is 10 seconds, w h i c h is t o o fast for t h i s l o o p . So, t h e d a t a has gone t h r o u g h a 4 — t h o r d e r Besse l lowpass f i l ter w i t h a s t o p - b a n d o f 0.5minute~l a n d t h e n d o w n s a m p l e d t o a p e r i o d of 1 m i n u t e . O &* a«» few P=o law* • M a t i M « : T i r : i ^ ; JI.J * <M»I 1KAKTLN SetFoint/Error Plot j " 9.1 u pperLin n A I r i Set Ponrf 7 S I • Set Point 7 J 1 J \ r LownrLimi s [ o w i r o F i g u r e 5.23: S e t p o i n t / E r r o r P l o t for a p H C o n t r o l L o o p F i g u r e 5.23 shows the s e t p o i n t / e r r o r p l o t for the d o w n - s a m p l e d c o n t r o l l o o p . F r o m t h e p l o t we c a n see the c o n t r o l effect is f a i r l y g o o d , w i t h fluctuations w i t h i n t h e lower Performance Monitoring Application Software 58 a n d u p p e r l i m i t s (here l i m i t s are set a c c o r d i n g t o t h e m a x i m u m a l l o w e d process o u t p u t ) . F o r m o r e i n f o r m a t i o n a b o u t the l o o p o p e r a t i o n , other m o n i t o r i n g resul ts are e x a m i n e d . iii . 1KAKTXIV Auto-Correlation Function lipper 9 5 » i confidence tine - 0.179 •bJ= eJ> J»Ca Horizontal I mi* - 0. L o w W . confidence tine - -0.179 from. 133fW>V?3 ?i sa'OQ. S«4ceO«<v rJ« : aWesiwnh CtmWcpp'^nniw.^.A Lag (MiziDta) F i g u r e 5.24: A u t o c o r r e l a t i o n F u n c t i o n P l o t for a p H C o n t r o l L o o p F i g u r e 5.24 a n d 5.25 are r e s p e c t i v e l y the a u t o c o r r e l a t i o n f u n c t i o n ( A C F ) a n d p a r t i a l a u t o c o r r e l a t i o n f u n c t i o n ( P A C F ) p l o t s for the l o o p . F r o m F i g u r e 5.24 i t c a n be seen t h a t t h e A C F p l o t does not enter t h e 9 5 % confidence l i m i t s for a large l a g (greater t h a n 4 0 ) , w h i c h m e a n s t h e l o o p c a n n o t be p r o p e r l y m o d e l e d as a m o v i n g a v e r a g e ( M A ) process. F r o m F i g u r e 5.25 i t is seen t h a t the P A C F p l o t decays q u i c k l y . A f t e r 4 lags i t is w i t h i n the 9 5 % confidence l i m i t s . So the l o o p c a n be a p p r o x i m a t e l y expressed as a f o u r t h o r d e r a u t o r e g r e s s i v e ( A R ) process. N e x t , we m o v e t o t h e frequency d o m a i n t o e x a m i n e the l o o p . F i g u r e 5.26 a n d 5.27 are r e s p e c t i v e l y the power s p e c t r u m e s t i m a t i o n ( P S E ) a n d c u m u l a t i v e p o w e r s p e c t r u m e s t i m a t i o n ( C P S E ) p l o t s for the l o o p . F r o m F i g u r e 5.26 i t c a n be seen t h a t a l l m a j o r dis-t u r b a n c e s reside i n l o w frequencies (lower t h a n Q.lrninute~l). B y e x a m i n i n g F i g u r e 5.27 Performance Monitoring Application Software 3|tf|Hl I •ITIFT^J J - J ^ J ^ f F F P ^ '^ 1 «l<l>l»l 1K-AVTTN Partial Auto-Correlation Function from 1«W/G?/20 "joutcBOaitf Ae C \K««wach_Ct>mVco(>\MoHtoApH.o^ Ron* .• Lag (Minots) Figure 5.25: Par t ia l Autocorrelation Function Plot for a p H Control Loop Mil-I K A K I L N Power Spectrum EsTimats < • > < 1 ( 1 < > o I X < ) < " 1 < 11 j f 1 T? 1 ! ft ????' O O 9 9 ->o< ISA o c Q II II \< i f I I 0.25 :TmeD9tey|M»-ii. '0 v w : „ - « ] Figure 5.26: Power Spectrum Estimation Plot for a p H Control Loop Performance Monitoring Application Software 60 Rto< got yjw CTJIW Pec Irand H»fe 1 K A K L L N Cumulative Power Spectrum 1 • 5 < > >< < >< > >< _o< s >< >< « < > o< .._A.< >< >< <; i > » < • < < 1 5 1 0 I Raw*. 0.25 0 3 3 2 0.418 F i g u r e 5.27: C u m u l a t i v e P o w e r S p e c t r u m E s t i m a t i o n P l o t for a p H C o n t r o l L o o p i t c a n be f o u n d t h a t a b o u t 5 0 % of t h e t o t a l d i s t u r b a n c e s are b e l o w 0.1minute~l. T h i s i n d i c a t e s t h a t t h e m a j o r d i s t u r b a n c e of the p H c o n t r o l l o o p comes f r o m a s low source. F i n a l l y , d iagnose the l o o p m o r e c losely as i n F i g u r e 5.28. T h e p e r f o r m a n c e i n d e x is 0.2234 <C 1, w h i c h i n d i c a t e s the c o n t r o l is g o o d . A l s o , the diagnosis resul ts s h o w n o l o o p o s c i l l a t i o n a n d valve f r i c t i o n . 5.4 .2 F l o w C o n t r o l M o n i t o r i n g T h e second a p p l i c a t i o n case is a w h i t e w a t e r flow c o n t r o l l o o p . It is u s e d t o c o n t r o l the p u l p consistency. P u l p consistency, def ined as mass or weight percentage o f b o n e d r y fiber i n a p u l p s tock , c a n affect the final p a p e r q u a l i t y a n d need c o n t r o l accurate ly . It c a n be r e g u l a t e d b y c o n t r o l l i n g the w h i t e w a t e r flow. A P I D c o n t r o l l e r is a p p l i e d t o t h e w h i t e w a t e r flow l o o p . T h e t i m e de lay of the l o o p is 4 m i n u t e s . T h e o r i g i n a l s a m p l i n g p e r i o d is 10 seconds, w h i c h is t o o fast for such a flow l o o p . So, the d a t a has gone t h r o u g h a 4 - t h Performance Monitoring Application Software 61 oitsial i |,-|ai»irr--1KAK3J .N Loop Performance Analyst Performance Index - 0.2234 Loop Performance = Good Oscillation = Fall a Fr - D/D_max = Fl max - 1. Friction • Falle n im/Q7/31 23 59:00 S o n * i - - CWo.^n.aPMSVcBO\M0M*a ,*H;* F i g u r e 5.28: P e r f o r m a n c e A n a l y s i s R e s u l t s for a p H C o n t r o l L o o p o r d e r B e s s e l lowpass filter w i t h a s t o p - b a n d o f O.bminute'1 a n d t h e n d o w n s a m p l e d t o a p e r i o d o f 1 m i n u t e . F i g u r e 5.29 shows the s e t p o i n t / e r r o r p l o t for the c o n t r o l l o o p . F r o m t h e p l o t i t is seen t h a t t h e c o n t r o l effect is not g o o d a n d a n o s c i l l a t i o n o b v i o u s l y exists . O t h e r m o n i t o r i n g resul ts h e l p t o d e t e r m i n e the cause. F i g u r e 5.30 a n d 5.31 are r e s p e c t i v e l y the a u t o c o r r e l a t i o n f u n c t i o n ( A C F ) a n d p a r t i a l a u t o c o r r e l a t i o n f u n c t i o n ( P A C F ) p l o t s for the l o o p . F r o m F i g u r e 5.30 we c a n see t h e A C F p l o t fluctuates a n d does not s tay i n the 9 5 % confidence l i m i t s for a v e r y b i g l a g (over 64 lags) . T h e p l o t a lso shows t h a t the p e a k values o c c u r p e r i o d i c a l l y , w h i c h i n d i c a t e s t h a t t h e e r r o r is caused b y a p e r i o d i c c o m p o n e n t . I n F i g u r e 5.31 the P A C F p l o t decays v e r y q u i c k l y , i n d i c a t i n g the l o o p c a n b e d e s c r i b e d b y a n A R m o d e l . I n t h e frequency d o m a i n , F i g u r e 5.32 a n d 5.33 are respect ive ly t h e p o w e r s p e c t r u m Performance Monitoring Application Software Q|g*IBI • I I'd ai»ir • I _i_J FT^pr AJ » M > M FCDA12A SetPoint/Error Rot Sample Number F i g u r e 5.29: S e t p o i n t / E r r o r P l o t for a F l o w C o n t r o l L o o p P Ro< £i» Y>e« Pes I-WH) Window Mulo • ~>H FCDA12A Autocorrelation FunctiDt -conk. , , l • = 0.179,1 Idence bne 0.179 1 u v/.o:.i.ii i.i.iiV o. 1 M Lin J 95"/ lei l d « Lower 9 5 * ' . confidence 1 » ' -0.179 Lag (Minute) ?^-!A'!vn; ,0-02:00 C . * » S ^ p ^ w o d l M ' i i V l T ^ O r v ilyrr; 4 view Sea* 1 To: .996/1 M S 120200 F i g u r e 5.30: A u t o c o r r e l a t i o n F u n c t i o n P l o t for a F l o w C o n t r o l L o o p Performance Monitoring Application Software FCDA12A Fartia] Auto-Correlation Function io-> I.W-r/95% conTtj | \ A i l l A ,1 /I ^ A<v A A , » Unpin-95V. onM -,„ cal no = 0.179 A A A £ VV \jv Jv V ' V w v v \ H v Line » C .Utaj 95*'o • onTiiiniirt- line - -0.1^9 r.. cutiiidence 1 me - -0.179 F i g u r e 5.31: P a r t i a l A u t o c o r r e l a t i o n F u n c t i o n P l o t for a F l o w C o n t r o l L o o p • m a i • I •  ir-) a j r j F i d -il-ilMr«T^P»T." -I «HM»I ' E33 FCDA12A I'ower Spectrum Ultimate IITTTTTTTT T TTTTT??T?T?TT?TT?T?nt 10. F i g u r e 5.32: P o w e r S p e c t r u m E s t i m a t i o n P l o t for a F l o w C o n t r o l L o o p Performance Monitoring Application Software 64 5 1 FCDA12A Cumulative Power Spectrum i 3 >< J >< ><; VI J > J l o >< > >< > > < 0 >-< < < 1 < • Q ?t 1 0.1641 0.25 0332 ' 1896/11/16 100200 i $ ^ i n ^ « e F l £ ' ' i ^ S W ^ ™ d { M i n f ' i ' ' ' T«rwC»vlM^t a V * - ' J c « t t o " ,996/11 F i g u r e 5.33: C u m u l a t i v e P o w e r S p e c t r u m E s t i m a t i o n P l o t for a F l o w C o n t r o l L o o p e s t i m a t i o n ( P S E ) a n d c u m u l a t i v e power s p e c t r u m e s t i m a t i o n ( C P S E ) p l o t s for t h e l o o p . I n F i g u r e 5.32 note t h a t there are p e a k values a r o u n d Q.lminute'1 i n the p o w e r s p e c t r u m , w h i c h m e a n s here exist m a j o r d i s t u r b a n c e s . F r o m F i g u r e 5.33, i t c a n b e seen t h a t over 5 0 % o f t o t a l d i s t u r b a n c e s are lower t h a n O.lminute-1, a n d t h a t a r o u n d O.lminute^1 there ex is ts a s h a r p increase because here exist m a j o r d i s t u r b a n c e s . F i g u r e 5.34 shows t h e specif ic l o o p diagnosis resul ts . T h e p e r f o r m a n c e i n d e x is 0.7633 » 1, i n d i c a t i n g t h e c o n t r o l is p o o r . T h e diagnosis results show t h a t b o t h l o o p o s c i l l a t i o n a n d valve f r i c t i o n exist . P r o b a b l y valve f r i c t i o n is one cause of l o o p o s c i l l a -t i o n . So t h e first step for i m p r o v i n g the c o n t r o l l o o p p e r f o r m a n c e s h o u l d be c h e c k i n g the c o n t r o l va lve . Performance Monitoring Application Software 65 DloSlBl 1 -|e|*|*|(ir-.|«t.H^|-|-l-|.nr ; FCDA12A Loop Performance Analysis Performance Index • 0.7633 Loop Performance - Bad D = 3.771 N_disturb== 14 D max = 2.5 N_max= 10 Fr=D/I>_max= 1309 Oscillation — True Fr_max - 1 . Friction - True Figure 5.34: Performance Analysis Results for a F low Control Loop 5.5 Conclusion In this chapter, a performance monitoring system was presented. The system was de-veloped i n Windows 9 5 / N T environment, using Visua l C + + 5.0 Developer Studio and Microsoft Foundation Classes ( M F C ) . These development environment and tools greatly facilitate software development. The system was developed according to well-established software development phases. The system is a multiple document interface (MDI) application program and can monitor multiple loops simultaneously. The system receives loop data v ia Foxboro Da ta for Windows and then analyses the loop performance. There are two groups of func-tion: system service function and performance monitoring function. The former provides management services for plots, files and windows, the latter provides operations for per-formance monitoring and related accessory functions. Two application cases were also given out. One is a p H control loop, the other is a Performance Monitoring Application Software 66 flow control loop. Through the two cases, procedures on diagnosis of a loop using the six different monitoring plots were expounded. The underlying ideas of the six plots were explained in Chapter 2, 3, 4 respectively. Chapter 6 Conclusions 6.1 Summary of Thesis Work Since Harris published his paper on control loop performance monitoring in 1989, the process control community has given great attention to this field. If the loop performance can be assessed solely from routine operating data, especially if it can be assessed by a relatively simple index, process industries will be able to make sure that huge numbers of control loops are working properly with a very limited number of control staff. Research since then has considered feedback-only and feedforward plus feedback con-trol, SISO system and MIMO systems, and from basic performance indexes to generalized ones. Currently feedback-only loop in the SISO system is the best understood area. Such loops are the most widely used ones in the process industry and consist the backbone of all advanced control systems. To carry out control loop performance monitoring task, three approaches are com-monly used: (1) direct process data analysis; (2) performance index calculation; (3) loop oscillation and valve friction detection. Direct process data analysis includes time domain and frequency domain data anal-ysis. In the time domain, autocorrelation and partial autocorrelation functions are used to examine the randomness, periodicity and correlation inside the loop data; in the frequency domain, power spectrum and cumulative power spectrum display different fre-quency components inside the loop data and reveal their contribution to the total output 67 Conclusions 68 error. Before data analysis, data sometimes needs to be preprocessed. The lowpass filter and down-sampling methods were introduced here. The performance index can be used to indicate quantitatively how well a control loop is operating. There are different methods for calculating the performance index. One way is through an ARMA model, another is via a Laguerre network. They use the same Harris index definition but differ in how to estimate the loop deviation under the minimum variance control. Usually, the Laguerre method is more computationally efficient and easier for on-line implementation. Loop oscillation is a common phenomenon and has severe effects. In order to removed the oscillation, it must be detected accurately and early. By checking the number of load disturbance occurrences, oscillation can be detected. Valve friction is one major cause of loop oscillation. For each kind of control valve, its normal input-output function is usually known. By comparing the achieved valve input-output relation to this, a valve friction can be found. Compared with academic research achievements, industrial applications are lagging behind because of a lack of the application software. The primary purpose of this thesis is to improve the situation. A system based on Windows 95/NT was developed using Visual C++ and MFC. It is a multiple document interface (MDI) application program and can monitor multiple loops simultaneously. Loop data is entered from a Foxboro Data for Windows and then the loop performance is analysed. There are two groups of functions, where the system service function provides management services for plots, files and windows; the performance monitoring function provides operations for performance monitoring and related accessory functions. Preliminary applications have shown the usage of the system. Conclusions 69 6.2 Future Work 6.2.1 Related to the Thesis Work • Time Delay Estimation. Loop time delay is a very important variable for per-formance monitoring, as both direct process data analysis and performance index calculation depend on it. However, currently there are very few results [16] on accurate estimation of loop time delay. • On-Line Testing. Although the system has been applied to two application cases, it is not yet implemented on-line. The Foxboro Data for Windows module is not working normally at present, so the system cannot be put into daily use as it cannot gather data constantly via the Foxboro Data for Windows. This however will probably be done in the near future. 6.2.2 General • Improvements to the Harris index in order to obtain more accurate performance diagnosis. • Extending the current SISO performance monitoring method to apply to general MIMO systems (although there have been some results for special MIMO systems [13, 10]) and to develop corresponding software system to implement it in industry. Bibliography [1] K. J. Astrom "Assessment of Achievable Performance of Simple Feedback Loops". International Journal of Adaptive Control and Signal Processing, 5(3):3-19, 1991. [2] K. J. Astrom "Limitations on Control System Performance". IEEE Conference on Decision and Control, 1997. [3] W. L. Bialkowski. "Dreams vs. Reality: A View from Both Sides of the Gap". Proceedings of Control Systems '92, 1992. [4] W. L. Bialkowski. "Dynamic Specifications: the Answer to the Control Performance Issue". Proceedings of Control Systems '92, 1992. [5] P. J. Brockwell and R. A. Davis. "Time Series: Theory and Methods". Springer, 1991. [6] D. W. Clarke. "Sensor, Actuator, and Loop Validation". IEEE Control Systems, pages 39-45, 1995. [7] L. Desborough and T. J. Harris. "Performance Assessment Measure for Univariate Feedforward/Feedback Control". Can. J. Chem. Eng., 71:605-616, 1993. [8] Y. Fu and G. A. Dumont. "Optimum Laguerre Time Scale and its On-Line Estima-tion". IEEE Trans. Automat. Contr., 38(6):934-938. [9] T. Hagglund. "Automatic Monitoring of Control Loop Performance". Control Sys-tems 94, Conference on Control Systems in Pulp and Paper Industry, 1994. [10] T. J. Harris and L. Desborough. "Performance Assessment of Multivariable Feed-back Controllers". Proceedings of 1995 AIChE Annual Meeting, pages 12-17, Nov. 1995. [11] T.J. Harris. "Assessment of Closed Loop Performance". Can. J. Chem. Eng., 67:856-861, 1989. [12] S. Haykin. "Nonlinear Methods of Spectral Analysis". Springer- Verlag, 1979. [13] B. Huang and S. L. Shah. "Performance Assessment of Multivariable Control Loops on a Paper-Maclune Headbox". Can. J. Chem. Eng., 75:134-142, 1997. 70 Bibliography 71 P. Jofriet. "An Expert System for Control Loop Performance". Pulp and Paper Canada, (6):70-73, 1996. L. C. Kammer, R. R. Bitmead, and P. L. Bartlett. "Optimal Controller Properties from Closed-Loop Experiments". Automatica, 34(1), 1998. C. B. Lynch and G. A. Dumont. "Closed Loop Performance Monitoring". IEEE Trans. Control System Technology, 4(2): 185-192, 1996. P. Lyonnet. "Tools of total quality: an introduction to statistical process control". Chapman and Hall, 1991. D. Q. Mayne and F. Firoozan. "Linear Estimation of ARMA Systems". Proceedings of 7th IFAC Conference, pages 1907-1912, 1978. R. L. Motard and B. Joseph. "Wavelet Applications in Chemical Engineering". Kluwer Academic Publishers, 1994. S. Ogawa. "A Data Analysis and Graphical Presentation System for Control Loop Performance Assessment". Process Control Electrical and Information Conference, pages 483-494, 1998. J. G. Owen, D. Read, H. Blekkenhorst, and A. A. Roche. "A Mill Prototype for Automatic Monitoring of Control Loop Performance". Control Systems, pages 171-178, 1996. J. G. Proakis and D. G. Manolakis. "Digital Signal Processing". Prentice Hall, 1996. C. Pryor. "Auto-covariance and Power Spectrum Analysis, Derive New Information from Process Data". Control Eng., (2):103-106, 1982. I. Sommerville. "Software Engineering". Addison-Wesley Publishing Company, 1995. N. Stanfelj. "Monitoring and Diagnosing Process Control Performance: The Sigle-Loop Case". Ind. Eng. Chem. Res., 32:301-314, 1993. O. Taha, G. A. Dumont, and M. S. Davies. "Detection and Diagnosis of Oscillations in Control Loops". Proceedings of 35th IEEE Conference on Decision and Control, pages 1-6, 1996. G. Taylor. "The Role of Control Valves in Process Performance". Proceedings of 80th Annual Meeting, Technical Section Canadian Pulp and Paper Association, 1994. 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0065329/manifest

Comment

Related Items