PID control

Arlie

Member
Join Date
Jun 2007
Location
Ellenville,NY
Posts
83
can someone help me out with pid control with ramp??

i understand the principle but not how it actually works or how to program it.

I am using FPWINPRO to prog a Panasonic FPX plc
 
Arlie,

I have set up ramp functions using a timer. You set up a RAMP mode of control, which takes over the PID SETPOINT temporarily. You decide how long it should be between start and full setpoint of the PID. Then you simply move a low beginning number into your SETPOINT location. A good method is to set the beginning setpoint equal to the current process variable.

The time interval between setpoint changes depends on the process and how fast you want to ramp it. Suppose you have a furnace that needs to be heated to 1800 degrees over a 1-hour period (to avoid stressing the refractory material). Your program calculates this: 3600 seconds/(1800-Present Temperature) = Time interval for each 1-degree setpoint change. If the current furnace temperature is 100 degrees, this comes out to 2.11 seconds per degree. You may want to truncate the fraction and set your timer for 2 seconds, a more practical number.

Then say you set the beginning setpoint to 100, and every 2 seconds, you ADD 1 to the SETPOINT, until the final desired setpoint 1800 is reached. When the setpoint = 1800, you disable the RAMP mode.

If your controls are working correctly, and you have allowed enough response time, your process variable should move along with the setpoint as it ramps up.
 
Last edited:
Ok so assuming that all goes well with the ramp , once setpoint is reached PID control will take over and run the process??

what about overshoot? how do you prevent or at least limit that??
 
You have to adjust PID parameters...use search engine, ther is a lot of good topics on that subject on this forum
 
Ok so assuming that all goes well with the ramp , once setpoint is reached PID control will take over and run the process??
ANSWER: Yes. Actually the PID is always controlling the process variable (during the ramp-up also). All the "ramp" does is automatically increment the setpoint during some pre-defined time period. It is the PID's job to make sure the Process Variable follows the Setpoint.

What about overshoot? How do you prevent or at least limit that??
ANSWER: Adjust your PID tuning parameters until overshoot is minimized. I am no expert in how to make that adjustment, but search the posts here by Ron Beaufort for methods to do that.

Now, if the long ramp up from a low starting point is what causes the overshoot (because the PID is tuned for the best control around the normal operating point), then lower your ending ramp setpoint so the overshoot (only caused by the ramp-up) is reduced or at least tolerable. You can add a second ramp timer to bump the setpoint on up, after the process has stabilized, or let the operator bump it up manually when he sees the process variable level out.
 
Last edited:
What is the purpose of having a ramp?

If it is to keep the temperature rate from becoming too high then OK but if you just need to avoid over shoot then you should only need to tune the PID so the response is critically damped or over damped.

The first thing to do is get response data. This is the control output and PV as a function of time. There should be some transients so the plant time constants and dead time can be determined accurately. See www.controlguru.com for the basics.
 
I have the same project of ramping the temperature but I don't know how to output to an SCR controller with 4-20mA input. If anybody can share info and examples I'd greatly appreciate it.

Thank you,
TioPaeng
 
Peter Nachtwey said:
What is the purpose of having a ramp?

To avoid thermal shock in a heating type system (I'm sure there are many other reasons as well, but I do ALOT of heat controls). Some systems do not enjoy sudden changes in their process value. Some folks use a built in ramp, others roll their own.
 
CroCop-


I think that is what Peter was referring to here:

Originally posted by Peter Nachtwey:
If it is to keep the temperature rate from becoming too high then OK ...


Peter is correct about tuning assuming that the PI implementation correctly handles integral limits. If the PI implementation simply limits the integral sum to the maximum output and doesn't modify this by the proportional contribution, then you will still get overshoot to a large signal step command no matter how carefully it is tuned. In a system such as this you can at least give yourself a chance of limiting overshoot by ramping the command at a rate that keeps the system out of saturation.

Keith
 
If the purpose of the ramp is to gradually bring the system up to temperature as is normal for steam heating then I normally ramp the CV upper limit rather than the SP. This prevents the possibility of overshoot early in the ramp and allows you to tune the system for optimum performance at the normal setpoint rather than for setpoint changes.

Andybr
 
If the purpose of the ramp is to gradually bring the system up to temperature as is normal for steam heating then I normally ramp the CV upper limit rather than the SP.
I suppose that for a steam heating system you want to gradually open the steam valve to avoid putting a large amount of heat into cold pipes. That is a totaly different situation than the furnace that I mentioned earlier. There was no problem with opening the CV to 100% as soon as the burner was lighted.

The manufacturer's warranty for the furnace specifically said that if the temperature inside the furnace climbed to 1800 degrees in less than 1 hour, then the warranty was null and void and the manufacturer would assume no liability for repair of the unit. They were terribly concerned about the process temperature rate-of-rise. They did not really care that the CV (Control Variable) had made it to the 100% maximum upper limit several times during that 1 hour. It always did. The firing rate gas valve would stay 100% open for the first 20 to 25 minutes.

I do not think that PID control alone could insure this rate-of-temperature-rise limitation, nor could ramping of the Control Variable. Ramping of the CV would have made the heat-up period drag out for 7 or 8 hours, instead of 1 hour.

At 200 degrees, the overshoot was 100 degrees or more, but who cared? At about 350 degrees, the Setpoint ramp caught up with the furnace temperature overshoot, and from there up to 1800 it was a nice smooth-line lock-step climb. with the temperature closely following the setpoint. The operating point was always 1800, and that was where the control had to be very sensitive. I tuned the PID loop so that as it neared 1800 degrees, the overshoot dropped to 1 degree and undershoot was 1 degree. We did not care about anywhere else, as long as it kept heating gradually over that 1-hour period.

The Setpoint ramp did the job.
 
Last edited:
Lancie1 said:
I do not think that PID control alone could insure this rate-of-temperature-rise limitation, nor could ramping of the Control Variable. Ramping of the CV would have made the heat-up period drag out for 7 or 8 hours, instead of 1 hour.

Many furnaces and high temperature applications require the temperature rate of rise to be limited to avoid thermal shock to the refractories which can easily be damaged if the thermal gradient between the hot and cold face is too high.

I've worked on countless applications like this and PID control - correctly tuned - with setpoint ramping can easily manage the required rate of rise to the degree (providing the controlling equipment, e.g. burners, valves, etc. is up to the job). Ramping the setpoint can only help minimise overshoot compared to bringing the temperature up from cold to a fixed setpoint.
 

Similar Topics

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
13
Views
578
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
917
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
406
I am setting up control for Hypochlorite dosing. The easy part is the dosing calculation for flow pacing but I would also like to setup trimming...
Replies
8
Views
940
Hey guys! I'm a newbie in the control area, so I'm gonna drop some thoughts here... We want to control the opening of big silos (about 1900...
Replies
6
Views
1,482
Back
Top Bottom