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

EMS - Implement overheating and overcooling

asked 2020-03-02 15:12:00 -0600

tenna031's avatar

Hey all,

In the real world, a staged RTU will always overcool or overheat. In E+, however, the HVAC always serves the exact zone loads, i.e. if the zones require 100 kBTU, the system provides 100kBTU. Is it possible to override this logic via EMS such that the system will over-deliver or under-deliver the required energy, much like an actual system?


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-03-03 09:52:15 -0600

Perhaps the easiest way to force a system to over- or under-deliver heating/cooling via EMS is if the HVAC system (staged RTU in your example) were modeled as a Unitary System. This exposes Unitary System actuators for "Sensible Load Request" and "Moisture Load Request" that you can override with a +/- correction factor to the actual zone loads that EnergyPlus calculates. The Unitary System should then inform all of its internal coil and fan components how to meet the actuator value that you provide via EMS.

If using a Unitary System isn't an option, you could leverage other actuators to override temperature & humidity setpoints at specific nodes and/or fan flow rate.

You might find this discussion about proportional control logic in EnergyPlus helpful, since it's related to this question.

edit flag offensive delete link more


That's a very neat suggestion Aaron, thanks! I was not aware that we were able to actuate sensible loads. I will try to model an RTU with an outdoor-air system + heating coil + dx cooling coil as a Unitary System, although I'm not sure what those offsets would need to be when modeling a staged RTU. One possibility, borrowing from @cory.mosiman12, may be to evaluate the capability of the system after the initial sizing and depending on the number of stages (e.g. 2), add offsets such that the Sensible Load Request is always 0%, 50% or 100% of total capacity. Does that sound feasible?

tenna031's avatar tenna031  ( 2020-03-03 12:58:44 -0600 )edit

To be clear, the actuator that I recommended will be used to OVERRIDE sensible load request (sensible load from the zone(s) that the unitary system should try to meet). The actuator value should be +/- adjustment from sensor values for the ACTUAL sensible load of the zone(s) served by the unitary system. The best output variable for this information is Zone Predicted Sensible Load to Setpoint Heat Transfer Rate.

Aaron Boranian's avatar Aaron Boranian  ( 2020-03-03 13:05:28 -0600 )edit

Hmm, so if we sized the HVAC's 50% cooling capacity to be 50 kBTU and the predicted sensible zone load was 38 kBTU at one point, in order to model "stage-1 cooling" would I need to set the Sensible Load Request to to 12 kBTU or 50 kBTU? If it overrides the request, it would be latter right?

tenna031's avatar tenna031  ( 2020-03-03 13:25:23 -0600 )edit

Correct, you would want to apply the 50 kBtu as the new Sensible Load Request through the actuator. EnergyPlus would then ignore the 38 kBtu load request from the zone(s) and use 50 kBtu instead.

Aaron Boranian's avatar Aaron Boranian  ( 2020-03-03 13:33:30 -0600 )edit

Wonderful. I will give this a shot! Thanks so much Aaron. This had stumped me for a while now: see here

tenna031's avatar tenna031  ( 2020-03-03 13:41:58 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2020-03-02 15:12:00 -0600

Seen: 250 times

Last updated: Mar 03 '20