Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

C/C++ wrapper to invoke SIMULINK model/libraries in external software designs

Asked by Mohammed Manna on 27 Jun 2013

Is it possible to use C/C++ wrapper functions to call SIMULINK models in an external environment such as Visual Studio or eclipse C++ software project?

The reason is that any modification to the original model doesn't need to be visitble outside. The updated model can still be accessible via wrapper function.

Could someone help me?

0 Comments

Mohammed Manna

Products

1 Answer

Answer by Kaustubha Govind on 28 Jun 2013

It is possible to generate a standalone C/C++ shared library from your Simulink model if you have an Embedded Coder license, which you can then invoke from any C/C++ application.

However, it looks like what you want is to continue to run the model within the MATLAB environment, correct? If so, you can write MATLAB code to run the model using the Simulink command-line API, or more specifically, the sim command if you want to execute the model without any additional operations. You can then call the MATLAB code from a C/C++ application running on the same machine by using the MATLAB Engine interface.

2 Comments

Mohammed Manna on 23 Jul 2013

Firstly, thanks for your explanation. What you are saying, if I understood correctly, is that the only way to do it is by calling MATLAB scripts from within my external C/C++ project. The MATLAB script will be running the models. But how am I going to use the functionality of the models. the sim command only runs the simulation of the model. But what I am after is the ability to use the model's functionality inside my external C/C++ application without the necessity code generation. I apologise if my original question did not have sufficient clarity.

Kaustubha Govind on 23 Jul 2013

Mohammed: Could you please provide examples of the model functionality that you're looking to use?

Kaustubha Govind

Contact us