PID controller in the standard form
y = k ( e(t) + 1 ⁄ Ti ∫ e(s) ds + Td de(t)⁄dt ),
where y is the control signal, e(t) = us - um is the control error, with us being the set point and um being the measured quantity, k is the gain, Ti is the time constant of the integral term and Td is the time constant of the derivative term.
Note that the units of k are the inverse of the units of the control error, while the units of Ti and Td are seconds.
For detailed treatment of integrator anti-windup, set-point weights and output limitation, see Modelica.Blocks.Continuous.LimPID.
Through the parameter controllerType, the controller can be configured
as P, PI, PD or PID controller. The default configuration is PI.
Through the parameter reverseActing, the controller can be configured to
be reverse or direct acting.
The above standard form is reverse acting, which is the default configuration.
For a reverse acting controller, for a constant set point,
an increase in measurement signal u_m decreases the control output signal y
(Montgomery and McDowall, 2008).
Thus,
reverseActing = true, but
  reverseActing = false.
  The controller can be configured to enable an input port that allows resetting the controller output. The controller output can be reset as follows:
reset = AixLib.Types.Reset.Disabled, which is the default,
  then the controller output is never reset.
  reset = AixLib.Types.Reset.Parameter, then a boolean
  input signal trigger is enabled. Whenever the value of
  this input changes from false to true,
  the controller output is reset by setting y
  to the value of the parameter y_reset.
  reset = AixLib.Types.Reset.Input, then a boolean
  input signal trigger and a real input signal y_reset_in
  are enabled. Whenever the value of
  trigger changes from false to true,
  the controller output is reset by setting the value of y
  to y_reset_in.
  
Note that this controller implements an integrator anti-windup. Therefore,
for most applications, keeping the default setting of
reset = AixLib.Types.Reset.Disabled is sufficient.
However, if the controller is used in conjuction with equipment that is being
switched on, better control performance may be achieved by resetting the controller
output when the equipment is switched on.
This is in particular the case in situations
where the equipment control input should continuously increase as the equipment is
switched on, such as a light dimmer that may slowly increase the luminance, or
a variable speed drive of a motor that should continuously increase the speed.
R. Montgomery and R. McDowall (2008). "Fundamentals of HVAC Control Systems." American Society of Heating Refrigerating and Air-Conditioning Engineers Inc. Atlanta, GA.
k.homotopyType=NoHomotopy.
See issue 1221.
limitsAtInit because it was only propagated to
the instance limiter, but this block no longer makes use of this parameter.
This is a non-backward compatible change.strict=true in order to avoid events
when the controller saturates.
This is for issue 433.