DesignBuilder EMS - Intro Functionality not provided in standard E+ can be programmed Programming language called E+ Runtime Language (Erl) DesignBuilder extensions added to form DB Erl E+ interprets and executes the Erl program at runtime See also FMU for more advanced interfacing to E+
DesignBuilder EMS - Applications Humidity and CO2 controls for nat vent systems Make Ideal loads systems more flexible Generate custom outputs (e.g. CIBSE TM52 outputs) Custom programmed schedules Override plant loop controls Special glazing systems e.g. Thermochromic glazing Air systems supplied by earth tube etc etc etc
DesignBuilder EMS How It Works Erl script which is written to IDF and executed at runtime (Simulation only, Cooling and Heating Design) Program - main entry point and called at various point in E+ execution Sensors - for sensing values of output or meter variables Actuators - change the model e.g. vary schedule values, setpoints etc Internal Variables built in list of E+ model properties, e.g. zone volume Output Variables write custom outputs to eso file Global Variables - share data between EMS programs
DesignBuilder EMS Typical Cases 1. Use a sensor to check a value from the model (e.g. zone air temperature, CO2 levels in zone, solar radiation on surface etc etc.) 2. Use an actuator to override a schedule to influence the model. 3. Write out custom output variables to eso file
DesignBuilder EMS Extensions DesignBuilder includes some important extensions to the standard EnergyPlus EMS and Erl system allowing DB EMS programs to reused and shared: Write, copy, export and generally manage EMS code Portable Erl scripts (can be used in any model) All actuators, sensors, internal variables and program entry points can be selected from lists. Zone loops (zones don't have to be referenced by name in Erl) Attribute settings from the model can be inserted in the script or used to control whether script is written for a particular zone.
Accessing DesignBuilder EMS Accessed from Tools > EMS and FMU menu option Opens the External Interface Program Manager dialog (below) Lists available EMS scripts Enable EMS and also switch on individual scripts (show later) Any number of EMS scripts can be included in simulations Edit scripts using the Edit toolbar icon (below) Also options to copy, delete, add new and select as normal
EMS Program Dialog Edit script by typing or by adding using the program, sensor etc utilities Enable the script for inclusion in the IDF
EMS Utility Dialog Sensor Lists Load script template by selecting required sensor from hundreds of options: Note the project specific sensors listed here we will sense the cooling load from a VRF terminal unit for use in EMS logic
EMS Utility Dialog Actuator Lists Load script template by selecting required actuator from hundreds of options: Note the project specific actuators listed here we will override the output from a schedule based on other simulation state properties and custom logic
Provided by DesignBuilder: EMS - Resources DesignBuilder Help (off main help menu) Example programs provided with DB Provided in EnergyPlus installations: EnergyPlus I/O Reference EMS_Application_Guide.pdf 15 Example EMS programs, some quite complex
EMS - Support Help text says: It is possible to write quite complex EMS programs and there is plenty of scope for making mistakes, which can take time to track down and fix. Please be aware that the DesignBuilder Support Desk is not generally able to offer a service for debugging or advising on the possible cause of errors in EMS programs. The EnergyPlus EMS application guide provides a section on debugging EMS programs which is a good starting point for tracking down problems.
DesignBuilder EMS Example CO2 Control Through Window Opening 1. Create single zone Calc nat vent model, default settings 2. Load Hot water radiator heating, nat vent HVAC template 3. Request CO2 calculations (site level) 4. Select Scheduled nat vent setpoint temperature (Activity tab) 5. Create nat vent setpoint temperature schedule 6. Set occupancy to 0.5 people/m2 to create a load 7. Set max window opening area to 20% 8. Open External Interface Program Manager dialog (Tools > EMS and FMU menu option 9. Enable EMS, create new blank EMS program 10. Add Program using InsideHVACSystemIterationLoop 11. Add sensor for Zone Air CO2 Concentration. 12. Add actuator for nat vent setpoint temperature schedule 13. Add program logic for program (set setpoint temperature = 0 when CO2 levels above 1000ppm) 14. Run simulation using 10 timesteps per hour, select sub-hourly o/p 15. View sub hourly Zone Air CO2 Concentration should be < 1000ppm