潘曉東, 龔俊星, 劉祥環(huán),2
(1.株洲齒輪有限責(zé)任公司, 湖南 株洲 412000;2.中南大學(xué)機(jī)電工程學(xué)院, 長(zhǎng)沙 410083)
基于Simulink的MIL自動(dòng)化測(cè)試
潘曉東1, 龔俊星1, 劉祥環(huán)1,2
(1.株洲齒輪有限責(zé)任公司, 湖南 株洲 412000;2.中南大學(xué)機(jī)電工程學(xué)院, 長(zhǎng)沙 410083)
介紹了某TCU產(chǎn)品軟件的MIL測(cè)試平臺(tái)搭建、測(cè)試案例的建立以及自動(dòng)化測(cè)試的實(shí)現(xiàn)過程;自動(dòng)化測(cè)試方法的應(yīng)用能保證測(cè)試的可重復(fù)性,顯著提高M(jìn)IL測(cè)試的效率。
MIL測(cè)試;軟件;自動(dòng)化測(cè)試
基于模型的嵌入式軟件設(shè)計(jì)方法已成為汽車電控軟件開發(fā)的主流方式,相比于傳統(tǒng)的手動(dòng)代碼編程,其優(yōu)勢(shì)在于圖形化的設(shè)計(jì)語(yǔ)言易于理解與交流,以及軟件前期充分的仿真測(cè)試能保證軟件的質(zhì)量[1];MIL測(cè)試作為驗(yàn)證軟件模型單元和系統(tǒng)功能邏輯的重要手段是該開發(fā)流程中至關(guān)重要的一個(gè)環(huán)節(jié);MATLAB/Simulink提供了一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境,其圖形化的建模工具能快速建立復(fù)雜的整車動(dòng)力、傳動(dòng)系統(tǒng)部件模型以及整車動(dòng)力學(xué)模型,同時(shí)Simulink也是主流的基于模型的汽車嵌入式軟件設(shè)計(jì)工具,因此基于Simulink的MIL(Model in Loop)自動(dòng)化測(cè)試方法的能在統(tǒng)一的設(shè)計(jì)平臺(tái)進(jìn)行軟件功能邏輯的前期驗(yàn)證,非常具有實(shí)用性。
1.1 測(cè)試對(duì)象與MIL架構(gòu)概述
本文所建立的MIL測(cè)試平臺(tái)是應(yīng)用于某電動(dòng)車兩擋AMT變速箱控制器TCU軟件模型的測(cè)試,其動(dòng)力總成結(jié)構(gòu)如圖1所示。
圖1 兩擋AMT電動(dòng)車動(dòng)力總成結(jié)構(gòu)
TCU軟件的主要控制對(duì)象為兩擋AMT變速器,接收的駕駛員信號(hào)包含加速踏板信號(hào)AccPedal、剎車踏板信號(hào)BrakePedal、換擋旋鈕信號(hào)DriveMode和鑰匙上電信號(hào)Ready等,TCU根據(jù)駕駛員信號(hào)和車速信號(hào)決策換擋時(shí)機(jī),通過直流電機(jī)和換擋位置傳感器實(shí)現(xiàn)AMT變速器換擋撥叉的位置閉環(huán)控制;通過變速箱的車速傳感器獲取輸出軸轉(zhuǎn)的速信號(hào),同時(shí)請(qǐng)求MCU進(jìn)行電機(jī)調(diào)速實(shí)現(xiàn)換擋過程的同步控制。
綜上所述,MIL測(cè)試平臺(tái)的架構(gòu)如圖2所示,首先建立整車部件的物理模型、相關(guān)控制器模型以產(chǎn)生符合實(shí)車物理特性與控制邏輯的信號(hào)變化,其次通過信號(hào)處理模型建立與TCU底層軟件輸入、輸出類型和范圍一致的信號(hào),最后通過建立駕駛員模型和環(huán)境模型用來豐富MIL測(cè)試的工況,其中物理模型中還需要建立各部件的機(jī)械結(jié)構(gòu)故障、傳感器故障等失效模式,以充分驗(yàn)證TCU上層軟件模型的功能邏輯與故障處理能力。測(cè)試案例的建立也需要考慮故障模式的測(cè)試,以及利用Stateflow建立自動(dòng)測(cè)試的步驟控制,利用Model Reference和m腳本實(shí)現(xiàn)測(cè)試案例的自動(dòng)切換、數(shù)據(jù)存儲(chǔ)與報(bào)告自動(dòng)生成。自動(dòng)測(cè)試案例將會(huì)在后面章節(jié)進(jìn)行介紹。
1.2 MIL建模分析
MIL測(cè)試的目的在于驗(yàn)證控制軟件模型的功能邏輯,可分為單元測(cè)試與集成測(cè)試,前者大多為開環(huán)測(cè)試后者為閉環(huán)測(cè)試[2],本文討論的MIL測(cè)試為集成測(cè)試,TCU上層軟件功能模塊已經(jīng)全部集成在被測(cè)模型中,為了建立閉環(huán)測(cè)試的環(huán)境,需要根據(jù)圖2的MIL架構(gòu)建立整車的部件模型、動(dòng)力學(xué)模型和相關(guān)控制器模型等,下面選取部分模型進(jìn)行建模過程的介紹。
圖2中,物理模型主要包括整車部件和動(dòng)力傳動(dòng)系統(tǒng)的建模,純電動(dòng)汽車動(dòng)力源為驅(qū)動(dòng)電機(jī),電機(jī)輸出扭矩Torq1,經(jīng)過兩擋AMT變速箱傳遞的半軸再到車輪扭矩Torq2,根據(jù)變速箱不同擋位的傳動(dòng)比電機(jī)扭矩相應(yīng)的比例放大,根據(jù)輪胎的滾動(dòng)半徑可以將作用在車輪的扭矩轉(zhuǎn)換為整車的驅(qū)動(dòng)力F,根據(jù)整車的質(zhì)量以及滾動(dòng)阻力、風(fēng)阻和坡道阻力等可以計(jì)算得到整車的加速度,通過積分計(jì)算即可得到整車的車速VS;通過車速又可以反推得到車輪轉(zhuǎn)速和變速箱輸出軸轉(zhuǎn)速,當(dāng)變速箱擋位不處于空擋時(shí)可以通過傳動(dòng)比計(jì)算得到電機(jī)轉(zhuǎn)速,當(dāng)擋位處于空擋時(shí),根據(jù)電機(jī)輸出扭矩和電機(jī)的轉(zhuǎn)動(dòng)慣量可計(jì)算出電機(jī)當(dāng)前的轉(zhuǎn)速[3]。此外,根據(jù)驅(qū)動(dòng)電機(jī)當(dāng)前的轉(zhuǎn)速、扭矩和效率可計(jì)算出動(dòng)力電池的輸出功率,從而得到動(dòng)力電池電流、電壓和SOC等關(guān)鍵參數(shù)的變化關(guān)系。
圖2 兩擋AMT電動(dòng)車動(dòng)力總成架構(gòu)
1.2.1 驅(qū)動(dòng)電機(jī)模型
驅(qū)動(dòng)電機(jī)為永磁同步電機(jī)。本文介紹的驅(qū)動(dòng)電機(jī)模型只是一個(gè)穩(wěn)態(tài)模型,如圖3所示。MIL測(cè)試中主要關(guān)注的是扭矩輸出、轉(zhuǎn)速特性等,并沒有建立反電動(dòng)勢(shì)、相電流等電磁轉(zhuǎn)換的細(xì)節(jié);根據(jù)電機(jī)的外特性曲線建立電機(jī)穩(wěn)態(tài)下的轉(zhuǎn)速與扭矩關(guān)系模型,在當(dāng)前轉(zhuǎn)速下查表得到當(dāng)前的扭矩容量,然后根據(jù) MCU 輸入的需求電機(jī)負(fù)荷百分比和當(dāng)前電池電壓求取當(dāng)前電機(jī)扭矩,根據(jù)當(dāng)前扭矩和轉(zhuǎn)速可以得到電機(jī)的實(shí)時(shí)功率,電機(jī)的驅(qū)動(dòng)效率和發(fā)電效率已知,得到電池的放電功率或者充電功率。
當(dāng)變速箱擋位不處于空擋時(shí)可以通過車速和對(duì)應(yīng)傳動(dòng)比關(guān)系計(jì)算得到電機(jī)轉(zhuǎn)速,當(dāng)擋位處于空擋時(shí),根據(jù)電機(jī)輸出扭矩和電機(jī)的轉(zhuǎn)動(dòng)慣量計(jì)算出電機(jī)當(dāng)前的轉(zhuǎn)速。
圖3 驅(qū)動(dòng)電機(jī)模型
1.2.2 AMT變速器模型
該AMT變速器用于純電動(dòng)乘用車,兩擋AMT執(zhí)行機(jī)構(gòu)如圖4。換擋執(zhí)行動(dòng)作由一個(gè)直流電機(jī)帶動(dòng)絲桿螺母完成,螺母的直線位移控制換擋撥叉進(jìn)行擋位切換,換擋撥叉連接著一個(gè)位置傳感器,從而反饋當(dāng)前的撥叉位置給TCU,以實(shí)現(xiàn)撥叉位置進(jìn)行位置閉環(huán)的控制。
圖4 兩擋AMT執(zhí)行機(jī)構(gòu)
兩擋AMT的換擋過程可以分為以下幾個(gè)階段:降扭、摘擋、同步、掛擋、扭矩恢復(fù);降扭階段TCU會(huì)請(qǐng)求MCU清除變速箱內(nèi)部扭矩,讓摘擋能順利完成;摘擋階段TCU會(huì)驅(qū)動(dòng)直流電機(jī)使撥叉運(yùn)動(dòng)到N擋位置;同步階段TCU會(huì)根據(jù)輸出軸轉(zhuǎn)速大小請(qǐng)求MCU轉(zhuǎn)速到達(dá)目標(biāo)擋位所匹配的同步轉(zhuǎn)速;掛擋階段TCU會(huì)驅(qū)動(dòng)直流電機(jī)使撥叉往目標(biāo)擋位運(yùn)動(dòng),當(dāng)運(yùn)動(dòng)到同步區(qū)間后會(huì)產(chǎn)生同步力以完全消除同步速差。扭矩恢復(fù)階段TCU會(huì)請(qǐng)求MCU將驅(qū)動(dòng)電機(jī)扭矩恢復(fù)到駕駛員請(qǐng)求扭矩。
綜上所述AMT變速器模型需要建立直流電機(jī)的模型,以及根據(jù)換擋臂的杠桿比、絲桿螺母?jìng)鲃?dòng)比建立撥叉的位移模型和傳感器的角度變化模型,該變速器模型的輸入信號(hào)為TCU模型輸入的PWM占空比大小及方向、驅(qū)動(dòng)電機(jī)模型的扭矩和電機(jī)轉(zhuǎn)速;輸出信號(hào)為直流電機(jī)電流、傳感器位置、變速箱輸出軸扭矩與轉(zhuǎn)速。
直流電機(jī)模型可根據(jù)數(shù)學(xué)模型和電機(jī)參數(shù)建立,如圖5所示,輸入為占空比的大小和外部負(fù)載的大小,輸出為轉(zhuǎn)速、扭矩、電流;轉(zhuǎn)速積分后根據(jù)傳動(dòng)比可以得到傳感器的角度位移與換擋撥叉的位移,通過扭矩可以計(jì)算出同步時(shí)的同步力大小,電流需要反饋到TCU模型,TCU軟件會(huì)對(duì)直流電機(jī)的電流做實(shí)時(shí)監(jiān)控以判斷換擋的狀態(tài)是否正常。
圖5 直流電機(jī)模型
撥叉的位移區(qū)間定義如圖6。在接合狀態(tài)時(shí)驅(qū)動(dòng)電機(jī)的扭矩才會(huì)輸出到車輪,同步狀態(tài)時(shí)直流電機(jī)模型輸出的扭矩會(huì)產(chǎn)生同步力矩,具體大小需要根據(jù)同步環(huán)尺寸建立數(shù)學(xué)關(guān)系的模型,直到同步速差完全消除才允許撥叉往接合方向運(yùn)動(dòng);空擋狀態(tài)不會(huì)產(chǎn)生同步力也不會(huì)有驅(qū)動(dòng)電機(jī)扭矩輸出。
圖6 掛擋區(qū)間定義
根據(jù)掛擋動(dòng)作的狀態(tài)建立如圖7所示的狀態(tài)邏輯圖,Neutral:空擋,進(jìn)入該狀態(tài)的條件是當(dāng)前撥叉位置位于空擋區(qū)間,將同步力、在擋位標(biāo)志、同步標(biāo)志置0。ToSync:掛擋,進(jìn)入該狀態(tài)的條件是當(dāng)前撥叉位置位于將要同步的區(qū)間;Syncing:同步中,進(jìn)入該狀態(tài)的條件是當(dāng)前撥叉位置位于同步區(qū)間,將同步扭矩變量賦值,同步標(biāo)志置1。GearEngage:接合,進(jìn)入該狀態(tài)的條件是撥叉位置位于接合區(qū)間。此時(shí)同步力矩、同步標(biāo)志置0,進(jìn)入擋位標(biāo)志置1。此時(shí)按當(dāng)前擋位傳動(dòng)比計(jì)算扭矩和轉(zhuǎn)速。GearOut:摘擋,進(jìn)入該狀態(tài)的條件是掛擋未在接合區(qū)間且掛擋力與當(dāng)前擋方向反向。
圖7 掛擋狀態(tài)邏輯圖
在MIL模型中可以加入各種機(jī)械結(jié)構(gòu)、電氣元件的失效模式,以模擬各種故障工況,從而更全面的驗(yàn)證軟件模型的控制邏輯與故障處理能力,其位置傳感器失效模型如圖8所示,通過標(biāo)志位觸發(fā)位置傳感器的開路、短路和信號(hào)干擾的故障,通過Switch模塊將正常信號(hào)通道切換為想要觸發(fā)的故障信號(hào)通道即可,這樣可以在自動(dòng)測(cè)試案例中設(shè)置觸發(fā)的時(shí)間點(diǎn),方便設(shè)計(jì)各種測(cè)試工況。
圖8 位置傳感器失效模型
1.3 集成測(cè)試
MIL模型全部建立完成后即可進(jìn)行集成測(cè)試模型如圖9所示,主要分為駕駛員模型、MIL模型、TCU模型和數(shù)據(jù)保存幾大塊,駕駛員模型包含測(cè)試案例和手動(dòng)操作的駕駛信號(hào)輸入,MIL模型為整車部件、相關(guān)控制器模型,TCU軟件模型為產(chǎn)品軟件的上層邏輯模型;1→2升擋測(cè)試1升兩擋結(jié)果如圖10所示。
圖9 MIL集成測(cè)試模型
圖10 MIL測(cè)試1升兩擋
基于Stateflow建立測(cè)試案例如圖11。測(cè)試案例的輸入主要是來源于軟件的功能需求分析和故障診斷等軟件功能設(shè)計(jì),首先應(yīng)根據(jù)軟件需求和功能建立MIL的測(cè)試大綱,包括模擬駕駛員的正常操作、異常操作、極限工況及故障模擬等。主要的邏輯過程是模擬駕駛員的一個(gè)操作時(shí)序,用Stateflow模塊可以很方便的建立這種時(shí)序的邏輯過程。
圖11 基于Stateflow建立測(cè)試案例
3.1 方法介紹
隨著軟件功能測(cè)試的完善,測(cè)試案例會(huì)不斷積累,數(shù)量可達(dá)幾百個(gè)上甚至上千個(gè),如果每個(gè)都手動(dòng)切換來運(yùn)行,效率會(huì)非常低,所以很有必要實(shí)現(xiàn)自動(dòng)化測(cè)試,采用MATLAB的腳本文件實(shí)現(xiàn)自動(dòng)調(diào)用測(cè)試案例運(yùn)行及結(jié)果保存。自動(dòng)測(cè)試建立方法框圖如圖12。為了實(shí)現(xiàn)測(cè)試案例的自動(dòng)切換所有測(cè)試案例采用統(tǒng)一的輸入輸出接口,每個(gè)測(cè)試案例建立成單獨(dú)的模型文件,在MIL測(cè)試模型中采用Model Variants模塊進(jìn)行模型引用,每個(gè)測(cè)試案例都連接一個(gè)STOP模塊,當(dāng)所有步驟運(yùn)行完成后將STOP標(biāo)志置1;m腳本文件建立for循環(huán)語(yǔ)句,通過sim()函數(shù)使MIL集成測(cè)試模型自動(dòng)運(yùn)行,當(dāng)前測(cè)試案例運(yùn)行到STOP步驟后,保存工作空間中數(shù)據(jù),并且畫圖保存到Word文檔,然后將Model Variants的Condition參數(shù)賦值成下一個(gè)測(cè)試案例,進(jìn)入下一個(gè)循環(huán),運(yùn)行到sim()函數(shù)使就會(huì)自動(dòng)調(diào)用下一個(gè)測(cè)試案例,這樣就實(shí)現(xiàn)了測(cè)試案例的自動(dòng)切換。直到所有測(cè)試案例運(yùn)行完成結(jié)束For循環(huán),同時(shí),所有測(cè)試數(shù)據(jù)與圖片也得到了保存。
圖12 自動(dòng)化測(cè)試方法框圖
3.2 應(yīng)用舉例
如前所述,建立兩擋AMT的MIL自動(dòng)化測(cè)試平臺(tái),將每個(gè)測(cè)試案例按測(cè)試大綱建立獨(dú)立的模型文件,通過Model Variants模塊進(jìn)行引用,用m腳本文件控制整個(gè)仿真過程,將所有測(cè)試案例按順序進(jìn)行切換并自動(dòng)保存每個(gè)測(cè)試案例仿真后的數(shù)據(jù)與曲線。測(cè)試案例模型與測(cè)試結(jié)果如圖13所示,左邊為建立的測(cè)試案例;右邊為自動(dòng)運(yùn)行后保存的圖片。可以將所有關(guān)注的圖片、數(shù)據(jù)進(jìn)行保存以便進(jìn)行更詳細(xì)的分析。
圖14為升降擋測(cè)試案例的運(yùn)行結(jié)果,模擬駕駛員不同加速踏板開度下的加速工況,以及不同剎車踏板開度下的減速工況;通過數(shù)據(jù)處理可以得到不同踏板開度下的1升兩擋的換擋點(diǎn),以及剎車時(shí)的降擋策略;其中曲線Gear1為1擋時(shí)的驅(qū)動(dòng)電機(jī)同步轉(zhuǎn)速,Gear2為兩擋時(shí)的電機(jī)同步轉(zhuǎn)速,MotSpd_RPM為驅(qū)動(dòng)電機(jī)轉(zhuǎn)速,ReqMotSpd_RPM為TCU請(qǐng)求MCU的目標(biāo)轉(zhuǎn)速,VehSpd_kmph*10為車速曲線,SftPos12_AD為掛擋傳感器位置,CurrentGr*1000為當(dāng)前擋位,SftMot12_PWMDC為換擋電機(jī)驅(qū)動(dòng)的占空比數(shù);通過該測(cè)試案例可驗(yàn)證TCU的換擋過程邏輯是否正確,以及換擋點(diǎn)的設(shè)計(jì)是否符合預(yù)期的設(shè)置。
圖15為模擬1擋升兩擋過程掛擋卡死的測(cè)試數(shù)據(jù),該測(cè)試案例中觸發(fā)了掛兩擋卡死的故障,當(dāng)撥叉位置運(yùn)動(dòng)到掛兩擋位置區(qū)間時(shí)卡死,不能繼續(xù)動(dòng)作;如圖15中橫坐標(biāo)14 s左右所示,TCU馬上加大了換擋電機(jī)的驅(qū)動(dòng)占空比試圖以更大的換擋力掛進(jìn)兩擋,但換擋傳感器顯示的位置未發(fā)送變化,隨后TCU進(jìn)入了故障模式,車輛開始滑行;通過該測(cè)試案例可以驗(yàn)證TCU處理掛兩擋卡死故障的控制邏輯,為前期驗(yàn)證軟件故障處理邏輯提供了非常有效的測(cè)試手段。
圖13 測(cè)試案例模型與測(cè)試結(jié)果
圖14 升降擋測(cè)試案例運(yùn)行結(jié)果
作者實(shí)現(xiàn)了MIL平臺(tái)的搭建與測(cè)試案例的自動(dòng)化測(cè)試;在設(shè)計(jì)測(cè)試案例時(shí)通過仿真過程獲得數(shù)據(jù)評(píng)判測(cè)試結(jié)果;在測(cè)試案例中設(shè)計(jì)結(jié)果評(píng)判邏輯,可最大限度的發(fā)揮自動(dòng)化測(cè)試的優(yōu)勢(shì)。
[1] MATHWORKS CT.2007-01-0777 best practices for establishing a model-based design culture[J].Sae Paper,2007,44(1):881-884.
[2] 王思哲, 趙小羽, 陳長(zhǎng)健.電動(dòng)汽車整車控制軟件測(cè)試用例設(shè)計(jì)方法及應(yīng)用[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2014,27(5):91-93.
[3] 魯蔣立.車輛動(dòng)力學(xué)模型嵌入式仿真平臺(tái)開發(fā)[D].長(zhǎng)春:吉林大學(xué),2014.
(責(zé)任編輯唐定國(guó))
ResearchandApplicationofMILAutomatedTestMethodBasedonSimulink
PAN Xiaodong1, GONG Junxing1, LIU Xianghuan1,2
(1.Zhuzhou Gear Co., Ltd., Zhuzhou 412000, China; 2.College of Mechanical and Electrical Engineering,Central South University, Changsha 410083, China)
The approach based on model has become a common software development in automotive area. MIL(Model in Loop) test as a crucial part in V-model for the Software development process, is a sufficient approach for functional verification in early development stage. Based on Matlab/Simulink, and focused on setting-up MIL testing platform and researched on test methods in some software, which is developed on Simulink and applied in some 2-gear AMT vehicle. This article introduced the setup of test platform and test case, and the realization of automatic test. Automatic test can guarantee the repeatability of this test, and has a remarkable increase in the efficiency of the MIL test.
MIL test; software development; test case; automatic test
2017-08-10;
2017-08-30
潘曉東(1967—),男,重慶理工大學(xué)客座教授,工程師,主要從事汽車NVH性能研究。
劉祥環(huán)(1982—),男,博士研究生,高級(jí)工程師,主要從事汽車NVH性能研究,E-mail:0512655@163.com。
機(jī)械制造與檢測(cè)技術(shù)
10.11809/scbgxb2017.11.036
本文引用格式:潘曉東,龔俊星,劉祥環(huán).基于Simulink的MIL自動(dòng)化測(cè)試[J].兵器裝備工程學(xué)報(bào),2017(11):163-168.
formatPAN Xiaodong, GONG Junxing, LIU Xianghuan.Research and Application of MIL Automated Test Method Based on Simulink[J].Journal of Ordnance Equipment Engineering,2017(11):163-168.
TH-39
A
2096-2304(2017)11-0163-06