If you execute the PID instruction n times faster than the feedback data is refreshed, then the PID will think nothing has happened since it was last scanned, and will make no adjustments to CV. Then along comes what it sees as a large change in PV in a short time, and any D term will kick in with a vengeance. The following n scans will again see no change in PV until the next "new PV". This will make the loop much harder to tune, and will nearly always result in poor control.
I just wanted to respond to this because I don't believe it is correct and don't want it to confuse the OP or a future reader.
Even if the PV is the same for a few updates on an extremely quick PID loop, the PID controller WILL continue to make changes to the CV, that is what the integral gain does. The D term will not "kick in with a vengence," in fact, it will do even less than on a slow update loop because a fast update rate will result in a smaller change in PV per scan.
I have done fast update PID loops dozens of times and the benefit is that the controller is able to make a response much quicker to an upset. It does not "nearly always result in poor control", it actually works better.
I think the old line of "set your update rate to 100ms - 500ms" or whatever is a throwback from when processors were much slower, and I suspect the folks who argue that have never knowingly tried using a fast update time.
Analog signals are not necessarily "slow by nature." There is a reason that Rockwell makes fast analog I/O modules for Compact/ControlLogix. As another data point, the internal PID loop in PowerFlex 523/525 drives (and possibly others) updates at an unchangeable 1ms interval. Why would it be so fast if that "nearly always results in poor control"?
Last edited: