Radio Button Mask for Simscape Block

6 次查看(过去 30 天)
I have a stock Simscape block (Cauer Element) that has two parameters - Resistance and Tau.
I am trying to add a mask to modify these parameters, but am unsure of how to handle the Callback with the radio buttons.
Depending on which radiobutton selection is made, the underlying resistance and tau get updated with some values. There is also an option to add a custom entry, which enables some custom edit fields.
For the Custom fields, I can enable/disable the edit field container from the command line like this when the Radio Button is set to custom:
h = get_param(gcb,'MaskObject').getDialogControl('ContainerCustom')
h.Enabled = 'off'
So I wish to have the edit container disabled for all radio options except custom.
I also wish to have each radio option update the parameters of the underlying block.
I am not certain how to do these with the radio button element.

采纳的回答

Matthew Mishrikey
Matthew Mishrikey 2022-2-10
I figured out a way. I saw a snippet of code in one of the videos on the topic, and it gave me enough clues to write a callback. Here is the radio button callback in case it helps anyone!
rbc = get_param(gcbh,'HS_Select');
h = get_param(gcbh,'MaskObject').getDialogControl('ContainerCustom');
switch rbc
case 'Sink Vert'
r = '1.6';
t = '1800';
h.Enabled = 'off';
set_param(gcbh,'rthedit',r);
set_param(gcbh,'tauedit',t);
case 'Sink Horiz'
r = '1.3';
t = '1300';
h.Enabled = 'off';
set_param(gcbh,'rthedit',r);
set_param(gcbh,'tauedit',t);
case 'Ideal Heat Sink'
r = '1e-9';
t = '1e-9';
h.Enabled = 'off';
set_param(gcbh,'rthedit',r);
set_param(gcbh,'tauedit',t);
case 'Undersized Heat Sink'
r = '7';
t = '30';
h.Enabled = 'off';
set_param(gcbh,'rthedit',r);
set_param(gcbh,'tauedit',t);
case 'Custom'
h.Enabled = 'on';
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by