This package contains interface classes.
block ControllerG36VAVBox
extends Buildings.Templates.ZoneEquipment.Components.Interfaces.PartialControllerVAVBox;
parameter Boolean have_occSen=false
;
parameter Boolean have_winSen=false
;
final parameter Boolean have_hotWatCoi=
coiHea.typ==Buildings.Templates.Components.Types.Coil.WaterBasedHeating
;
final parameter Modelica.Units.SI.VolumeFlowRate VAirCooSet_flow_max=
dat.VAirCooSet_flow_max
;
final parameter Modelica.Units.SI.VolumeFlowRate VAirSet_flow_min=
dat.VAirSet_flow_min
;
final parameter Modelica.Units.SI.VolumeFlowRate VAirHeaSet_flow_max=
dat.VAirHeaSet_flow_max
;
final parameter Modelica.Units.SI.VolumeFlowRate VAirHeaSet_flow_min=
dat.VAirHeaSet_flow_min
;
final parameter Modelica.Units.SI.TemperatureDifference dTAirDisHea_max(
displayUnit="K")=
dat.dTAirDisHea_max
;
final parameter Modelica.Units.SI.VolumeFlowRate VOutMinOcc_flow(
final min=0,
start=1)=dat.VOutMinOcc_flow
;
final parameter Modelica.Units.SI.VolumeFlowRate VOutMinAre_flow(
final min=0,
start=1)=dat.VOutMinAre_flow
;
final parameter Real VOutAre_flow(
final unit = "m3/s")=
dat.VOutAre_flow
;
final parameter Real VOutOcc_flow(
final unit = "m3/s")=
dat.VOutOcc_flow
;
final parameter Real effAirDisHea=
dat.effAirDisHea
;
final parameter Real effAirDisCoo=
dat.effAirDisCoo
;
Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.Reheat.Controller ctlReh(
final venStd=stdVen,
final have_winSen=have_winSen,
final have_occSen=have_occSen,
final have_CO2Sen=have_CO2Sen,
final have_hotWatCoi=have_hotWatCoi,
final VOccMin_flow=VOutMinOcc_flow,
final VAreMin_flow=VOutMinAre_flow,
final VAreBreZon_flow=VOutAre_flow,
final VPopBreZon_flow=VOutOcc_flow,
final VMin_flow=VAirSet_flow_min,
final VCooMax_flow=VAirCooSet_flow_max,
final VHeaMin_flow=VAirHeaSet_flow_min,
final VHeaMax_flow=VAirHeaSet_flow_max,
final dTDisZonSetMax=dTAirDisHea_max,
final zonDisEff_cool=effAirDisCoo,
final zonDisEff_heat=effAirDisHea)
if typ == Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxReheat
;
Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Controller ctlCoo(
final venStd=stdVen,
final have_winSen=have_winSen,
final have_occSen=have_occSen,
final have_CO2Sen=have_CO2Sen,
final VOccMin_flow=VOutMinOcc_flow,
final VAreMin_flow=VOutMinAre_flow,
final VAreBreZon_flow=VOutAre_flow,
final VPopBreZon_flow=VOutOcc_flow,
final VMin_flow=VAirSet_flow_min,
final VCooMax_flow=VAirCooSet_flow_max,
final zonDisEff_cool=effAirDisCoo,
final zonDisEff_heat=effAirDisHea)
if typ == Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxCoolingOnly
;
Buildings.Controls.OBC.ASHRAE.G36.ThermalZones.Setpoints TZonSet(
final have_occSen=have_occSen,
final have_winSen=have_winSen)
;
Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.ZoneStatus zonSta(
final have_winSen=have_winSen)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant cooDowWarUpTim(k=3600)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant setAdj(k=0)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant cooSetAdj(k=0)
;
Buildings.Controls.OBC.CDL.Reals.Sources.Constant heaSetAdj(k=0)
;
Buildings.Controls.OBC.CDL.Integers.Sources.Constant uCooDemLimLev(k=0)
;
Buildings.Controls.OBC.CDL.Integers.Sources.Constant uHeaDemLimLev(k=0)
;
equation
connect(bus.TZon, ctlReh.TZon);
connect(bus.y1Win, ctlReh.u1Win);
connect(bus.y1Occ, ctlReh.u1Occ);
connect(bus.ppmCO2, ctlReh.ppmCO2);
connect(bus.ppmCO2Set, ctlReh.ppmCO2Set);
connect(bus.yOpeMod, ctlReh.uOpeMod);
connect(bus.TAirDis, ctlReh.TDis);
connect(bus.VAirDis_flow, ctlReh.VDis_flow);
connect(bus.TAirSup, ctlReh.TSup);
connect(bus.TAirSupSet, ctlReh.TSupSet);
connect(bus.y1FanSup_actual, ctlReh.u1Fan);
connect(bus.y1PlaHeaWat, ctlReh.u1HotPla);
connect(bus.yOveFloSet, ctlReh.oveFloSet);
connect(bus.yOveDamPos, ctlReh.oveDamPos);
connect(bus.y1OveHeaOff, ctlReh.uHeaOff);
connect(bus.TZon, ctlCoo.TZon);
connect(bus.y1Win, ctlCoo.u1Win);
connect(bus.y1Occ, ctlCoo.u1Occ);
connect(bus.ppmCO2, ctlCoo.ppmCO2);
connect(bus.ppmCO2Set, ctlCoo.ppmCO2Set);
connect(bus.yOpeMod, ctlCoo.uOpeMod);
connect(bus.TAirDis, ctlCoo.TDis);
connect(bus.VAirDis_flow, ctlCoo.VDis_flow);
connect(bus.TAirSup, ctlCoo.TSup);
connect(bus.y1FanSup_actual, ctlCoo.u1Fan);
connect(bus.yOveFloSet, ctlCoo.oveFloSet);
connect(bus.yOveDamPos, ctlCoo.oveDamPos);
connect(bus.y1Occ, TZonSet.u1Occ);
connect(bus.y1Win, TZonSet.u1Win);
connect(bus.y1Win, zonSta.u1Win);
connect(bus.TZon, zonSta.TZon);
connect(bus.TZonCooOccSet, zonSta.TOccCooSet);
connect(bus.TZonCooUnoSet, zonSta.TUnoCooSet);
connect(bus.TZonHeaOccSet, zonSta.TOccHeaSet);
connect(bus.TZonHeaUnoSet, zonSta.TUnoHeaSet);
connect(bus.yOpeMod, TZonSet.uOpeMod);
connect(bus.dTSetAdj, TZonSet.setAdj);
connect(bus.dTHeaSetAdj, TZonSet.heaSetAdj);
connect(bus.uCooDemLimLev, TZonSet.uCooDemLimLev);
connect(bus.uHeaDemLimLev, TZonSet.uHeaDemLimLev);
connect(bus.TZonCooOccSet, TZonSet.TOccCooSet);
connect(bus.TZonCooUnoSet, TZonSet.TUnoCooSet);
connect(bus.TZonHeaOccSet, TZonSet.TOccHeaSet);
connect(bus.TZonHeaUnoSet, TZonSet.TUnoHeaSet);
connect(ctlReh.yDam, bus.damVAV.y);
connect(ctlReh.yVal, bus.coiHea.y);
connect(ctlReh.VAdjPopBreZon_flow, bus.VAdjPopBreZon_flow);
connect(ctlReh.VAdjAreBreZon_flow, bus.VAdjAreBreZon_flow);
connect(ctlReh.VMinOA_flow, bus.VMinOA_flow);
connect(ctlReh.VZonAbsMin_flow, bus.VZonAbsMin_flow);
connect(ctlReh.VZonDesMin_flow, bus.VZonDesMin_flow);
connect(ctlReh.yCO2, bus.yCO2);
connect(ctlReh.yZonTemResReq, bus.yReqZonTemRes);
connect(ctlReh.yZonPreResReq, bus.yReqZonPreRes);
connect(ctlCoo.yDam, bus.damVAV.y);
connect(ctlCoo.VAdjPopBreZon_flow, bus.VAdjPopBreZon_flow);
connect(ctlCoo.VAdjAreBreZon_flow, bus.VAdjAreBreZon_flow);
connect(ctlCoo.VMinOA_flow, bus.VMinOA_flow);
connect(ctlCoo.VZonAbsMin_flow, bus.VZonAbsMin_flow);
connect(ctlCoo.VZonDesMin_flow, bus.VZonDesMin_flow);
connect(ctlCoo.yCO2, bus.yCO2);
connect(ctlCoo.yZonTemResReq, bus.yZonTemResReq);
connect(ctlCoo.yZonPreResReq, bus.yZonPreResReq);
connect(zonSta.yCooTim, bus.yCooTim);
connect(zonSta.yWarTim, bus.yWarTim);
connect(zonSta.yOccHeaHig, bus.yOccHeaHig);
connect(zonSta.yHigOccCoo, bus.yHigOccCoo);
connect(zonSta.yUnoHeaHig, bus.yUnoHeaHig);
connect(zonSta.yEndSetBac, bus.yEndSetBac);
connect(zonSta.yHigUnoCoo, bus.yHigUnoCoo);
connect(zonSta.yEndSetUp, bus.yEndSetUp);
connect(TZonSet.TCooSet, ctlReh.TCooSet);
connect(TZonSet.THeaSet, ctlReh.THeaSet);
connect(uCooDemLimLev.y, TZonSet.uCooDemLimLev);
connect(uHeaDemLimLev.y, TZonSet.uHeaDemLimLev);
connect(cooSetAdj.y, TZonSet.cooSetAdj);
connect(heaSetAdj.y, TZonSet.heaSetAdj);
connect(setAdj.y, TZonSet.setAdj);
connect(TZonSet.TCooSet, ctlCoo.TCooSet);
connect(TZonSet.THeaSet, ctlCoo.THeaSet);
connect(cooDowWarUpTim.y, zonSta.cooDowTim);
connect(cooDowWarUpTim.y, zonSta.warUpTim);
end ControllerG36VAVBox;
This partial class provides a standard interface for terminal unit controllers.
This partial class provides a standard interface for VAV terminal unit controllers.