博客專欄

EEPW首頁(yè) > 博客 > CANoe創(chuàng)建CAN DataBase(DBC文件)

CANoe創(chuàng)建CAN DataBase(DBC文件)

發(fā)布人:美男子玩編程 時(shí)間:2024-09-19 來源:工程師 發(fā)布文章

常用的創(chuàng)建和編輯CAN DataBase(DBC文件)有兩種方法,一種是下載CANdb++,Vector免費(fèi)的工具;另一種就是使用CANoe創(chuàng)建,不過需要付費(fèi)購(gòu)買軟硬件。兩種方法創(chuàng)建DBC文件的方式都是一樣的。


本篇博文講解如何使用CANoe軟件創(chuàng)建和編輯DBC文件。


1


新建DBC文件

打開CANoe,進(jìn)入Tools菜單欄,點(diǎn)擊CANdb++Editor打開DBC編輯軟件。


圖片


在DBC編輯器中,點(diǎn)擊File -> Create DataBase,選擇合適的DBC模板,并選擇一個(gè)文件夾作為DBC文件的保存路徑。


圖片


我一般選擇CANoeTemplate或者CAN Template。


圖片


新建成功效果如下:


圖片


2


新建節(jié)點(diǎn)

在Network nodes處右擊,選擇New新建一個(gè)節(jié)點(diǎn)(ECU),為其命名,例如ECU01和ECU02等。


圖片


圖片


節(jié)點(diǎn)創(chuàng)建好后,界面如下所示:


圖片


3


創(chuàng)建CAN報(bào)文

在Messages處右擊,選擇New新建一個(gè)報(bào)文。


圖片


圖片


  • 在Name處輸入本條CAN message的名稱,注意(不得使用中文,不得以數(shù)字開頭)。

  • 在Type處選擇CAN Standard或者CAN Extended。

  • 在ID處填入此CAN報(bào)文的CAN ID。

  • DLC處寫入此報(bào)文的長(zhǎng)度(單位是字節(jié))。


CAN報(bào)文創(chuàng)建成功如下所示:


圖片

根據(jù)需要可以創(chuàng)建多個(gè)報(bào)文。


4


創(chuàng)建CAN報(bào)文的信號(hào)

在Signals處右擊,選擇New新建一個(gè)信號(hào)。


圖片


圖片


  • 在Name處鍵入此信號(hào)的名稱。

  • Length處填入此信號(hào)的長(zhǎng)度(單位為Bit)。

  • Byte Order(字節(jié)序)選擇以Intel型填充還是以Motorola型填充。

  • Intel型 :小端字節(jié)序,字節(jié)內(nèi)部bit排序從高位開始。

  • Motorola型:大端字節(jié)序,字節(jié)內(nèi)部bit排序從低位開始。

  • ValueType:值的類型,有符號(hào)整數(shù)和無符號(hào)整數(shù)以及浮點(diǎn)數(shù)類型。

  • Factor:比例因子,表示數(shù)值需要乘以這個(gè)因子進(jìn)行轉(zhuǎn)換。

  • Offset:偏移量,表示數(shù)值需要加上這個(gè)偏移量進(jìn)行轉(zhuǎn)換。

  • Minimum:參數(shù)的最小值。

  • Maximum:參數(shù)的最大值。

  • Calculate minimum and maximum:點(diǎn)擊這個(gè)按鈕可以計(jì)算最小值和最大值。

  • Value Table:值表的名稱,當(dāng)前為空,表示沒有關(guān)聯(lián)的值表。


這些參數(shù)共同定義了一個(gè)8位有符號(hào)整數(shù)的LED信號(hào)參數(shù),包括其長(zhǎng)度、字節(jié)順序、數(shù)據(jù)類型、初始值、比例因子、偏移量、最小值和最大值。


CAN報(bào)文信號(hào)創(chuàng)建成功如下所示:


圖片

根據(jù)需要可以創(chuàng)建多個(gè)信號(hào)。


6


將報(bào)文和信號(hào)關(guān)聯(lián)

雙擊報(bào)文,進(jìn)入報(bào)文界面,切換到Signals欄,點(diǎn)擊Add將信號(hào)添加到報(bào)文中。


圖片


如果CAN報(bào)文DLC設(shè)置得比添加進(jìn)去的信號(hào)所占的字節(jié)數(shù)多,就會(huì)彈出這個(gè)窗口,點(diǎn)擊否(N)即可,如果點(diǎn)擊是(Y),系統(tǒng)會(huì)修改這條CAN報(bào)文的長(zhǎng)度為剛剛添加進(jìn)去的信號(hào)所占的字節(jié)數(shù)。


圖片


添加完成后如下圖所示,右邊會(huì)列出這個(gè)報(bào)文里所有的信號(hào),以及信號(hào)所占的字節(jié)和起始位。


圖片


如果設(shè)置信號(hào)在CAN報(bào)文中的起始位和位置,雙擊信號(hào),在Startbit處修改起始位。


圖片


也可以在這條CAN報(bào)文的Layout中通過鼠標(biāo)拖動(dòng)修改信號(hào)所處的位置。


雙擊左側(cè)CAN報(bào)文,在彈出的窗口中點(diǎn)擊Layout,鼠標(biāo)按住方框中標(biāo)記的信號(hào)拖動(dòng)即可改變信號(hào)所在的位置。


圖片


6


設(shè)置CAN報(bào)文發(fā)送者和接收者

雙擊節(jié)點(diǎn)ECU1,在Mapped RX Sig中添加需要接收的報(bào)文中的信號(hào),在Tx message中添加該節(jié)點(diǎn)發(fā)送的報(bào)文。


圖片


圖片


圖片


此時(shí)我們展開左側(cè),可以看到ECU1節(jié)點(diǎn)已經(jīng)有了對(duì)應(yīng)的發(fā)送和接收?qǐng)?bào)文以及信號(hào)。


圖片


以上就是如何在CANoe中新建和使用CAN DataBase(DBC文件)的基本步驟。通過這些步驟,你可以創(chuàng)建一個(gè)簡(jiǎn)略版的CAN DBC。 


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: CANoe

技術(shù)專區(qū)

關(guān)閉