Simlink 生成A2L标定量和检测量
1.采用基于模型的設(shè)計(jì)(MBD)搭建應(yīng)用程序
從Simulink Library Browser中推拽出如下模塊,搭建模型。
Matlab function內(nèi)容如下圖
2.設(shè)置用戶存儲(chǔ)類(lèi)(CSC)
因?yàn)閍2l中的標(biāo)定量和檢測(cè)量存放在用戶指定的區(qū)域,故在代碼生成時(shí)需要指定該變量存儲(chǔ)的位置。
在CMD窗口中輸入?cd(fullfile(matlabroot,'/toolbox/simulink/simdemos/dataclasses'))
將文件夾+SimulinkDemos復(fù)制到如D:\MyProjects\MyPackage,并重命名為+myPackage.
?將matlab路徑定位到D:\MyProjects\MyPackage,并打開(kāi)Parameter.m和Signal.m文件。修改這兩個(gè)文件中的methds方法下的函數(shù)setupCoderInfo(line45),并將參數(shù)更改為“myPackage”和剛才重命名的一致。
保存并關(guān)閉文件
打開(kāi)matlab主頁(yè)上的設(shè)置路徑按鈕,添加package路徑
添加package路徑
點(diǎn)擊保存,確認(rèn)按鈕
在CMD窗口中鍵入:cscdesigner('myPackage'),此時(shí)將打開(kāi)cscdesigner
點(diǎn)擊Memory Seeting選項(xiàng)卡,點(diǎn)擊New,設(shè)置參數(shù)如下(這個(gè)具體內(nèi)容需要根據(jù)實(shí)際的MCU進(jìn)行設(shè)置)如下定義兩種內(nèi)存區(qū),一個(gè)是calibration內(nèi)存區(qū),另一個(gè)是monitor內(nèi)存區(qū).在設(shè)置參數(shù)后可點(diǎn)擊Valiable按鈕檢測(cè)是否設(shè)置出錯(cuò),在Validating result輸出窗口中查看。
在Custom Storage Class選項(xiàng)卡中,點(diǎn)擊New ,參數(shù)如下,下圖設(shè)定義了2個(gè)存儲(chǔ)類(lèi),一個(gè)是calibration存儲(chǔ)類(lèi),另一個(gè)是monitor存儲(chǔ)類(lèi).在設(shè)置參數(shù)后可點(diǎn)擊Valiable按鈕檢測(cè)是否設(shè)置出錯(cuò),在Validating result輸出窗口中查看。
點(diǎn)擊ok,彈出的窗口中點(diǎn)擊OK按鈕。
點(diǎn)擊simulink模型中的userkey1模塊,打開(kāi)對(duì)話框,在Signal Attributes選項(xiàng)卡中,點(diǎn)擊Data Store
Memory:simulink.Signal下拉選擇Customize calss lists,在Signal classes欄中勾選myPackage.Signal前的復(fù)選框,如圖
點(diǎn)擊ok,在剛才點(diǎn)擊打開(kāi)的模塊的對(duì)話框中,再次下拉Signal object class,此時(shí)選擇myPackage.Signal,然后再Storage class的下拉框中選擇MyCalib,此時(shí)就已將該變量設(shè)置為標(biāo)定兩個(gè),如圖。
A模塊和userkey1模塊一樣,設(shè)置為標(biāo)定量,userdata1和userdata2模塊在Storage class下拉中選擇MyMonitor.
以上就設(shè)置好了,simulink模塊的參數(shù),接下來(lái)還需要設(shè)置代碼生成的規(guī)則。
3.設(shè)置系統(tǒng)生成A2L文件,并生成AUTOSAR代碼。
ctrl + e,打開(kāi)模型配置參數(shù)對(duì)話框,設(shè)置如圖。
以上配置就基本上能生成了autosar代碼和a2l文件,當(dāng)然還有其它優(yōu)化生成代碼的選項(xiàng),這里就不多說(shuō)了。
在模型中點(diǎn)即RUN,若沒(méi)有錯(cuò)誤,則點(diǎn)擊Bulid Mode,生成代碼,如圖。
4.將生成的代碼集成到工程中,利用生成的Hex文件,map文件,將A2l中的變量地址填充上(另外可能還需編寫(xiě)一些文件信息到A2L中,如標(biāo)定時(shí)的canId,QAC觸發(fā)條件等信息),即可在標(biāo)定軟件中使用了。
以上四點(diǎn)即我在項(xiàng)目中使用的手法,若有錯(cuò)誤還望指出。
本人是從事汽車(chē)電子ECU的開(kāi)發(fā)的攻城獅一枚,主要從事BSW的開(kāi)發(fā),歡迎志同道合的朋友加我微信,一起討論有關(guān)汽車(chē)電子開(kāi)發(fā)的技術(shù)。
總結(jié)
以上是生活随笔為你收集整理的Simlink 生成A2L标定量和检测量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 工作周报:2011-12-05至2011
- 下一篇: IOS 实现美图秀秀