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
Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.Validation.ControlProcessModel ControlProcessModel Test model for identifying the reduced-order model of the control process

Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.Validation.ControlProcessModel Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.Validation.ControlProcessModel

Test model for identifying the reduced-order model of the control process

Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.Validation.ControlProcessModel

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:

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;