10-01-2014 02:42 PM - edited 10-01-2014 02:53 PM
http://zone.ni.com/reference/en-XX/help/371361L-01/lvpidmain/pid_vi_algs/
The diagram shows that the entire output is multiplied by Kc, but the text says that only the error signal is multiplied by Kc.
Experimenting with the VI shows that if I set Ti = 0.1 and Kc = 0, there is no output. If I then set Kc = 1, the output is positive nonzero while PV < SP. If I set Kc = 0 again, the output stays fixed at the last value where Kc = 1.
So I'm stating/asking two things:
UPDATE TO #2: I see that If I add Kc = 1 to the end of the test sequence, the output starts updating again. It seems that the output only hangs while Ti is non-negative and Kc is 0.
10-01-2014 03:03 PM - edited 10-01-2014 03:04 PM
I took quick peek at this documentation and I think the description and maths there are consistent with behaviour you're describing. When you have non-zero Kc and non-zero Ti, the integral part works. If you set Kc to 0, then integral part looks like that:
uI(k) = uI(k-1)
So the controller output stays at the last value of integral part.
And this is of course inconsistent with diagram provided in documentation 😜
10-01-2014 03:19 PM
David_Staab wrote:
The diagram shows that the entire output is multiplied by Kc, but the text says that only the error signal is multiplied by Kc.
The text says that Kc is used in the calculation of all three of Proportional, Integral, and Derivative action - for example, part of the integral action is Kc/Ti.
I agree that maintaining the last output value when Kc is set to 0 doesn't match the diagram, but does make some logical sense.