潘曉東, 龔俊星, 劉祥環(huán),2
(1.株洲齒輪有限責任公司, 湖南 株洲 412000;2.中南大學機電工程學院, 長沙 410083)
基于Simulink的MIL自動化測試
潘曉東1, 龔俊星1, 劉祥環(huán)1,2
(1.株洲齒輪有限責任公司, 湖南 株洲 412000;2.中南大學機電工程學院, 長沙 410083)
介紹了某TCU產(chǎn)品軟件的MIL測試平臺搭建、測試案例的建立以及自動化測試的實現(xiàn)過程;自動化測試方法的應用能保證測試的可重復性,顯著提高MIL測試的效率。
MIL測試;軟件;自動化測試
基于模型的嵌入式軟件設計方法已成為汽車電控軟件開發(fā)的主流方式,相比于傳統(tǒng)的手動代碼編程,其優(yōu)勢在于圖形化的設計語言易于理解與交流,以及軟件前期充分的仿真測試能保證軟件的質(zhì)量[1];MIL測試作為驗證軟件模型單元和系統(tǒng)功能邏輯的重要手段是該開發(fā)流程中至關重要的一個環(huán)節(jié);MATLAB/Simulink提供了一個動態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境,其圖形化的建模工具能快速建立復雜的整車動力、傳動系統(tǒng)部件模型以及整車動力學模型,同時Simulink也是主流的基于模型的汽車嵌入式軟件設計工具,因此基于Simulink的MIL(Model in Loop)自動化測試方法的能在統(tǒng)一的設計平臺進行軟件功能邏輯的前期驗證,非常具有實用性。
1.1 測試對象與MIL架構概述
本文所建立的MIL測試平臺是應用于某電動車兩擋AMT變速箱控制器TCU軟件模型的測試,其動力總成結構如圖1所示。

圖1 兩擋AMT電動車動力總成結構
TCU軟件的主要控制對象為兩擋AMT變速器,接收的駕駛員信號包含加速踏板信號AccPedal、剎車踏板信號BrakePedal、換擋旋鈕信號DriveMode和鑰匙上電信號Ready等,TCU根據(jù)駕駛員信號和車速信號決策換擋時機,通過直流電機和換擋位置傳感器實現(xiàn)AMT變速器換擋撥叉的位置閉環(huán)控制;通過變速箱的車速傳感器獲取輸出軸轉(zhuǎn)的速信號,同時請求MCU進行電機調(diào)速實現(xiàn)換擋過程的同步控制。
綜上所述,MIL測試平臺的架構如圖2所示,首先建立整車部件的物理模型、相關控制器模型以產(chǎn)生符合實車物理特性與控制邏輯的信號變化,其次通過信號處理模型建立與TCU底層軟件輸入、輸出類型和范圍一致的信號,最后通過建立駕駛員模型和環(huán)境模型用來豐富MIL測試的工況,其中物理模型中還需要建立各部件的機械結構故障、傳感器故障等失效模式,以充分驗證TCU上層軟件模型的功能邏輯與故障處理能力。測試案例的建立也需要考慮故障模式的測試,以及利用Stateflow建立自動測試的步驟控制,利用Model Reference和m腳本實現(xiàn)測試案例的自動切換、數(shù)據(jù)存儲與報告自動生成。自動測試案例將會在后面章節(jié)進行介紹。
1.2 MIL建模分析
MIL測試的目的在于驗證控制軟件模型的功能邏輯,可分為單元測試與集成測試,前者大多為開環(huán)測試后者為閉環(huán)測試[2],本文討論的MIL測試為集成測試,TCU上層軟件功能模塊已經(jīng)全部集成在被測模型中,為了建立閉環(huán)測試的環(huán)境,需要根據(jù)圖2的MIL架構建立整車的部件模型、動力學模型和相關控制器模型等,下面選取部分模型進行建模過程的介紹。
圖2中,物理模型主要包括整車部件和動力傳動系統(tǒng)的建模,純電動汽車動力源為驅(qū)動電機,電機輸出扭矩Torq1,經(jīng)過兩擋AMT變速箱傳遞的半軸再到車輪扭矩Torq2,根據(jù)變速箱不同擋位的傳動比電機扭矩相應的比例放大,根據(jù)輪胎的滾動半徑可以將作用在車輪的扭矩轉(zhuǎn)換為整車的驅(qū)動力F,根據(jù)整車的質(zhì)量以及滾動阻力、風阻和坡道阻力等可以計算得到整車的加速度,通過積分計算即可得到整車的車速VS;通過車速又可以反推得到車輪轉(zhuǎn)速和變速箱輸出軸轉(zhuǎn)速,當變速箱擋位不處于空擋時可以通過傳動比計算得到電機轉(zhuǎn)速,當擋位處于空擋時,根據(jù)電機輸出扭矩和電機的轉(zhuǎn)動慣量可計算出電機當前的轉(zhuǎn)速[3]。此外,根據(jù)驅(qū)動電機當前的轉(zhuǎn)速、扭矩和效率可計算出動力電池的輸出功率,從而得到動力電池電流、電壓和SOC等關鍵參數(shù)的變化關系。

