Simulink 代码生成:以编程方式设置可调参数

问题描述 投票:0回答:1

我使用 Simulink Coder 从大型模型生成代码。我使用带有可调参数的 rsim 目标,以便能够通过参数文件提供可执行变量输入。

我可以通过代码生成设置指定哪些模型参数应该可调(默认情况下,所有参数都将在编译时内联到生成的代码中):
代码生成选项 > 优化 > 信号和参数 > 配置默认参数行为

在这里,我可以手动从所有工作区变量中选择我想要全局可调的变量:

Q:有没有办法以编程方式将变量(给定其名称)添加到此列表?

例如,如果有 50 个变量的列表,我希望通过 MATLAB 脚本将它们添加到可调列表中,而无需手动添加每一个变量。或者循环列表并为每个列表设置可调设置。

我可以使用

rsimgetrtp('model_name')
生成一个包含可调参数列表的参数结构。但我一开始就找不到一个函数来实际设置参数。

我使用 Matlab 2015b,因为它的遗留代码。

matlab simulink matlab-compiler
1个回答
0
投票

我终于找到了解决办法:

您可以通过以下对象参数设置模型的可调参数:

set_param(gcs, 'TunableVars', 'var1,var2,var3')
set_param(gcs, 'TunableVarsStorageclass', 'Auto,Auto,Auto')
set_param(gcs, 'TunableVarsTypeQualifier', ',,')

您需要设置所有三个参数,以使列表的长度一致。

注意模型需要先初始化。

您可以检查模型参数配置对话框以获取新参数

© www.soinside.com 2019 - 2024. All rights reserved.