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

基于CANLib的商用車(chē)數(shù)據(jù)監(jiān)控軟件設(shè)計(jì)

2017-09-15 10:10:25趙米鵲蘇燁祁增祿
汽車(chē)實(shí)用技術(shù) 2017年15期

趙米鵲,蘇燁,祁增祿

(陜西重型汽車(chē)有限公司,陜西 西安 710200)

基于CANLib的商用車(chē)數(shù)據(jù)監(jiān)控軟件設(shè)計(jì)

趙米鵲,蘇燁,祁增祿

(陜西重型汽車(chē)有限公司,陜西 西安 710200)

文章基于瑞典Kvaser公司的USB-CAN適配卡Kvaser Leaf Light HS,使用開(kāi)發(fā)工具包CANLib設(shè)計(jì)了一款CAN總線數(shù)據(jù)監(jiān)控軟件,用于采集和分析使用CAN總線技術(shù)的商用車(chē)的底盤(pán)運(yùn)行數(shù)據(jù)。

商用車(chē);CANLib;數(shù)據(jù)監(jiān)控;CAN總線

CLC NO.:U462.1 Document Code: A Article ID: 1671-7988 (2017)15-104-03

引言

隨著電子和計(jì)算機(jī)技術(shù)的不斷發(fā)展,以及用戶對(duì)汽車(chē)安全性、智能性、操控性和舒適性要求的不斷提高,越來(lái)越多的電子控制單元在汽車(chē)行業(yè)得到應(yīng)用。由于可以保證不同單元之間良好的信息傳輸,并且能有效減少整車(chē)的線束布置,CAN總線技術(shù)業(yè)已得到廣泛應(yīng)用。本文針對(duì)使用CAN總線技術(shù)的某重卡底盤(pán),詳細(xì)闡述了使用CANLib開(kāi)發(fā)數(shù)據(jù)監(jiān)控軟件的方法和原理,能夠方便的實(shí)現(xiàn)對(duì)重卡底盤(pán)數(shù)據(jù)的采集與分析。

1 CAN總線技術(shù)及其網(wǎng)絡(luò)架構(gòu)

CAN是控制器局域網(wǎng)(Controller Area Network)的縮寫(xiě),是一種高性能、高可靠性、易開(kāi)發(fā)、強(qiáng)靈活性和低成本的通信總線。由Bosch公司于1986年首次提出,常用于汽車(chē)的監(jiān)測(cè)和控制。

CAN總線基于ISO-OSI七層網(wǎng)絡(luò)框架,但標(biāo)準(zhǔn)協(xié)議中僅定義了物理層和數(shù)據(jù)鏈路層的規(guī)范,因此在項(xiàng)目中應(yīng)用CAN總線還需定義上層協(xié)議,即通信數(shù)據(jù)格式和控制單元之間交換數(shù)據(jù)時(shí)遵守的規(guī)則[1]。目前,在商用車(chē)領(lǐng)域主要應(yīng)用美國(guó)汽車(chē)工程學(xué)會(huì)(SAE)提出的J1939協(xié)議,為整車(chē)CAN總線提供了應(yīng)用定義、故障診斷和網(wǎng)絡(luò)管理等標(biāo)準(zhǔn)體系結(jié)構(gòu)。

目前,使用CAN總線技術(shù)的商用車(chē),其網(wǎng)絡(luò)架構(gòu)按復(fù)雜程度可以分為單網(wǎng)絡(luò)架構(gòu)和多網(wǎng)絡(luò)架構(gòu)[2]。單網(wǎng)絡(luò)架構(gòu)指使用CAN總線連接底盤(pán)總成中的各種控制單元,用于收集車(chē)輛運(yùn)行的各種信息,通過(guò)儀表顯示并由用戶進(jìn)行反饋操作。多網(wǎng)絡(luò)架構(gòu)則是將整車(chē)電控單元?jiǎng)澐譃閯?dòng)力、車(chē)身、儀表和控制等多個(gè)CAN網(wǎng)段,不同的網(wǎng)段采用不同的通信速率,網(wǎng)段之間的信息交互通過(guò)網(wǎng)關(guān)協(xié)調(diào),最終可以有效提升整車(chē)的信息化和智能化水平。

