我想在我的代码生成过程中添加一个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上,但没有得到任何答案。
答案 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配置集名称”匹配。