Simulink中自適應(yīng)的仿真和代碼生成的控制方法
【專利摘要】本發(fā)明涉及一種Simulink中自適應(yīng)的仿真和代碼生成的控制方法,1)在MATLAB/Simulink中創(chuàng)建Simulink.Parameter類型或類似類型的參數(shù);2)編寫S函數(shù);3)在Simulink模型文件中,創(chuàng)建S函數(shù)模塊,將所述S函數(shù)鏈接至該模塊;4)通過GUI工具,在該工具中輸入所述參數(shù)的名稱,該工具自動讀取所述S函數(shù)所需的各項參數(shù)信息并設(shè)置S函數(shù)模塊的參數(shù);5)編寫TLC文件,所述TLC文件讀取所述S函數(shù)的參數(shù)信息,以及其他與所述S函數(shù)相關(guān)的信息,根據(jù)數(shù)據(jù)類型的編號確定參數(shù)的數(shù)據(jù)類型,可以生成不同的指定格式的自定義代碼。本發(fā)明大大提高建模和生成代碼的效率,具有很強(qiáng)的實用性。
【專利說明】Simu I ink中自適應(yīng)的仿真和代碼生成的控制方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及汽車電子嵌入式系統(tǒng)開發(fā)領(lǐng)域,特別涉及基于MATLAB/Simulink的自 動代碼生成,具體涉及一種Simulink中自定義模塊的數(shù)據(jù)類型自適應(yīng)的仿真和代碼生成 的控制方法。
【背景技術(shù)】
[0002] 在汽車電子領(lǐng)域,嵌入式系統(tǒng)的應(yīng)用越來越廣泛,它們大都使用微處理器作為控 制核心。采用基于模型的V型開發(fā)方式可以實現(xiàn)對控制器模型的建模仿真、快速原型、自動 代碼生成、硬件在環(huán)仿真和系統(tǒng)應(yīng)用。MATLAB/Simul ink是當(dāng)今普遍使用的建模仿真和自動 代碼生成工具,可以完成整個建模仿真、快速原型和自動代碼生成的過程。Simulink提供了 大量的內(nèi)置模塊用于建模和代碼生成,但是這些模塊并不能完全滿足建模和代碼生成的需 要,因此需要創(chuàng)建自定義模塊。
[0003] 對于汽車電子的嵌入式系統(tǒng),其常量、變量和標(biāo)定變量的數(shù)據(jù)類型可以是無符號 整型、有符號整型和浮點型。與之相對應(yīng),Simulink模型中的參數(shù)和信號的數(shù)據(jù)類型需要 支持任意屬性的定點類型和浮點類型。但是自定義模塊無法通過讀取定點類型的參數(shù)得到 該參數(shù)的定點類型屬性,這會導(dǎo)致自定義模塊使用錯誤的數(shù)據(jù)類型輸出通過該參數(shù)計算的 結(jié)果,使模塊的輸出錯誤的結(jié)果。通過為每種不同屬性的定點類型參數(shù)編寫特定的自定義 模塊雖然可以解決該問題,但是會耗費極大的系統(tǒng)開發(fā)時間,并且當(dāng)參數(shù)的定點類型屬性 發(fā)生改變時,需要更換所有與之相關(guān)的自定義模塊,導(dǎo)致建模過程非常繁瑣,不能滿足建模 和代碼生成的需要。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是提供一種普遍適用于各種數(shù)據(jù)類型的Simulink中自適應(yīng)的仿真 和代碼生成的控制方法。
[0005] 本發(fā)明采用的技術(shù)方案: 一種Simulink中自適應(yīng)的仿真和代碼生成的控制方法, 1) 在MATLAB/Simulink中創(chuàng)建Simulink. Parameter類型或類似類型的參數(shù),該參數(shù)使 用內(nèi)置數(shù)據(jù)類型或者自定義的Simulink. NumericType或Simulink. AliasType類型的數(shù)據(jù) 類型; 2) 編寫S函數(shù),該S函數(shù)的參數(shù)至少包括所述Simulink. Parameter類型或類似類型的 參數(shù)、所述參數(shù)的數(shù)據(jù)類型名稱、所述參數(shù)的數(shù)據(jù)類型編號,該S函數(shù)根據(jù)數(shù)據(jù)類型名稱可 以確定參數(shù)的數(shù)據(jù)類型,所述S函數(shù)在輸出仿真結(jié)果時根據(jù)參數(shù)的數(shù)據(jù)類型讀取參數(shù)的數(shù) 值,并計算輸出,將輸出的數(shù)值按照輸出的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,輸出正確的數(shù)值結(jié)果; 3) 在Simulink模型文件中,倉ij建S函數(shù)模塊,將所述S函數(shù)鏈接至該模塊; 4) 通過GUI工具,在該工具中輸入所述參數(shù)的名稱,該工具自動讀取所述S函數(shù)所需的 各項參數(shù)信息并設(shè)置S函數(shù)模塊的參數(shù); 5)編寫TLC文件,該TLC文件的名稱與所述S函數(shù)的名稱相同,在生成代碼時,所述TLC 文件讀取所述S函數(shù)的參數(shù)信息,以及其他與所述S函數(shù)相關(guān)的信息,根據(jù)數(shù)據(jù)類型的編號 確定參數(shù)的數(shù)據(jù)類型,可以生成不同的指定格式的自定義代碼。
[0006] 本發(fā)明與現(xiàn)有技術(shù)相比其有益效果是:1、自定義模塊可以自動識別任意數(shù)據(jù)類型 的參數(shù)的數(shù)據(jù)類型,并輸出正確的仿真結(jié)果,不需要為每種不同的數(shù)據(jù)類型創(chuàng)建不同的自 定義模塊,大大節(jié)約系統(tǒng)開發(fā)時間;2、參數(shù)的數(shù)據(jù)類型發(fā)生改變時,無需更換自定義模塊, 無需修改模型,提高建模仿真效率;3、自動根據(jù)參數(shù)的數(shù)據(jù)類型生成所需的指定格式的自 定義代碼,無需手動修改代碼,提高代碼生成效率;4、通過GUI工具提供的優(yōu)化界面,能夠 根據(jù)用戶操作自動讀取參數(shù)屬性信息,并自動設(shè)置自定義模塊的參數(shù),操作方便,顯示直 觀,效率高;本發(fā)明由于使用了數(shù)據(jù)類型自適應(yīng)的仿真和代碼生成控制方法,可以大大提高 建模和生成代碼的效率,具有很強(qiáng)的實用性,可以廣泛地應(yīng)用于各種仿真模型和嵌入式系 統(tǒng)中。
【專利附圖】
【附圖說明】
[0007] 圖1為本發(fā)明的結(jié)構(gòu)流程圖。
【具體實施方式】
[0008] 下面結(jié)合附圖和實施例對本發(fā)明進(jìn)行詳細(xì)的描述。
[0009] 如圖1所示,一種Simulink中自適應(yīng)的仿真和代碼生成的控制方法, 1) 在MATLAB/Simulink中創(chuàng)建Simulink. Parameter類型或類似類型的參數(shù),該參數(shù)使 用內(nèi)置數(shù)據(jù)類型或者自定義的Simulink. NumericType或Simulink. AliasType類型的數(shù)據(jù) 類型; 2) 編寫S函數(shù),該S函數(shù)的參數(shù)至少包括所述Simulink. Parameter類型或類似類型的 參數(shù)、所述參數(shù)的數(shù)據(jù)類型名稱、所述參數(shù)的數(shù)據(jù)類型編號,該S函數(shù)根據(jù)數(shù)據(jù)類型名稱可 以確定參數(shù)的數(shù)據(jù)類型,所述S函數(shù)在輸出仿真結(jié)果時根據(jù)參數(shù)的數(shù)據(jù)類型讀取參數(shù)的數(shù) 值,并計算輸出,將輸出的數(shù)值按照輸出的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,輸出正確的數(shù)值結(jié)果; 3) 在Simulink模型文件中,倉ij建S函數(shù)模塊,將所述S函數(shù)鏈接至該模塊; 4) 通過GUI工具,在該工具中輸入所述參數(shù)的名稱,該工具自動讀取所述S函數(shù)所需的 各項參數(shù)信息并設(shè)置S函數(shù)模塊的參數(shù); 5) 編寫TLC文件,該TLC文件的名稱與所述S函數(shù)的名稱相同,在生成代碼時,所述TLC 文件讀取所述S函數(shù)的參數(shù)信息,以及其他與所述S函數(shù)相關(guān)的信息,根據(jù)數(shù)據(jù)類型的編號 確定參數(shù)的數(shù)據(jù)類型,可以生成不同的指定格式的自定義代碼。
[〇〇1〇] 具體內(nèi)容如下:一種Simulink模型中數(shù)據(jù)類型自適應(yīng)的仿真和代碼生成的控制 方法,其在MATLAB/Simulink中創(chuàng)建Simulink. Parameter類型或類似類型的參數(shù),該參數(shù) 的屬性至少包括數(shù)值、數(shù)據(jù)類型;所述數(shù)據(jù)類型使用MATLAB內(nèi)置的數(shù)據(jù)類型或者自定義的 Simulink. NumericType或Simulink. AliasType類型的數(shù)據(jù)類型,所述數(shù)據(jù)類型可以為任 意定點類型或浮點類型;編寫S函數(shù),該S函數(shù)的參數(shù)至少包括所述Simulink. Parameter 類型或類似類型的參數(shù)、所述參數(shù)的數(shù)據(jù)類型的名稱、所述參數(shù)的數(shù)據(jù)類型的編號;所述S 函數(shù)根據(jù)所述數(shù)據(jù)類型的名稱,確定所述數(shù)據(jù)類型的屬性,并在Simulink中注冊所述數(shù)據(jù) 類型;在Simulink模型文件中,創(chuàng)建S函數(shù)模塊,將所述S函數(shù)鏈接至該S函數(shù)模塊,使 該S函數(shù)模塊可以運(yùn)行所述S函數(shù);通過⑶I工具,在該工具中輸入所述參數(shù)名稱,該工具 能夠自動讀取所述參數(shù)的各項屬性,如參數(shù)名稱、數(shù)據(jù)類型名稱、數(shù)據(jù)類型編號,并自動設(shè) 置S函數(shù)模塊的各項參數(shù);編寫TLC文件,該TLC文件的名稱必須與S函數(shù)的名稱相同;在 Simulink模型進(jìn)行仿真運(yùn)算的過程中,所述S函數(shù)在輸出仿真結(jié)果時,根據(jù)所述參數(shù)的數(shù) 據(jù)類型讀取參數(shù)的數(shù)值,并計算輸出,根據(jù)輸出的數(shù)據(jù)類型,將該輸出的數(shù)值按照輸出的數(shù) 據(jù)類型的進(jìn)行轉(zhuǎn)換,可以輸出正確的數(shù)值結(jié)果;在生成代碼時,所述TLC文件讀取所述S函 數(shù)的參數(shù)信息,根據(jù)數(shù)據(jù)類型的編號確定參數(shù)的數(shù)據(jù)類型;所述TLC文件根據(jù)參數(shù)的數(shù)據(jù) 類型,以及其他與所述S函數(shù)相關(guān)的信息,如S函數(shù)輸入的信息、輸出的信息,可以生成不同 的指定格式的自定義代碼。
【權(quán)利要求】
1. 一種Simulink中自適應(yīng)的仿真和代碼生成的控制方法,其特征是: 1) 在MATLAB/Simulink中創(chuàng)建Simulink. Parameter類型或類似類型的參數(shù),該參數(shù)使 用內(nèi)置數(shù)據(jù)類型或者自定義的Simulink. NumericType或Simulink. AliasType類型的數(shù)據(jù) 類型; 2) 編寫S函數(shù),該S函數(shù)的參數(shù)至少包括所述Simulink. Parameter類型或類似類型的 參數(shù)、所述參數(shù)的數(shù)據(jù)類型名稱、所述參數(shù)的數(shù)據(jù)類型編號,該S函數(shù)根據(jù)數(shù)據(jù)類型名稱可 以確定參數(shù)的數(shù)據(jù)類型,所述S函數(shù)在輸出仿真結(jié)果時根據(jù)參數(shù)的數(shù)據(jù)類型讀取參數(shù)的數(shù) 值,并計算輸出,將輸出的數(shù)值按照輸出的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,輸出正確的數(shù)值結(jié)果; 3) 在Simulink模型文件中,倉ij建S函數(shù)模塊,將所述S函數(shù)鏈接至該模塊; 4) 通過GUI工具,在該工具中輸入所述參數(shù)的名稱,該工具自動讀取所述S函數(shù)所需的 各項參數(shù)信息并設(shè)置S函數(shù)模塊的參數(shù); 5) 編寫TLC文件,該TLC文件的名稱與所述S函數(shù)的名稱相同,在生成代碼時,所述TLC 文件讀取所述S函數(shù)的參數(shù)信息,以及其他與所述S函數(shù)相關(guān)的信息,根據(jù)數(shù)據(jù)類型的編號 確定參數(shù)的數(shù)據(jù)類型,可以生成不同的指定格式的自定義代碼。
【文檔編號】G06F17/50GK104091006SQ201410306518
【公開日】2014年10月8日 申請日期:2014年7月1日 優(yōu)先權(quán)日:2014年7月1日
【發(fā)明者】褚全紅, 方成, 張維彪, 范燕朝, 吳飚, 胡勇, 郭佳旭, 楊鳳秋 申請人:中國北方發(fā)動機(jī)研究所(天津)