亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2017-09-15 10:10:25趙米鵲蘇燁祁增祿
        汽車實(shí)用技術(shù) 2017年15期
        關(guān)鍵詞:句柄商用車報(bào)文

        趙米鵲,蘇燁,祁增祿

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

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

        趙米鵲,蘇燁,祁增祿

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

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

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

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

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

        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]。目前,在商用車領(lǐng)域主要應(yīng)用美國汽車工程學(xué)會(huì)(SAE)提出的J1939協(xié)議,為整車CAN總線提供了應(yīng)用定義、故障診斷和網(wǎng)絡(luò)管理等標(biāo)準(zhǔn)體系結(jié)構(gòu)。

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

        本文開發(fā)的數(shù)據(jù)監(jiān)控軟件,主要用于觀測動(dòng)力CAN中油門、制動(dòng)和轉(zhuǎn)向等電控單元發(fā)出的信號和數(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ò)展幀格式,可提供無損耗的報(bào)文接收,還可進(jìn)行精確度為100μs的時(shí)間戳傳輸[4]。由于動(dòng)力CAN中最快報(bào)文周期為10ms,因此該適配卡非常適合用作總線數(shù)據(jù)監(jiān)控的硬件工具。

        2.2 CANLib簡介

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

        2.3工程配置

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

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

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

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

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

        表1 CANLib庫的引用路徑

        在正確配置工程之后,即可調(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ù)處理兩大模塊。在對CANLib和硬件通道初始化完成之后,即可根據(jù)用戶需求監(jiān)控油門開度、制動(dòng)深度和轉(zhuǎn)向角度等參數(shù),并可繪制實(shí)時(shí)曲線或?qū)?shù)據(jù)保存為Excel表格??刂屏鞒倘鐖D1所示。

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

        2.4.2 配置并打開CAN總線

        代碼中主要使用CANLib類中定義的相關(guān)方法完成對總線的配置和操作。其中配置并打開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)打開相應(yīng)CAN通道。設(shè)備通道號(從0開始)為第一個(gè)參數(shù),打開方式標(biāo)記為第二個(gè) 。若返回總線句柄handle,表示打開通道正常,否則將返回故障碼。

        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ù)用于打開CAN總線,輸入?yún)?shù)為總線句柄handle,返回值為canOK或故障碼。

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

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

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

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

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

        保存數(shù)據(jù)使用第三方組件NPOI實(shí)現(xiàn)。該組件提供了工作簿類HSSFWorkbook、工作表類ISheet、單元行類IRow和單元格類ICell,相關(guān)的方法可以簡單實(shí)現(xiàn)對Excel表格的讀寫,并且可以在沒有安裝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)用效果

        在對某重卡裝配的電控液壓轉(zhuǎn)向器做轉(zhuǎn)向助力測試時(shí),將轉(zhuǎ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é)語

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

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

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

        [3] 陶永進(jìn).CAN總線測控系統(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

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

        10.16638/j.cnki.1671-7988.2017.15.038

        猜你喜歡
        句柄商用車報(bào)文
        比亞迪商用車
        基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        商用車聯(lián)合制動(dòng)系統(tǒng)分析
        比亞迪商用車
        基于ADVISOR的燃料電池商用車動(dòng)力系統(tǒng)仿真
        CTCS-2級報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
        淺析反駁類報(bào)文要點(diǎn)
        中國外匯(2019年11期)2019-08-27 02:06:30
        高校圖書館持久標(biāo)識符應(yīng)用研究
        編譯程序語法分析句柄問題分析與探討
        ATS與列車通信報(bào)文分析
        无码人妻丰满熟妇啪啪7774| 亚洲综合一区二区三区蜜臀av| 国产美女白浆| 在线毛片一区二区不卡视频| 无码人妻少妇久久中文字幕| 亚洲成人av一区二区麻豆蜜桃| 亚洲国产剧情一区在线观看| 61精品人妻一区二区三区蜜桃| 国产360激情盗摄一区在线观看 | 一本大道无码av天堂| 极品熟妇大蝴蝶20p| 亚洲成AⅤ人在线观看无码| 国产精品久久久久孕妇| 九九久久精品大片| 人妻露脸国语对白字幕| 四季极品偷拍一区二区三区视频| 少妇人妻精品久久888| 少妇免费av一区二区三区久久| 国产精品久久免费中文字幕| 婷婷伊人久久大香线蕉av| 边喂奶边中出的人妻| 日韩人妻无码一区二区三区久久99| 日本一卡2卡3卡四卡精品网站| 精品国产sm捆绑最大网免费站| a级毛片毛片免费观看久潮喷| 亚洲日本va午夜在线电影| 欧美成人三级网站在线观看| 亚洲AV无码国产精品久久l| 国产大学生自拍三级视频| 久久精品久99精品免费| 成人网站在线进入爽爽爽| 97人妻碰碰视频免费上线| 少妇的丰满3中文字幕| 中文字幕乱偷乱码亚洲| 久久免费观看国产精品| 欧美日韩电影一区| 少妇一区二区三区乱码| 中文字幕亚洲乱码熟女1区2区| 国产一区二区三区白浆肉丝| 天堂免费av在线播放| 成人av毛片免费大全|