First time here? Check out the Help page!
1 | initial version |
You will need to add two more EMS sensors:
OccupiedAirTemp
.ZoneControl:Thermostat
object, e.g.). Let's use an example sensor name of OccupiedHeatSetpt
.Then, your EMS program will use IF
and ELSE
statements to set up your logic.
EnergyManagementSystem:Program,
0AtelierS_0,
IF OccupiedAirTemp < OccupiedHeatSetpt, ! Heating required
SET FreshAirTemp_0AtelierS_0 = 50, ! Set Ideal Loads supply air temp to 50C
ELSE, ! Heating not required
Set FreshAirTemp_0AtelierS_0 = GalleryAirTemp, ! Set Ideal Loads supply air temp to Gallery temp
END;
As with any project using EMS, I would definitely recommend analyzing outputs at a timestep frequency to testing out this logic comparison of zone air temperature to heating setpoint schedule. It may work better to use one EMS sensor for predicted load to heating setpoint and check when that is positive instead of comparing the zone air temperature to heating setpoint schedule.
2 | No.2 Revision |
You will need to add two more EMS sensors:
OccupiedAirTemp
.ZoneControl:Thermostat
object, e.g.). Let's use an example sensor name of OccupiedHeatSetpt
.For the pre-heating of Gallery air, the simplest approach would be to assign the Gallery exhaust air node as the System Inlet Air Node Name of the Ideal Loads Air System object. That should mix Gallery air with outdoor air and occupied space exhaust air before being conditioned by the Ideal Loads Air System.
Then, your EMS program will use IF
and ELSE
statements to set up your logic.
EnergyManagementSystem:Program,
0AtelierS_0,
IF OccupiedAirTemp < OccupiedHeatSetpt, ! Heating required
SET FreshAirTemp_0AtelierS_0 = 50, ! Set Ideal Loads supply air temp to 50C
ELSE, ! Heating not required
Set SET FreshAirTemp_0AtelierS_0 = GalleryAirTemp, ! Set Ideal Loads supply air temp to Gallery temp
END;
If this approach doesn't work for pre-heating, then you will also need one more EMS Actuator:
OutdoorDrybulb
.Then, your EMS program will add a few lines to set OutdoorDrybulb
:
EnergyManagementSystem:Program,
0AtelierS_0,
IF OccupiedAirTemp < OccupiedHeatSetpt, ! Heating required
SET OutdoorDrybulb = GalleryAirTemp, ! Set outdoor drybulb equal to Gallery temp (pre-heating)
SET FreshAirTemp_0AtelierS_0 = 50, ! Set Ideal Loads supply air temp to 50C
ELSE, ! Heating not required
SET OutdoorDrybulb = NULL, ! Reset outdoor drybulb to EPW data
SET FreshAirTemp_0AtelierS_0 = GalleryAirTemp, ! Set Ideal Loads supply air temp to Gallery temp
END;
Note the use of "NULL" to reset the OutdoorDrybulb
actuator back to its original settings (EPW data). This "NULL" keyword can be applied to reset any actuator.
I should point out that the OutdoorDrybulb
actuator should override the OutdoorAir:Node
object assigned to the Ideal Loads Air System's Outdoor Air Inlet Node Name field. If you only have one OutdoorAir:Node
object for the entire model, you should create a second one just for the Ideal Loads Air System that will be altered using the EMS program. The original OutdoorAir:Node
object will then be unaffected and keep original outdoor air conditions throughout the rest of the model.
One more thing -- depending upon your pre-heating strategy (100% OA vs. mixing a specific portion of OA with Gallery air, e.g.), you can set the flow rate of pre-heated outdoor air provided from the Gallery to the occupied spaces using the "Outdoor Air Mass Flow Rate" actuator of the Ideal Loads Air System.
As with any project using EMS, I would definitely recommend analyzing outputs at a timestep frequency to testing test out this logic comparison of zone air temperature to heating setpoint schedule. It may work better to use one EMS sensor for predicted load to heating setpoint and check when that is positive instead of comparing the zone air temperature to heating setpoint schedule.