Simulink: Mask parameter fails to bind to block port
2 views (last 30 days)
Show older comments
Lucas Ritzdorf
on 15 Apr 2024
Commented: Lucas Ritzdorf
on 17 Apr 2024
I'm currently working with a MATLAB Function block inside of Simulink, and I'd like to expose one of the function's arguments as a parameter in the Simulink UI. A mask seems to be the usual way of doing this, but upon adding a mask, it doesn't "bind" to the underlying block's port, as I would have expected.
Is this normal? If not, how might I go about troubleshooting this? If so, how can I prevent later users from connecting normal Simulink signals to the exposed port?
For reference, here are my mask parameters, as well as the underlying block (with the masked port exposed):
2 Comments
Fangjun Jiang
on 15 Apr 2024
I am not following. "expose one of the function's arguments", what argument? what do you mean by "expose"?
Accepted Answer
Fangjun Jiang
on 16 Apr 2024
- It is more involved for this task. I hope the attached model (in R2022b) make it easier.
- In your model, the two inports are called input arguments, the two outports are called output arguments.
- You need to make "num_outputs" as a "parameter data", not "input data".
- You need to make "output" variable size and specify the max value as 24.
- Make a mask and pass down the value for "num_outputs"
- Run simulation and you will see 5 elements are non-zoro. Double click the masked MATLAB Function block, change the value from 5 to 3 to see the output display.
More Answers (0)
See Also
Categories
Find more on Author Block Masks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!