Model block cannot be under a non-trivial mask since the model it references has grouped model arguments.

11 次查看(过去 30 天)
Hello,
I have created a model with model arguments, which are grouped into a structure using a Simulink.Parameter object and a Simulink.Bus object as data type. The model arguments are stored in the model workspace and marked as arguments.
This model can be referenced from another model without any issues using a model reference block.
But if I mask the referenced model, I always get the following error during compilation:
Model block 'myModel' cannot be under a non-trivial mask since the model it references has grouped model arguments.
Do I miss some point regarding referenced models?
Thx for helping...

采纳的回答

db1024
db1024 2019-5-21
The issue happens if the Simulink.Parameter object has a Storage Class other than Auto. By changing it to
myParam = Simulink.Parameter(myStruct);
myParam.CoderInfo.StorageClass = 'Auto';
the model can be referenced with a mask.
  2 个评论
Paul Rancuret
Paul Rancuret 2023-2-6
Is there a plan to support masking a referenced model with tunable arguments?
This is a pretty strong limitation. As soon as you set that storage class to 'Auto,' the model will then inline the parameter values when coded as a 'top model' rather than using the instance parameters.
Let's say I have a model which I intend to generate re-usable code with production intent. I intend each instance of the model to use differnet values for the parameters in the argument. In that case, I cannot use the 'Auto' storage class. Wouldn't I still want the ability to reference mutliple instances of the model in some other 'top-model' of a larger system? That seems to be one of the primary objectives of model referencing - I can instantiate the exact model intended to generate production code in some larger simulation for test purposes. Using masks at some level in the simulation/test model seems like the most maintainable/scalable way to accomplish this in all but the simplest of hierarchies.
Zouhair Mahboubi
Zouhair Mahboubi 2023-7-12
I second Paul's comment here: not being able to generate code that uses "non trivial" mask model references that have tunable instance parameters is pretty limiting!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Author Block Masks 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by