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

283 visualizaciones (últimos 30 días)
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!

Respuesta aceptada

Mark McBroom
Mark McBroom el 4 de Feb. de 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 comentario
Peter Dauksch
Peter Dauksch el 8 de Feb. de 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!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Block and Blockset Authoring en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by