In cases where the actionner is asymmetric, the limit should also be asymmetric.
The most common case will be 0 <= output <= limit.
For example, consider a non-reversible heater maintaining room temperature, which just so happens to be my main use case :)
Let's say a 1500W heater is supposed to maintain a room at 19ºC, with a current temperature of 22ºC. The poor integral term will try its best to lower the temperature until it saturates at -1500W, which makes little sense.
But we might as well support arbitrary limits.
In cases where the actionner is asymmetric, the limit should also be asymmetric.
The most common case will be
0 <= output <= limit.For example, consider a non-reversible heater maintaining room temperature, which just so happens to be my main use case :)
Let's say a 1500W heater is supposed to maintain a room at 19ºC, with a current temperature of 22ºC. The poor integral term will try its best to lower the temperature until it saturates at -1500W, which makes little sense.
But we might as well support arbitrary limits.