本文開(kāi)發(fā)的數(shù)據(jù)監(jiān)控軟件,主要用于觀測(cè)動(dòng)力CAN中油門(mén)、制動(dòng)和轉(zhuǎn)向等電控單元發(fā)出的信號(hào)和數(shù)據(jù)。整個(gè)網(wǎng)段基于CAN2.0B,使用SAE J1939協(xié)議,通信速率500kb/s。

2 基于CANLib的軟件設(shè)計(jì)

2.1 CAN通信適配卡選型

將PC機(jī)作為監(jiān)控節(jié)點(diǎn)連接到CAN總線中,需要CAN總線適配卡[3]。本文采用瑞典Kvaser公司生產(chǎn)的USB-CAN適配卡Kvaser Leaf Light HS。該適配卡是CAN總線全速USB接口,硬件成本較低,同時(shí)支持CAN標(biāo)準(zhǔn)幀和擴(kuò)展幀格式,可提供無(wú)損耗的報(bào)文接收,還可進(jìn)行精確度為100μs的時(shí)間戳傳輸[4]。由于動(dòng)力CAN中最快報(bào)文周期為10ms,因此該適配卡非常適合用作總線數(shù)據(jù)監(jiān)控的硬件工具。

2.2 CANLib簡(jiǎn)介

CANLib是基于Kvaser適配卡的開(kāi)發(fā)工具包,含有基于CAN接口軟件開(kāi)發(fā)所需的全部資源,支持的操作系統(tǒng)包括Windows和Linux,支持的開(kāi)發(fā)語(yǔ)言包括C/C++、C#、Delphi 和Python等。另外,CANLib還支持虛擬的CAN總線通道,可以在沒(méi)有硬件支持的情況下,實(shí)現(xiàn)對(duì)軟件功能的測(cè)試。

2.3工程配置

本文使用C#語(yǔ)言開(kāi)發(fā)數(shù)據(jù)監(jiān)控軟件,首先需要對(duì)Visual Studio建立的工程進(jìn)行配置,才能正確使用CANLib。具體步驟如下:

1)創(chuàng)建新工程,開(kāi)發(fā)語(yǔ)言選擇C#,應(yīng)用框架選擇.NET Framework4.0。

2)在軟件開(kāi)發(fā)之前,必須安裝Visual C++可再發(fā)行組件包。這是因?yàn)镃ANLib庫(kù)文件為C++語(yǔ)言編寫(xiě),必須由該組件包支持才能在.NET平臺(tái)運(yùn)行。

3)設(shè)置工程屬性,指定程序的目標(biāo)平臺(tái),這里選擇“x86”表示32位應(yīng)用程序。這是由于CANLib的庫(kù)文件與平臺(tái)相關(guān),若不指定平臺(tái)將導(dǎo)致代碼無(wú)法編譯。

4)為工程添加引用的庫(kù)文件。若CANLib使用默認(rèn)安裝路徑,則根據(jù)應(yīng)用框架和目標(biāo)平臺(tái)的不同,有不同的引用路徑,如表1所示。

表1 CANLib庫(kù)的引用路徑

在正確配置工程之后,即可調(diào)用其中的API函數(shù)進(jìn)行程序設(shè)計(jì)。根據(jù)實(shí)現(xiàn)功能的不同,CANLib將API函數(shù)封裝在不同的dll文件中,如表2所示。

表2 dll文件的作用

2.4 軟件設(shè)計(jì)

2.4.1 主控流程

整個(gè)軟件按功能可分為總線監(jiān)控和數(shù)據(jù)處理兩大模塊。在對(duì)CANLib和硬件通道初始化完成之后,即可根據(jù)用戶需求監(jiān)控油門(mén)開(kāi)度、制動(dòng)深度和轉(zhuǎn)向角度等參數(shù),并可繪制實(shí)時(shí)曲線或?qū)?shù)據(jù)保存為Excel表格。控制流程如圖1所示。

圖1 監(jiān)控軟件的控制流程

2.4.2 配置并打開(kāi)CAN總線

代碼中主要使用CANLib類(lèi)中定義的相關(guān)方法完成對(duì)總線的配置和操作。其中配置并打開(kāi)CAN總線的具體流程如下:

1)調(diào)用函數(shù)static void canInitializeLibrary(void)初始化CANLib和設(shè)備驅(qū)動(dòng)。

2)調(diào)用函數(shù)static int canOpenChannel(int channel, int flag)打開(kāi)相應(yīng)CAN通道。設(shè)備通道號(hào)(從0開(kāi)始)為第一個(gè)參數(shù),打開(kāi)方式標(biāo)記為第二個(gè) 。若返回總線句柄handle,表示打開(kāi)通道正常,否則將返回故障碼。

