梁 浩
(華北水利水電大學,河南 鄭州 450045)
近20年來,隨著現(xiàn)代電子的快速發(fā)展,大量的電子元器件在汽車上被廣泛應用。為了滿足汽車各個子系統(tǒng)對汽車運行參數的共享和實時性的要求,CAN總線逐漸成為當代汽車普遍使用的總線協(xié)議。
本監(jiān)控系統(tǒng)由一塊CAN卡(沈陽廣成 USBCAN-Ⅱ)和PC機組成,PC機里裝有基于LabVIEW開發(fā)的應用軟件。通過數據線的連接,PC機可以對汽車發(fā)動機運行參數數據的接收和發(fā)送,從而實現(xiàn)用戶對汽車發(fā)動機運行參數的監(jiān)控。如圖1所示。
圖1 系統(tǒng)硬件組成
監(jiān)控系統(tǒng)的軟件設計是基于LabVIEW平臺。LabVIEW是一種程序開發(fā)環(huán)境,由美國國家(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,顯著特點是:不需要采用基于文本的語言代碼,使用的是圖形化編輯語言G編寫程序,產生的程序是框圖的形式。
汽車數據采集監(jiān)控系統(tǒng)主要包括以下功能:
1)從車輛的ECU接收發(fā)動機運行狀態(tài)參數;
2)對接收到的狀態(tài)參數進行解讀,以數字,圖表等形式顯示;
3)根據用戶需要,對發(fā)動機狀態(tài)運行參數進行修正,發(fā)送指令給車輛ECU;
以上3個功能只需隨軟件運行時打開主程序,兩個并列的While結構中運行數據接收程序和數據發(fā)送程序。其中,在數據接收子程序后要添加一個條件結構對接收到的數據進行解讀顯示;在數據發(fā)送程序中添加事件結構,監(jiān)控控件動作變化。當然,只有在主程序不報錯的情況下,其余程序才能順利進行。軟件程序結構如圖2所示。
圖2 軟件程序結構
沈陽廣成科技的USBCAN-Ⅱ產品提供了Ecan動態(tài)庫,這個動態(tài)庫里包括了大量的動態(tài)函數,通過驅動文件Control CAN.dll導出,可以作為LabVIEW的VI調用,從而實現(xiàn)對USBCAN-Ⅱ的打開、初始化設置等操作。
2.2.1 主程序
軟件系統(tǒng)中的基礎是主程序,只有主程序打開 CAN卡初始化后,CAN通信正常,其它的子程序才能順利進行,而主程序包括:打開CAN卡、初始化CAN卡、CAN通信打開,啟動子程序等。為了提高軟件的運行效率,打開 CAN卡后,只需進行一次初始化,隨后的數據操作都是在數據發(fā)送和數據接收中進行,所以對主程序使用了平鋪結構,只要CAN通信打開后,CAN卡不再進行初始化,這樣既可以保證CAN卡順利打開,又可以保證CAN通信的正常運行。
2.2.2 數據接收程序
VCI_Receive是CAN卡的接收函數,在LabVIEW中使用調用庫函數的指令進行調用。通過設置timing0和timing1可以設置CAN通信的波特率。而CAN_OBJ結構體表示幀的數據結構。在接收函數Receive中被用來傳送CAN信息幀。
2.2.3 數據解讀程序
VCI_Receive函數的輸出量是以結構體形式的數組,故需要調用 LabVIEW 中“簇”將其解壓,將數據從結構體中釋放出來,再根據 ID將具體的數據進行解壓和顯示。在顯示過程中調用了選擇結構,將根據 ID的不同將不同的數據以不同的方式解讀和顯示。
2.2.4 數據發(fā)送程序
VCI_Transmit是CAN卡的發(fā)送函數,由于數據發(fā)送程序是在一個While結構中,所以在While結構中加入了事件結構,由事件發(fā)生源作為While結構的觸發(fā)事件,這樣就可以減少數據發(fā)送程序的不必要運行,同時保證數據發(fā)送指令的即時執(zhí)行。而數據自動填充報文是在事件結構中進行,并且使用了局部變量將得到的報文以結構體的形式發(fā)出,實現(xiàn)CAN通信的發(fā)送。
汽車數據采集監(jiān)控系統(tǒng)是通過PC機和CAN卡的連接且可以正確接收和發(fā)送報文實現(xiàn)的,進而可以實現(xiàn)對發(fā)動機運行參數的檢測和控制。在軟件的試驗過程中,將 CAN卡與發(fā)動機 ECU通過雙絞線連接,實現(xiàn)發(fā)動機和監(jiān)控系統(tǒng)的通信,從而驗證軟件的實用性。
本監(jiān)控系統(tǒng)運行后,會直接顯示系統(tǒng)的運行,如圖3所示:
圖3 系統(tǒng)運行界面
圖中為試驗過程中系統(tǒng)的運行狀態(tài),均達到預期設計目的,運行穩(wěn)定。
在汽車試驗中,通過LabVIEW和CAN總線建立的汽車數據采集監(jiān)控系統(tǒng),可以實時監(jiān)測和控制車輛的運行參數,且通過試驗進行驗證。結果表明,系統(tǒng)運行穩(wěn)定、可靠,軟件操作簡單,達到預期設計目的。
參考文獻
[1] 沈陽廣成科技有限公司.接口函數庫(EcanVCI.dll)動態(tài)使用手冊[Z].2015.
[2] 周竹朋,王歡.基于 CAN總線的新能源汽車通信網絡設計[J].機電工程技術,2017.
[3] 鐘文浩.電動汽車CAN報文的解析及應用[J].汽車電器,2017.
[4] 王堃,奚煜.基于LabVIEW的CAN總線通信系統(tǒng)的設計與實現(xiàn)[J].工業(yè)控制計算機,2017.