Can't get level-2 matlab s-function to work
37 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I'm trying to incorporate a Level-2 MATLAB S-Function into my Simulink model, but I keep getting the same error:
Error: Cannot create the S-function file as ' ' because the S-function name is not a valid MATLAB function name.
Component:Simulink | Category:Model error
Things I've already ensured/tried:
- I've ensured that the function name in the code-body of the function definition matches the saved file name (The function is from a Simulink shipping demo.)
- The working directory and paths are set correctly.
- When I hit edit, it opens up the correct "msfcn_times_two.m" file in the working directory. Even though it opens the right file on edit, hitting apply doesn't seem to affect the model. The demo had one input and one output. So I tried changing the number of input and output ports in the code body to see what effect it would have. As suspected, the input and output port numbers stayed one, i.e. no change in model.
- It is inside a conditionally executed sub-system so I've set the block.SampleTimes paramter to [-1, 0].
- The error pops up whenever I try to compile or execute the program. [ I'm running the 2020a release. ]
I'm sure I'm making a really silly mistake or overlooking something super basic somewhere, just can't seem to find it. Any help on how to solve this would be much appreciated.
0 comentarios
Respuestas (1)
Srija Kethiri
el 3 de Jun. de 2022
Hi Akshay,
To resolve the issue, update your MATLAB to R2021a.
If that doesn’t resolve your issue, please send the model/ a dummy model along with other relevant files (code and data) and precise reproduction steps so I can try and recreate the issue.
0 comentarios
Ver también
Categorías
Más información sobre Simulink Functions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!