Phase II: Exploiting the Model | Fault Detection and Diagnosis in Chemical and Petrochemical Processes, Part 3
From the series: Fault Detection and Diagnosis in Chemical and Petrochemical Processes
Watch how you can detect the faults using the Squared Prediction Error (SPE) and T2 control charts. Next, learn how to use contribution plots in conjunction with these control charts for fault diagnosis. You can also simulate several faults and validate the performance of the PCA model against complex process upsets. Then watch industrial success stories in fault detection and diagnosis with the MATLAB® product family.
Hi. In this video we will continue with phase two, exploiting the model. This is where we implement the model in operation and check the new process observations. As new data points come in, they are preprocessed and projected onto the PCA model. Then we get new SPE and T squared charts.
If the points remain below the control limits in both charts, the process is considered to be in control. If a point is detected to be beyond the limits of one of the charts, then our diagnostic approach to isolate the original variables responsible for the out of control signal is needed. This is done using contribution plots, which I will show you soon.
One thing to remember is that we don't have an actual plan data set in force. So in this case, the authors have injected faults and generated new data sets. There are three types of faults that have been injected. One is a process disturbance. Within the disturbance we have three types of disturbances, spike, ramp and pulse. The second type of disturbance is a control loop failure and third is operating mode change.
Going back to the app, we see that there are multiple test data sets that have been created for these multiple different faults. We will only be seeing a few of them. For instance, let us start off with the first one. Test one is the spike. The authors have created a nice interface to create the faults.
Here we are generating a fault in the z variable at time 10 and the type of spike under the size of 20% and a specific duration. Now that we have already created this data set and stored it with this fault injected, let us look at the process variables under fault conditions.
Now, if you are a new process engineer or had little knowledge of the process and you looked at these process variables, you would be confused as to where the fault is actually occurring. Is it in z at 10 or P at 20 or F at 40? So you can see how difficult it would be for a process engineer to perform fault detection and diagnosis.
So can PCA model help with this? Let us find out. To do this let's run the data set against the PCA model that we have created previously by clicking on PCA results. This generates the SPE and T squared charts. And if you look at the SPE chart, you can see that the algorithm points to something being wrong at time 10. So it has accurately detected the fault.
But we still don't know the cause of the fault, so we click on this point. And now we have something called as a contribution plot. We see that the contribution plot says that the process variable responsible for this upset is z, which is accurate. Which is what we used to generate the fault. So it has successfully diagnosed the fault as well.
In multivariate analysis, one of the most widely used approaches is the contribution plot. The contribution plots are a powerful tool for fault diagnosis. They provide a list of the process variables that contribute numerically to the out-of-control condition. Using this, you can investigate the actual cause of the fault.
For instance, in this case, the variable z should be investigated. Incorporation of technical process knowledge is crucial to diagnose the problem and discover the root causes of the fault. In this case, since the fault is in the three-part variable, it means that there could be an issue with an upstream unit.
Now, let us look at something more complicated. And specifically, let us look to implement a failure in the control loop. In this case, we are simulating a control valve malfunction by limiting the flow in the bottoms to a value smaller than the one needed to keep xv under control. So to activate a failure in the loop at time 50.
Let us look at the process variables. So we see a very irregular pattern in the process variables. And again, it is very difficult for a process engineer to understand where exactly the fault has occurred.
Now, let us look at the PCA results. Looking at the SPE chart, we see a relatively irregular pattern and a sustained fault. Clicking on the first point, you get the contribution plot. We see that the variables contributing positively to the plot are mb and b. Going
Back to the process flow diagram, we see that mb and b are correlated to the PI control loop. First, using your process knowledge, you should be able to figure out that there is a failure in the PI loop. This way we are able to diagnose a complex failure, such as a control loop failure, using the PCA model and our process knowledge.
Now, going back to the contribution plot, we are able to see that md and d contribute very negatively to the contribution plot. What does this mean? Looking at the process flow diagram, we are able to see that these two process control loops are strongly correlated. That is why md and d contributed negatively and mb and b contributed positively to the contribution plot. So using our process knowledge, we are able to gather additional insight from the data in the contribution plot.
Let us look at one last fault. In this case, we are simulating a operating point transition. This plant has three operating points, one, two and three. And in this particular case, we will be transitioning from operating point one to operating point two at time equal 200. If this were a industrial plant, this transition would likely occur over a period of several hours.
But in our case, since we are dealing with a simulation, we are able to affect a relatively rapid rate of changeover. Looking at the process variables in this condition, we are able to see a sinusoidal-like curves for all of the process variables. This shows the period of instability before it transitions to the steady state conditions of operating point two.
Let us now look at the PCA charts. And like you can tell from the SPE charts, this also follows a relatively strange pattern, a sinusoidal pattern. And over here the SPE contribution charts are relatively meaningless. They show different process variables affecting the fault in different times, which reduces the importance of this contribution plot.
Now, to understand this in more detail, we need to look at the scores plot. The scores plot reveals a lot of additional insights in this case. We see there is a distinct cluster of points at the origin and one over here. Remember that we have trained the steady state PCA model only for one set of conditions, which is the operating point one. We have not trained the PCA model to recognize anything outside of this. Hence, even if it is a stable condition at the operating point two, the model believes that it is a fault and shows it so.
In this case, it is clear that just looking at the contribution plots was not helpful. We need to pair it with our knowledge of the process and our domain expertise in order to get at the root cause of the failure. There are lots of original faults against which you can validate the performance of the PCA model.
Apart from the methanol-ethanol distillation column, the app also features two additional industrial data sets, a low-density polyethylene plant and a pasteurization plant. This app also allows you to work with your own process data sets after preprocessing them. You can find these files on MATLAB File Exchange.
Like you saw, there are lots of reasons to use MATLAB and work with MathWorks if you want to analyze your process data. MATLAB has multiple pre-built functions available for every step. You also saw an app that was built by the authors. You can also build your own custom app for your own plant [INAUDIBLE].
And this is not a purely academic exercise. It has been implemented in industry. A customer reference in this area comes from Shell from one of their downstream chemical plants, where they were manufacturing a catalyst. They use MATLAB to develop the models and perform multivariate analysis on it. It would work out the normal operating window and work out an early detection of abnormalities keep creeping in. And these algorithms were tested and validated over several months, and a MathWorks consultant helped them in the whole process.
This is another example, from BP. This was a collaboration between the University of Strathclyde and BP Chemicals. In this paper they show an app that was built in MATLAB, which looks very similar to the app that I just showed you. It has the scores plot, SPE plot, T squared charts, along with a lot of more details.
Both these examples go to show that fault detection and diagnosis algorithms are being used in industry currently. These have been implemented at production plants and have yielded concrete business benefits. You need to be looking at these various science techniques seriously if you are considering digitalization or Industry 4.0.
So wrapping up with the key takeaways, we see that multivariate analysis is more powerful than univariate analysis. Multivariate analysis are critical for achieving smart manufacturing. They not only help in process monitoring, but also in diagnosing process upsets and giving advance warning of the points. However, it does require chemical engineers to have substantial process engineering knowledge as well to validate the models. And finally, MATLAB is an industry-tested tool for multivariate analysis and fault detection and diagnosis. Thank you.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
- América Latina (Español)
- Canada (English)
- United States (English)
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- United Kingdom (English)
- Australia (English)
- India (English)
- New Zealand (English)
- 日本Japanese (日本語)
- 한국Korean (한국어)