Here is a case, one of many, for ensuring PIDs run at the interval configured by their update time.
The first image below is a PID running at 2s. It uses a TON and a JSR to enforce the PID schedule within the continuous task, instead of a preferred periodic task, to make it easier to convert between this and running the PID every scan.
The entire scenario is artificial: the step change of PV is permanent because any CV change by the PID does not affect the PV; the tuning parameters are set to over-emphasize the Derivative term (Dterm); the ratios
Pterm:Iterm:Dterm are
1.0:
0.01:100 for the first PID execution after a step change in PV, so the CV impulse is 101.01 for one scan, after which (a) the Dterm (100) disappears, (b) the Pterm (1) holds, and (c) the Iterm accumulates at 0.01 per PID executuion.
The second image, below, is the same PID without the TON controlling the PID execution, so the
PID runs on every scan of the continuous task.
The key thing to notice here is that the PID CV behaves in exactly the same way, only faster: +100 Dterm; then -100 Dterm
on the next scan, not 2s later; +1 Pterm holds; 0.01 Iterm accumulates per PID execution i.e.
per scan. The point I am making is that the Dterm of a PID running on
every scan of the continuous task
will not affect a typical physical process, because it will only be in effect for
only one scan of about ~20ms, which, in the case of OP's process for this thread, is
not long enough to make the VFD accelerate the motor to drive the pump to change the flowrate to be sensed by the PV, before the CV drops back to 1.02, the Pterm(1.0) plus two Dterms(2*0.01), when the Dterm is reversed on the subsequent scan.
In case I have been less than clear: @Waterboy, I am certain the Derivative term of your PID is doing nothing beneficial for your process; I understand the PID works well enough so you see no reason to change it (if it ain't broke ...), and I am fine with that. However, considering that your Kd is nearly an order of magnitude and a third larger than your Kp, if it is doing anything, then it is adding noise to the process.
If anything, it is a testament to the robustness of the discrete PID algorithm that it can be made to work even when misconfigured in this way. The form of the PID equation makes it clear that, if misapplied in this way, the Ki and Kd coefficients (or Ti and Td times, in the dependent form), can be adjusted to compensate. Like the dog riding the bicycle at the circus: it's not amazing that it does it so well, it's amazing that it does it at all.