modelReverseActingPIDWithFirstOrderAMIGO

Test model for an autotuning reverse-acting PID controller

Information

Validation test for the block Buildings.Controls.OBC.Utilities.PIDWithAutotuning.FirstOrderAMIGO.

This example compares the output of an autotuning PID controller (PIDWitTun) to that of a normal PID controller (PID) with prescribed gains.

Both PID controllers are connected with a first-order control process. At the beginning (0s-500s), the outputs from those two PID controllers are identical as their prescribed gains are the same.

Once the autotuning starts at 500s, the outputs of the two PID controllers become different. After the tuning completes, under the control of PIDWitTun, the value of the controlled variable is close to the setpoint after the tuning period ends (PIDWitTun.resPro.triEnd = true). On the contrary, PID has a poor control performance, i.e., the value of the controlled variable oscillates.

The example also shows that the autotunning process can be re-triggered when the input triTun becomes true.

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantSetPointSetpoint value
Buildings.Controls.OBC.Utilities.PIDWithAutotuning.FirstOrderAMIGOPIDWitTunPID controller with an autotuning feature
Buildings.Controls.OBC.CDL.Reals.PIDWithResetPIDPID controller with constant gains
Buildings.Controls.OBC.CDL.Logical.Sources.ConstantresSigReset signal
Buildings.Controls.OBC.CDL.Discrete.UnitDelayuniDel2A delay process for control process 2
Buildings.Controls.OBC.CDL.Discrete.UnitDelayuniDel1A delay process for control process 1
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantkGain of the first order process
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantTTime constant of the first order process
Buildings.Controls.OBC.CDL.Reals.Subtractsub1A subtract block that is used to mimic the first order process 1
Buildings.Controls.OBC.CDL.Reals.Subtractsub2A subtract block that is used to mimic the first order process 2
Buildings.Controls.OBC.CDL.Reals.Derivativederivative1A derivative block that is used to mimic the first order process 1
Buildings.Controls.OBC.CDL.Reals.Derivativederivative2A derivative block that is used to mimic the first order process 2
Buildings.Controls.OBC.CDL.Logical.Sources.PulseautTunSigSignal for enabling the autotuning

Revisions

  • June 1, 2022, by Sen Huang:
    First implementation.