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

Discussion on EMS use in Energyplus on Opening factor Control

asked 2018-11-08 13:49:42 -0600

Haohan Sha gravatar image

updated 2018-11-09 07:16:02 -0600

When I'm checking the simulation example in the energyplus, I found a EMS problem relating to the opening factor Control. In theEMSAirflowNetworkOpeningControlByHumidity.idf, the example file shows a EMS control to the surface:Zn001:Wall001:Win001 by humidity. At the same time, the example file set a venting availability schedule in the Zone Level to control the Opening time. The Venting schedule is below:

  VentingSched,            !- Name
  Fraction,                !- Schedule Type Limits Name
  Through: 12/31,          !- Field 1
  For: AllDays,            !- Field 2
  Until:  7:00,1.0,        !- Field 3
  Until: 17:00,0.0,        !- Field 5
  Until: 24:00,1.0;        !- Field 7

The EMS control code is below:

  ZoneRH, !- Name 
  Zone 1 Node, !- Output:Variable or Output:Meter Index Key Name
  System Node Relative Humidity; !- Output:Variable or Output:Meter Name

  MyOpenFactor, !- Name 
  Zn001:Wall001:Win001, !- Actuated Component Unique Name 
  AirFlow Network Window/Door Opening, !- Actuated Component Type 
  Venting Opening Factor; !- Actuated Component Control Type

  RH Controlled Open Factor, !- Name 
  BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point 
  RH_OpeningController; !- Program Name 1

  RH_OpeningController, !- Name 
  IF ZoneRH < 25, !- Program Line 1 
    SET MyOpenFactor = 0.0, !- Program Line 2
  ELSEIF ZoneRH > 60, !- 
    SET MyOpenFactor = 1.0, !- 
  ELSE, !- 
    SET MyOpenFactor = (ZoneRH - 25) / (60 - 25), !- 
  ENDIF; !-

Then, when I checking the results, I found that the Venting availability Schedule is ignored by applying the EMS, which means users cannot control the opening factors based on time! Did anyone discover this irrational problem? Is this a Bug or error? How can user control the openings with EMS and time?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-11-08 14:51:22 -0600

Since the EMS Program is only setting the MyOpenFactor actuator to 0, 1, or a fraction depending upon the zone air relative humidity (RH), it is essentially overriding the normal approach of following VentingSched. In other words, VentingSched can be changed to always 1 or always 0, but it wouldn't matter because the EMS Program is only overriding opening factor based on RH. That was the point of the example file -- to show how to override something (window opening factor, in this case) based on a parameter that isn't a time-based schedule (zone air RH, in this case).

If you want to use this example file to control window openings according to a combination of zone air RH and schedule values, you would need to add a second EMS Sensor object to measure the Schedule Value of VentingSched, then expand the existing IF and ELSEIF lines in the EMS Program to examine the new schedule value EMS Sensor along with the existing zone air RH EMS Sensor. An example would be setting the opening factor to 0 if RH < 25 or if VentingSched was equal to 0:

  VentSchedSensor, !- Name 
  VentingSched, !- Output:Variable or Output:Meter Index Key Name
  Schedule Value; !- Output:Variable or Output:Meter Name

  RH_OpeningController, !- Name 
  IF (ZoneRH < 25) || (VentSchedSensor == 0), !- Program Line 1 
    SET MyOpenFactor = 0.0, !- Program Line 2
  ELSEIF ZoneRH > 60, !- 
    SET MyOpenFactor = 1.0, !- 
  ELSE, !- 
    SET MyOpenFactor = (ZoneRH - 25) / (60 - 25), !- 
  ENDIF; !-

If you want to have cases where zone air RH values indicate that the EMS Program should NOT override the window opening factor, and follow VentingSched as EnergyPlus normally would without EMS, then you would need to set the MyOpenFactor actuator to "NULL".

edit flag offensive delete link more



Yes, EMS overrides the venting schedule. If you want to use both EMS and time, include time in the EMS program (e.g., before 7:00 keep window closed).

rraustad gravatar image rraustad  ( 2018-11-08 15:20:24 -0600 )edit

Perfectly! Thanks for your answer! I think this part isn't clear in the manual. It introduces that the EMS is a high-level control to override the original setting. So, when I read the example file, because it only mentions the opening factors in the Actuator, I thought the EMS only change the opening factors but not the venting availability. In the I/O reference, it said the openings in the ZONE depend on both of the opening factors and venting schedule. That's the reason why I got confusion...Maybe this should be noted in the manual in future. Thanks again.

Haohan Sha gravatar image Haohan Sha  ( 2018-11-08 15:31:24 -0600 )edit

I totally agree with @Haohan Sha. I had the same doubt, still did my whole code, and would have been in great trouble if I had not found this post. Both the I/O Reference and EMS Application Guide never mention that the Availability Schedules are overridden as well as the control conditions, nor were these schedules used in any of the example files' EMS codes to demonstrate that. I think this is a serious "plothole" in the documentation. Maybe you could look into correcting that, @Aaron Boranian? And thank you very much for your answer here.

Mafalda Correia gravatar image Mafalda Correia  ( 2020-09-15 11:31:29 -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: 2018-11-08 13:49:42 -0600

Seen: 414 times

Last updated: Nov 08 '18