Buildings.Templates.Plants.Controls.Pumps.Primary.Validation
Collection of validation models
Information
This package contains validation models.
Package Content
Name | Description |
---|---|
EnableLeadHeadered | Validation model for the enabling logic of headered primary pumps |
VariableSpeedNoDpControl | Validation model for the control logic of variable speed primary pumps without ∆p control |
Buildings.Templates.Plants.Controls.Pumps.Primary.Validation.EnableLeadHeadered
Validation model for the enabling logic of headered primary pumps
Information
This model validates Buildings.Templates.Plants.Controls.Pumps.Primary.EnableLeadHeadered in a configuration with two production units, either parallel piped or series piped, with either two-position or modulating isolation valves.
Modelica definition
model EnableLeadHeadered
"Validation model for the enabling logic of headered primary pumps"
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse u1ValIso[2](
period=60 * {20, 30})
"Isolation valve command";
Buildings.Templates.Plants.Controls.Pumps.Primary.EnableLeadHeadered enaSerTwo(
typCon=Buildings.Templates.Plants.Controls.Types.EquipmentConnection.Series,
typValIso=Buildings.Templates.Plants.Controls.Types.Actuator.TwoPosition,
nValIso=2)
"Enable lead pump - Series piped equipment with two-position isolation valves";
Buildings.Controls.OBC.CDL.Conversions.BooleanToReal booToRea[2]
"Convert to real";
Buildings.Controls.OBC.CDL.Reals.LimitSlewRate uValIso[2](
each raisingSlewRate=1 / 200)
"Compute valve command";
Buildings.Templates.Plants.Controls.Pumps.Primary.EnableLeadHeadered enaSerMod(
typCon=Buildings.Templates.Plants.Controls.Types.EquipmentConnection.Series,
typValIso=Buildings.Templates.Plants.Controls.Types.Actuator.Modulating,
nValIso=2)
"Enable lead pump - Series piped equipment with modulating isolation valves";
Buildings.Templates.Plants.Controls.Pumps.Primary.EnableLeadHeadered enaParTwo(
typCon=Buildings.Templates.Plants.Controls.Types.EquipmentConnection.Parallel,
typValIso=Buildings.Templates.Plants.Controls.Types.Actuator.TwoPosition,
nValIso=2)
"Enable lead pump - Parallel piped equipment with two-position isolation valves";
Buildings.Templates.Plants.Controls.Pumps.Primary.EnableLeadHeadered enaParMod(
typCon=Buildings.Templates.Plants.Controls.Types.EquipmentConnection.Parallel,
typValIso=Buildings.Templates.Plants.Controls.Types.Actuator.Modulating,
nValIso=2)
"Enable lead pump - Parallel piped equipment with modulating isolation valves";
equation
connect(u1ValIso.y, booToRea.u);
connect(booToRea.y, uValIso.u);
connect(u1ValIso.y, enaSerTwo.u1ValIso);
connect(uValIso.y, enaSerMod.uValIso);
connect(u1ValIso.y, enaParTwo.u1ValIso);
connect(uValIso.y, enaParMod.uValIso);
end EnableLeadHeadered;
Buildings.Templates.Plants.Controls.Pumps.Primary.Validation.VariableSpeedNoDpControl
Validation model for the control logic of variable speed primary pumps without ∆p control
Information
This model validates Buildings.Templates.Plants.Controls.Pumps.Primary.VariableSpeedNoDpControl with two plant equipment and two primary pumps and for the following configurations.
-
Heating-only plant with headered primary pumps (component
ctlPumPriHdrHea
) -
Heating and cooling plant with headered primary pumps (component
ctlPumPriHdr
) -
Heating and cooling plant with common dedicated primary pumps (component
ctlPumPriDedCom
) -
Heating and cooling plant with separate dedicated primary pumps (component
ctlPumPriDedSep
)
Modelica definition
model VariableSpeedNoDpControl
"Validation model for the control logic of variable speed primary pumps without ∆p control"
Buildings.Templates.Plants.Controls.Pumps.Primary.VariableSpeedNoDpControl
ctlPumPriHdrHea(
have_heaWat=true,
have_chiWat=false,
have_pumPriHdr=true,
nPumHeaWatPri=2,
yPumHeaWatPriSet=0.8) "Headered primary pumps – Heating-only plant";
Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable u1(
table=[0,0,0; 0.1,1,0; 0.5,1,1; 1,1,1; 1.5,1,1; 2,0,1; 2.5,0,0; 3,0,0],
timeScale=300,
period=900)
"Command signal – Plant, equipment or isolation valve depending on tested configuration";
Buildings.Templates.Plants.Controls.Pumps.Primary.VariableSpeedNoDpControl ctlPumPriHdr(
have_heaWat=true,
have_chiWat=true,
have_pumPriHdr=true,
nEqu=2,
nPumHeaWatPri=2,
nPumChiWatPri=2,
yPumHeaWatPriSet=0.8,
yPumChiWatPriSet=0.9)
"Headered primary pumps – Heating and cooling plant";
Buildings.Controls.OBC.CDL.Logical.Not u1Coo[2]
"Opposite signal to generate cooling system commands";
Buildings.Templates.Plants.Controls.Pumps.Primary.VariableSpeedNoDpControl ctlPumPriDedCom(
have_heaWat=true,
have_chiWat=true,
have_pumChiWatPriDed=false,
have_pumPriHdr=false,
nEqu=2,
nPumHeaWatPri=2,
yPumHeaWatPriSet=0.8,
yPumChiWatPriSet=0.9)
"Common dedicated primary pumps – Heating and cooling plant";
Buildings.Templates.Plants.Controls.Pumps.Primary.VariableSpeedNoDpControl ctlPumPriDedSep(
have_heaWat=true,
have_chiWat=true,
have_pumChiWatPriDed=true,
have_pumPriHdr=false,
nEqu=2,
nPumHeaWatPri=2,
nPumChiWatPri=2,
yPumHeaWatPriSet=0.8,
yPumChiWatPriSet=0.9)
"Separate dedicated primary pumps – Heating and cooling plant";
equation
connect(u1.y,ctlPumPriHdrHea. u1PumHeaWatPri);
connect(u1.y, u1Coo.u);
connect(u1Coo.y, ctlPumPriHdr.u1PumChiWatPri);
connect(u1.y, ctlPumPriHdr.u1PumHeaWatPri);
connect(u1.y, ctlPumPriDedCom.u1PumHeaWatPri);
connect(u1Coo.y, ctlPumPriDedCom.u1Hea);
connect(u1.y, ctlPumPriDedSep.u1PumHeaWatPri);
connect(u1Coo.y, ctlPumPriDedSep.u1PumChiWatPri);
end VariableSpeedNoDpControl;