如何在 Matlab Simulink 中获取 "Target hardware"-Field in "Run on target hardware" 的参数名称?

How to get parameter name of "Target hardware"-Field in "Run on target hardware" in Matlab Simulink?

我看到有人问过类似(但不完全相同)的问题,但不是针对同一领域,甚至也不是同一菜单。

我正在使用 Matlab Simulink R2014a 并希望通过以下方式设置参数值:

RoHComponent = myConfigSet.getComponent('Run on Hardware');
set_param(RoHComponent, 'TargetHardware', 'Raspberry Pi');

但是,相关的字段在帮助菜单中没有告诉它的名称,但我需要通过命令行设置它。谁能告诉我它的名字?我试过'TargetHardware'之类的东西,就是找不到,而且"What's this?"也没有告诉参数名

祝你有愉快的一天,

PS: 很想放个截图,但是我是新手,现在还不能加,因为我的声望太低了,不能直接给大家看.相关菜单位于:Configuration> 运行 on Target Hardware > Target Hardware selection > Target Hardware:

您可以使用方法 getProp()ConfigSet 对象来获取可用属性的列表。这就是我发现我可以使用以下调用来确定我的模型配置设置是否支持可变大小信号的方式:

>> confSet.getProp('SupportVariableSizeSignals')

ans =

on

看来您可以同时使用 setPropset_param 来设置新值。

我还没有测试过,但您似乎也可以在 components/subcomponents 上调用 getProp。但是,这些属性似乎对 "parent" ConfigSet 对象是透明的。

TL;DR: getProp() 有助于识别您不知道其名称但可以从属性列表中猜测的属性。

Sooo,这变成了某种传统:我问了一个看似过于具体的问题,最后我自己回答了。 ^^;

MyModel = load_system('mymodel');

% list configuration sets
CSNames = getConfigSets(MyModel);
ConfSet = getConfigSet(MyModel, CSNames{1});

% get the hardware component
RTSC = ConfSet.getComponent('Run on Hardware');

% have fun with it
RTSC.getProp('TargetExtensionPlatform')
RTSC.setProp('TargetExtensionPlatform', 'None')
RTSC.setProp('TargetExtensionPlatform', 'Raspberry Pi')

或简写:

ConfSet .getProp('TargetExtensionPlatform')
ConfSet .setProp('TargetExtensionPlatform', 'None')
ConfSet .setProp('TargetExtensionPlatform', 'Raspberry Pi')

然而,较长的版本让我了解了我是如何找到它的。

当然,需要进行大量检查以确保组件存在,并且 属性 正确 set/read。