Updated 09 Dec 2019
The toolbox facilitates simultaneous simulation of EnergyPlus and Matlab (co-simulation). The main component is the mlep class containing all the necessary tools to configure and run EnergyPlus co-simulation within the Matlab environment.
* Windows. The toolbox has only been tested for Windows, but considerable preparations for other OS has already been done.
* EnergyPlus installed. You can obtain the software here https://energyplus.net/. If you install the EnergyPlus to the default location ('C:\EnergyPlusVx-x-x') then it might be detected automatically by the toolbox.
Obtain a copy of the toolbox from
* Matlab Add-on Manager
* or Mathworks File Exchange https://uk.mathworks.com/matlabcentral/fileexchange/69074-energyplus-co-simulation-toolbox
* or a GitHub repository https://github.com/dostaji4/EnergyPlus-co-simulation-toolbox/releases
The toolbox contains:
* Parsing of the IDF file to determine co-simulation inputs/outputs.
* Automatic socket communication configuration (on localhost).
* Background start of the EnergyPlus process with an output to the Matlab command line.
* System Object implementation usable in Matlab & Simulink.
* Bus input/output integration for easy Simulink model setup.
See the GettingStarted.mlx guide delivered with the Matlab toolbox or the documentation residing under Help -> Supplemental Software -> EnergyPlus co-simulation toolbox
Copyright (C) 2019, Jiri Dostal (firstname.lastname@example.org)
All rights reserved.
This software builds on the free software by Truong Nghiem(email@example.com), Willy Bernal (Willy.BernalHeredia@nrel.gov) and several other third-party open-source tools.
Dostal, Jiri, and Tomas Baumelt. “Model Predictive Control for Buildings with Active One-Pipe Hydronic Heating.” E3S Web of Conferences, edited by S.I Tanabe et al., vol. 111, EDP Sciences, 2019, p. 04050, doi:10.1051/e3sconf/201911104050.
Hi, I have not been able to run the MATLAB example file, mlepMatlab_example.m, without having Simulink installed.
When I installed a free trial of Simulink on 2019b, the MATLAB example file worked fine. However, my 2018b license that does not have Simulink will not run mlepMatlab_example.m.
It looks like the toolbox makes several function calls that require Simulink to be installed. Examples that I have seen are get_param and bdroot.
Is it possible to use this toolbox without Simulink installed? How might I get it working on my 2018b license?
By the way, I am still confused with communication part, especially the usage of Socket.cfg... I would be grateful if you explain it a bit for me. Thanks!
@PaulaVanDenBrom I haven't found myself in such a need so far. Do you need to co-simulate multiple buildings simultaneously? With my only limited knowledge of parallelization, I don't find an extension for parfor trivial. What about having multiple buildings side-by-side in Simulink? I haven't tested this yet, to be honest, but that is one feature I'd like to work! So, be sure to let me know. EnergyPlus simulation is running in a separate OS process. Simulation of several buildings would result in several EnergyPlus processes. And the OS is responsible for loading multiple computation cores (how it does that? I don't have the slightest idea).
Is it possible to convert this code into a parfor loop?
Updated IDF files to EnergyPlus 9.2 version.
CITE THE SOURCE WHEN USING THE TOOLBOX, please.
* minor bug in ExternalInterface:Actuator & ExternalInterface:Variable. Working now as intended.
* updated examples to EnergyPlus version 9.1.0
* corrected a bug in the setup routine. Made first time use through Simulink end in a neverending loop.
Added better documentation
* compatibility issues in r18b
forgot to add the update binary
* using Matlab's internal JRE instead of searching for external one.
Adding the binary to the repository code. Hopefully, the Matlab Add-on Explorer will detect it now.
Adding further info. Mainly for manual toolbox installation (The binary is obtainable at GitHub)