FiCo4OMNeT is an open source simulation model for the event-based simulation of fieldbus technologies in the OMNEST/OMNeT++ simulation system. It enables the simulation of CAN and Flexray technologies.
FiCo4OMNeT was first introduced as FlexRay simulation model at the 6th International Workshop on OMNeT++ (2013) along with the 6th International ICST Conference on Simulation Tools and Techniques (2013). You can find the publication and slides here.
To merge the simulation models of CAN and FlexRay significant changes were necessary. The result of this merging process is the FieldBus for OMNeT++ Simulation model (FiCo4OMNeT).
It is possible to create networks with traffic consisting of Data-, Remote- and Error-Frames. To get some variation in the transmit and receive times of cyclic messages it is possible to simulate a clock drift.
The arbitration ensures that the frame with the highest priority is transmitted as soon as several nodes try to transmit their messages.
Each node can transmit messages in the assigned slots within the static and the dynamic segment. Based on the configuration the frame is transmitted on channel A, channel B or on both. Every member of the network has an own clock. Based on the configuration each clock has an inaccuracy. The implemented synchronisation compensates theses drifts.
If you would like to reference this project please use the following publication:
Philipp Meyer, Franz Korf, Till Steinbach, Thomas C. Schmidt, Simulation of Mixed Critical In-vehicular Networks, In: Recent Advances in Network Simulation, (Antonio Virdis, Michael Kirsche Ed.), ser. EAI/Springer Innovations in Communication and Computing, May 2019. https://doi.org/10.1007/978-3-030-12842-5_10
The build state of the master branch is monitored:
Ubuntu 22.04 | Windows 11 | |
---|---|---|
Building | ||
Tests |
Please see INSTALL
Please see doc/
The FiCo4OMNeT model is under continuous development: new parts are added, bugs are corrected, and so on. We cannot assert that the implementation will work fully according to the specifications. YOU ARE RESPONSIBLE YOURSELF TO MAKE SURE THAT THE MODELS YOU USE IN YOUR SIMULATIONS WORK CORRECTLY, AND YOU'RE GETTING VALID RESULTS.