Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.Validation
Collection of models that validate the blocks in the FirstOrderTimeDelay
Information
This package contains models that validate the blocks in Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.
Package Content
Name | Description |
---|---|
![]() |
Test model for identifying the reduced-order model of the control process |
Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.Validation.ControlProcessModel
Test model for identifying the reduced-order model of the control process
Information
Validation test for the block Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.ControlProcessModel.
This example considers an output from a relay controller, which is described below:
- At 0.1s, the output switches from On to Off.
- At 0.8s, the output switches to On.
- At 0.9s, the output switches to Off.
This output triggers an autotuning process that lasts from 0.1s to 0.9s.
Modelica definition
model ControlProcessModel
"Test model for identifying the reduced-order model of the control process"
Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.ControlProcessModel
conProMod(
yHig=1,
yLow=0.1,
deaBan=0.05) "Calculate the parameters of a first-order model";
Buildings.Controls.OBC.CDL.Reals.Sources.Pulse u(
amplitude=0.5,
width=0.125,
period=0.8,
offset=0.5)
"The response of a relay controller";
Buildings.Controls.OBC.CDL.Reals.Sources.Pulse tOn(
amplitude=-0.1,
width=0.1,
period=1,
offset=0.1)
"The length of the on period";
Buildings.Controls.OBC.CDL.Reals.Sources.Pulse tOff(
amplitude=-0.7,
width=0.8,
period=1,
offset=0.7)
"The length of the off period";
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse tunSta(
width=0.9,
period=1,
shift=-0.9)
"The signal for the tuning period starts";
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse tunEnd(
width=0.1,
period=1,
shift=0.9)
"The signal for the tuning period ends";
Buildings.Controls.OBC.CDL.Reals.Sources.Pulse ratioLT(
amplitude=-0.1,
width=0.4,
period=0.8,
offset=0.4)
"Ratio between the time constant and the time delay";
Buildings.Controls.OBC.CDL.Logical.Sources.Constant truSig(
k=true)
"True signal";
equation
connect(tunSta.y, conProMod.triSta);
connect(conProMod.triEnd, tunEnd.y);
connect(u.y, conProMod.u);
connect(tOn.y, conProMod.tOn);
connect(conProMod.tOff, tOff.y);
connect(ratioLT.y, conProMod.tau);
connect(truSig.y, conProMod.inTun);
end ControlProcessModel;