Just Curious, how many of you have changed the PID gains on-the-fly?

Join Date
Apr 2002
Location
No income tax, no capital gains tax. Freedom!
Posts
8,389
There are many applications that are non-linear where one set of PID gains don't do a good job of a wide range of operation. There are techniques such as gain scheduling where the gains are tuned for a particular range of operation and when the process variable goes to the next range the controller gains change. There have been some threads about controlling level in horizontal cylinders. If the level set point is fixed then the controller gains should need to change but if the level changes the controller gain should change proportional to the surface area of the fluid.

How about winders. I know there are some winder people here. Do you change gains as a function of the radius? Anybody?
 
Yeah, I've changed gains on the fly. When I used a dual slope ramp for temperature control of a kettle.

I worked closely with someone for 18 years that did winders. Never once did he mention that he would like to change gains on the fly, for any circumstance.

I do remember one application that had op-amps for controlling the wind/unwind drives (via the capstan drive signal) and we could select 3 different gain (feedback) resistors for the tension control (load cell on an idler shaft) part of the speed circuit. But it wasn't changed while running, but rather before starting out and based on the top speed of the product. The diameter was calculated via the unwind/takeup shaft encoders and the capstan encoder and then output to the circuit.
 
Yeah, I've changed gains on the fly. When I used a dual slope ramp for temperature control of a kettle.
Did you change gains based on the current temperature?
Did you use trial and error to find the gains?

On winders I would change the gains as a function of inertia or radius because I can. It isn't hard to do and the inertia changes by 4 to 1 if the radius shrinks by half. That is a big change.
 
Changing PID terms "on-the-fly", via controller code, is no different to what we do when commissioning the loops, changing the terms via the programming software.

So I don't see any issues with doing it in code, and that functionality, (using "Parameter Sets"), was built into my previous company's software standards.

Having said that, none of the applications I worked on needed dynamic changes to the terms, they were all tunable with just the one set.

In a beer-hazed debate with a colleague, he postulated using a percentage of the PV-SP error added to the integral term, (i.e. a reducing integral gain), thinking he would be able to get to SP in a much faster time, and with zero overshoot. We never did get to try his ideas out, and I for one didn't think it would work as he thought it would. Anyone care to give it a try, and let me know if it was a daft idea or not?
 
On winders I would change the gains as a function of inertia or radius because I can. It isn't hard to do and the inertia changes by 4 to 1 if the radius shrinks by half. That is a big change.

Code:
I=(D**4-d**4)*Density*Width*pi
   ---------------------------
               32

D is pack diameter, d=core diameter
If d is small then if D changes by a half the inertia changes by 16 to 1
 
There are many applications that are non-linear where one set of PID gains don't do a good job of a wide range of operation. There are techniques such as gain scheduling where the gains are tuned for a particular range of operation and when the process variable goes to the next range the controller gains change.
I've done this on a couple machines here...I'm not able to give any details about the process unfortunately.
 
We do alot of center-driven winders. We change gains based on diameter as a general design philosophy. Depending on your control methodology and speed command generation there are actually two gains that need to change. Most of our winders are designed as velocity center winders. So the control variable is product roll tangential velocity. This changes relative to spindle velocity based on diameter. So to maintain the came control response as diameter changes the control system needs to change the primary control gain based on diameter.

Peter's point deals more with velocity loop gain in velocity center winding systems but is the direct control gain in torque based systems. We vary velocity loop gain as well since we are often controlling over a diameter range of 10:1 or more. However, we haven't taken the step to go completely model based yet. We do multi-point gain scheduling with linear interpolation between points.

Surface winders are somnewhat less sensivite to roll build than center winders. You are already driving on the surface so tangential correction is the same as motor correction at all diameters, removing the need for primary contro gain adjustment. There may still need to be velocity loop gain correction, however. But the inertia range isn't as drastic as the centerwind example. You effectively have a constantly changing gear ratio between the product roll and the surface drum that works in the surface drum's favor. So as the roll inertia increases with the fourth power of diameter the inertia reflected to the motor decreases with the quare of the diameter ratio. Factor that in with the (often significant) mass of the winding drums and the system tends to saty much more stable.

Keith
 
Peter, in some of our larger vacuum furnaces we use gain scheduling. Its not generally common to need different gains for heating applications but in a chamber where atmospheric conditions are variable we find that having multiple gain sets is necessary. The heat transfer characteristics are significantly different when the chamber is at high vacuum verses when it is filled with a process gas, and a hydrogen atmosphere behaves quite a bit differently than an argon atmosphere due to the differences in the molecular weight of the gas. It also varies depending upon the atmospheric pressure as process gasses are sometimes used at 10 torr and sometimes at atmospheric pressure.

I programmed a table of gain sets in the controller and the engineer who creates the furnace recipe designates which gain set to use for each segment of the recipe. I have not ever tried adjusting gains as a function of the chamber gas pressure but its something that would be interesting to try. I wonder if that would be linear or non-linear? I suspect non linear as the heat transfer mechanism is primarily radiant at vacuum and low pressures with no convection transfer, while convection becomes a bigger contributor at higher pressures. Alas, I will probably never have the time to try it out.
 
One of the reason is am asking is ....

that few of our customer change the gains on-the-fly. I know of only customer out of many thousands has calculated the gains as a function of angle. No look up table or interpolation was used.

We vary velocity loop gain as well since we are often controlling over a diameter range of 10:1 or more.

Keith, you are one of the few even though you do linear interpolation between points.

I am writing an article about auto tuning. Gain scheduling is used when the system is non linear.
 
I setup (helped) a Honeywell before with dual loops, we were incinerating VOC's with natural gas (1400 Degf was the SP) the reason we needed two loops was the VOC's had a LEL (or LFL) that would range from 0 to 50%, so at times we would be at SP without any gas only VOC... other times we were at 100% open on the gas line (4") and still not able to reach SP

There were many variables that could affect this system, SCFM and percentage of VOC's that were flammable being the two that had the biggest impact, this was the reason we need a very fast reaction (at times) and not so fast others

This was also one of the reasons we called it the rocket, we are sure someday it will take off :)

Peter said:
auto tuning
Not a fan....
 
Peter, in my former life, yes. We did many systems that had dynamically adapted PID gains. 80% of the time, on winders/unwinders as mentioned above, but the other 20% of the time was for far stranger reasons.

One that comes to mind was on a film casting system that essentially had the proportional term ramped up on line start. Another (which, thinking about it, is actually typical) would be heating/cooling controls. I've found many times that since the transfer functions of the heating vs. cooling in a zone are so wildly different, it makes sense to have separate gains for each.

Then there are the two features I love to see on ANY PID control, Integral HOLD and Integral RESET.
 

Similar Topics

I have a client who periodically experiences network communication issues. Sometimes when I VPN into the site, their SCADA systems will flash comm...
Replies
2
Views
165
I'm focusing on Rockwell programming for a couple of projects, and I've been thinking about some of the details I've come across while working...
Replies
13
Views
2,306
Hello all. I was starting to get into a new project (that will probably never see the light of day because $$$) at the plant I work in and...
Replies
26
Views
5,552
Just curious, Have you noticed how the Honeywell C200 and the A-B Controllogix look alike? Are this two related somehow? Are they compatible...
Replies
3
Views
2,040
Studio v31 FTV v10.01 Found the logic was acting backwards. so I switch the name plates on the three way "Control Mode" Right is the FactoryTalk...
Replies
3
Views
1,526
Back
Top Bottom