为simulink模型设置PostCodeGenCommand时出错

时间:2016-06-10 10:55:12

标签: code-generation simulink

我想在我的代码生成过程中添加一个post-build钩子。但是,当我尝试将函数与simulink模型的PostCodeGenCommand关联时,我收到以下错误。

set_param(bdroot, 'PostCodeGenCommand', 'packNGo(buildInfo);')
A configuration set reference does not allow writing to parameters in the source configuration set

我真的不明白错误信息,并没有在我最喜欢的搜索引擎上显示任何有用的点击。任何人都可以帮我解读吗?

不幸的是,即使我包含参考模型,我也无法在简单的simulink模型上重现此问题。 (我认为这可能是“引用”这个词,嗯,在错误信息中引用。我之前注意到,引用的模型与simulink代码生成器中的其他模型的处理方式不同。)

我正在使用R2015a,但如果有帮助,可以访问更新的版本。

请注意,此问题最初发布在Matlab forum上,但没有得到任何答案。

1 个答案:

答案 0 :(得分:0)

事实证明,该模型使用的是“配置参考”,而不是在内部存储其配置。 Model Explorer提供以下描述

Configuration Reference
A model may reference a 'Configuration set' that is defined in the 
source location rather than stored in the model....

这对我们很有用,因为我们使用几个共享相同配置集的模型。它保存在一个中心位置,所有更新都立即应用于所有模型。

副作用是bdroot不再与PostCodeGenCommand相关联。相反,我正在寻找的命令是

configurationSettings.set_param('PostCodeGenCommand', 'packNGo(buildInfo);')

其中configurationSettings是工作空间中的变量,变量的名称应与Model Explorer中的“Referenced配置集名称”匹配。