First time here? Check out the Help page!
1 | initial version |
Not sure why both return and supply fans do not turn on if night ventilation manager signals Cycle On. Or whether this behavior is as expected. Similar question can be asked for plant loop also i.e. how supply and demand pumps react to control signal from availability manager. This gets more complicated if there are branch pumps also.
If the fans are schedules off, the night ventilation availability managers simply overrides the fan schedule during simulation if the conditions are favorable to turn on the fan. It does not modify the fan schedule. This can easily be verified by reporting outdoor temp, control zone temp, fan schedule, availability manager schedule and other inputs to availability manager. Using this information, availability status can be calculated which should match with what is reported by EnergyPlus.
A workaround for this problem could be to write EMS to modify fan schedules directly. The documentation gives an example on how to use EMS for modeling supervisory control of HVAC in EnergyPlus. Code shown below could be a starting point but it has to be tested to make sure that no unexpected changes are occurring elsewhere because of this. Both supply and return fans use 'FanAvailSched' availability schedule.
AvailabilityManagerAssignmentList,
VAV Sys 1 Avail List, !- Name
AvailabilityManager:NightVentilation, !- Availability Manager 1 Object Type
VAV Sys 1 Avail; !- Availability Manager 1 Name
AvailabilityManager:NightVentilation,
VAV Sys 1 Avail, !- Name
NightVentSched, !- Applicability Schedule Name
FanAvailSched, !- Fan Schedule Name
VentTempSched, !- Ventilation Temperature Schedule Name
2.0, !- Ventilation Temperature Difference {deltaC}
15., !- Ventilation Temperature Low Limit {C}
0.3333, !- Night Venting Flow Fraction
SPACE3-1; !- Control Zone Name
EnergyManagementSystem:Sensor,
NightVentAvailStatus, !- Name
VAV Sys 1 Avail, !- Output:Variable or Output:Meter Index Key Name
Availability Manager Night Ventilation Control Status; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
FanAvailSchedValue, !- Name
FanAvailSched2, !- Output:Variable or Output:Meter Index Key Name
Schedule Value; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
My Night Ventilation Fan Schedule, !- Name
AfterPredictorAfterHVACManagers, !- EnergyPlus Model Calling Point
MyFanSchedule; !- Program Name 1
EnergyManagementSystem:Program,
MyFanSchedule , !- Name
Set myFanSchedule_Override = 0.0, !- Program Line 1
IF (NightVentAvailStatus == 2), !- Program Line 2
Set myFanSchedule_Override = 1.0, !- A4
ELSE, !- A5
Set myFanSchedule_Override = FanAvailSchedValue, !- A6
ENDIF; !- A7
EnergyManagementSystem:Actuator,
myFanSchedule_Override, !- Name
FanAvailSched, !- Actuated Component Unique Name
Schedule:Compact, !- Actuated Component Type
Schedule Value; !- Actuated Component Control Type
Schedule:Compact,
FanAvailSched, !- Name
Fraction, !- Schedule Type Limits Name
Through: 12/31, !- Field 1
For: Alldays, !- Field 2
Until: 7:00, 0.00, !- Field 3
Until: 17:00, 1.00, !- Field 4
Until: 24:00, 0.00; !- Field 5
Schedule:Compact,
FanAvailSched2, !- Name
Fraction, !- Schedule Type Limits Name
Through: 12/31, !- Field 1
For: Alldays, !- Field 2
Until: 7:00, 0.00, !- Field 3
Until: 17:00, 1.00, !- Field 4
Until: 24:00, 0.00; !- Field 5
2 | No.2 Revision |
Not sure why both return and supply fans do not turn on if night ventilation manager signals Cycle On. Or whether this behavior is as expected. Similar question can be asked for plant loop also i.e. how supply and demand pumps react to control signal from availability manager. This gets more complicated if there are branch pumps also.
If the fans are schedules scheduled off, the night ventilation availability managers simply overrides the fan schedule during simulation if the conditions are favorable to turn on the fan. It does not modify the fan schedule. This can easily be verified by reporting outdoor temp, control zone temp, fan schedule, availability manager schedule and other inputs to availability manager. Using this information, availability status can be calculated which should match with what is reported by EnergyPlus.
A workaround for this problem could be to write EMS to modify fan schedules directly. The documentation gives an example on how to use EMS for modeling supervisory control of HVAC in EnergyPlus. Code shown below could be a starting point but it has to be tested to make sure that no unexpected changes are occurring elsewhere because of this. Both supply and return fans use 'FanAvailSched' availability schedule.
AvailabilityManagerAssignmentList,
VAV Sys 1 Avail List, !- Name
AvailabilityManager:NightVentilation, !- Availability Manager 1 Object Type
VAV Sys 1 Avail; !- Availability Manager 1 Name
AvailabilityManager:NightVentilation,
VAV Sys 1 Avail, !- Name
NightVentSched, !- Applicability Schedule Name
FanAvailSched, !- Fan Schedule Name
VentTempSched, !- Ventilation Temperature Schedule Name
2.0, !- Ventilation Temperature Difference {deltaC}
15., !- Ventilation Temperature Low Limit {C}
0.3333, !- Night Venting Flow Fraction
SPACE3-1; !- Control Zone Name
EnergyManagementSystem:Sensor,
NightVentAvailStatus, !- Name
VAV Sys 1 Avail, !- Output:Variable or Output:Meter Index Key Name
Availability Manager Night Ventilation Control Status; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
FanAvailSchedValue, !- Name
FanAvailSched2, !- Output:Variable or Output:Meter Index Key Name
Schedule Value; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
My Night Ventilation Fan Schedule, !- Name
AfterPredictorAfterHVACManagers, !- EnergyPlus Model Calling Point
MyFanSchedule; !- Program Name 1
EnergyManagementSystem:Program,
MyFanSchedule , !- Name
Set myFanSchedule_Override = 0.0, !- Program Line 1
IF (NightVentAvailStatus == 2), !- Program Line 2
Set myFanSchedule_Override = 1.0, !- A4
ELSE, !- A5
Set myFanSchedule_Override = FanAvailSchedValue, !- A6
ENDIF; !- A7
EnergyManagementSystem:Actuator,
myFanSchedule_Override, !- Name
FanAvailSched, !- Actuated Component Unique Name
Schedule:Compact, !- Actuated Component Type
Schedule Value; !- Actuated Component Control Type
Schedule:Compact,
FanAvailSched, !- Name
Fraction, !- Schedule Type Limits Name
Through: 12/31, !- Field 1
For: Alldays, !- Field 2
Until: 7:00, 0.00, !- Field 3
Until: 17:00, 1.00, !- Field 4
Until: 24:00, 0.00; !- Field 5
Schedule:Compact,
FanAvailSched2, !- Name
Fraction, !- Schedule Type Limits Name
Through: 12/31, !- Field 1
For: Alldays, !- Field 2
Until: 7:00, 0.00, !- Field 3
Until: 17:00, 1.00, !- Field 4
Until: 24:00, 0.00; !- Field 5
3 | No.3 Revision |
Not sure why both return and supply fans do not turn on if night ventilation manager signals Cycle On. Or whether this behavior is as expected. Similar question can be asked for plant loop also i.e. how supply and demand pumps react to control signal from availability manager. This gets more complicated if there are branch pumps also.
If the fans are scheduled off, the night ventilation availability managers simply overrides the fan schedule during simulation if the conditions are favorable to turn on the fan. It does not modify the fan schedule. This can easily be verified by reporting outdoor temp, control zone temp, fan schedule, availability manager schedule and other inputs to availability manager. Using this information, availability status can be calculated which should match with what is reported by EnergyPlus.
A workaround for this problem could be to write EMS to modify fan schedules directly. The documentation gives an example on how to use EMS for modeling supervisory control of HVAC in EnergyPlus. Code shown below could be a starting point but it has to be tested to make sure that no unexpected changes are occurring elsewhere because of this. Both supply and return fans use 'FanAvailSched' availability schedule.schedule. If in your case, night ventilation manager is calculating the availability status correctly but fans are still not turning on, then the code below may be helpful.
AvailabilityManagerAssignmentList,
VAV Sys 1 Avail List, !- Name
AvailabilityManager:NightVentilation, !- Availability Manager 1 Object Type
VAV Sys 1 Avail; !- Availability Manager 1 Name
AvailabilityManager:NightVentilation,
VAV Sys 1 Avail, !- Name
NightVentSched, !- Applicability Schedule Name
FanAvailSched, !- Fan Schedule Name
VentTempSched, !- Ventilation Temperature Schedule Name
2.0, !- Ventilation Temperature Difference {deltaC}
15., !- Ventilation Temperature Low Limit {C}
0.3333, !- Night Venting Flow Fraction
SPACE3-1; !- Control Zone Name
EnergyManagementSystem:Sensor,
NightVentAvailStatus, !- Name
VAV Sys 1 Avail, !- Output:Variable or Output:Meter Index Key Name
Availability Manager Night Ventilation Control Status; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
FanAvailSchedValue, !- Name
FanAvailSched2, !- Output:Variable or Output:Meter Index Key Name
Schedule Value; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
My Night Ventilation Fan Schedule, !- Name
AfterPredictorAfterHVACManagers, !- EnergyPlus Model Calling Point
MyFanSchedule; !- Program Name 1
EnergyManagementSystem:Program,
MyFanSchedule , !- Name
Set myFanSchedule_Override = 0.0, !- Program Line 1
IF (NightVentAvailStatus == 2), !- Program Line 2
Set myFanSchedule_Override = 1.0, !- A4
ELSE, !- A5
Set myFanSchedule_Override = FanAvailSchedValue, !- A6
ENDIF; !- A7
EnergyManagementSystem:Actuator,
myFanSchedule_Override, !- Name
FanAvailSched, !- Actuated Component Unique Name
Schedule:Compact, !- Actuated Component Type
Schedule Value; !- Actuated Component Control Type
Schedule:Compact,
FanAvailSched, !- Name
Fraction, !- Schedule Type Limits Name
Through: 12/31, !- Field 1
For: Alldays, !- Field 2
Until: 7:00, 0.00, !- Field 3
Until: 17:00, 1.00, !- Field 4
Until: 24:00, 0.00; !- Field 5
Schedule:Compact,
FanAvailSched2, !- Name
Fraction, !- Schedule Type Limits Name
Through: 12/31, !- Field 1
For: Alldays, !- Field 2
Until: 7:00, 0.00, !- Field 3
Until: 17:00, 1.00, !- Field 4
Until: 24:00, 0.00; !- Field 5