Co-simulates slaves (FMUs) over TCP. Has built in support for weak and strong coupling.
- The FMI host starts the slave
server
. - A user that wants to simulate starts the
master
application, which connects to one or more slaves. - Simulation is run and results are stored on disk.
Prerequisities are
- Lacewing version 0.5.4
- Protobuf
- FMITCP
- Strong Coupling Core
To build, run:
cd fmi-tcp-master/;
mkdir build && cd build;
cmake .. -DFMITCP_INCLUDE_DIR=<FMITCP include files location> \
-DFMITCP_LIBS_DIR=<FMITCP libraries location> \
-DLACEWING_INCLUDE_DIR=<Lacewing include files location> \
-DLACEWING_LIBS_DIR=<Lacewing libraries location> \
-DSTRONG_COUPLING_INCLUDE_DIR=<Strong coupling core include files location> \
-DSTRONG_COUPLING_LIBS_DIR=<Strong coupling core libraries location>
-DFMIL_INCLUDE_DIR=<FMILibrary include files location> \
-DFMIL_LIBS_DIR=<FMILibrary libraries location>
Typically, you start the server and listen to a port. You you provide the path to an FMU or just "dummy" to serve a dummy FMU.
./bin/slave --host localhost --port 3000 dummy
Start client and connect to server. This code below will connect and simulate until time=10:
./bin/master --stopAfter 10 tcp://localhost:3000
Run any of the commands with the --help flag to see the help pages.