Builder的自動(dòng)變速器電控單元實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)_第1頁
Builder的自動(dòng)變速器電控單元實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)_第2頁
Builder的自動(dòng)變速器電控單元實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)_第3頁
Builder的自動(dòng)變速器電控單元實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)_第4頁
Builder的自動(dòng)變速器電控單元實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于C+ Builder的自動(dòng)變速器電控單元實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)羅君贇 周凡華 邱緒云 吳小清(同濟(jì)大學(xué) 汽車仿真技術(shù)研究所,上海 200092)【摘要】本文闡述了基于Borland C+ Builder開發(fā)的自動(dòng)變速器電控單元(ECU)實(shí)車試驗(yàn)的數(shù)據(jù)采集系統(tǒng),通過對(duì)系統(tǒng)硬件結(jié)構(gòu)、軟件編制核心步驟的描述,詳細(xì)介紹了系統(tǒng)的開發(fā)過程。本數(shù)據(jù)采集系統(tǒng)為自動(dòng)變速器電控單元的開發(fā)提供了重要的測試平臺(tái)。 【關(guān)鍵詞】C+ Builder,電控單元,數(shù)據(jù)采集,液力自動(dòng)變速器中圖分類號(hào):TP274+.2文獻(xiàn)標(biāo)識(shí)碼:AData Acquisition System of ECU Measurement Based

2、 on C+ BuilderLUO Jun-yun, ZHOU Fan-hua, QIU Xu-yun, WU Xiao-qing(Institute of Automobile Simulation Technology, Tongji University, Shanghai, 200092, China)ABSTRACT: Based on C+ Builder, the data acquisition system which is used to measure the transmission ECU in a real vehicle is established in thi

3、s article. The hardware structure and the key steps of program are described. This data acquisition system is an important platform for the research and development of transmission ECU. KEYWORDS: C+ Builder, ECU, data acquisition system, automatic transmission1 引言液力自動(dòng)變速器是將車速和節(jié)氣門開度等車輛的狀態(tài)信號(hào)作為電控單元(ECU)

4、的輸入信號(hào),經(jīng)電控單元識(shí)別判斷處理后,根據(jù)換檔規(guī)律,發(fā)出信號(hào)給相應(yīng)電磁閥,利用電磁閥控制油壓回路,通過控制油路的通斷(ONOFF),使各檔的變速閥動(dòng)作,完成變速控制。圖1為自動(dòng)變速箱ECU開發(fā)的簡略技術(shù)路線圖。自動(dòng)變速器半實(shí)物仿真試驗(yàn)臺(tái)采用硬件在回路(hardware-in-loop)技術(shù)建立,該試驗(yàn)臺(tái)可模擬自動(dòng)變速器電子、液壓和與此對(duì)應(yīng)的車輛行駛狀態(tài),可比較全面的對(duì)電控單元進(jìn)行信號(hào)分析、多工況系統(tǒng)仿真,以此進(jìn)行ECU開發(fā)并獲得初步的換檔規(guī)律和控制策略。本文論述的電控單元實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)作為自動(dòng)變速器車載分析試驗(yàn)臺(tái)的核心部分,將采集與存儲(chǔ)實(shí)車運(yùn)行過程中ECU各輸入輸出信號(hào)。這樣可通過采集的

5、數(shù)據(jù)發(fā)現(xiàn)自開發(fā)ECU在功能性、換檔規(guī)律和換檔品質(zhì)等方面的缺陷,通過對(duì)得到的試驗(yàn)結(jié)果進(jìn)行相應(yīng)的分析,從而提出較好的控制策略,提出改進(jìn)方案。所以,開發(fā)出性能較好的電控單元實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)是對(duì)于整個(gè)ECU開發(fā)工作是必不可少的。圖12 數(shù)據(jù)采集系統(tǒng)硬件結(jié)構(gòu) 本數(shù)據(jù)采集系統(tǒng)硬件結(jié)構(gòu)框圖如圖2。數(shù)據(jù)采集系統(tǒng)采集的信號(hào)包括從自動(dòng)變速器ECU引出的所有輸入、輸出信號(hào)。這些信號(hào)主要有三種形式,即模擬信號(hào)、數(shù)字信號(hào)和脈沖信號(hào)。其中模擬信號(hào)和數(shù)字信號(hào)經(jīng)過幅值轉(zhuǎn)換等簡單的調(diào)理之后就可以分別引入數(shù)據(jù)采集卡的模擬信號(hào)輸入口和數(shù)字信號(hào)輸入口,而脈沖信號(hào)需經(jīng)過信號(hào)調(diào)理模塊中的F/V信號(hào)轉(zhuǎn)換電路將脈沖信號(hào)轉(zhuǎn)換為標(biāo)準(zhǔn)的電壓信

6、號(hào),然后作為模擬信號(hào)輸入來采集。研華公司的數(shù)據(jù)采集卡PCL-818L可以16通道單端模擬信號(hào)輸入采集,12位A/D轉(zhuǎn)換和16通道數(shù)字信號(hào)采集,加上PCL-726數(shù)據(jù)采集卡提供的數(shù)字信號(hào)輸入采集端口,能夠滿足系統(tǒng)的要求。最后使用工控機(jī)作為控制的主體,用以運(yùn)行數(shù)據(jù)采集程序。圖23 數(shù)據(jù)采集系統(tǒng)軟件程序的編制3.1數(shù)據(jù)采集程序流程圖 本程序采用Borland C+ Builder編寫,Borland C+ Builder以其豐富的可視化組件庫(VCL)而使程序的編寫顯得非常容易。根據(jù)要求,本系統(tǒng)采集程序的流程圖如圖3:圖3程序采集開始調(diào)用多媒體定時(shí)器給每次采集循環(huán)定時(shí)。由于自動(dòng)變速器ECU對(duì)各管腳信

7、號(hào)每25ms掃描一次,所以對(duì)于ECU實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng)的采樣頻率要求并不高,因此我們把多媒體定時(shí)器定時(shí)為10ms,即每10ms采集一組信號(hào)數(shù)據(jù),其中包括17個(gè)數(shù)字量、6個(gè)模擬量和2個(gè)經(jīng)過F/V轉(zhuǎn)換的頻率量,并完成數(shù)據(jù)存儲(chǔ)。3.2模擬量、數(shù)字量采集子函數(shù)在確定了采集程序的程序框圖和界面之后,就要著手編寫采集中最重要的兩個(gè)子函數(shù)了,即模擬量和數(shù)字量采集子函數(shù)。廠家提供的動(dòng)態(tài)連接庫(DLL)中包含了進(jìn)行數(shù)據(jù)采集操作的C/C+函數(shù),在C+Builder下可對(duì)這些函數(shù)進(jìn)行調(diào)用,就可以很方便的對(duì)數(shù)據(jù)采集系統(tǒng)進(jìn)行設(shè)置、采樣和數(shù)據(jù)處理。以下通過對(duì)模擬量的采集來概要說明。使用時(shí)先在程序中聲明,即把含有函數(shù)聲明

8、的.h文件包含在程序體中。然后利用項(xiàng)目管理器將包含函數(shù)實(shí)體的.lib文件加入到項(xiàng)目中。這樣在程序體中就可以調(diào)用其中的函數(shù)了,具體的模擬量數(shù)據(jù)采集子函數(shù)代碼如下:float readvoltage(int device,int channel) /參數(shù)為設(shè)備號(hào)、通道號(hào) /變量定義、說明等lDevNum=device;usChan=channel;dwErrCde = DRV_DeviceOpen(lDevNum, &lDriverHandle); /打開設(shè)備 if (dwErrCde != SUCCESS) ErrorHandler(dwErrCde);ptAIConfig.DasCha

9、n = usChan; /配置設(shè)備ptAIConfig.DasGain = 0;dwErrCde = DRV_AIConfig(lDriverHandle, &ptAIConfig);if (dwErrCde != SUCCESS)ErrorStop(&lDriverHandle, dwErrCde);ptAIVoltageIn.chan = usChan; /讀一個(gè)數(shù)據(jù)ptAIVoltageIn.gain = 0; ptAIVoltageIn.TrigMode = 0; ptAIVoltageIn.voltage = &fVoltage; dwErrCde = DRV

10、_AIVoltageIn(lDriverHandle, &ptAIVoltageIn);if (dwErrCde != SUCCESS)ErrorStop(&lDriverHandle, dwErrCde);dwErrCde = DRV_DeviceClose(&lDriverHandle); /關(guān)閉設(shè)備if (dwErrCde != SUCCESS)ErrorStop(&lDriverHandle, dwErrCde);return fVoltage; /返回采集數(shù)據(jù) 同理,數(shù)字量采集子函數(shù)也是類似的操作。3.3多媒體定時(shí)器由于多媒體定時(shí)器具有很好的實(shí)時(shí)性和較

11、高的優(yōu)先級(jí),最高定時(shí)可達(dá)1ms,所以我們這個(gè)數(shù)據(jù)采集系統(tǒng)采用多媒體定時(shí)器來定時(shí)。需要的系統(tǒng)資源為:#include <mmsystem.h>;在borland環(huán)境下首先需要將winmm.lib文件通過implib命令轉(zhuǎn)化為borland下的格式,然后將相應(yīng)的lib加到工程里。具體的多媒體定時(shí)器代碼如下:void start_timer(double m_time_val) /啟動(dòng)多媒體定時(shí)器,m_time_val的單位是秒TIMECAPS TC;UINT TIMERES=0; UINT TIMEID; m_time_val*=1000; int time_interval; tim

12、e_interval=(int)m_time_val; if(timeGetDevCaps(&TC,sizeof(TIMECAPS)!=TIMERR_NOERROR) exit(0);timeBeginPeriod(TIMERES); TIMEID=timeSetEvent(time_interval,TIMERES,&(LPTIMECALLBACK)callbackfunction,0,TIME_PERIODIC);g_TIMEID=TIMEID;void end_timer() /終止定時(shí)timeKillEvent(g_TIMEID);timeEndPeriod(0);vo

13、id WINAPI callbackfunction(UINT uID,UINT MSG,DWORD DWUSER,DWORD DW1,DWORD DW2) /在此函數(shù)中加入定時(shí)內(nèi)自己要做的內(nèi)容,本系統(tǒng)即要加入 /模擬量、數(shù)字量采集子函數(shù)的調(diào)用和存儲(chǔ)數(shù)據(jù)等語句首先調(diào)用void start_timer(double m_time_val)啟動(dòng)多媒體定時(shí)器,多媒體定時(shí)器將每隔一個(gè)時(shí)間間隔調(diào)用void WINAPI callbackfunction(UINT uID,UINT MSG,DWORD DWUSER,DWORD DW1,DWORD DW2)函數(shù),通過改變time_interval的值可以改

14、變時(shí)間間隔(time_interval的單位是毫秒),在定時(shí)結(jié)束時(shí)調(diào)用void end_timer()來終止定時(shí)。3.4存儲(chǔ)數(shù)據(jù)本數(shù)據(jù)采集系統(tǒng)還將把采集到的數(shù)據(jù)存儲(chǔ)起來,以便將來對(duì)這些數(shù)據(jù)進(jìn)行分析?,F(xiàn)在最常用的數(shù)據(jù)庫就是微軟的Access,而C+Builder對(duì)數(shù)據(jù)庫也有較好的操作,所以我們采取將數(shù)據(jù)存入Access的方案來實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)?;镜牟僮鞑襟E如下:l 使用ADO組件頁中的ADOTable組件來連接存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫。l 由于ADOTable組件只負(fù)責(zé)連接數(shù)據(jù)庫,無法取得數(shù)據(jù)庫文件內(nèi)的字段數(shù)據(jù),所以我們?nèi)缘檬褂肈ata Access組件頁中的DataSource組件來實(shí)現(xiàn),將它的Dat

15、aSet屬性指定為ADOTable1(即前一步驟加入的ADOTable組件名稱)。l 往數(shù)據(jù)庫存數(shù)據(jù)的過程即是新增記錄的過程,所以只需添加幾句簡單的語句:ADOTable1->Insert();ADOTable1->FieldValues"voltage1"=voltage1;ADOTable1->Post();首先調(diào)用Insert方法創(chuàng)建一個(gè)緩沖區(qū)(即成為編輯模式),接著進(jìn)行數(shù)據(jù)字段值的編輯,當(dāng)我們完成數(shù)據(jù)輸入的操作后,必須調(diào)用Post方法,或者將當(dāng)前的數(shù)據(jù)位置移到另一筆數(shù)據(jù)上,這樣才會(huì)將新增的記錄內(nèi)容寫入到數(shù)據(jù)庫。4 結(jié)論試驗(yàn)結(jié)果表明本文基于Borland C+ Builder開發(fā)的汽車自動(dòng)變速器電控單元(ECU)實(shí)車試驗(yàn)數(shù)據(jù)采集系統(tǒng),能夠滿足車載分析試驗(yàn)臺(tái)的要求,這為ECU的開發(fā)和優(yōu)化控制策略打下基礎(chǔ)。參考文獻(xiàn)1楊宗志. C+Builder數(shù)據(jù)庫程序設(shè)計(jì)M. 北京:清華大學(xué)出版社,20012潘旭峰,等. 現(xiàn)代汽車電子技術(shù)M. 北京:北京理工大學(xué)出版社,20013史惠康. Borland C+ Builder實(shí)用編程技術(shù)M. 北京:中國水利水電出版社,1999第一作者簡介:羅

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論