小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

CANoe 入門 Step by step系列(一)基礎(chǔ)應(yīng)用

 嗜書小遠(yuǎn) 2014-05-11

CANoe是Vector公司的針對(duì)汽車電子行業(yè)的總線分析工具,現(xiàn)在我用CANoe7.6版本進(jìn)行介紹,其他版本功能基本差不多。

硬件我使用的是CAN case XL.

1,CANoe軟件的安裝很簡(jiǎn)單,先裝驅(qū)動(dòng),再裝軟件。安裝完成,插上USB,連接硬件,這樣在控制面板中,Vector Hardware 進(jìn)行查看

image

通過查看信息可知,CANcaseXL中的兩個(gè)piggy,一個(gè)是251(高速CAN),一個(gè)是7269(LIN),另外常用的還有1054(低速CAN,或稱容錯(cuò)CAN),因?yàn)镃ANcaseXL中只能支持兩路通訊,這樣piggy可以自由組合

2,硬件連接正常,打開CANoe軟件

File->New Configuration 可以選擇新建工程的模版,我們這里選擇CAN_500kBaud.tcn,這樣新建了波特率為500K CAN工程,可以File->Save Configuration,進(jìn)行保存

3,接下來就要使用CAN db++ Editor工具對(duì)總線網(wǎng)絡(luò)節(jié)點(diǎn),消息,信號(hào),進(jìn)行定義了。

點(diǎn)擊工具欄的這個(gè)圖標(biāo)  tmp5B ,或 開始菜單中找這個(gè)工具啟動(dòng)

啟動(dòng)后,F(xiàn)ile->Create Database,選擇CANTemplate.dbc,選擇目錄及文件名,進(jìn)行保存

tmp5F

右鍵 Network nodes->New ,進(jìn)行網(wǎng)絡(luò)節(jié)點(diǎn)的定義,這里只需要填寫Name即可,例如:Node_A

然后添加Node_B,完成后如下圖,這樣在Network nodes目錄下面添加出來兩個(gè)節(jié)點(diǎn)

tmp66

節(jié)點(diǎn)添加完成后,下一步添加CAN消息,右鍵Messages->New,這是需要定義名稱,ID,DLC等信息,如下:

tmp6F

然后在Transmitters頁面,點(diǎn)擊Add按鈕,添加Node_A為發(fā)送節(jié)點(diǎn),意思就是說,此消息是從Node_A節(jié)點(diǎn)發(fā)送出來的

tmp6A

其實(shí)還有一種方法就是,此時(shí)暫時(shí)不定義發(fā)送節(jié)點(diǎn),然后直接以拖曳的方式拖曳到發(fā)送節(jié)點(diǎn)上,功能上是一樣的

有了消息,消息里攜帶的東西自然是信號(hào)咯,那么我們開始創(chuàng)建一個(gè)信號(hào)

右鍵Signals->New,填寫如下信息

tmp8C

信號(hào)當(dāng)然要放到消息中咯,切換到Messages頁面,Add 我們剛剛建立的Message_A,當(dāng)然和上面一樣,采用拖曳的方式從Signal到Message中建立關(guān)聯(lián)也是可以的。

tmp88

上面信息中Intel模式和Motorola格式的區(qū)別如下:

tmp8A

用0和1來表示開關(guān)信號(hào)狀態(tài)似乎還不是很直觀,我們可以使用on和off來表示就好了,于是View->Value Tables,右鍵空白處->New,鍵入如下信息:

tmp8E    tmp8F

定義好了之后,還需要跟信號(hào)進(jìn)行關(guān)聯(lián)。右鍵需要關(guān)聯(lián)的信號(hào)->Edit Signal,Value Table 中關(guān)聯(lián)剛才建立的那個(gè)Value Talbe項(xiàng)

tmp94

這樣一個(gè)信號(hào)就完成了,另外還需要加一個(gè)類似的信號(hào),可以點(diǎn)擊Signal根目錄,在右邊選擇Signal復(fù)制,及粘貼,然后雙擊復(fù)制好的Signal后,進(jìn)行一些編輯,然后用上面方法關(guān)聯(lián)Message即可快速建立第二個(gè)信號(hào)了,是不是很方便

繼續(xù)添加第三個(gè)信號(hào),Indicator_A,跟上面一樣,但是我這個(gè)信號(hào)想放在Message的第二個(gè)字節(jié)的位置,怎么辦?

其實(shí)很簡(jiǎn)單,有兩種方法:第一種,右鍵已經(jīng)關(guān)聯(lián)好的,即在Message目錄下的信號(hào),Edit mapped signal,在彈出的對(duì)話框中的Startbit中填8,這樣就這個(gè)信號(hào)就跑到該消息的第二個(gè)字節(jié)中了。第二種方法,右鍵該消息->Edit Message,在Layout頁面中,拖動(dòng)信號(hào)的色塊進(jìn)行移動(dòng)

tmp99

tmp9A

tmp9C

