First time here? Check our help page!
2

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
amitche8's avatar
55
amitche8
asked 2023-12-20 14:19:33 -0500
Aaron Boranian's avatar
14.1k
Aaron Boranian
updated 2023-12-21 09:24:10 -0500
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

1 Answer

3

Set the actuator value to 'Null'. From the EMS Application Guide:

Actuators override things inside EnergyPlus whenever the actuator’s Erl variable is set to a value other than “Null.” Null is a special built-in variable used to deactivate an actuator. Once an actuator starts overriding, it will continue to do so until the actuator’s Erl variable is set to Null. You should set the actuators to Null whenever you want the EMS to revert to normal operation.

ericringold's avatar
10.6k
ericringold
answered 2023-12-20 14:42:11 -0500, updated 2023-12-20 14:43:00 -0500
edit flag offensive 0 remove flag delete link

Comments

Ah great, thank you!

amitche8's avatar amitche8 (2023-12-20 14:47:44 -0500) edit
add a comment see more comments