Skip to content

umitresearchlab/fmi-tcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fmi-tcp {#mainpage}

FMI over TCP library. In addition to the library, it includes a protocol, a C++ class layers for Client and Server, and a test application. The library is built on top of FMILibrary from jModelica, Lacewing and Google Protocol Buffers.

Typical usage

  1. The FMI host starts the slave server.
  2. A user that wants to simulate starts the master application, which connects to one or more slaves.
  3. Simulation is run and results are stored on disk.

Build

The build was done successfully on Ubuntu Linux 13.10 & Windows 7.

  • FMILibrary version used is FMILibrary-2.0b2.
  • Lacewing version used is 0.5.4.
  • Google Protocol Buffers version used is 2.4.1.

Begin with installing FMILibrary and Lacewing. Make sure the libraries and include files ends up in /usr/lib and /usr/include. Note that code is forced to link against the static lib of Lacewing.

Build and install using the following commands. You'll need CMake.

git clone https://github.com/umitresearchlab/fmi-co-simulation.git;
cd fmi-co-simulation;
mkdir build;
cd build;
cmake ..;
make;
sudo make install;

If the libraries and include files are not in /usr/lib and /usr/include then use the FMIL_INCLUDE_DIR , LACEWING_INCLUDE_DIR && PROTOBUF_INCLUDE_DIR variables to specify the include files location and FMIL_LIBS_DIR , LACEWING_LIBS_DIR & PROTOBUF_LIBRARY variables to specify the libraries location.

PROTOBUF_BIN_DIR variable is used to define the Google Protocol Buffers binaries location.

cmake .. -DFMIL_INCLUDE_DIR=<FMIL include files location> -DLACEWING_INCLUDE_DIR=<Lacewing include files location> -DPROTOBUF_INCLUDE_DIR=<Google Protocol Buffers include files location> -DPROTOBUF_BIN_DIR=<Google Protocol Buffers binaries location> -DFMIL_LIBS_DIR=<FMIL libraries location> -DLACEWING_LIBS_DIR=<Lacewing libraries location> -DPROTOBUF_LIBRARY=<Google Protocol Buffers libraries location>

About

FMI protocol built on top of TCP.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published