2016-06-10 148 views
0

我想在我的代碼生成過程中添加一個生成後掛鉤。但是,當我嘗試將函數與simulink模型的PostCodeGenCommand相關聯時,出現以下錯誤。爲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代碼生成器中的其他模型不同)。

I' m使用R2015a,但有權訪問較新的版本,如果這將有所幫助。

請注意,這個問題最初發布在Matlab forum,但沒有得到任何答案。

回答

0

事實證明,該模型使用「配置參考」而不是內部存儲其配置。模型瀏覽器提供了以下描述

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的「參考配置集名稱」。