高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)軟件設(shè)計(jì)
摘要:介紹了基于CAN 總線的高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)的軟件設(shè)計(jì)。軟件采用Visual C++和I abVIEw 混合編程的方式,構(gòu)建了發(fā)動機(jī)仿真模型和硬件在環(huán)仿真系統(tǒng)用戶界面,實(shí)現(xiàn)了CAN總線通信和系統(tǒng)運(yùn)行數(shù)據(jù)的處理與記錄。在滿足實(shí)時(shí)性要求的同時(shí),本軟件為發(fā)動機(jī)ECU控制策略、控制功能以及工作可靠性的測試和評估提供了一個(gè)良好的平臺。
關(guān)鍵詞:內(nèi)燃機(jī);高壓共軌;柴油機(jī);ECU;硬件
在環(huán)仿真;CAN總線0 概述為了縮短開發(fā)周期、降低研發(fā)費(fèi)用,硬件在環(huán)仿真在發(fā)動機(jī)的開發(fā)過程中已有較多的應(yīng)用,如柴油機(jī)高壓共軌ECU 的開發(fā)_1],柴油機(jī)高壓共軌供油系統(tǒng)的開發(fā)_2],電控單體泵的開發(fā)口 等。目前的相關(guān)文獻(xiàn)較偏重于硬件在環(huán)仿真系統(tǒng)的硬件設(shè)計(jì),而對于系統(tǒng)軟件設(shè)計(jì)的描述較為簡略。本文主要介紹了高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)的軟件開發(fā)設(shè)計(jì)。
作為高壓共軌柴油機(jī)ECU 硬件在環(huán)仿真系統(tǒng)的一部分,系統(tǒng)軟件運(yùn)行于PC機(jī)中,實(shí)現(xiàn)了以下幾項(xiàng)功能:(1)構(gòu)建靈活友好的人機(jī)交互界面(用戶界面);(2)構(gòu)建高壓共軌柴油機(jī)仿真模型;(3)實(shí)現(xiàn)PC機(jī)、柴油機(jī)ECU和HIL—ECU(仿真ECU)三者之間的CAN總線通信;(4)操作數(shù)據(jù)采集卡測量噴油脈寬信號;(5)對系統(tǒng)運(yùn)行時(shí)的相關(guān)數(shù)據(jù)進(jìn)行保存。
1、硬件在環(huán)仿真系統(tǒng)架構(gòu)高壓共軌柴油機(jī)ECU 硬件在環(huán)仿真系統(tǒng)主要由高壓共軌柴油機(jī)ECU、控制箱、HIL—ECU、PC機(jī)以及其他一些外圍通信、測試設(shè)備組成,連接成為一個(gè)閉環(huán)的開發(fā)測試系統(tǒng)。
系統(tǒng)運(yùn)行時(shí),控制箱將模擬出發(fā)動機(jī)ECU工作所需的多種信號提供給ECU,包括溫度傳感器模擬信號、壓力傳感器模擬信號以及開關(guān)量模擬信號等;ECU也會產(chǎn)生一些開關(guān)量控制信號,來驅(qū)動控制箱上相應(yīng)的繼電器、指示燈及儀表。同時(shí),ECU 對噴油器電磁閥的驅(qū)動信號通過數(shù)據(jù)采集卡發(fā)送給PC機(jī),HII 一ECU也將采集控制箱產(chǎn)生的傳感器模擬信號發(fā)送給PC機(jī),PC機(jī)使用從兩個(gè)方面接收來的信號進(jìn)行發(fā)動機(jī)模型計(jì)算,計(jì)算出發(fā)動機(jī)的模擬轉(zhuǎn)速并通過HII ECU控制驅(qū)動電機(jī),帶動曲軸盤和凸輪盤轉(zhuǎn)動。進(jìn)一步地,發(fā)動機(jī)ECU將采集曲軸盤和凸輪盤的轉(zhuǎn)速信號,根據(jù)自身控制策略再產(chǎn)生對噴油器電磁閥的驅(qū)動信號,從而實(shí)現(xiàn)硬件在環(huán)仿真系統(tǒng)的閉環(huán)控制。
2、軟件用戶界面設(shè)計(jì)高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)的主程序使用LabVIEw 8.5來開發(fā)。用戶界面如圖2所示。其中包括軟件操作菜單、分頁標(biāo)簽、系統(tǒng)名稱、仿真顯示頁面和軟件運(yùn)行控制欄5個(gè)部分。
軟件操作菜單用來選擇文本文件以保存系統(tǒng)運(yùn)行時(shí)的相關(guān)數(shù)據(jù),或是選擇退出系統(tǒng)關(guān)閉軟件;分頁標(biāo)簽用來選擇仿真頁面1、仿真頁面2或是數(shù)據(jù)列表頁面其中之一作為仿真的主顯示頁面;仿真頁面1包括發(fā)動機(jī)轉(zhuǎn)速儀表、波形圖表、溫度信號、指示燈、繼電器以及開關(guān)信號。仿真頁面2包括壓力信號、霍爾(轉(zhuǎn)速)信號、噴油電磁閥驅(qū)動信號。數(shù)據(jù)列表頁面使用多列列表框來顯示系統(tǒng)運(yùn)行過程中的重要數(shù)據(jù)參數(shù);軟件運(yùn)行控制欄包括水平搖桿開關(guān)、數(shù)據(jù)文件保存路徑、數(shù)據(jù)保存按鈕、載入初始參數(shù)按鈕、啟動/停止程序運(yùn)行按鈕、系統(tǒng)退出按鈕,用以實(shí)現(xiàn)對軟件運(yùn)行的控制。
3、軟件程序設(shè)計(jì)
3.1 軟件程序架構(gòu)高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)軟件程序采用VC和Labview混合編程的方式來開發(fā)。
柴油機(jī)仿真模型在Visual C++ 6.0環(huán)境下采用C語言編寫。編寫好后的C程序?qū)⒈环庋b為D1 I s(dy—namic link libraries,動態(tài)鏈接庫),供I.abview調(diào)用。
系統(tǒng)軟件的主程序在Labview 8.5環(huán)境下采用G語言編寫。具體分為4個(gè)模塊:發(fā)動機(jī)仿真模型模塊;用戶界面模塊;數(shù)據(jù)采集卡模塊;CAN通信模塊。
3.2 軟件程序流程發(fā)動機(jī)硬件在環(huán)仿真系統(tǒng)的一個(gè)仿真循環(huán)不能太長,否則無法真實(shí)反映出發(fā)動機(jī)的動態(tài)響應(yīng)速度,從而影響系統(tǒng)的實(shí)時(shí)性,失去硬件在環(huán)仿真的意義。
為此,高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)軟件將采用Labview環(huán)境下的多線程技術(shù),其主程序中的發(fā)動機(jī)仿真模型模塊、用戶界面模塊、數(shù)據(jù)采集卡模塊和CAN通信模塊將設(shè)計(jì)成為4個(gè)獨(dú)立的while循環(huán)并列執(zhí)行。通過在循環(huán)中使用等待函數(shù)來設(shè)置各模塊運(yùn)行的優(yōu)先級,從而保證整個(gè)系統(tǒng)的實(shí)時(shí)性。
軟件運(yùn)行流程可分為軟件啟動、軟件初始化、啟動程序運(yùn)行、停止程序運(yùn)行以及軟件退出等部分。
3.3 各模塊程序代碼設(shè)計(jì)
3.3.1 發(fā)動機(jī)模型模塊本軟件采用均值發(fā)動機(jī)模型(mean valueengine mode1),主要包括渦輪增壓器、發(fā)動機(jī)以及供油系統(tǒng)3個(gè)子模塊,用以模擬真實(shí)發(fā)動機(jī)的運(yùn)轉(zhuǎn)狀態(tài)。
3.3.2 用戶界面模塊軟件的用戶界面模塊程序可進(jìn)行子模塊劃分,包括數(shù)據(jù)分析處理子模塊、波形圖表顯示子模塊、數(shù)據(jù)列表顯示子模塊、數(shù)據(jù)文件保存子模塊、程序停止判定子模塊。
數(shù)據(jù)分析處理子模塊負(fù)責(zé)PC機(jī)上數(shù)據(jù)以及相關(guān)信息的分析和處理。波形圖表顯示子模塊將系統(tǒng)運(yùn)行過程中的6個(gè)重要數(shù)據(jù)參數(shù)描繪曲線。數(shù)據(jù)列表顯示子模塊使用多列列表框來顯示系統(tǒng)運(yùn)行過程中的.14個(gè)重要數(shù)據(jù)參數(shù)。數(shù)據(jù)文件保存子模塊負(fù)責(zé)將系統(tǒng)運(yùn)行過程中的相關(guān)數(shù)據(jù)信息保存在格式為。txt的文本文件中。程序停止判定子模塊在每個(gè)循環(huán)中都將查詢“停止程序運(yùn)行”按鈕是否被按下,以決定是否要停止程序運(yùn)行。
3.3.3 數(shù)據(jù)采集卡模塊系統(tǒng)使用ADVANTECH PCF1712數(shù)據(jù)采集卡對噴油器的噴油脈寬信號進(jìn)行采集。安裝好數(shù)據(jù)采集卡對LabVIEW 的驅(qū)動程序后,打開LabVIEW,在程序框圖中的函數(shù)選板一用戶庫中,將出現(xiàn)數(shù)據(jù)采集卡的操作函數(shù)。通過使用DeviceOpen.vi、PM W StartRead.vi、CounterReset.vi、DeviceClose.vi等函數(shù),即可完成對噴油脈沖寬度的測量。
3.3.4 CAN通信模塊高壓共軌柴油機(jī)ECU 硬件在環(huán)仿真系統(tǒng)軟件通過USBCAN接口卡來實(shí)現(xiàn)PC機(jī)的CAN總線通信,USBCAN接口卡專門提供了應(yīng)用程序接口Vir—tual CAN Interface(VCI)函數(shù)庫,庫里的函數(shù)從ControlCAN.dll中導(dǎo)出E 7]。
首先在LabVIEw 環(huán)境下通過使用‘Call LibraryFunction Node依次調(diào)用打開設(shè)備函數(shù)VCI~OpenDe—vice、初始化CAN函數(shù)VCI—InitCAN和啟動CAN 函數(shù)VCI—StartCAN,完成對USBCAN設(shè)備的初始化。
之后根據(jù)高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)的CAN總線通信協(xié)議,循環(huán)調(diào)用ControlCAN.dll中的發(fā)送數(shù)據(jù)函數(shù)VCI—Transmit和接收數(shù)據(jù)函數(shù)VCI—Receive,即可實(shí)現(xiàn)CAN總線通信。
4、仿真驗(yàn)證
對于GI>I高壓共軌柴油機(jī)ECU,圖7和圖8分別為軌壓和轉(zhuǎn)速對油門動態(tài)響應(yīng)的硬件在環(huán)仿真結(jié)果和試驗(yàn)結(jié)果。
在負(fù)荷不變的情況下,增加柴油機(jī)油門開度,高壓共軌油壓和柴油機(jī)轉(zhuǎn)速也將上升;維持油門開度不變,軌壓和轉(zhuǎn)速均將保持穩(wěn)定。對比圖7和圖8可見:軌壓和轉(zhuǎn)速對油門動態(tài)響應(yīng)的硬件在環(huán)仿真結(jié)果與試驗(yàn)結(jié)果是一致的,驗(yàn)證了本硬件在環(huán)仿真系統(tǒng)軟硬件的有效性。
圖9為本硬件在環(huán)仿真系統(tǒng)在空載情況下,油門從0 至50%時(shí)的運(yùn)行效果。系統(tǒng)在穩(wěn)態(tài)和過渡工況下運(yùn)行良好,達(dá)到了硬件在環(huán)仿真系統(tǒng)的開發(fā)目的。
5、結(jié)論
(1)基于CAN總線的高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)軟件中的均值發(fā)動機(jī)仿真模型具有較快的運(yùn)算速度,可以反映真實(shí)發(fā)動機(jī)的動態(tài)響應(yīng)速度,且各硬件設(shè)備之間的通信基于CAN 總線,具有較高的傳輸速率,可達(dá)1 Mbit/s,保證了系統(tǒng)仿真的實(shí)時(shí)性。
(2)軟件通過數(shù)據(jù)采集卡對ECU 噴油控制信號進(jìn)行了實(shí)測,增加了硬件在環(huán)仿真系統(tǒng)的真實(shí)性。
【高壓共軌柴油機(jī)ECU硬件在環(huán)仿真系統(tǒng)軟件設(shè)計(jì)】相關(guān)文章:
數(shù)字建模與仿真在《微電子器件與系統(tǒng)》教學(xué)中論文06-22
探析仿真模擬系統(tǒng)在口腔醫(yī)學(xué)實(shí)驗(yàn)教學(xué)中的應(yīng)用10-18
嵌入式系統(tǒng)的核心硬件12-10
仿真網(wǎng)格系統(tǒng)結(jié)構(gòu)指揮自動化系統(tǒng)效能評估09-26
Matlab仿真在無線通信原理與系統(tǒng)中的運(yùn)用與研究論文06-22
冶金仿真系統(tǒng)數(shù)據(jù)通信論文07-15