Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

You will need to add two more EMS sensors:

  • Zone Mean Air Temperature of the occupied zone(s). Let's use an example sensor name of OccupiedAirTemp.
  • Schedule Value for the heating setpoint schedule assigned to occupied zone(s) thermostat (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.

You will need to add two more EMS sensors:

  • Zone Mean Air Temperature of the occupied zone(s). Let's use an example sensor name of OccupiedAirTemp.
  • Schedule Value for the heating setpoint schedule assigned to occupied zone(s) thermostat (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:

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.