"S-Function does not exist" but is clearly in the Matlab path!

238 visualizzazioni (ultimi 30 giorni)
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!

Risposta accettata

Mark McBroom
Mark McBroom il 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
  1 Commento
Peter Dauksch
Peter Dauksch il 8 Feb 2021
We actually found a mex32 file... (The model was created in a older version on a different computer)
But since it is now a 64 bit system this might be the issue!
Thank you!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Block and Blockset Authoring in Help Center e File Exchange

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by