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)

 Respuesta aceptada

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.

Más respuestas (0)

Categorías

Más información sobre Creating Custom Components and Libraries en Centro de ayuda y File Exchange.

Productos

Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by