郭健,段罡,鄭欣,焦帥,康武,李德軍
(陜西重型汽車有限公司,陜西 西安 710200)
截止目前,軟件測試一直是汽車產品V流程開發過程中的重要環節。其意義在于能夠在前期設計過程中發現邏輯問題,并加以糾正。從而降低后期修改帶來的成本增加問題。而且按照以往的軟件測試流程,通常只是某個控制邏輯模塊進行單獨仿真測試,分別進行信號的輸入搭建及輸出顯示。而進行系統聯合測試的條件過于復雜,需要設置大量的模塊工作量大且繁瑣,而且往往因為單個數據輸入問題導致測試失敗。為此文章介紹的基于 CANoe系統搭建的人機交互界面可以充分利用模型化界面的優勢,從輸入參數到輸出參數及中間變量都可以在界面中加以同步顯示。不僅可以實時觀測當前測試模塊系統的變化,而且可以觀測到整車所有輸出信號的變化。并找出其中的關聯屬性,為完善邏輯設計提供更有力的測試環境。
軟件測試包含:
(1)輸入接口測試
(2)輸出接口測試
(3)數據處理測試
(4)單一模塊控制邏輯測試
(5)子系統多模塊測試
軟件測試是基于simulink進行的模型級設計邏輯驗證,通常使用simulink內部模塊搭建即可完成。包括人工可改寫的輸入參數模塊,需要驗證的邏輯模型及用于觀測的輸出模塊。測試方法相對簡單,通過改變輸入量的值來觀測邏輯模塊中的運行邏輯是否正確,同時觀測輸出量是否滿足設計要求。此種測試方法需要測試人員對測試對象有很明確的認識,需要了解所有的輸入數據范圍及邏輯對應輸出值大小。如圖1所示,其中左側Constant模塊為數值變量輸入,右側Display為數顯模塊,Scope為變化波形顯示模塊。

圖1 軟件測試模型
文章所設計的交互界面,是利用CANoe軟件模擬了一種便于進行數據輸入及輸出數據觀測的交互界面。界面設計分為三個部分:數據交互、窗口搭建及參數匹配。

圖2 聯合仿真測試模型
數據交互作為聯合仿真的基礎需要利用 CANoe自帶底層數據驅動包作為傳輸核心,通過模塊與simulink模型建立數據傳輸路徑。數據通過模塊傳遞至 CANoe處理中心并進行上傳打包傳遞至 CANoe模塊。其中需要通過數據庫文件配置相關輸入輸出數據類型(系統變量,環境變量,總線數據等)。圖中所示,Input為數據輸入模塊,可以從導入的數據庫中選擇相對應的輸入數據,Output為輸出模塊對應相關數據庫中的數據輸出類型,Simulation Step為基礎工程模塊用以在CNAoe和Simulink之間傳輸實時仿真數據進行數據傳輸處理。

圖3 數據傳輸路徑
其數據交互方式圖3所示。數據從CANoe輸入經過數據庫傳遞至 Simulink模塊參與邏輯仿真,輸出結果從Simulink傳遞至數據庫再上傳至CANoe界面進行顯示。其中底層數據交互模塊由CANoe自帶驅動模塊完成,基于CAN網絡數據庫 DBC文件即可定義相關數據并實現數據庫的同步。其中需要注意的是數據庫中的數據格式傳遞至 CANoe中只能識別double類型的數據格式。需要再Simulink模型中對其他類型的數據變量進行轉化才能轉移至數據庫中。
傳統的軟件仿真方式通常采用Display、Scope等觀測模塊進行數據的觀測,但模塊一般需要放置在變量輸出旁邊用以準確定位。當進行系統仿真時不僅數據龐大,而且無法同時觀測大量數據的變化。因此窗口界面的設計是文章的核心所在。
通過Toolbox模塊可以根據不同的需求建立相關輸入開關或者拖動條并配以數字顯示模塊同步顯示量化數值,同時輸出模塊能夠仿真實車的屏顯及燈控模塊。
也可以自行建立仿實車圖標,可以更加形象的模擬實車操作。同時面板的設計也可參照實車進行擺放。在界面搭建過程中需要設計人員對實車信號有一定程度的了解,方便定義信號的來源及形態。從而在界面設計中可以更好的接近實車情況。

圖4 界面設計
通過 Properties模塊可以將圖三中設定好的圖標內部參數與simulink模型中的輸入輸出數據一一對應。文本類的字體及顏色均可自由設定,其中 Symbol用以選擇數據庫中的變量名稱,Symbol Filter為此變量對應的數據傳輸類型。設定完畢后此時該顯示模塊已經與Simulink對應輸入輸出值進行關聯,可以同步啟動仿真進行測試。需要注意的是Symbol Filter所定義的類型分為:系統變量、環境變量、總線參數及診斷變量。不同的數據類型在實際應用中有不同的選擇。需要設計人員對數據類型加以識別進行設定,才能達到最佳的使用效果。

圖5 配置界面
以某新能源商用車型測試程序為例。整個測試面板分為兩大部分。上部為數據顯示窗口,其中包含所有的硬線輸出信號狀態燈,CAN線輸出信號狀態燈,故障指示燈以及相關重點觀測參數。下部為輸入操作界面,包含所有的各類開關,數字輸入,模擬信號輸入及部分零部件重要參數輸入(注:圖中所示參數變量均為初始化狀態,不具有指導意義不涉及商業機密)。
當仿真運行時不需要在關注Simulink中的模型,僅從此頁面即可觀測被測系統的各項指標狀態,同時任何異常變化都能在測試過程中及時發現。大大降低了測試難度,其中觀測狀態燈或數值可以定義異常數據范圍,對數顯或燈的顏色進行變化,從視覺上加強了對反饋信號的關注度。

圖6 人機交互仿真界面
為保證測試的準確性,在交互界面配置時可對部分參數進行初始化設置,將其初始值定義為所測系統或模塊所需要的值,在進行測試時不需要進行重復設置工作,從而提高了測試效率。同時也可以利用不同的初始值定義不同的測試用例,滿足模型的測試范圍。
該測試面板不僅可以應用于仿真測試,在實車測試時也可以使用,但是無法實現系統變量及環境變量的觀測,僅可用于觀測 CAN網絡數據狀態,具有同樣的測試效果。可以與實車狀態進行對比,用以發現不同點或異常點,進而協助排查整車線束故障、整車供電故障、繼電器故障等一些不容易發現的問題。
根據文章所描述的測試方法對試制樣車程序進行軟件測試,完成了相關控制邏輯模塊的測試及子系統模塊輸入輸出測試。可以有效發現問題點并及時解決,保證了任務節點,進行實車測試時相關系統設計均可滿足功能要求。同時為系統軟件測試流程優化提供幫助,更好的服務于整車控制系統軟件開發環節。