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, butreverseActing = 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 = Buildings.Types.Reset.Disabled, which
is the default, then the controller output is never reset.reset = Buildings.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 = Buildings.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 = Buildings.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.