Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation

Collection of models that validate the blocks of a relay controller

Information

This package contains models that validate the blocks in Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.

Package Content

Name Description
Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation.Controller Controller Test model for a relay controller
Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation.ResponseProcess ResponseProcess Test model for processing the response of a relay controller

Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation.Controller Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation.Controller

Test model for a relay controller

Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation.Controller

Information

Validation test for the block Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Controller.

The input signal, sin, mimics the response of a control process. In the first half of the test period, the relay controller is disabled, its output remains unchanged from the initial values. In the rest time, the relay controller is enabled and its output changes based on sin.

Modelica definition

model Controller "Test model for a relay controller" Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Controller relCon( yHig=1, yLow=0.5, deaBan=0.4) "A relay controller"; Buildings.Controls.OBC.CDL.Reals.Sources.Sin sin(freqHz=2) "Measured value"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant con(k=0) "Setpoint"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse enaSig( width=0.5, period=1, shift=-0.5) "Enable signal"; equation connect(con.y, relCon.u_s); connect(sin.y, relCon.u_m); connect(enaSig.y, relCon.trigger); end Controller;

Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation.ResponseProcess Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation.ResponseProcess

Test model for processing the response of a relay controller

Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.Validation.ResponseProcess

Information

Validation test for the block Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.ResponseProcess.

This testing scenario in this example is the same as that in Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.BaseClasses.Validation.TunMonitor.

Modelica definition

model ResponseProcess "Test model for processing the response of a relay controller" Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.ResponseProcess resPro( final yHig=1, final yLow=0.2) "Calculate the length of the on period and the off period"; Buildings.Controls.OBC.CDL.Reals.Sources.CivilTime modTim "Simulation time"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse relSwi( width=0.2, period=0.8, shift=-0.1) "Control switch output"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse resSig( width=0.1, period=1, shift=-0.1) "Reset signal"; Buildings.Controls.OBC.CDL.Logical.Latch tunSta "Display when tuning process starts"; Buildings.Controls.OBC.CDL.Logical.Latch tunEnd "Display when tuning process ends"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant con(final k=false) "False signal"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant con1(final k=true) "True signal"; equation connect(modTim.y, resPro.tim); connect(relSwi.y,resPro.on); connect(resSig.y, resPro.trigger); connect(resPro.triSta, tunSta.u); connect(tunEnd.u, resPro.triEnd); connect(tunSta.clr, con.y); connect(tunEnd.clr, con.y); connect(con1.y, resPro.inTun); end ResponseProcess;