The Scripting module provides access to 3 different toolsets:
- EMS Runtime Scripting - tools that allow EnergyPlus simulations to be customised so the performance of innovative systems can be assessed or custom outputs generated.
- C# Scripting - tools that allow you to write C# code to modify the model, simulations and results at key points in the program execution. An extensive API is provided giving you the same deep access to the program and model data that DesignBuilder developers have.
- Python Scripting, similar to the C# scripting tools but using the Python scripting language.
EMS Runtime Scripting
The integrated EMS environment provides all of the required sensors, actuators, variables, outputs etc in easy to use dialogs. The facilties provided help to make the script writing process straightforward and accessible for any energy modeller with a little coding knowledge. EMS scripts are included in the EnergyPlus IDF input file and execute very quickly at runtime. EMS scripting productivity features include:
- A range of DesignBuilder extensions to the standard EMS syntax allow fully portable scripts to be written. This means that a script written for one project can be used on other projects or even shared with other users on the public script repository.
- Read building, zone or surface settings from the DesignBuilder model to populate data within the script.
- Load fully formed actuator, sensor, variable, output statements from easy to use dialogs.
- Colour syntax highlighting in the scripting window helps with readability.
For more adventurous modellers, the FMU/FMI interface allows you to develop advanced co-simulation applications using C++. Applications for FMU include linking occupant behaviour models or CFD simulations with EnergyPlus.
Some example EMS applications include:
- Precision control over simulated behaviour for HVAC, natural ventilation, glazing and lighting systems. E.g. you can use EMS to add manufacturer control logic to equipment such as heat pumps or override default EnergyPlus control linkage between economisers and heat recovery.
- Custom shading controls to model advanced facade systems such as multi-state electrochromic and thermochromic glazing.
- Linking one system with another (e.g. link earth tube or solar preheat zone to HVAC inlet).
- Advanced control of natural ventilation actuators based on CO2 or moisture levels within the building.
- Create your own custom outputs not normally provided by EnergyPlus (e.g. CIBSE TM52 outputs).
- Dialogs list 1000s of standard built-in EnergyPlus outputs for selection.
- Researching new building systems or the impact of non-standard occupant behaviour patterns.
EMS is ideal for researchers and more advanced modellers looking to assess the performance of innovative systems that have not yet found their way into the standard list of EnergyPlus capabilities.
The C# scripting tools allow you to write standard C# code to process and modify the model, simulation inputs and results at key points in the program execution. An extensive API is provided giving you the same deep access to the program and model data that DesignBuilder developers have.
Some example C# scripting applications include:
- Advanced analysis and optimisation of innovative systems by setting up custom design variables for optimisation, sensitivity and parametric analysis studies.
- Model EnergyPlus component types not yet supported by the DesignBuilder GUI by modifying the standard EnergyPlus IDF input file generated by DesignBuilder. Additional IDF can be included and standard IDF swapped out and replaced with custom changes.
- Create your own custom reports based on model data and/or simulation outputs.
The Python scripting tools allow you to write Python code to modify the simulation inputs and results at key points in the program execution. Access to the API in Python scripts will be included from DesignBuilder v6.2.
The EMS part of the Scripting module also requires the Simulation module.