MATLAB Answers

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

5 views (last 30 days)
Abhigya Raval
Abhigya Raval on 25 Jun 2020
Commented: Abhigya Raval on 27 Jun 2020
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!

  0 Comments

Sign in to comment.

Answers (1)

Mark McBroom
Mark McBroom on 26 Jun 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 Comment

Abhigya Raval
Abhigya Raval on 27 Jun 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?

Sign in to comment.