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