Buildings.Templates.Plants.Controls.Setpoints

Plant reset logic

Information

This package contains plant reset sequences.

Package Content

Name Description
Buildings.Templates.Plants.Controls.Setpoints.PlantReset PlantReset Plant reset logic
Buildings.Templates.Plants.Controls.Setpoints.Validation Validation Collection of validation models

Buildings.Templates.Plants.Controls.Setpoints.PlantReset Buildings.Templates.Plants.Controls.Setpoints.PlantReset

Plant reset logic

Buildings.Templates.Plants.Controls.Setpoints.PlantReset

Information

Parameters

TypeNameDefaultDescription
IntegernSenDpRem Number of remote loop differential pressure sensors used for pump speed control
RealdpSet_max[nSenDpRem] Maximum differential pressure setpoint [Pa]
RealdpSet_min5*6894Minimum value to which the differential pressure can be reset [Pa]
RealTSup_nominal Design supply temperature [K]
RealTSupSetLim Limit value to which the supply temperature can be reset [K]
Advanced
RealdtHol900Minimum hold time during stage change [s]
RealresDp_max0.5Upper limit of plant reset interval for differential pressure reset [1]
RealresTSup_minresDp_maxLower limit of plant reset interval for supply temperature reset [1]
Trim and respond
Realres_init1Initial reset value [1]
Realres_min0Minimum reset value [1]
Realres_max1Maximum reset value [1]
RealdtDel900Delay time before the reset begins [s]
RealdtRes300Sample period of component [s]
IntegernReqResIgn2Number of ignored requests
Realtri-0.02Trim amount [1]
Realrsp0.03Respond amount (must have opposite sign of trim amount) [1]
Realrsp_max0.07Maximum response per reset period (must have same sign as respond amount) [1]

Connectors

TypeNameDescription
input IntegerInputnReqResSum of reset requests of all loads served
input BooleanInputu1EnaPlant enable
input BooleanInputu1StaProStaging process in progress
output RealOutputTSupSetSupply temperature setpoint [K]
output RealOutputdpSet[nSenDpRem]Differential pressure setpoint [Pa]

Modelica definition

block PlantReset "Plant reset logic" parameter Integer nSenDpRem(final min=1) "Number of remote loop differential pressure sensors used for pump speed control"; parameter Real dpSet_max[nSenDpRem]( each final min=5*6894, each unit="Pa") "Maximum differential pressure setpoint"; parameter Real dpSet_min( final min=0, final unit="Pa")=5*6894 "Minimum value to which the differential pressure can be reset"; parameter Real TSup_nominal( final min=273.15, final unit="K", displayUnit="degC") "Design supply temperature"; parameter Real TSupSetLim( final min=273.15, final unit="K", displayUnit="degC") "Limit value to which the supply temperature can be reset"; parameter Real dtHol( final min=0, final unit="s")=900 "Minimum hold time during stage change"; parameter Real resDp_max( final max=1, final min=0, final unit="1")=0.5 "Upper limit of plant reset interval for differential pressure reset"; parameter Real resTSup_min( final max=1, final min=0, final unit="1")=resDp_max "Lower limit of plant reset interval for supply temperature reset"; parameter Real res_init( final max=1, final min=0, final unit="1")=1 "Initial reset value"; parameter Real res_min( final max=1, final min=0, final unit="1")=0 "Minimum reset value"; parameter Real res_max( final max=1, final min=0, final unit="1")=1 "Maximum reset value"; parameter Real dtDel( final min=100*1E-15, final unit="s")=900 "Delay time before the reset begins"; parameter Real dtRes( final min=1E-3, final unit="s")=300 "Sample period of component"; parameter Integer nReqResIgn(min=0)=2 "Number of ignored requests"; parameter Real tri( final max=0, final unit="1")=-0.02 "Trim amount"; parameter Real rsp( final min=0, final unit="1")=0.03 "Respond amount (must have opposite sign of trim amount)"; parameter Real rsp_max( final min=0, final unit="1")=0.07 "Maximum response per reset period (must have same sign as respond amount)"; Buildings.Controls.OBC.CDL.Interfaces.IntegerInput nReqRes "Sum of reset requests of all loads served"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u1Ena "Plant enable"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u1StaPro "Staging process in progress"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput TSupSet( final unit="K", displayUnit="degC") "Supply temperature setpoint"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput dpSet[nSenDpRem]( each final min=0, each final unit="Pa") "Differential pressure setpoint"; Buildings.Controls.OBC.ASHRAE.G36.Generic.TrimAndRespond triRes( final delTim=dtDel, final iniSet=res_init, final maxRes=rsp_max, final maxSet=res_max, final minSet=res_min, final numIgnReq=nReqResIgn, final resAmo=rsp, final samplePeriod=dtRes, final triAmo=tri) "Compute plant reset with trim and respond logic "; Buildings.Controls.OBC.CDL.Logical.TrueHold truHol( final duration=dtHol) "Hold true value of input signal for given time"; Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler triSam "Fixed value at stage change"; Buildings.Controls.OBC.CDL.Reals.Switch res "Switch between actual and fixed value to compute actual reset"; Buildings.Controls.OBC.CDL.Reals.Line resTSup "Supply temperature reset"; Buildings.Controls.OBC.CDL.Reals.Line resDp[nSenDpRem] "Differential pressure reset"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant zer( final k=0) "Constant"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant one( final k=1) "Constant"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant resDpMax( final k=resDp_max) "Constant"; Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator rep( final nout=nSenDpRem) "Replicate signal"; Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator rep1( final nout=nSenDpRem) "Replicate signal"; Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator rep2( final nout=nSenDpRem) "Replicate signal"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant dpSetMax[nSenDpRem]( final k=dpSet_max) "Constant"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant resTSupMin( final k=resTSup_min) "Constant"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TSupSetNom( final k=TSup_nominal) "Constant"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant dpSetMin( final k=dpSet_min) "Constant"; Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator rep3( final nout=nSenDpRem) "Replicate signal"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TSupSetMinMax(final k= TSupSetLim) "Constant"; equation connect(u1StaPro, truHol.u); connect(triRes.y, triSam.u); connect(u1StaPro, triSam.trigger); connect(truHol.y, res.u2); connect(triSam.y, res.u1); connect(triRes.y, res.u3); connect(nReqRes, triRes.numOfReq); connect(resTSup.y, TSupSet); connect(resDp.y, dpSet); connect(one.y, resTSup.x2); connect(res.y, resTSup.u); connect(zer.y, rep.u); connect(rep.y, resDp.x1); connect(res.y, rep1.u); connect(rep1.y, resDp.u); connect(rep2.y, resDp.x2); connect(dpSetMax.y, resDp.f2); connect(TSupSetNom.y, resTSup.f2); connect(dpSetMin.y, rep3.u); connect(rep3.y, resDp.f1); connect(TSupSetMinMax.y, resTSup.f1); connect(resTSupMin.y, resTSup.x1); connect(resDpMax.y, rep2.u); connect(u1Ena, triRes.uDevSta); end PlantReset;