Buildings.Templates.Plants.Controls.Setpoints
Plant reset logic
Information
This package contains plant reset sequences.
Package Content
Name | Description |
---|---|
PlantReset | Plant reset logic |
Validation | Collection of validation models |
Buildings.Templates.Plants.Controls.Setpoints.PlantReset
Plant reset logic
Information
Parameters
Type | Name | Default | Description |
---|---|---|---|
Integer | nSenDpRem | Number of remote loop differential pressure sensors used for pump speed control | |
Real | dpSet_max[nSenDpRem] | Maximum differential pressure setpoint [Pa] | |
Real | dpSet_min | 5*6894 | Minimum value to which the differential pressure can be reset [Pa] |
Real | TSup_nominal | Design supply temperature [K] | |
Real | TSupSetLim | Limit value to which the supply temperature can be reset [K] | |
Advanced | |||
Real | dtHol | 900 | Minimum hold time during stage change [s] |
Real | resDp_max | 0.5 | Upper limit of plant reset interval for differential pressure reset [1] |
Real | resTSup_min | resDp_max | Lower limit of plant reset interval for supply temperature reset [1] |
Trim and respond | |||
Real | res_init | 1 | Initial reset value [1] |
Real | res_min | 0 | Minimum reset value [1] |
Real | res_max | 1 | Maximum reset value [1] |
Real | dtDel | 900 | Delay time before the reset begins [s] |
Real | dtRes | 300 | Sample period of component [s] |
Integer | nReqResIgn | 2 | Number of ignored requests |
Real | tri | -0.02 | Trim amount [1] |
Real | rsp | 0.03 | Respond amount (must have opposite sign of trim amount) [1] |
Real | rsp_max | 0.07 | Maximum response per reset period (must have same sign as respond amount) [1] |
Connectors
Type | Name | Description |
---|---|---|
input IntegerInput | nReqRes | Sum of reset requests of all loads served |
input BooleanInput | u1Ena | Plant enable |
input BooleanInput | u1StaPro | Staging process in progress |
output RealOutput | TSupSet | Supply temperature setpoint [K] |
output RealOutput | dpSet[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;