How can I change the values of edit boxes in a mask?

조회 수: 5 (최근 30일)
Malte Otten
Malte Otten 2019년 9월 23일
편집: Malte Otten 2019년 10월 2일
Hallo,
I was wondering how to change the values in the edit boxes of simulink block mask. If I understood the following Answer right, this is not possible: https://de.mathworks.com/matlabcentral/answers/98264-why-am-i-unable-to-change-the-default-value-of-a-block-parameter-using-the-set_param-function-in-sim
I would be really happy, if anyone can show me a way to get this done.
Greetings
  댓글 수: 4
Renato SL
Renato SL 2019년 9월 23일
Maybe this reference could help.
I never need to set values of mask parameters programmatically, so I'm not sure what to do.
Perhaps you can give a variable name inside the mask, for example in Cultivator block, you give "value1" as a mask parameter value. Then, in the script, you specify
value1 = 10; %for example
I think that can work, but I don't know if that is what you need.
Malte Otten
Malte Otten 2019년 9월 23일
I took a screenshot from my mask. Maybe this will make it easier. ScreenshotMask.PNG
If I type in the following code, I get the following error message:
>> Simulink.MaskParameter.set(BC,1)
Undefined function or variable 'BC'.

댓글을 달려면 로그인하십시오.

채택된 답변

Fangjun Jiang
Fangjun Jiang 2019년 9월 23일
Just use
get_param(gcb,'BC')
set_param(gcb,'BC','1');
  댓글 수: 8
Malte Otten
Malte Otten 2019년 9월 26일
Hey, thank you for your help ! This works great!
Malte Otten
Malte Otten 2019년 10월 2일
편집: Malte Otten 2019년 10월 2일
I have now applied the changes to the code but I get another problem. If I use more than one of these statements in the initialization script, e.g.
open_system('Testframe_with_Cultivator_mounted');
% Open the mask of the block
blk='Testframe_with_Cultivator_mounted/Cultivator';
% Set values in the edit boxes of the mask
set_param(blk,'BC',num2str(Mdl.implement.Cultivator.BC));
set_param(blk,'h_S1',num2str(Mdl.implement.Cultivator.h_S1));
it will only change the value in box BC. The value in box h_S1 will not be changed when running the script. Both BC and h_S1 are in the same tab and the I have already checked the name of the boxes to ensure that they are right.
Do you have any suggestion on solving this problem?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Author Block Masks에 대해 자세히 알아보기

제품


릴리스

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by