基于VC++的發(fā)動機(jī)ECU測試系統(tǒng)的研究與設(shè)計(jì)
2.1 信號模擬
信號模擬是為發(fā)動機(jī)ECU產(chǎn)生各種必要的模擬信號,這些信號等效于汽車傳感器在不同工況下的輸出信號。系統(tǒng)提供兩種生成這些信號所需要數(shù)據(jù)的方法可供選擇。一種是由手動設(shè)置給出,一種是選擇關(guān)聯(lián)設(shè)置。關(guān)聯(lián)時,秒表開始計(jì)時,各信號參數(shù)根據(jù)汽車動力學(xué)在后臺計(jì)算。
2.2 信號采集和分析
系統(tǒng)采集發(fā)動機(jī)ECU的輸出信號,得到一組相關(guān)的測試數(shù)據(jù),根據(jù)采集的數(shù)據(jù)繪制發(fā)動機(jī)ECU噴油脈沖信號和點(diǎn)火控制信號。還可以根據(jù)發(fā)動機(jī)ECU的輸出信號計(jì)算出頻率、峰-峰值、脈沖寬度、占空比等物理參數(shù),給出發(fā)動機(jī)ECU的噴油時間、噴油量相對變化率、點(diǎn)火提前角等工作參數(shù)。
2.3 數(shù)據(jù)交換實(shí)現(xiàn)方法
計(jì)算機(jī)通過串行口向發(fā)動機(jī)ECU發(fā)送數(shù)據(jù),采集到ECU噴油和點(diǎn)火輸出信號,通過串行口將這些數(shù)據(jù)傳給計(jì)算機(jī)。計(jì)算機(jī)接收數(shù)據(jù)并繪制圖形。
計(jì)算機(jī)根據(jù)應(yīng)采集數(shù)據(jù)個數(shù)收集數(shù)據(jù),編制成固定格式再發(fā)送。采集的數(shù)據(jù)存放在一個整型數(shù)組里,再轉(zhuǎn)換成VARIANT數(shù)據(jù)類型,計(jì)算機(jī)通過串口將這些數(shù)據(jù)發(fā)送到發(fā)動機(jī)ECU中。
數(shù)據(jù)格式:標(biāo)識參數(shù)名+數(shù)據(jù)+標(biāo)識參數(shù)名+數(shù)據(jù)……標(biāo)識參數(shù)名+數(shù)據(jù)。
每兩位表示一個量,前一位指明參數(shù),后一位給出數(shù)值。
2.4 測試軟件的主工作界面
幾乎所有的Windows應(yīng)用程序都要借助于對話框來和用戶交流,本測試系統(tǒng)也是如此。對話框是Windows應(yīng)用程序中常見的元素之一,是用戶與應(yīng)用程序進(jìn)行交互的最簡單且最常用的方式之一。一個完整的對話框主要是由對話框資源和對話框類構(gòu)成,所以創(chuàng)建一個對話框就是創(chuàng)建對話框資源和對話框類的過程。創(chuàng)建對話框資源包括添加對話框模板、修改對話框?qū)傩?,并在對話框中添加各種控件;創(chuàng)建對話框類包括添加控件變量和添加控件消息處理函數(shù)。
界面設(shè)計(jì)要遵循簡單直觀的原則,這樣操作人員用起來才會得手,減少求助,提高工作效率。本程序的編寫和調(diào)試采用的是Microsoft公司的VisualC++軟件。
測試系統(tǒng)的主界面如圖4所示,各種控制參數(shù)都很直觀的顯示出來,用戶可以直接對一些主要控制參數(shù)做連續(xù)調(diào)整,操作方便。本文引用地址:http://butianyuan.cn/article/161255.htm
2.5 串口通信參數(shù)設(shè)置
要實(shí)現(xiàn)計(jì)算機(jī)串行通信的功能,一種較為簡便的方法是使用MSComm(Microsoft Communication Control)通信控件,它提供了標(biāo)準(zhǔn)的事件處理函數(shù)過程,是微軟公司開發(fā)的專門用于串行通信的控件。它是高級語言編寫的串行通信程序和PC串口之間的橋粱。本系統(tǒng)采用得就是這種方法。設(shè)置控件的屬性。添加控件的響應(yīng)代碼。就可以使串口按照要求進(jìn)行工作。在這個界面,可以進(jìn)行串口號和波特率的設(shè)置。通信參效設(shè)置界面如圖5所示。
評論