Can't get level-2 matlab s-function to work

37 visualizaciones (últimos 30 días)
Akshay Palakkal
Akshay Palakkal el 6 de En. de 2021
Respondida: Srija Kethiri el 3 de Jun. de 2022
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.

Respuestas (1)

Srija Kethiri
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 themodel/ a dummy model along with other relevant files (code and data) and precise reproduction steps so I can try and recreate the issue.

Categorías

Más información sobre Simulink Functions en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by