Interface/communicate data between SIMULINK and a C-program running on the same computer

1 vue (au cours des 30 derniers jours)
Hey everyone! I'm very new to this so, please bear with me.
I'm working on a C-program that is supposed to control a small fluid system (read pressures and actuate valves, etc.). I need to simulate a plant model in SIMULINK/SIMSCAPE that can be controlled by the C-program. I'm trying to figure out how I would setup the model such that it can communicate and transfer live data with the C-program.
Things like, send .csv sensor data over to the C-program and accept HIGH/LOW signals from it. Any assistance is appreciated. Thank you!

Réponse acceptée

Mark McBroom
Mark McBroom le 26 Juin 2020
If you have the source code for the C program, the best approach is to create a new Simulink block that contains your C code modified to be a C function. The inputs to the C-Function would be the outputs of the plant model, and the return vaues from the C function are the inputs to your plant model.
THe easiest way to create this Simulink block that contains your C code is with the Simulink C Caller block:
Thanks.
Mark.
  1 commentaire
Abhigya Raval
Abhigya Raval le 27 Juin 2020
Thank you for the answer, Mark!
I have the source code in C however, it's a complicated program. I'm not really experienced with C, only MATLAB.
There're about 9 source code files and 5 header files. Is it plausible in SIMULINK to do what you suggested for a program like this?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Upgrading Hydraulic Models to Use Isothermal Liquid Blocks dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by