以上Message_A消息及消息下所定義已經(jīng)定義完成

tmp9E

如法炮制另外一個(gè)消息Message_B,完成后如下圖。

tmpA1

下面創(chuàng)建環(huán)境變量,右鍵Environment variables

tmpAF   tmpB7

陸續(xù)把其他環(huán)境變量加好,Indicator的Access屬性為Write哦,加完如下:

tmpB8

數(shù)據(jù)庫的定義這款基本上就OK了。保存后關(guān)閉CANdb++ Editor,回到CANoe主程序中。

請(qǐng)?jiān)贑onfiguration->Options->Configuration Settings->Channel Usage 設(shè)置使用的通訊通道,因?yàn)檫@個(gè)只需要1路CAN,其他都設(shè)置為0就可以。

點(diǎn)這個(gè)選項(xiàng)頁面tmpB9可出現(xiàn)Simulate Setup 界面

tmpBB

右鍵Databases->Add,把剛剛創(chuàng)建好的dbc給加載進(jìn)來,之后再連線上右鍵->Insert Network Node

image

結(jié)果如下:

tmpBC

右鍵這個(gè)ECU模塊->Configuration,在Network Node 選擇Node_A,完成,然后添加Node_B

tmpBD

完成后如下圖,這樣dbc與CANoe的關(guān)聯(lián)就好了。

tmpBE

4,界面設(shè)計(jì)

網(wǎng)絡(luò)及相應(yīng)的關(guān)系設(shè)置好之后,應(yīng)該設(shè)計(jì)界面了,一個(gè)良好的界面可以直觀的顯示及控制各種信號(hào)。

界面設(shè)計(jì)工具有兩種:一種是Panel Designer,新的界面設(shè)計(jì)工具,另外一種是Panel Editor是老的界面設(shè)計(jì)工具,無論采用何種工具設(shè)計(jì)的界面,都可以和CANoe很好的兼容,沒有問題。下面我們先用第一種界面設(shè)計(jì)工具來完成界面的設(shè)計(jì)

點(diǎn)擊工具欄的這個(gè)圖標(biāo)tmpE或File->Open Panel Designer,打開界面編輯器,界面如下:

tmp11

保存一下該界面,起名為Panel_A,一個(gè)空的界面上可以放置右上邊若干組件。放置好之后,選中界面上的組件的時(shí)候,右下側(cè)回顯示當(dāng)前選中的組件的屬性,可以更改相應(yīng)的大小位置等,但最重要的是Symbol屬性,這里要說一下,每個(gè)界面組件也都需要與CANoe關(guān)聯(lián),否則單純的界面是沒有任何意義的,關(guān)聯(lián)主要是信號(hào)和環(huán)境變量,在Symbol屬性的Symbol Filter屬性中可以進(jìn)行選擇,我們這里關(guān)聯(lián)的是環(huán)境變量,所以選擇Environment Variable,然后再點(diǎn)擊上面的Symbol屬性,然后在彈出的頁面中選擇相應(yīng)關(guān)聯(lián)的變量

tmp1F

完成后可以按同樣的方法設(shè)計(jì)Panel_B,也可以Save As 的方法快速建立同樣的Panel但是與環(huán)境變量的關(guān)聯(lián)和界面的文字需要進(jìn)行微調(diào)。這樣兩個(gè)Panel都已完成。也已經(jīng)建立了與CANoe之間的關(guān)聯(lián)。

5,CAPL編程

所有的前期準(zhǔn)備工作和組裝工作都已完成,現(xiàn)在需要編寫程序使整個(gè)系統(tǒng)有機(jī)的運(yùn)行起來。回到CANoe的Simulation Setup界面,然后點(diǎn)擊Node_A模塊的,像鉛筆一樣的圖標(biāo)tmp22,填寫程序名稱,這里Node_A,然后打開編程界面,完成以下程序。然后完成Node_B程序。小技巧:如果背不出具體的消息名稱,信號(hào)名稱或環(huán)境變量,可以右鍵程序空白處,你會(huì)得到意外的驚喜,試試看。

tmp3D

tmp3F

OK大功告成

6,運(yùn)行

現(xiàn)在點(diǎn)擊工具欄tmp40,運(yùn)行程序。注意:tmp41這里表示實(shí)際的網(wǎng)絡(luò),所有的消息是發(fā)送到物理的網(wǎng)絡(luò)上的,如果只是驗(yàn)證程序,設(shè)置成這樣就可以了tmp43

完整運(yùn)行結(jié)果如下:

tmp44

就是這樣,一步一步的,我們完成了第一個(gè)完整的CANoe應(yīng)用工程,雖然這只是入門第一步,但整個(gè)CANoe的開發(fā)流程基本涵蓋,如果能跑出上面的運(yùn)行結(jié)果,依然能夠給我們很多的驚喜。我們需要這樣的驚喜,因?yàn)檫@是我們繼續(xù)前行的動(dòng)力。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多