×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

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

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

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

(OP)
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.

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

(OP)
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

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

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 - http://www.flaminsystems.com

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

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
http://www.deltamotion.com
http://forum.deltamotion.com/

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

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

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

Quote:


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
http://www.deltamotion.com
http://forum.deltamotion.com/

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

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?

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


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

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

(OP)

Quote (PNachtwey)

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.

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

(OP)

Quote (hacksaw
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)

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.

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

"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! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm

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

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.

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

(OP)
[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.

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

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! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources