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

Revision history [back]

EMS actuator holdover value, not revert

Hi All,

I am working on injecting an EMS program into existing files to alter the schedule values based on another schedule (OS). If OS is greater than 0, I want to 0 out all these other schedules. This works, however, when OS is now 0 again, the controlled schedules remain 0, and do not revert to following their inputs. Any idea how to revert to the original values at their corresponding timesteps?

ENERGYMANAGEMENTSYSTEM:PROGRAM,
    Outage_Controls,          !- Name
    IF OS > 0,                !- Program Line 1
    SET living_zone_Thermostat_Schedule = 0,    !- Program Line 2
    SET lighting_interior = 0,    !- Program Line 3
    SET clothes_dryer = 0,    !- Program Line 4
    SET ceiling_fan = 0,      !- Program Line 5
    SET clothes_washer_power = 0,    !- Program Line 6
    SET plug_loads = 0,       !- Program Line 7
    SET cooking_range = 0,    !- Program Line 8
    SET baths = 0,            !- Program Line 9
    SET showers = 0,          !- Program Line 10
    SET sinks = 0,            !- Program Line 11
    SET clothes_dryer_exhaust = 0,    !- Program Line 12
    SET clothes_washer = 0,    !- Program Line 13
    SET lighting_exterior = 0,    !- Program Line 14
    ENDIF;                    !- Program Line 15

For example actuator:

ENERGYMANAGEMENTSYSTEM:ACTUATOR,
    baths,                    !- Name
    baths,                    !- Actuated Component Unique Name

Program calling manager:

ENERGYMANAGEMENTSYSTEM:PROGRAMCALLINGMANAGER,
    Outage Caller,            !- Name
    BeginZoneTimestepBeforeSetCurrentWeather,    !- EnergyPlus Model Calling Point
    Outage_Controls;          !- Program Name 1

    Schedule:File,            !- Actuated Component Type
    Schedule Value;           !- Actuated Component Control Type

EMS actuator holdover value, not revert

Hi All,

I am working on injecting an EMS program into existing files to alter the schedule values based on another schedule (OS). If OS is greater than 0, I want to 0 out all these other schedules. This works, however, when OS is now 0 again, the controlled schedules remain 0, and do not revert to following their inputs. Any idea how to revert to the original values at their corresponding timesteps?

ENERGYMANAGEMENTSYSTEM:PROGRAM,
    Outage_Controls,          !- Name
    IF OS > 0,                !- Program Line 1
    SET living_zone_Thermostat_Schedule = 0,    !- Program Line 2
    SET lighting_interior = 0,    !- Program Line 3
    SET clothes_dryer = 0,    !- Program Line 4
    SET ceiling_fan = 0,      !- Program Line 5
    SET clothes_washer_power = 0,    !- Program Line 6
    SET plug_loads = 0,       !- Program Line 7
    SET cooking_range = 0,    !- Program Line 8
    SET baths = 0,            !- Program Line 9
    SET showers = 0,          !- Program Line 10
    SET sinks = 0,            !- Program Line 11
    SET clothes_dryer_exhaust = 0,    !- Program Line 12
    SET clothes_washer = 0,    !- Program Line 13
    SET lighting_exterior = 0,    !- Program Line 14
    ENDIF;                    !- Program Line 15

For example actuator:

ENERGYMANAGEMENTSYSTEM:ACTUATOR,
    baths,                    !- Name
    baths,                    !- Actuated Component Unique Name

Program calling manager:

ENERGYMANAGEMENTSYSTEM:PROGRAMCALLINGMANAGER,
    Outage Caller,            !- Name
    BeginZoneTimestepBeforeSetCurrentWeather,    !- EnergyPlus Model Calling Point
    Outage_Controls;          !- Program Name 1

    Schedule:File,            !- Actuated Component Type
    Schedule Value;           !- Actuated Component Control Type