PID Troubles

Boilers

Member
Join Date
May 2017
Location
USA
Posts
10
I am using a PLC 5 PID to control material (think powder) flow. Setpoint is kg/minute, which is converted for the PID function. The PID output controls a VFD which controls RPM of an auger. The feedback comes from a flow transmitter directly after the auger. I am having a problem where the setpoint of the PID doesn’t change, but the output (and consequently the feedback) go into wild oscillations for no apparent reason. These oscillations eventually cause us to shut down the process and bring it back up to speed slowly, which equals downtime. The oscillations show no relation to the frequency that the PID enabled (every second). Also, I can see the trends of all this data on our historian and there is no apparent cause, usually the PID output just drops to almost nothing, then spikes , then levels out for a few seconds, then repeats.

What could cause this?
 
It could be improper setup of the PID, for example, are you Triggering it with a Timer the same as your PID Update Time?

It could also be too much Gain or Integral etc.

Can you post your PLC Program, and someone like Ron Beaufort and others can have a look at it for you.

Stu....
 
I cannot post the program. I like my job. :) maybe a few screenshots will do.

I’m definitely no PID expert. But I can tell you, my setup is fairly complicated. I recently inherited this process and it’s a bit of a cluster, but it’s been running like this for 20+ years.

Operator begins process in manual to get things going, then sets the setpoint and put the system in auto mode. The setpoint is then adjusted. Adjusted setpoint=(setpoint/(1minute average far downstream flow rate/10 minute average flow rate closer downstream)). The 10 minutes average is update every 10 minutes, as long as the master setpoint doesn’t change, otherwise the timer starts over. Finally, the adjusted setpoint goes into the PID. I know this is hairy, but I can say for certain that my issue is not due to a master setpoint change. I cannot say for certain that it isn’t due to an adjusted setpoint change, but I do not believe it is. I will need to set this value up in my data historian and start trending it.


Regardless, my master setpoint does not change and I can see that my flow is nice and steady, so I BELIEVE that my adjusted setpoint is steady as well. Then all of the sudden my PID output drops as described above and the oscillations begin. The control system rarely recovers from this on its own. Sometimes a master setpoint change will steady the process but usually it must be shut down and restarted.

Yes the timer and PID update time match, both at 1 second. The TON rung is not directly above the PID, but it’s only a few rungs up. I will try to get a screenshot of the PID setup tomorrow. But I know I’m only using P and Ti. P=45 and Ti=10 as they are entered into the PID.
 
What changed? You said it worked for 20 years before you got there and now is showing these symptoms. Did you change something?

The averaging seems like it could cause problems should your flow rate change, what's the time span you are looking at on the trends?
 
Nothing specifically changed. The process has always been...umm , operator intensive. I have been tasked to increase production because the control system is the limiting factor, but it’s difficult to improve something that’s broken, so I want to start by fixing it.

On the trends, I’ve looked at all of it. 30 seconds up to 30 hours. At times, it’s ran at production rates for 20 hours non-stop, with no oscillations. Other times, the operators cannot get it up to rate and have to shut it down and start over.
 
Maybe the issue is operator related?

Calling the PID via a timer may cause the instruction to be run at a different interval. In my experience this usually didn't cause major issues, but is worth looking at it.

I'm not a PID expert but the Pi seems fairly high for that gain, although as you said, it worked fine for a large number of hours.

One thing is that you are already running the process in manual so it is likely that you can get the response data and try to get the PID modelled from it? Instead of trying to fix what is broke you may just start fresh instead?
 
Since the system has run for such a long time, even if the setup seems screwy, it must work to a certain extent. You mentioned that it also has a history of running OK at times and going wild at others.

So I have two thoughts. Because the system has shown a history of instability, I would cut your P & I values in half and observe the change in the system. My guess is that the system will become more stable but probably not completely. After observing the change in performance you can then decide if you should cut the P & I more or start working the other way.

My second thought is powders seldom flow smoothly, at least in my experience, so maybe the problem is with the feedback from the flow sensor. Instability in the feedback will play havoc with a PI loop.
 
How "mobile" is this powder and are there any voids in the auger when feeding it?

Curious if you are getting travel of the material down the screw and creating "slugs" and air pockets.


That could cause havoc with a downstream flow sensor.


Pi.
 
Sounds like your gains are too high, or you have a noisy flow meter, or both. I'd try cutting the P Gain in half, the integral gain to a fourth. Does the flow reading bounce when the operator runs in it manual? If it does, you can try filtering the flow reading.
 
The flow readings from the flow transmitter are averaged every second by an AVE block based on 9 readings before being used by the PID block.
 
EA7122CB-73EA-4106-AE66-81009F092741.jpg

This is about 35 minutes of data

White -overall system production rate
Red-master setpoint
Green-CV (PID output)
Pink-PV ( flow directly after auger)

Note, you can see that the overall system production rate begins to oscillate on the far right due to the PID control of the auger. I know that my PV doesn’t match my CV but this is only due to the way the data is manipulated for the historian. They match in the PID.

ACE8CB0C-562D-44AC-BD81-0759A4C96ADF.jpg
 
Last edited:
The trend doesn't look like a tuning issue. I would expect to see a drift or slight deviation from sp not a nosedive to 0. Can you trend mode? At first glance it looks like somebody put it in manual set the op to 0 then put it back in auto. Might be tuned too hot to deal with something like that. If that isnt what happened look for something in your software that will set the op or sp to 0 or very low.
 
Check to see if there is anything writing to the N addresses involved in the PID function. That could be something in the PLC5 ladder logic or from an HMI panel.

This is my opinion too... the sudden drop is something else writing to it and the overshoot is the system reaction to having the output cut off.
 

Similar Topics

I'm using a PID loop instruction in a Floboss 107 RTU for an oil and gas application. There are two loops, a primary and override loop - primary...
Replies
3
Views
3,716
I have set up some "PID_Temp" loops in a 1517F3 processor and they seem to work ok. For pressure and flow rate I've used "PID_Compact". The issue...
Replies
2
Views
2,593
I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM. Please I need the best, most efficient way to write the...
Replies
5
Views
212
Hi all, I'm having trouble solving a problem I've been working on for several months, and thought you might like a stab at it. The machine runs...
Replies
22
Views
835
How can I connect PID Output to a valve. In ladder logic program is there any logic do I want to add between valve and PID? PV=SP What will be the...
Replies
7
Views
383
Back
Top Bottom