Industry Online Support
Technical Forum
12/1/2012 7:02 PM | |
Joined: 9/27/2006 Last visit: 10/15/2024 Posts: 12287 Rating: (2685) |
Hello javier; From your graph, we can see thatthe output signal of your PID loop is "hunting" because the loop is not properly setup. The output is oscillating between its maximum on and off positions and never settles to a steady value that would control the loop properly. This could damage a real control element (valve, motor) in a real situation, or at the very least make the loop unstable. You need to understand a little bit about the principles guiding the selection of parameters in a PID loop before you attempt to work with them. My goal here is not to give you a complete introduction to the subject (more about that later) but to make you understand why you cannot have "just a valor" for your parameters. PID gets its name from the first letter of the 3 terms used to control a feedback loop: Proportionnal, Integral, Derivative. What the different terms evaluate in the loop is the "error", defined as the difference between the setpoint (the point you want your process to be at) and the actual process value you read from instruments in the loop. So E=SP-PV. The proportinal term applies a gain (multiplying factor) to the error to correct it, everytime the loop cycle calculations are finished. So Proportional Gain= G(E)=G(SP-PV). There is no time delay, the correction appliedis immediate, at every cycle of the loop calculations. So if the error is positive at measurement time(your setpoint is higher than theprocess value, which means you have not reached the setpoint) you boost the output by the gain value time the error measured. If the error is negative (you have exceeded the setpoint) you correct in the opposite direction by reducing the action of your output. In your case, you apply a proportionnalgain of 150. Which means that everytime your setpoint is higher than the process value you multiply the error value by 150 and force the motor onto its operating limit. Whenever the process value is higher than your setpoint you apply the gain of 150 to a negative error and close the motor off. So your actuator is being forced completely on and completelyoff on every calculation cycle of the loop, hence the pulsing you see at the output. It is rare in a real processthat we see a loop gain much above 1.0, maybe 2.0 in aggressive cases. With 150 you are asking for trouble. For anyone seeking basic and very clear information on PID loops and their parameters, I highly recommend these articles by a gentleman named Ron Beaufort, whom I met on another PLC site and whom I respect very much. He manages to explain the impact of each parameter of a PID loop in plain words, without the mathematics that most intorductions apply (you should go back to these when you have an idea of how your selection of parameters will affect your loop): What is P in PID? What is I in PID? What is D in PID? |
Last edited by: dchartier at: 12/1/2012 8:02 PM |
|
This contribution was helpful to1 thankful Users |
Follow us on