3)canSetBusParams函數(shù)用于配置CAN總線參數(shù)。當(dāng)總線速率為500kb/s時(shí),函數(shù)的調(diào)用方式為canSetBusParams ( handle, Canlib.canBITRATE_500K, 0, 0, 0, 0, 0 )。若返回預(yù)定義的總線狀態(tài)canOK時(shí),表示配置參數(shù)完成,否則將返回故障碼。

4)canBusOn函數(shù)用于打開(kāi)CAN總線,輸入?yún)?shù)為總線句柄handle,返回值為canOK或故障碼。

2.4.3 監(jiān)控并處理數(shù)據(jù)

正確配置并打開(kāi)CAN總線之后,適配卡將自動(dòng)開(kāi)始讀取總線報(bào)文,并將內(nèi)容存儲(chǔ)在緩沖區(qū)中。軟件通過(guò)與設(shè)備驅(qū)動(dòng)進(jìn)行通信,可獲取對(duì)應(yīng)的報(bào)文及其數(shù)據(jù),從而實(shí)現(xiàn)對(duì)底盤(pán)運(yùn)行數(shù)據(jù)的監(jiān)控。

通過(guò)函數(shù)canRead讀取報(bào)文數(shù)據(jù),調(diào)用方式為canRead (handle, &id, data, &dlc, &flags, ×tamp)。其中handle為總線句柄,id、dlc為讀取報(bào)文的ID和數(shù)據(jù)域長(zhǎng)度指針,data為接收數(shù)據(jù)創(chuàng)建的數(shù)組名,flags、timestamp為指定幀格式和時(shí)間戳的指針。這樣即可將報(bào)文中的數(shù)據(jù)存儲(chǔ)至data數(shù)組中。

根據(jù)獲取的數(shù)據(jù),使用第三方繪圖控件ZedGraph實(shí)現(xiàn)該功能,流程如圖2所示。

圖2 實(shí)時(shí)曲線繪制流程

保存數(shù)據(jù)使用第三方組件NPOI實(shí)現(xiàn)。該組件提供了工作簿類(lèi)HSSFWorkbook、工作表類(lèi)ISheet、單元行類(lèi)IRow和單元格類(lèi)ICell,相關(guān)的方法可以簡(jiǎn)單實(shí)現(xiàn)對(duì)Excel表格的讀寫(xiě),并且可以在沒(méi)有安裝Office的PC上運(yùn)行。流程如圖3所示。

圖3 數(shù)據(jù)保存流程

2.4.4 退出并關(guān)閉CAN總線

在關(guān)閉程序之前,必須先關(guān)閉CAN總線并釋放總線句柄,具體流程如下:

1)canBusOff函數(shù)用于關(guān)閉CAN總線,輸入?yún)?shù)為總線句柄handle,返回值為canOK或故障碼。

2)canClose函數(shù)用于釋放總線句柄,輸入?yún)?shù)和返回值同canBusOff。

2.5 應(yīng)用效果

在對(duì)某重卡裝配的電控液壓轉(zhuǎn)向器做轉(zhuǎn)向助力測(cè)試時(shí),將轉(zhuǎn)向盤(pán)打至左右極限,從轉(zhuǎn)向器返回的報(bào)文數(shù)據(jù)中讀取轉(zhuǎn)角和轉(zhuǎn)矩值,繪制曲線如圖4所示。

觀察曲線可以判斷,轉(zhuǎn)向器左側(cè)極限為891°,右側(cè)極限為952°,并且在左轉(zhuǎn)至550°時(shí)扭矩達(dá)到最大值。

根據(jù)結(jié)果可知,當(dāng)轉(zhuǎn)角較小時(shí),該轉(zhuǎn)向器的助力特性較好。而當(dāng)轉(zhuǎn)角較大時(shí),助力力矩稍有欠缺,因此應(yīng)檢查此時(shí)的機(jī)械連接。

圖4 轉(zhuǎn)角-轉(zhuǎn)矩曲線

3 結(jié)語(yǔ)

