Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to detect unwanted excesive ripple or overshoots on a process variable? 3

Status
Not open for further replies.

Luis Freire

Industrial
Apr 12, 2017
10
I'm trying to implement and algorithm which should have the capability to detect some types of anomalies or failures on a process variable like ripples or overshoots. First of all, I want to adjust my process signal with some type of mathematical function, I was thinking on a low pass filter or another type of filter or a moving average, you may notice that my data comes from field sensors such as flowmeter or thermocouples. Once I have my signal adjusted I would like to calculate the deviation between the real process variable and the adjusted smooth curve I have calculated. Then I would create some type of indicator with which  I can monitor the deviation between those signals and set up alarms of wrong behavior, when an excessive ripple or an excessive overshoot occur. Could anyone help me with the mathematical function to adjust the data, like low pass filters or whatever?
Cheers.
 
Replies continue below

Recommended for you

I understand what you are saying, but I do not want to detect failures in the control system (in my case it is formed by PID controllers) such as low gain or overshoots, instead I want to monitor raw data measured directly from the process, and detect in this data the anomalies. I imagine that you are thinking that if you subtract the set point and the process variable you have the error on the signal, but that is not what I am asking for.
Cheers
 
How about you look at your data thru a Fourier examination? Many 'issues' will have a frequency component that you likely would not like in a process. I believe strong single frequencies falling out of the process variable will point at potential control issues.

Keith Cress
kcress -
 
What you need is a model of your system. You apply the control signal to the model and the plant. The measured response will be noisy. The response of the model will not be noisy. Now you can compare the the response of the model and the plant. I have done monitoring systems where I ran a running standard deviation between a model and the plant. We were looking for faults like you but we had to use a 6 or 7 sigma tolerance to keep from getting false faults.

I would look at Luenberger Observers to start or maybe Kalman filters but Kalman filters required a lot more processing power.
We do what you are trying to do in our motion controllers. We can predict the next position and if it falls outside a range we call that a feedback error.


Peter Nachtwey
Delta Computer Systems
 
Luis,

The low pass "filter" or running average (discrete sampling) is commonly used as you have suggested.

If you want to monitor the deviation of his "average over several time samples", you have to set up a sample matrix (time vs average process data, and the individual time sample), then calculate the running deviation.

Ironically, it is the first step to a Hilbert-Huang transform commonly used to investigate the process characteristics. Hilbert-Huang transforms are more effective in identifing the characteristics of system dynamics as it tolerates the random changes so common in process plants.

d
 
The low pass "filter" or running average (discrete sampling) is commonly used as you have suggested.
The problem with both of those approaches is that the filtered value lags the measured and the actual value so there are always errors in a dynamic system.

The Levenberg-Marquardt system identification technique returns a norm that can be converted into a standard deviation as well as generate a model.


Peter Nachtwey
Delta Computer Systems
 
Define a max value of ripple and/or overshoot. Subtract the PV from the SP and if it exceeds those limits, you have excess. Or am I being to simplistic?
 

Sounds like the original post was trying to refine his estimate of deviation by filtering the data stream, but basically accomplishing what you've stated
 
Maybe you can reduce this lag introduced by the low pass filter to almost zero, and with this you have a filtered signal to compare with the real signal.
 
Yes, you are right, at the end what I'm trying to do is the same as djs has said. But in my case I can't compare the SP and PV values to detect those function anomalies, instead I need some type of function (like as i said a low pass filter, Kalman filter...) to compare the raw data with.
 
"Maybe you can reduce this lag introduced by the low pass filter to almost zero, and with this you have a filtered signal to compare with the real signal."

Lag is a direct consequence of the low pass cutoff frequency. The inverse of the cutoff frequency is inversely proportional to the time constant.

TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! faq731-376 forum1529 Entire Forum list
 
Ok I think I know what you are trying to do. You have just the process variable, and wish to detect deviations from what is should be. So assuming that the system is controller by a half way decent controller, I suggest that you use the output from a low pass filter as your reference. Compare that to the instantous process variable value to get you deviation values. Yes the output of the low pass filter will lag, but that will only be an issue when the set point of the process is changed. As long as the set point remains fixed, the average or low pass filter output should be very close to the setpoint.
 
[djs
"Ok I think I know what you are trying to do. You have just the process variable, and wish to detect deviations from what is should be. So assuming that the system is controller by a half way decent controller, I suggest that you use the output from a low pass filter as your reference. Compare that to the instantous process variable value to get you deviation values. Yes the output of the low pass filter will lag, but that will only be an issue when the set point of the process is changed. As long as the set point remains fixed, the average or low pass filter output should be very close to the setpoint."][/quote]

Yes all what you said is perfect in the case that my system had a constant set point, but this is not the case, the set point is continuously changing, so the low pass filter approach should be ruled out.
 
If your setpoint is changing so often that you cannot lowpass it, then there's something wrong with the algorithm, and that's possibly why you're getting oscillations. It's likely that your control loop is operating faster than the process can respond, and if they are close to 180 degrees out of phase, you'd get oscillations. Did anyone tune the control loop?

TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! faq731-376 forum1529 Entire Forum list
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor