I have created a PID compact block that I want to use exclusively as a P controller with feedforward bias (disturbance variable).
However, even though I deactivate all PID parameters (0.0) except for 'Sampling time of PID algorithm', 'Proportional Gain', and 'Proportional Weighting' I still seem to get Integral control in my PID output (the MV value drifts even though the error (SP-PV) remains constant).
Why is that?
Thanks,
David Olsen
David, a couple of things to verify. When I configure a proportional-only controller, I set the control algorithm to PI instead of PID. The integral time should be set to 0.0. The proportional weighting should be set to 1.0. The execution time should be set to a reasonable number (0.5 - 1.0 sec).
When you do a step-change in AUTO mode, the PV should approach the new SP but not reach it (offset). Are you in simulation? Or connected to a live process? How much does the PV drift? Is the output changing? By how much?
Lastly, how did you determine the gain? In P-only control, if the gain is too high, the output can start to cycle or become unstable.
Hello Scott,
It's a simulation, no live process. I have chosen PI instead of PID. Everything else is set as you have described.The gain is set to 1.0 (have also tried 0.2). Problem is that the MV keeps creeping up until output reaches 100%. I don't get why as this kind of behavior is exclusive to integral control.
Instead, with a proportional controller I would expect the MV to remain constant as long as PV, SP and the disturbance variable remains the same - it doesn't however.
I have tried to create a SUBTRACT (SP-PV) and CALCULATION block (Kp*error+feedforward bias) and this works exactly as intended. However, I would prefer to use the PID compact block as this block outputs in percent and therefore I don't need to do all the number crunching myself.
Any ideas on what is wrong with my PID controller?