Simulink Custom Library of S-Functions
Show older comments
Hi all,
I am looking to create a simulink custom library, with s-functions in it, however am a little confused by the process.
I understand normally you may make a library .slx and cut subsystems into it to create your library, then link this to the normal Library Browser to use elsewhere. However with s-functions, as these are support by additional code, I am unclear how this is meant to work without breaking links to supported file(s).
Has anyhow done this before and have a process for linking?
For some context, I am making a library for Arduino hardware with the aim to have a folder structure that has the library at the top level with subfolders containing each block .slx model with supported .c/.cpp/.h and build files to support the s-functions, such as below.


Thanks in advance!
Answers (1)
Fangjun Jiang
on 30 Sep 2020
0 votes
Usually, to make a S-function work, you need to compile the source code into a .dll file or .mex file using mex().
So for a customized library with 10 S-Function blocks, I would make it a single .slx file containing the 10 blocks and provide the 10 .dll files. The files can be anywhere as long as they are in the path.
2 Comments
SRance
on 16 Oct 2020
Fangjun Jiang
on 16 Oct 2020
See S-Function examples. Build one first.
web(fullfile(docroot, 'simulink/sfg/s-function-examples.html'))
Categories
Find more on Configure C/C++ S-Function Features in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

