Simulink Custom Library of S-Functions

2 次查看(过去 30 天)
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!

回答(1 个)

Fangjun Jiang
Fangjun Jiang 2020-9-30
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 个评论
SRance
SRance 2020-10-16
Would there happen to be a tutorial on that process? I am likely to need to work through it step-by-step.
At the moment I am assuming I build all the S-Functions in the Library so that I have all the .mex files with the library .slx, though recognise I'll end up with a mass of files.
Currently I've just made the Simulink S-Functions through building in Simulink then altering the .c wrapper; extern "C" before all the void functions and changing to .cpp. This has then been compiled onto my Arduino and tested, and am happy with the functionality - obviously now wanting to link those into a library.
Output wise (as in the screenshots below) I can see the .mexw64, though not really sure what to do with it to then build the library.
Fangjun Jiang
Fangjun Jiang 2020-10-16
See S-Function examples. Build one first.
web(fullfile(docroot, 'simulink/sfg/s-function-examples.html'))

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Block and Blockset Authoring 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by