圖2 兩擋AMT電動車動力總成架構
1.2.1 驅(qū)動電機模型
驅(qū)動電機為永磁同步電機。本文介紹的驅(qū)動電機模型只是一個穩(wěn)態(tài)模型,如圖3所示。MIL測試中主要關注的是扭矩輸出、轉(zhuǎn)速特性等,并沒有建立反電動勢、相電流等電磁轉(zhuǎn)換的細節(jié);根據(jù)電機的外特性曲線建立電機穩(wěn)態(tài)下的轉(zhuǎn)速與扭矩關系模型,在當前轉(zhuǎn)速下查表得到當前的扭矩容量,然后根據(jù) MCU 輸入的需求電機負荷百分比和當前電池電壓求取當前電機扭矩,根據(jù)當前扭矩和轉(zhuǎn)速可以得到電機的實時功率,電機的驅(qū)動效率和發(fā)電效率已知,得到電池的放電功率或者充電功率。
當變速箱擋位不處于空擋時可以通過車速和對應傳動比關系計算得到電機轉(zhuǎn)速,當擋位處于空擋時,根據(jù)電機輸出扭矩和電機的轉(zhuǎn)動慣量計算出電機當前的轉(zhuǎn)速。

圖3 驅(qū)動電機模型
1.2.2 AMT變速器模型
該AMT變速器用于純電動乘用車,兩擋AMT執(zhí)行機構如圖4。換擋執(zhí)行動作由一個直流電機帶動絲桿螺母完成,螺母的直線位移控制換擋撥叉進行擋位切換,換擋撥叉連接著一個位置傳感器,從而反饋當前的撥叉位置給TCU,以實現(xiàn)撥叉位置進行位置閉環(huán)的控制。

圖4 兩擋AMT執(zhí)行機構
兩擋AMT的換擋過程可以分為以下幾個階段:降扭、摘擋、同步、掛擋、扭矩恢復;降扭階段TCU會請求MCU清除變速箱內(nèi)部扭矩,讓摘擋能順利完成;摘擋階段TCU會驅(qū)動直流電機使撥叉運動到N擋位置;同步階段TCU會根據(jù)輸出軸轉(zhuǎn)速大小請求MCU轉(zhuǎn)速到達目標擋位所匹配的同步轉(zhuǎn)速;掛擋階段TCU會驅(qū)動直流電機使撥叉往目標擋位運動,當運動到同步區(qū)間后會產(chǎn)生同步力以完全消除同步速差。扭矩恢復階段TCU會請求MCU將驅(qū)動電機扭矩恢復到駕駛員請求扭矩。
綜上所述AMT變速器模型需要建立直流電機的模型,以及根據(jù)換擋臂的杠桿比、絲桿螺母傳動比建立撥叉的位移模型和傳感器的角度變化模型,該變速器模型的輸入信號為TCU模型輸入的PWM占空比大小及方向、驅(qū)動電機模型的扭矩和電機轉(zhuǎn)速;輸出信號為直流電機電流、傳感器位置、變速箱輸出軸扭矩與轉(zhuǎn)速。
直流電機模型可根據(jù)數(shù)學模型和電機參數(shù)建立,如圖5所示,輸入為占空比的大小和外部負載的大小,輸出為轉(zhuǎn)速、扭矩、電流;轉(zhuǎn)速積分后根據(jù)傳動比可以得到傳感器的角度位移與換擋撥叉的位移,通過扭矩可以計算出同步時的同步力大小,電流需要反饋到TCU模型,TCU軟件會對直流電機的電流做實時監(jiān)控以判斷換擋的狀態(tài)是否正常。

