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

260 ビュー (過去 30 日間)
Peter Dauksch
Peter Dauksch 2021 年 2 月 3 日
コメント済み: Peter Dauksch 2021 年 2 月 8 日
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 件のコメント
Paresh yeole
Paresh yeole 2021 年 2 月 3 日
Also add the mex file of the sfun to the path

サインインしてコメントする。

採用された回答

Mark McBroom
Mark McBroom 2021 年 2 月 4 日
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 件のコメント
Peter Dauksch
Peter Dauksch 2021 年 2 月 8 日
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!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeBlock and Blockset Authoring についてさらに検索

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by