Simulink: Mask parameter fails to bind to block port
2 ビュー (過去 30 日間)
古いコメントを表示
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):
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1668736/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1668741/image.png)
2 件のコメント
Fangjun Jiang
2024 年 4 月 15 日
I am not following. "expose one of the function's arguments", what argument? what do you mean by "expose"?
採用された回答
Fangjun Jiang
2024 年 4 月 16 日
- 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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Create Block Masks についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!