999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CANoe的can總線通信模擬研究

2014-04-29 00:00:00徐雨晨
科技創(chuàng)新與應(yīng)用 2014年2期

摘 要:文章介紹基于CANoe環(huán)境,來模擬控制器與ECU控制單元在can總線上的數(shù)據(jù)通信過程。

關(guān)鍵詞:can總線;信號;消息;環(huán)境變量

1 引言

CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,在自動化領(lǐng)域的應(yīng)用非常廣泛,其特點是結(jié)構(gòu)簡單、成本低,但速度高、實時性和可靠性好。

CANoe是德國Vector公司開發(fā)的一款功能非常強大的CAN總線開發(fā)測試軟件,可以實現(xiàn)真實總線的實時監(jiān)控,半實物仿真和全虛擬總線的仿真。它包含CAN網(wǎng)絡(luò)數(shù)據(jù)庫編輯器CANdb++,虛擬節(jié)點CANPL語言編程,用戶自定義面板組件 Panel Generator以及一些集成的調(diào)試監(jiān)控組件,能滿足各種開發(fā)測試的需要。本文將介紹如何基于這些工具模擬CAN總線的數(shù)據(jù)通信,實現(xiàn)特定的一些功能。

2 CAN總線數(shù)據(jù)庫的設(shè)計

CANdb++是CANoe內(nèi)置的工具,用來描述CAN總線的一些對象,這些對象包括:(1)CAN節(jié)點。具體包括CAN總線網(wǎng)絡(luò)中所有節(jié)點的名稱以及通信ID。(2)信號signal。信號signal代表一種類型的變量,一般用消息中的一位或者幾位來表示。一般包含的主要信息有:startbit,即開始位;length,即這個變量的長度是多少位的。除此之外還有最大值最小值的設(shè)置等等。(3)消息Message。Message的實質(zhì)就是在CAN總線上通信的數(shù)據(jù)幀,一個Message包含的主要信息有:ID,表明這個數(shù)據(jù)幀是從哪個節(jié)點發(fā)出的;DLC,也就是數(shù)據(jù)幀的長度,即多少個字節(jié)(Byte);信號signal,一個消息一般含有一個或多個信號。(4)環(huán)境變量(environment variables)。環(huán)境變量是信號的另一個身份,用以在CANPL編程和Panel面板時進行變量綁定。

在使用CANdb++之前,首先需要在CANoe中建立一個CAN總線的節(jié)點網(wǎng)絡(luò)。將兩個虛擬節(jié)點分別命名為CAB和ECU,用來表示控制器單元和ECU單元。如圖1所示。

圖1

打開CANdb++,建立數(shù)據(jù)庫。其中重要的幾個項目是Environment variables,network nodes,Message和Signals。在CANdb++的左側(cè)欄可以查看。

首先建立兩個節(jié)點,分別為cab_node和ECU_node,然后建立兩個Message,分別表示CAB發(fā)給ECU的消息和ECU發(fā)給CAB的消息。根據(jù)我們實際采集的通信數(shù)據(jù),將兩個Message的ID分別設(shè)置為0x2A4和0x2A5(16進制),DLC設(shè)置為3,表示每個消息長度為3個字節(jié)。

然后再建立所需要的信號。根據(jù)需要,建立了5個信號,并將這5個信號都綁定到CAB_to_ECU這個消息上,每個信號長度為1bit,即都只占用CAB_to_ECU這個消息的1位。具體是第幾位根據(jù)采集的實際通信數(shù)據(jù)經(jīng)過分析可以得到,并做相應(yīng)的設(shè)置。最終建好的數(shù)據(jù)庫如圖2所示。

3 基于 Panel Desinger的界面設(shè)計

在CANoe的主界面中點擊file->open Panel Desinger即可打開Panel Designer組件。Panel Designer是一個很簡單易學(xué)的工具,通過拖拽控件和屬性設(shè)置即可完成界面的設(shè)計和變量的綁定。

ToolBox是各種常用的顯示控件,包括有按鈕,指示燈開關(guān),復(fù)選框,文本框,靜態(tài)文本等等。

通過拖拽ToolBox里的指示燈和靜態(tài)文本控件,我們建立一個如圖3所示的界面。

圖3