圖5 直流電機模型
撥叉的位移區(qū)間定義如圖6。在接合狀態(tài)時驅(qū)動電機的扭矩才會輸出到車輪,同步狀態(tài)時直流電機模型輸出的扭矩會產(chǎn)生同步力矩,具體大小需要根據(jù)同步環(huán)尺寸建立數(shù)學關系的模型,直到同步速差完全消除才允許撥叉往接合方向運動;空擋狀態(tài)不會產(chǎn)生同步力也不會有驅(qū)動電機扭矩輸出。

圖6 掛擋區(qū)間定義
根據(jù)掛擋動作的狀態(tài)建立如圖7所示的狀態(tài)邏輯圖,Neutral:空擋,進入該狀態(tài)的條件是當前撥叉位置位于空擋區(qū)間,將同步力、在擋位標志、同步標志置0。ToSync:掛擋,進入該狀態(tài)的條件是當前撥叉位置位于將要同步的區(qū)間;Syncing:同步中,進入該狀態(tài)的條件是當前撥叉位置位于同步區(qū)間,將同步扭矩變量賦值,同步標志置1。GearEngage:接合,進入該狀態(tài)的條件是撥叉位置位于接合區(qū)間。此時同步力矩、同步標志置0,進入擋位標志置1。此時按當前擋位傳動比計算扭矩和轉(zhuǎn)速。GearOut:摘擋,進入該狀態(tài)的條件是掛擋未在接合區(qū)間且掛擋力與當前擋方向反向。

圖7 掛擋狀態(tài)邏輯圖
在MIL模型中可以加入各種機械結構、電氣元件的失效模式,以模擬各種故障工況,從而更全面的驗證軟件模型的控制邏輯與故障處理能力,其位置傳感器失效模型如圖8所示,通過標志位觸發(fā)位置傳感器的開路、短路和信號干擾的故障,通過Switch模塊將正常信號通道切換為想要觸發(fā)的故障信號通道即可,這樣可以在自動測試案例中設置觸發(fā)的時間點,方便設計各種測試工況。

圖8 位置傳感器失效模型
1.3 集成測試
MIL模型全部建立完成后即可進行集成測試模型如圖9所示,主要分為駕駛員模型、MIL模型、TCU模型和數(shù)據(jù)保存幾大塊,駕駛員模型包含測試案例和手動操作的駕駛信號輸入,MIL模型為整車部件、相關控制器模型,TCU軟件模型為產(chǎn)品軟件的上層邏輯模型;1→2升擋測試1升兩擋結果如圖10所示。

圖9 MIL集成測試模型

圖10 MIL測試1升兩擋
基于Stateflow建立測試案例如圖11。測試案例的輸入主要是來源于軟件的功能需求分析和故障診斷等軟件功能設計,首先應根據(jù)軟件需求和功能建立MIL的測試大綱,包括模擬駕駛員的正常操作、異常操作、極限工況及故障模擬等。主要的邏輯過程是模擬駕駛員的一個操作時序,用Stateflow模塊可以很方便的建立這種時序的邏輯過程。

圖11 基于Stateflow建立測試案例
3.1 方法介紹
隨著軟件功能測試的完善,測試案例會不斷積累,數(shù)量可達幾百個上甚至上千個,如果每個都手動切換來運行,效率會非常低,所以很有必要實現(xiàn)自動化測試,采用MATLAB的腳本文件實現(xiàn)自動調(diào)用測試案例運行及結果保存。自動測試建立方法框圖如圖12。為了實現(xiàn)測試案例的自動切換所有測試案例采用統(tǒng)一的輸入輸出接口,每個測試案例建立成單獨的模型文件,在MIL測試模型中采用Model Variants模塊進行模型引用,每個測試案例都連接一個STOP模塊,當所有步驟運行完成后將STOP標志置1;m腳本文件建立for循環(huán)語句,通過sim()函數(shù)使MIL集成測試模型自動運行,當前測試案例運行到STOP步驟后,保存工作空間中數(shù)據(jù),并且畫圖保存到Word文檔,然后將Model Variants的Condition參數(shù)賦值成下一個測試案例,進入下一個循環(huán),運行到sim()函數(shù)使就會自動調(diào)用下一個測試案例,這樣就實現(xiàn)了測試案例的自動切換。直到所有測試案例運行完成結束For循環(huán),同時,所有測試數(shù)據(jù)與圖片也得到了保存。

