CANoe創(chuàng)建CAN DataBase(DBC文件)
常用的創(chuàng)建和編輯CAN DataBase(DBC文件)有兩種方法,一種是下載CANdb++,Vector免費的工具;另一種就是使用CANoe創(chuàng)建,不過需要付費購買軟硬件。兩種方法創(chuàng)建DBC文件的方式都是一樣的。
本篇博文講解如何使用CANoe軟件創(chuàng)建和編輯DBC文件。
1
新建DBC文件
打開CANoe,進(jìn)入Tools菜單欄,點擊CANdb++Editor打開DBC編輯軟件。
在DBC編輯器中,點擊File -> Create DataBase,選擇合適的DBC模板,并選擇一個文件夾作為DBC文件的保存路徑。
我一般選擇CANoeTemplate或者CAN Template。
新建成功效果如下:
2
新建節(jié)點
在Network nodes處右擊,選擇New新建一個節(jié)點(ECU),為其命名,例如ECU01和ECU02等。
節(jié)點創(chuàng)建好后,界面如下所示:
3
創(chuàng)建CAN報文
在Messages處右擊,選擇New新建一個報文。
在Name處輸入本條CAN message的名稱,注意(不得使用中文,不得以數(shù)字開頭)。
在Type處選擇CAN Standard或者CAN Extended。
在ID處填入此CAN報文的CAN ID。
DLC處寫入此報文的長度(單位是字節(jié))。
CAN報文創(chuàng)建成功如下所示:
根據(jù)需要可以創(chuàng)建多個報文。
4
創(chuàng)建CAN報文的信號
在Signals處右擊,選擇New新建一個信號。
在Name處鍵入此信號的名稱。
Length處填入此信號的長度(單位為Bit)。
Byte Order(字節(jié)序)選擇以Intel型填充還是以Motorola型填充。
Intel型 :小端字節(jié)序,字節(jié)內(nèi)部bit排序從高位開始。
Motorola型:大端字節(jié)序,字節(jié)內(nèi)部bit排序從低位開始。
ValueType:值的類型,有符號整數(shù)和無符號整數(shù)以及浮點數(shù)類型。
Factor:比例因子,表示數(shù)值需要乘以這個因子進(jìn)行轉(zhuǎn)換。
Offset:偏移量,表示數(shù)值需要加上這個偏移量進(jìn)行轉(zhuǎn)換。
Minimum:參數(shù)的最小值。
Maximum:參數(shù)的最大值。
Calculate minimum and maximum:點擊這個按鈕可以計算最小值和最大值。
Value Table:值表的名稱,當(dāng)前為空,表示沒有關(guān)聯(lián)的值表。
這些參數(shù)共同定義了一個8位有符號整數(shù)的LED信號參數(shù),包括其長度、字節(jié)順序、數(shù)據(jù)類型、初始值、比例因子、偏移量、最小值和最大值。
CAN報文信號創(chuàng)建成功如下所示:
根據(jù)需要可以創(chuàng)建多個信號。
6
將報文和信號關(guān)聯(lián)
雙擊報文,進(jìn)入報文界面,切換到Signals欄,點擊Add將信號添加到報文中。
如果CAN報文DLC設(shè)置得比添加進(jìn)去的信號所占的字節(jié)數(shù)多,就會彈出這個窗口,點擊否(N)即可,如果點擊是(Y),系統(tǒng)會修改這條CAN報文的長度為剛剛添加進(jìn)去的信號所占的字節(jié)數(shù)。
添加完成后如下圖所示,右邊會列出這個報文里所有的信號,以及信號所占的字節(jié)和起始位。
如果設(shè)置信號在CAN報文中的起始位和位置,雙擊信號,在Startbit處修改起始位。
也可以在這條CAN報文的Layout中通過鼠標(biāo)拖動修改信號所處的位置。
雙擊左側(cè)CAN報文,在彈出的窗口中點擊Layout,鼠標(biāo)按住方框中標(biāo)記的信號拖動即可改變信號所在的位置。
6
設(shè)置CAN報文發(fā)送者和接收者
雙擊節(jié)點ECU1,在Mapped RX Sig中添加需要接收的報文中的信號,在Tx message中添加該節(jié)點發(fā)送的報文。
此時我們展開左側(cè),可以看到ECU1節(jié)點已經(jīng)有了對應(yīng)的發(fā)送和接收報文以及信號。
以上就是如何在CANoe中新建和使用CAN DataBase(DBC文件)的基本步驟。通過這些步驟,你可以創(chuàng)建一個簡略版的CAN DBC。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。