界面完成后,需要在Properties中進行一些設(shè)置。Display Only屬性表示是否只顯示,在這里可以設(shè)置為true,指示燈不需要進行操作,只需要讀取變量進行顯示;State Count 設(shè)置為2,表示只有兩個狀態(tài);Switch Value設(shè)置為0:1,表示指示燈只有0或1的取值;Symbol Filter設(shè)置為Environment Variables,然后點擊Symbol,會出現(xiàn)一個列表,一一綁定到數(shù)據(jù)庫中相應(yīng)的環(huán)境變量。完成之后點擊保存,保存好的文件為.xvp格式的文件。類似地設(shè)置CAB端的界面,并將所有控件與數(shù)據(jù)庫中相應(yīng)的環(huán)境變量綁定。

4 基于CANPL編程語言進行通信模擬

CANPL全稱為CAN Access Programming Language,是一種類C語言的編程語言,語法與C語言基本相同,不同的是,它是一種面向事件的編程語言,有自己特定的程序結(jié)構(gòu)。

CANPL的事件語句大體上分為三種,即總線事件,鍵盤事件,時間事件。

總線事件:on message Message{……} 表示接受到指定消息時執(zhí)行。

鍵盤事件:on key 'a'表示按鍵盤'a'時反應(yīng)。

時間事件:timer Mytimer 將Mytimer申明為以秒為單位的定時器;setTimer(Mytimer,20)表示將定時器設(shè)置為20秒間隔,并啟動。

通過編寫CANPL程序,實現(xiàn)CAB和ECU雙節(jié)點的數(shù)據(jù)通信,在Canoe的Trace版面下可以查看模擬過程中的實時數(shù)據(jù)。最終數(shù)據(jù)如圖4。

參考文獻

[1]史久根.CAN現(xiàn)場總線系統(tǒng)設(shè)計技術(shù),2004年.

[2]陳覺曉,孫澤昌.基于canoe的實時can總線數(shù)據(jù)紀(jì)錄軟件的設(shè)計方法[J].測控技術(shù),2006 vol25(2):45-47.

[3]CANoe Manual Verion 52.[R].Germany:Vector InformatikGmbH,2005.

作者簡介:徐雨晨(1990-),男,安徽省合肥市,同濟大學(xué)軟件工程專業(yè),碩士,研究方向:多媒體與虛擬現(xiàn)實。

主站蜘蛛池模板: 亚洲三级影院| 国产91麻豆视频| 亚洲第一成年人网站| 中文字幕在线免费看| 国产免费怡红院视频| 欧美成人免费| 色视频国产| 亚洲福利视频一区二区| 日韩在线观看网站| 狠狠亚洲婷婷综合色香| 无码AV动漫| 欧美黄网站免费观看| 亚洲九九视频| 中美日韩在线网免费毛片视频| 国产一区二区福利| 一本大道AV人久久综合| 欧美激情首页| 91亚洲影院| 青青草一区| 制服丝袜国产精品| 久久a毛片| 国产视频欧美| 欧美19综合中文字幕| 亚洲最新在线| 黄色网页在线观看| jizz国产视频| 久久天天躁狠狠躁夜夜2020一| 人人看人人鲁狠狠高清| 本亚洲精品网站| 91久久国产热精品免费| 欧美成人午夜视频免看| 色综合成人| 一本一本大道香蕉久在线播放| 亚洲美女久久| 亚洲三级色| 91小视频版在线观看www| 高清欧美性猛交XXXX黑人猛交| 高清色本在线www| 三区在线视频| 激情综合图区| 在线观看免费人成视频色快速| 午夜精品久久久久久久99热下载 | 免费高清自慰一区二区三区| 亚洲欧美天堂网| 这里只有精品在线播放| 亚洲无码视频一区二区三区 | 伊人久久久久久久| 国产00高中生在线播放| 在线中文字幕日韩| 国产簧片免费在线播放| 色婷婷视频在线| 精品久久777| 亚洲经典在线中文字幕| AV无码无在线观看免费| 亚洲欧美自拍中文| 一级黄色网站在线免费看| 日韩乱码免费一区二区三区| 亚洲中文字幕av无码区| 国产麻豆va精品视频| 高潮毛片免费观看| 亚洲精品大秀视频| 无码中文字幕加勒比高清| 国产xxxxx免费视频| 亚洲人网站| www.91在线播放| 国产门事件在线| 日本亚洲成高清一区二区三区| 精品一区国产精品| 人人爽人人爽人人片| 永久免费无码成人网站| 亚洲免费三区| 色网站在线免费观看| 国内精品久久人妻无码大片高| 国产精品99一区不卡| 国产精品高清国产三级囯产AV| 免费不卡在线观看av| 蜜桃视频一区二区三区| 国产AV毛片| 亚洲网综合| 思思热精品在线8| 秋霞午夜国产精品成人片| 毛片在线播放网址|