Rockwell PLC PID Setpoint Ramp


Thread Starter

old guy

In Logix 5000 the abilties of the function block enhanced PID does not contain a setpoint filter or ramp like I have seen in most DCS systems. I have looked at other blocks like ramp/soak and it is still not what I need.

I need to apply a rate of change to the setpoint to prevent operator from making drastic setpoint changes.

Applying a rate limiter to the output is not the answer.

Other than creating a second PIDE with locked in cascade with a RSP from another PIDE with unity gain settings and a rate limiter in between, I don't know how else to do this. Any ideas for a clean and simple solution?

thanks in advance.
>In Logix 5000 the abilties of the function block enhanced
>PID does not contain a setpoint filter or ramp like I have
>seen in most DCS systems. I have looked at other blocks like
>ramp/soak and it is still not what I need.

You could use an SCRV function block to ramp a setpoint. It is one of the Process Control Instructions. If your PID is called in a Ladder Diagram, you may need to create an Add On Instruction (AOI) of type Function Block Diagram to use SCRV.

If using SCRV, it may be a good idea to Initialize the InitialValue (SP=PV) when first enabling your loop.

These instructions probably work best in a periodic task, but could possibly be triggered by a timer in a continuous task.
Hello Old Guy,

There is no built in "rate of change" for PID setpoint of AB Controllogix PLC, rate of change only applicable fro PID CV (%/Sec).
this parameter will work in manual or auto mode..

My idea that you can try :

- arrange 2 PID in cascade mode
- inner loop as a main PID operating in Automode
- outer loop operating in manual mode all the time
- CV of outer loop connected to SP of inner loop.
- Set CV rate of change of outer loop to some number that you require (%/sec)

So you will enter the SP thru manual CV of outer loop, with outer loop PID in manual mode, and CV rate of change activated. Setpoint for inner loop PID will be came from CV of outer loop PID with CV rate of change activated. so the SP for inner loop PID will be gradually ramping up/down following CV rate of change from outer loop PID.

Hope this help

Dave Ferguson

I believe there is no such function in standard pide nor in the Pax PID.

I see a few of my ideas suggested by others.

Another not so good but works is an analog out block from pax process blocks which has the rate of change in it for the CV and scale the ao in equals out scaling and this would work. Another idea would be to build your own with AOI. I am sure there are a few other creative ones out there.

I probably In a pinch would just throw the Analog out block in and let it be you "output" rate of change limiter rather than cascaded controllers, both you would lock in "program lock" mode so someone doesn't change it out of cas (cascaded PID) or into operate (analog out).

I'll enjoy seeing the other "creative answers to this.

Dave Ferguson
Control Systems Engineer
With a PLC you can make your own ramp program, which is not too difficult. I did this quite a few times with any PID that was sensible to sudden changes in the setpoint. You can do it with a timebase, a counter and some additional instructions. It may not be the best ramp but it'll do the job, given the 1 mSec timebase that the controllogix has. Contact me at [email protected] if you want a sample of the ladder program. I did this on an SLC 5/04, so you'll need to adapt it some.
Thanks for all the replies. I especially like the reply "get a Honeywell..."

I did build the function with a second PIDE and mapped the many parameters to the primary PIDE so the look and feel of the supported pop up PAx buttons remains valid. Its the most programming for the least results I have ever done. Rockwell flexible functionality that allows you to build almost anything.Reminds me of decades ago in school I built a calculator with an electronics breadboard ,wires and components. Today I'd rather buy one.