我正在使用Matlab 2012a和Simulink Coder (aka Real-Time Workshop)。我想使用Simulink編碼器編譯模型,但保留了模型回調的功能。使用模型回調和Simulink編碼器
考慮下面的簡單例子。我有一個Simulink模型,callBackTest
,它讀入一個常量並輸出爲since。 input1
在myValues.m
中定義,並使用PreLoadFcn model callback加載到模型工作區中。 PreLoadFcn回調在模型第一次打開時執行。通過使用PreLoadFcn回調,input1
將在每次打開模型時自動定義。
假設myValues.m
最初被編碼爲input1=1
。當你運行模擬時,yout
將是一個1的數組。另外,如果我使用Simulink編碼器編譯模型,輸出也將是1的數組。但是,如果我修改myValues.m
以便input1 = 2
並且不重新編譯,則實時輸出仍然爲1.這是錯誤的,那麼如何使用編譯模型將文件中的變量從文件讀入模型工作區?