本文研究了基于Kvaser USB-CAN適配卡,使用CANLib開(kāi)發(fā)工具包,設(shè)計(jì)總線數(shù)據(jù)監(jiān)控軟件的方法。與普遍使用的CANoe系列工具相比,本方法硬件成本較低,可使用CANLib開(kāi)發(fā)自定義功能的上位機(jī)軟件,使用簡(jiǎn)單便捷。在某商用車(chē)底盤(pán)測(cè)試中的應(yīng)用證明,本方法開(kāi)發(fā)的軟件功能穩(wěn)定、實(shí)時(shí)高效,因此具有較高的推廣價(jià)值。

[1] 俞燚,崔振亞.某重卡CAN總線控制系統(tǒng)的設(shè)計(jì)[J].汽車(chē)實(shí)用技術(shù).2014.3.

[2] 李安,楊立慧.CAN總線應(yīng)用說(shuō)明[J].客車(chē)長(zhǎng)廊.2015.02.

[3] 陶永進(jìn).CAN總線測(cè)控系統(tǒng)的上位機(jī)節(jié)點(diǎn)設(shè)計(jì)[J].微計(jì)算機(jī)信息.2009.25(4-1).

[4] Kvaser AB.Kvaser Leaf User Guide[M].2015:17-19.

The design of data monitoring software for commercial vehicle based on CANLib

Zhao Mique, Su Ye, Qi Zenglu
( Shaan xi Heavy-Duty Automobile Co, Ltd, Shaanxi Xi'an 710200)

In this paper, based on the USB-CAN hardware Kvaser Leaf Light HS, the product of Swedish company Kvaser, use the CANLib SDK to design a data monitoring software for CAN bus. It can be used to collect and analyse the data of chassis for commercial vehicle.

Commercial Vehicle; CANLib; Data Monitor; CAN Bus

U462.1

A

1671-7988 (2017)15-104-03

趙米鵲,就職于陜西重型汽車(chē)有限公司。

10.16638/j.cnki.1671-7988.2017.15.038

主站蜘蛛池模板: 在线不卡免费视频| 欧美在线视频a| 毛片视频网| 伊人久综合| 国产女人在线| 欧美综合区自拍亚洲综合天堂| 啪啪国产视频| 三区在线视频| 亚洲第一极品精品无码| 精品福利网| 一级香蕉视频在线观看| 婷婷综合在线观看丁香| 国产乱人乱偷精品视频a人人澡| 欧美区一区二区三| 性色一区| 99精品在线看| 亚洲色欲色欲www在线观看| 国产成人av一区二区三区| 狠狠操夜夜爽| 国产呦精品一区二区三区下载 | 国产二级毛片| 久久久久久久久18禁秘| 精品无码一区二区在线观看| 国产欧美日韩另类精彩视频| 青青热久麻豆精品视频在线观看| 国产亚卅精品无码| 色屁屁一区二区三区视频国产| 天堂成人在线| 91在线一9|永久视频在线| 亚洲AV色香蕉一区二区| 网友自拍视频精品区| 日韩 欧美 国产 精品 综合| 成人小视频网| 欧美国产视频| 亚洲第一极品精品无码| 国产成人精品无码一区二| 91精品专区| 极品私人尤物在线精品首页| 国产农村妇女精品一二区| 久久久久亚洲Av片无码观看| 精品一区二区三区波多野结衣 | 国产精品亚欧美一区二区| 天天躁日日躁狠狠躁中文字幕| 国产97视频在线观看| 国产凹凸一区在线观看视频| 一本大道无码日韩精品影视| 国产主播在线一区| 这里只有精品在线| 久久精品视频一| 亚洲精选无码久久久| 伊人久久大线影院首页| 在线色国产| 特级精品毛片免费观看| 亚洲精品在线91| 在线观看无码av五月花| 伊人久久福利中文字幕| 国产精品99久久久久久董美香| 亚洲欧美精品在线| 亚洲人妖在线| 欧美成人免费一区在线播放| 亚国产欧美在线人成| 欧美精品导航| 国产高清在线丝袜精品一区| 白浆视频在线观看| 中文无码精品A∨在线观看不卡 | 亚洲综合极品香蕉久久网| 亚洲成人动漫在线| 久久综合色天堂av| 中国一级特黄大片在线观看| yjizz视频最新网站在线| 97超级碰碰碰碰精品| 热思思久久免费视频| 波多野结衣一区二区三区AV| 久久久久亚洲av成人网人人软件| 久久伊伊香蕉综合精品| 99热国产在线精品99| 久久国产香蕉| 国产成人午夜福利免费无码r| 国产区成人精品视频| 青草视频网站在线观看| 日韩欧美在线观看| 色综合天天操|