Why do I get an error when specifying a Simscape component parameter with same name as built-in Simulink parameter?

I have defined a custom Simscape component with a parameter named "position" declared only once in my component file. When I generate the library for this component, I get the following error:
>> ssc_build
Failed to generate 'tsTest_lib'
Caused by:
Error using simscape.engine.sli.internal.setupmask
Invalid inputs specified for method 'addParameter'
Error using simscape.engine.sli.internal.setupmask
Block 'tsTest_lib/Variable Area Ram' already has a built-in parameter 'position'. Hence a mask
parameter of the same name cannot be added
With same *.ssc file if we add this in Simscape component block, the error dialog reports
"PMDialogs.DynDlgBuilder.realizeChildren" (for failures in setupmask)
or
"Unable to create block dialog. If the block belongs to a custom Simscape library, please run ssc_build to rebuild the library. Please contact technical support if the error persists." (for failures in pmdlg)

 采纳的回答

The "position" parameter is already a built-in Simulink mask parameter. As a result, this causes a conflict when a Simscape parameter is defined with the same name in the component file.
As a workaround, changing the parameter name from "position" to something like "myposition" resolves the conflict. After making this change, running "ssc_build" in the package directory will successfully build the library.

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Composite Components 的更多信息

产品

版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by