"S-Function does not exist" but is clearly in the Matlab path!
184 views (last 30 days)
Show older comments
Peter Dauksch
on 3 Feb 2021
Commented: Peter Dauksch
on 8 Feb 2021
Hello,
I am working with a huge simulink model that uses a lot of custom library blocks and S-functions.
But 3 of them dont work, the error is just: "Error in S-function 'modelname/subsystem/block': S-Function 'sfun_name' does not exist"
But I have a folder in my model library with the files name.cpp, name.h, sfun_name.cpp and also the simulink model of the library block.
This folder is definetely added to the path, I checked with the path command
It used to work but now simulink says these S-functions do not exist, but they do.
I tried to replace the blocks from the library but it did not help.
Does anyone have an idea about this? Or what else would I need to provide? (I am not allowed to upload any files from the model)
Thank you!
1 Comment
Accepted Answer
Mark McBroom
on 4 Feb 2021
Do you have a file named sfun_name.mexw64? Simulink needs the s-function to be compiled into a mexw64( which is a specialzed DLL). If you don't have a .mexw64, then you will need to create one by compiling your C code into a mexw64 file with the "mex" command. https://www.mathworks.com/help/matlab/ref/mex.html?searchHighlight=mex&s_tid=srchtitle
mex sfun_name.cpp
More Answers (0)
See Also
Categories
Find more on Block and Blockset Authoring 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!