Configuration PID


good day, I find myself doing a tuning of 7 PID loops (6 temperature and 1 pressure) and I would like to know what is the correct methodology for its optimal configuration.

At the moment the system to which we are going to carry out the tuning is not in operation, it is a system of laboratory tests for the oil and gas sector.

Is there any way to perform a configuration modeling for these Pid?

I will share the behavior of the temperatures and the configuration of the PID loops (all the loops are also configured)

I thank you very much for your help since up to now I am starting in this field.

Thank you! Greetings from Colombia.



We have an on-line PID loop tuner that may help you get some initial values that are very close.

There is also a technical note (linked on that first page) that will help you in setting up your PID loop values.

Looking at the photo of your settings, they are pretty good. A few comments if I may…
You should set up your low and high range. At the moment you have 0 to 100, you probably want to get them closer to what your input will range over.
Your set point is zero. You should change this to be the set point you want the PID loop to obtain.
You have selected Velocity(Type B), that is an old loop algorithm - it will give you problems, and so you should change it to be Velocity (Type C).
Your initial value of 10, 0.1 and 0.001 are pretty good starting values. The on-line PID loop tuner will help get those valued dialed in correctly.
Opto uses a ‘gains dependent’ algorithm, which simply means that if your PID loop is going backwards, enter a negative gain. (Remember, a negative times a negative gives a positive).

Lastly, you have the default scan rate of 1 second. This is probably wrong and may be causing most of your tuning problems. (It is too slow). Please see the on-line tuning guide and the section on scan rate in the technical guide.

If you can do the steps outlined you should be in much better shape.


Thank you very much, your recommendations are very helpful.


Hola William!

Looking at your temperature charts, it looks like the changes are fairly slow which causes me to disagree with @Beno on the 1 second scan rate - I don’t think making that lower is going to be needed. (It may with the pressure loop though). I may be wrong though, he’s probably set up more PIDs than I, but I rarely have had to set a faster scan rate than 1 second.

It appears to me that you are probably controlling some sort of heat output, so your gain should be negative/reverse acting (an increase in input should lower your output). The gain on pressure control depends on if you are supplying the fluid (reverse acting) or removing the fluid (direct acting).

Your span is currently 1 (Delta output/delta input). Changing your span will change your tuning, so it is best to get your ranges set before tuning. If you need to change the span after tuning is done, then you will have to calculate what the new tuning values should be. Your final output from the PID calcs is multiplied by your span, so if you change your input range delta from 100 to 50, effective doubling your span, you will need to cut your tuning parameters in half to have the same response.

Output range should be set to the range of control authority you have on your output device to avoid windup. (Imagine a poorly selected control valve that allows full flow at 20% open - you don’t want to command it all the way to 100% with your PID)

The closest control loop I have to what you are doing is a PWM electric duct heater (lower temperature then what you are running and fairly fast response in both directions since it is a moving air stream) that when adjusted for a span of 1, it has a gain of -12.5 and a Tune I of .05 at a 1 second scan rate. No tune D.

Tuning temperature control takes patience. You may not have much control authority to lower your input (like in an insulated oven) so if that is the case, you need to be conservative and avoid overshoot. Pressure control tuning is usually easier because it responds faster and you have good control authority in both directions.

I typically use Velocity C since it has nice bumpless transfers from hand to auto and setpoint changes and it doesn’t suffer from a bug with I term recalculation when using a D term at saturation (PID derivative at saturation). The only time I avoid velocity is if I need to use the feed foward gain, as that is broken on the velocity algorithms which I mention in PID Algorithm Question, but only the documentation issue was fixed.