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

Set Heating and Cooling availability schedule for Ideal load air system

asked 2019-03-26 09:27:30 -0500

nagpalh's avatar

updated 2019-03-29 10:10:33 -0500

Hi Everyone,

My objective is to control the heating and cooling availability schedule of zoneHvac:IdealAirLoadSystem. I take the following steps.

1) Define a heating and cooling availability on/off schedule in Schedule : Compact, set initial value to 1. 2) Use EMS sensor to get the zone temperature which is used late in EMS program 3) Define EMS Actuator to control heating and cooling availability schedule of IdealAirLoadSystem 4) Define the EMS program to activate the actuator

My Eplus objects are detailed below. I am not sure which calling point to use? No matter which calling point I choose the value of heating and cooling availability doesn't change from 1.

I'd appreciate any help.

Thanks

**Schedule:Compact,
    HeaAva,                  !- Name
    On/Off,                  !- Schedule Type Limits Name
    Through: 12/31,          !- Field 1
    For: Alldays,            !- Field 2
    Until: 24:00,            !- Field 3
    1;                       !- Field 4

Schedule:Compact,
    CooAva,                  !- Name
    On/Off,                  !- Schedule Type Limits Name
    Through: 12/31,          !- Field 1
    For: Alldays,            !- Field 2
    Until: 24:00,            !- Field 3
    1;                       !- Field 4

ZoneHVAC:IdealLoadsAirSystem,
    WestZoneIdealAir,        !- Name
    ,                        !- Availability Schedule Name
    Zone1Inlets,             !- Zone Supply Air Node Name
    ,                        !- Zone Exhaust Air Node Name
    ,                        !- System Inlet Air Node Name
    50,                      !- Maximum Heating Supply Air Temperature {C}
    13,                      !- Minimum Cooling Supply Air Temperature {C}
    0.015,                   !- Maximum Heating Supply Air Humidity Ratio {kgWater/kgDryAir}
    0.01,                    !- Minimum Cooling Supply Air Humidity Ratio {kgWater/kgDryAir}
    NoLimit,                 !- Heating Limit
    ,                        !- Maximum Heating Air Flow Rate {m3/s}
    ,                        !- Maximum Sensible Heating Capacity {W}
    NoLimit,                 !- Cooling Limit
    ,                        !- Maximum Cooling Air Flow Rate {m3/s}
    ,                        !- Maximum Total Cooling Capacity {W}
    HeaAva,                  !- Heating Availability Schedule Name
    CooAva,                  !- Cooling Availability Schedule Name
    ConstantSupplyHumidityRatio,  !- Dehumidification Control Type
    ,                        !- Cooling Sensible Heat Ratio {dimensionless}
    ConstantSupplyHumidityRatio,  !- Humidification Control Type
    ,                        !- Design Specification Outdoor Air Object Name
    ,                        !- Outdoor Air Inlet Node Name
    ,                        !- Demand Controlled Ventilation Type
    ,                        !- Outdoor Air Economizer Type
    ,                        !- Heat Recovery Type
    ,                        !- Sensible Heat Recovery Effectiveness {dimensionless}
    ;                        !- Latent Heat Recovery Effectiveness {dimensionless}**

!-   ===========  ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:SENSOR ===========

EnergyManagementSystem:Sensor,
    ZoneTemp,                !- Name
    West Zone,               !- Output:Variable or Output:Meter Index Key Name
    Zone Mean Air Temperature ;  !- Output:Variable or Output:Meter Name


!-   ===========  ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:ACTUATOR ===========

EnergyManagementSystem:Actuator,
    HeaAvaActuator,          !- Name
    HeaAva,                  !- Actuated Component Unique Name
    Schedule:Compact,        !- Actuated Component Type
    Schedule Value;          !- Actuated Component Control Type

EnergyManagementSystem:Actuator,
    CooAvaActuator,          !- Name
    CooAva,                  !- Actuated Component Unique Name
    Schedule:Compact,        !- Actuated Component Type
    Schedule Value;          !- Actuated Component Control Type


!-   ===========  ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:PROGRAMCALLINGMANAGER ===========

EnergyManagementSystem:ProgramCallingManager,
    myPrograms,              !- Name
    BeginTimestepBeforePredictor,  !- EnergyPlus Model Calling Point
    HeatingAvailabilityProgram,  !- Program Name 1
    CoolingAvailabilityProgram;  !- Program Name 2


!-   ===========  ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:PROGRAM ===========

EnergyManagementSystem:Program,
    HeatingAvailabilityProgram,  !- Name
    IF (ZoneTemp < 19 ),     !- Program Line 1
    SET HeaAva = 1,          !- Program Line 2
    ELSE,                    !- A4
    SET HeaAva = 0,          !- A5
    ENDIF;                   !- A6

EnergyManagementSystem:Program,
    CoolingAvailabilityProgram,  !- Name
    IF (ZoneTemp > 25 ),     !- Program Line 1
    SET CooAva = 1,          !- Program Line 2
    ELSE,                    !- A4
    SET CooAva = 0,          !- A5
    ENDIF;                   !- A6
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2019-03-26 09:46:19 -0500

Your EMS program looks OK to me at first glance. The calling point can be any of the early calls to EMS:

BeginTimestepBeforePredictor
AfterPredictorBeforeHVACManagers
AfterPredictorAfterHVACManagers
InsideHVACSystemIterationLoop

Turn on EMS reporting so you can see what your program is doing:

Output:EnergyManagementSystem,
  Verbose,                 !- Actuator Availability Dictionary Reporting
  Verbose,                 !- Internal Variable Availability Dictionary Reporting
  Verbose;                 !- EMS Runtime Language Debug Output Level

Then after you run your simulation, look in the edd file. There is a lot of information. Note the "During Warmup" in the messages. This means that actual simulation has not started yet, it's just getting warmed up. Scroll down until you don't see this anymore to see what happens during the actual simulation.

edit flag offensive delete link more

Comments

Thank you for your great suggestion. I checked the *.edd file. It seems that the EMS program is running absolutely as per the instruction i.e. HeaAva and CooAva are changing as per 'the if condition'. However, this does not reflect into the simulation; the value of HeaAva and CooAva is always same viz. equal to 1. Somehow, the initially defined schedule is being used not the new calculated one. This is why I am confused about the calling point.

Any suggestion?

nagpalh's avatar nagpalh  ( 2019-03-27 05:04:15 -0500 )edit

Oops, your actuator name is HeaAvaActuator, not HeaAva.

rraustad's avatar rraustad  ( 2019-03-27 08:50:40 -0500 )edit

Oh wait. It is HeaAva, so I am also confused.

rraustad's avatar rraustad  ( 2019-03-27 08:51:17 -0500 )edit

@MJWitte any thoughts?

rraustad's avatar rraustad  ( 2019-03-27 08:51:58 -0500 )edit

I think you need to use HeaAvaActuator = 1 (or 0) in your EMS program.

rraustad's avatar rraustad  ( 2019-03-27 08:52:55 -0500 )edit

Your Answer

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

Add Answer

Careers

Question Tools

Stats

Asked: 2019-03-26 09:27:30 -0500

Seen: 340 times

Last updated: Mar 26 '19