It is my understanding that you want to call a C function from within Simulink using the S-Function Builder block, where your C code includes a header file and returns a double.
To achieve this, follow these steps:
- Add an S-Function Builder block to your Simulink model (found under User-Defined Functions in the Simulink Library Browser).
- Double-click the block to open the configuration editor:
- Under the "Inputs" tab, no input is needed since your function has no arguments.
- Under the "Outputs" tab, define one output port, e.g., y, with:
- Port Name: y
- Port Width: 1
- Data Type: double
- Go to the "Data Properties" tab and add the line mentioned below to the "Include" section:
- Under the "Outputs" section, add the function call:
y[0] = dfg_uu_getmaxsize_a();
- Click "Build" to generate the S-function.
- Use the generated block in your model—this will now call your external C function during simulation.
For more information, kindly refer to the following MathWorks documentation on the S-function Builder Block:
Hope this helps!