With Td = 0, if the Proportional band is changed dynamically via a message passed in it is possible for the previous value of the integral term to push the proportional band away from the setpoint so that, for example, a process value less than the setpoint can result in zero output. This should only be able to happen under derivative action, with Td=0 it should not be possible.
The cause is that the integral term should be clamped to +-PB/2. When the PB is changed there is no check that the integral term is still in this range.
With Td = 0, if the Proportional band is changed dynamically via a message passed in it is possible for the previous value of the integral term to push the proportional band away from the setpoint so that, for example, a process value less than the setpoint can result in zero output. This should only be able to happen under derivative action, with Td=0 it should not be possible. The cause is that the integral term should be clamped to +-PB/2. When the PB is changed there is no check that the integral term is still in this range.