圖12 自動化測試方法框圖
3.2 應用舉例
如前所述,建立兩擋AMT的MIL自動化測試平臺,將每個測試案例按測試大綱建立獨立的模型文件,通過Model Variants模塊進行引用,用m腳本文件控制整個仿真過程,將所有測試案例按順序進行切換并自動保存每個測試案例仿真后的數(shù)據(jù)與曲線。測試案例模型與測試結果如圖13所示,左邊為建立的測試案例;右邊為自動運行后保存的圖片。可以將所有關注的圖片、數(shù)據(jù)進行保存以便進行更詳細的分析。
圖14為升降擋測試案例的運行結果,模擬駕駛員不同加速踏板開度下的加速工況,以及不同剎車踏板開度下的減速工況;通過數(shù)據(jù)處理可以得到不同踏板開度下的1升兩擋的換擋點,以及剎車時的降擋策略;其中曲線Gear1為1擋時的驅(qū)動電機同步轉(zhuǎn)速,Gear2為兩擋時的電機同步轉(zhuǎn)速,MotSpd_RPM為驅(qū)動電機轉(zhuǎn)速,ReqMotSpd_RPM為TCU請求MCU的目標轉(zhuǎn)速,VehSpd_kmph*10為車速曲線,SftPos12_AD為掛擋傳感器位置,CurrentGr*1000為當前擋位,SftMot12_PWMDC為換擋電機驅(qū)動的占空比數(shù);通過該測試案例可驗證TCU的換擋過程邏輯是否正確,以及換擋點的設計是否符合預期的設置。
圖15為模擬1擋升兩擋過程掛擋卡死的測試數(shù)據(jù),該測試案例中觸發(fā)了掛兩擋卡死的故障,當撥叉位置運動到掛兩擋位置區(qū)間時卡死,不能繼續(xù)動作;如圖15中橫坐標14 s左右所示,TCU馬上加大了換擋電機的驅(qū)動占空比試圖以更大的換擋力掛進兩擋,但換擋傳感器顯示的位置未發(fā)送變化,隨后TCU進入了故障模式,車輛開始滑行;通過該測試案例可以驗證TCU處理掛兩擋卡死故障的控制邏輯,為前期驗證軟件故障處理邏輯提供了非常有效的測試手段。

圖13 測試案例模型與測試結果

圖14 升降擋測試案例運行結果
作者實現(xiàn)了MIL平臺的搭建與測試案例的自動化測試;在設計測試案例時通過仿真過程獲得數(shù)據(jù)評判測試結果;在測試案例中設計結果評判邏輯,可最大限度的發(fā)揮自動化測試的優(yōu)勢。
[1] MATHWORKS CT.2007-01-0777 best practices for establishing a model-based design culture[J].Sae Paper,2007,44(1):881-884.
[2] 王思哲, 趙小羽, 陳長健.電動汽車整車控制軟件測試用例設計方法及應用[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2014,27(5):91-93.
[3] 魯蔣立.車輛動力學模型嵌入式仿真平臺開發(fā)[D].長春:吉林大學,2014.
(責任編輯唐定國)
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—),男,重慶理工大學客座教授,工程師,主要從事汽車NVH性能研究。
劉祥環(huán)(1982—),男,博士研究生,高級工程師,主要從事汽車NVH性能研究,E-mail:0512655@163.com。
機械制造與檢測技術
10.11809/scbgxb2017.11.036
本文引用格式:潘曉東,龔俊星,劉祥環(huán).基于Simulink的MIL自動化測試[J].兵器裝備工程學報,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