2

Discussion on EMS use in Energyplus on Opening factor Control

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:

Schedule:Compact,
  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:

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

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

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

EnergyManagementSystem:Program, 
  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?

Haohan Sha's avatar
289
Haohan Sha
asked 2018-11-08 13:49:42 -0500
__AmirRoth__'s avatar
4.4k
__AmirRoth__
updated 2018-11-09 07:16:02 -0500
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

1 Answer

2

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:

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

EnergyManagementSystem:Program, 
  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".

Aaron Boranian's avatar
14.1k
Aaron Boranian
answered 2018-11-08 14:51:22 -0500
edit flag offensive 0 remove flag delete link

Comments

1

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's avatar rraustad (2018-11-08 15:20:24 -0500) edit
1

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's avatar Haohan Sha (2018-11-08 15:31:24 -0500) 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's avatar Mafalda Correia (2020-09-15 11:31:29 -0500) edit
add a comment see more comments