Strange Error!..... Error while obtaining sizes from Mex-sfunction (in simulink)
72 views (last 30 days)
Show older comments
Hi!I need your help. I generated C-mex file from my m-function code (where i used "assert" to define class and size of my input parameters) sucessfully using CODEGEN. Now i want to use my c-mex function in Simulink for RTW.
So, for that i added a S-function block and gave it my function name in "S-function name" place. My code required 11 inputs (1 matrix,9 vectors and 1 constant).Which i was trying to input my s-function block in "S-function parameters" but it was not accepting it and continously giving following error message
"Error due to multiple causes--- Error while obtaining sizes from Mex S-function 'xcxc_mex' in "s-function ----11 inputs required for entry point 'xcxc' ".
I was using generated mex-c function in matlab command window sucessfully with same parameters (variables in workspace).
similar question is asked before http://www.mathworks.com/matlabcentral/newsreader/view_thread/291772
0 Comments
Accepted Answer
Kaustubha Govind
on 19 Nov 2012
S-functions are a special kind of MEX-function which have a specified interface that the Simulink engine uses to interact with it. The generic MEX-file generated by MATLAB Coder ("codegen" command) does not generate the required interface. Instead, I would recommend directly using your MATLAB code in Simulink from a MATLAB Function block, which automatically generates a MEX-function from your MATLAB code and interfaces it with the Simulink engine.
4 Comments
Kaustubha Govind
on 26 Nov 2012
Arsalan: Please consider submitting an enhancement request via MathWorks Tech Support team for MATLAB Coder to generate an S-function along with a TLC-file for a MATLAB function.
Viren
on 3 Dec 2013
Hi Kastubha, Any advice for those of us who MUST convert their 'matlab s function' block into a 'CMEX' file? I have this weird bug where I have two copies of one component in the model (I'm simplifying a bit). When I use a CMEX version of the same code, no problemo, but with the matlab sFunction block I get an error.
More Answers (0)
See Also
Categories
Find more on Block Authoring Basics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!