PID Software - real time tuning

Purple_Lisa

Member
Join Date
Dec 2011
Location
Israel
Posts
19
Hello all,

I was asked to check if there is a PID real - time software which automatically calculates PID loops parameters and update the PLC registers or HMI ( by OPC server etc.) when the process is working and "breathing". REAL-TIME.

Not PID simulator or PID tuner based on measured data,
but a software that will calculate and update the PID parameters in real time while maintaning several PID loops simultaneously.

Are there any suggestions?

Thank you,
Olesia
 
This is tricky. I know of no software that can do this. The main problem occurs when the plant is holding the PV at SP for long periods of time and there are no transients to look at. In this case the noise in the system becomes significant and messes up the tuning parameters. I have played with this using Recursive Least Squares fit. It looks more complicated than it really is but trick is knowing when to update each individual parameter of the model instead of updating the whole model all the time. For instances you don't want to update the model parameters at all when at steady state. You only want to update time constants when there are transients and gains when there are set point changes.

The other technique you can look at is model predictive control, MPC, but this is more complicated. I haven't looked into MPC too much because it takes too much processing power.

Optimizing or minimizing is very CPU intensive because the CPU basically tries to minimize the error between the response from an estimated model and the actual machines feed back.
 
There are some tricks to adapt an ideal tuning to the the real world situation without using a mathematical model. For example... PID control of 'floor loop' water temperature on a radiant hot water heat system. My case involves an 'old school' non condensing boiler with a motorized 4-way valve supplying the floor loop. A temperature sensor is located in a thermowell immediately after the valve. Supply temperature from the boiler spikes when the boiler fires, then gradually drops off until it fires again. With no position feedback on the valve, and the repeating situation of high rates of change on supply water temperature it is difficult to maintain stability at the gains required to achieve decent performance. A simple fix for this is to monitor the rate of change of the output (floor loop) water temperature to detect an unstable (runaway) condition. When this occurs, drop the P gain by a significant amount to restore stability, then gradually ramp the gain back to normal.

Another trick, that I've used for real time product proportioning of a continuous process involves predicting the theoretical flow rate for each product. The use a master/slave PID arrangement with the master controlling the amount which drives the slave controlling the rate. The rate is held within a window above and below the theoretical rate. This scheme has proven to be successful in continous process concrete plants.

A little imagination is often required to master a PID loop. :)
 
What is the purpose of dynamically adjusting PID parameters?

I am not sure why you would ever want to continuously change your PID values while your process is running. Normally, once you have the PID tuning parameters set they are good for most situations. I have played with changing parameters based on different process content but they are pre-calculated with known good tuning values.
 
I am not sure why you would ever want to continuously change your PID values while your process is running.
Gains and time constants can change. Time constants aren't always constant.

Normally, once you have the PID tuning parameters set they are good for most situations.
In most applications you are right but you will be hard pressed to make a system work right when you are wrong.

I have played with changing parameters based on different process content but they are pre-calculated with known good tuning values.
A table of gains and time constants as a function of the operating conditions works.

A simple example is level control. If the tank doesn't have vertical walls the volume in the tank will change as a function of depth. The will mean it will take a different amount of flow to raise the level 1 inch from 30 to 31 inches than it does to raise the level from 31 to 32 inches. Also the flow out of the tank varies with square root of the depth when there is a valve metering out the flow.


What is the application? That makes a huge difference.
 
Thank you guys for your answers, actually you both rise important points.
I, personally, prefer to find another PID tunign solution (not-based on external software), but the client exlpicitly asked to check for a PID tuning software.
I have found this : http://www.controlsoftinc.com/products.shtml
What do you think about this software?

About the application:
the plant has 6 burners, each of them is controlled separately. Burner temperature is controlled by gas flow to the burner. But if one of the burners is down, they change the SP in other burners to get the same total energy. Their process does not work good.
 
I am not familiar with the ControlSoft product that you mention but it does look like a comprehensive package. Keep in mind that an autotuning product may or may not be the magical 'silver bullet' that your client is looking for. Careful monitoring of loop conditions with trend graphs is key to successful tuning; it's hard to fix what you can't see, so I suggest that's an important starting point. An autotuning package will likely include comprehensive trend monitoring, but trending can be easily done on most HMIs.
 
ControlSoft is written by professors at UCONN. Doug Cooper ( www.controlguru.com ) and Bob Rice. It is good stuff. One of the two professors to me the algorithm that we use for our auto tuner.

I have an old copy from the time I was writing articles for the www.controlguru.com website but I have never used it because I am more interested in motion control.

I don't know if ControlSoft can update gains on-the-fly.

Here is a link to an auto tuner for FOPDT and SOPDT systems I wrote in Scilab. I wrote the auto tuner it self but it was command line driven. Someone on LinkedIn used my auto tuner and liked it enough to write a front end for it so it is more user friendly.
http://deltamotion.com/peter/Scilab/AutoTune/

Auto tuning temperature systems could be done every second or PID update but I don't see where that would help that much.
 
I am not familiar with the ControlSoft product that you mention but it does look like a comprehensive package. Keep in mind that an autotuning product may or may not be the magical 'silver bullet' that your client is looking for. Careful monitoring of loop conditions with trend graphs is key to successful tuning; it's hard to fix what you can't see, so I suggest that's an important starting point. An autotuning package will likely include comprehensive trend monitoring, but trending can be easily done on most HMIs.

Thank you,Peter! I will monitor the loop condition on plant.
 
ControlSoft is written by professors at UCONN. Doug Cooper ( www.controlguru.com ) and Bob Rice. It is good stuff. One of the two professors to me the algorithm that we use for our auto tuner.

I have an old copy from the time I was writing articles for the www.controlguru.com website but I have never used it because I am more interested in motion control.

I don't know if ControlSoft can update gains on-the-fly.

Here is a link to an auto tuner for FOPDT and SOPDT systems I wrote in Scilab. I wrote the auto tuner it self but it was command line driven. Someone on LinkedIn used my auto tuner and liked it enough to write a front end for it so it is more user friendly.
http://deltamotion.com/peter/Scilab/AutoTune/

Auto tuning temperature systems could be done every second or PID update but I don't see where that would help that much.

Hi, Peter, thank you. i think the plant may will to use the ControlSoft. We'll see.
www.controlguru.com looks great.
And I'll definitely check your auto tuner.
 
Check out www.controlstation.com the company I work for uses their tunning software (Loop-Pro) and I find it incredibly useful. We don't use it but they also offer a program called PlantESP that basically monitors as many loops as you want to put in it(pay for) and gives you like a "Top 5" loops you should look into improving the tuning on. It will also tell you if it thinks there is valve stiction and many other things.
 

Similar Topics

Hi Friends Please I urgently need help on how to configure PID (Reverse and Forward acting)control in Vijeo Citect SCADA Software for an LCV/LIT...
Replies
2
Views
1,515
Hi all, I'm interested in setting up a small process in my office to test some PID tuning software. I want to make sure I've got it all down-pat...
Replies
5
Views
2,603
Hi guys Would you please post a link to download Expert tune PID tuning software or any other USEFUL tuning software
Replies
5
Views
3,104
I am looking into purchasing some general purpose PID tuning software. Have some that works with A-B, but want the new software to work with just...
Replies
2
Views
2,300
Hi, What's the difference in PLC5 PID block's PD file of .mo(station mode auto/man) and .swm(software A/M mode)?Thanks,
Replies
1
Views
2,586
Back
Top Bottom