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

EMS control timestep

asked 2020-06-19 11:26:13 -0500

szsz gravatar image

updated 2020-06-19 12:05:57 -0500

Dear Users,
How to provide same time-step sensor value to actuator for plant system?
I have made a simple EMS as below.

plantflow,               !- Name
Load Profile,            !- Output:Variable or Output:Meter Index Key Name
Plant Load Profile Mass Flow Rate;  !- Output:Variable or Output:Meter Name

pumpflow,                !- Name
Headered Var Spd Pump,   !- Actuated Component Unique Name
Pump,                    !- Actuated Component Type
Pump Mass Flow Rate;     !- Actuated Component Control Type

pumpmanager,             !- Name
InsideHVACSystemIterationLoop,  !- EnergyPlus Model Calling Point
pumpcontrol;             !- Program Name 1

pumpcontrol,             !- Name
IF plantflow > 0,        !- Program Line 1
SET pumpflow = plantflow,!- Program Line 2
ENDIF;                   !- A4

What I am expect is the pump flow will be identical with the flow rate of load profile during every timestep, but the result shows that it will be excuted after one time-step. (For example, the timestep is 6, and load profile flow rate is 6 for one hour, then result of pump's flow rate for same hour is calculated as 5, remaining 1 is counted in next hour.)
May I know is there any solution for this issue?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-06-19 14:31:48 -0500

The key issue is that EMS sensors are getting information from output variables or meters, which are updated near the end of each timestep. If you were to add an EMS output variable for the EMS sensor value and compare that to the Plant Load Profile Mass Flow Rate output variable that it's connected to, you would see a lag or delay of one timestep.

So, if you're trying to use an EMS actuator to update the pump mass flow rate, which is normally solved for by EnergyPlus in an iteration loop at the middle of each timestep, that actuator is making that change based on an output from the previous timestep. You can read more about the sequence of what EnergyPlus is calculating each timestep in the Program Calling Point section of the EMS Application Guide.

You can read more about this in other Unmet Hours posts here and here.

edit flag offensive delete link more


Hi, @Aaron Boranian many thanks for your explanation. Then, if I want to transfer exactly same condition (flow rate and temp) fluid from one loop to another loop, how should I model it? Heat exchanger component can transfer the energy, but the flow rate of both side is different.

szsz gravatar imageszsz ( 2020-06-19 22:09:33 -0500 )edit

You're welcome. It looks like you've already asked about this here, so I've posted an answer there.

Aaron Boranian gravatar imageAaron Boranian ( 2020-06-20 10:42:11 -0500 )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

1 follower


Asked: 2020-06-19 11:26:13 -0500

Seen: 115 times

Last updated: Jun 19