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

8 visualizzazioni (ultimi 30 giorni)
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 Commenti
Renato SL
Renato SL il 23 Set 2019
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 il 23 Set 2019
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'.

Accedi per commentare.

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 23 Set 2019
Just use
get_param(gcb,'BC')
set_param(gcb,'BC','1');
  8 Commenti
Malte Otten
Malte Otten il 26 Set 2019
Hey, thank you for your help ! This works great!
Malte Otten
Malte Otten il 2 Ott 2019
Modificato: Malte Otten il 2 Ott 2019
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?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Author Block Masks in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by