How to Compile C code generated by Embedded Coder to run it in S-Function Simulink

1 view (last 30 days)
Dear Community,
I have generated the MPC Controller c code to execute it faster in Simulink Real Time. My code is successfully generated but when I used to compile it using mex function I faced an error and I was unable to find its solution.
My purpose in compiling the c file is to put it into S-Function and execute it in real time because s-function executes faster than MPC Controller simulink block.
I used both Simulink Coder and Embedded Coder for generating codes both gave different errors.
First I will show you files generated by Embedded Coder; my block name was "Subsystem", In the below picture left side shows my all files generated, and command windows show the error while compiling the c file.
After facing a problem in Embedded Coder I generated code using Simulink Coder which also gives me errors.

Accepted Answer

Angelo Yeo
Angelo Yeo on 11 Jan 2024
Edited: Angelo Yeo on 11 Jan 2024
You can use "S-function Target (rtwsfcn.tlc)" for model or subsystem for code generation. You don't need to re-compile the C code generated via Coder products into s-functions. See the documentation below for further information.
  1 Comment
Muhammad
Muhammad on 12 Jan 2024
Thanks, you suggested a good method. But another method is that MATLAB provides an option Generate S-Function, I used that and it's work for me.

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Coder in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!