How to use function "setBlockParameter" to set the parameter of Simulink block "prismatic joint"?

"Prismatic joint" is a block in the Simscape Multibody library. Function "setBlockParameter" is used to set parameter of a block. But it seem unable to set the parameter of such block. Here is the code and display.
But there is indeed a parameter called as above.
So .....

 Accepted Answer

I believe the issue is that the parameter name is simpler than the path you've typed. For ease of reading, a lot of the parameter names seem to be shortened and nested like in your third image. However, there is a property called 'PositionTargetValue' that I can write to in the little test sim I made. Give this a try:
in = setBlockParameter(in,'chair_exp2/PJ_ground_rail','PositionTargetValue',0.2)

3 Comments

You are able to get a full list of all block parameters with the command
BlockParameterNames = fieldnames(get_param('<block path/name>','ObjectParameters'))
% ^
% Insert your own block path/name here
I'm glad I could help! Thank you for an interesting question.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!