2012年剛參加工作,那一年主要的工作就是硬件在環仿真。剛開始接觸硬件在環的時候很頭疼,當時這里已經有了一台HIL,用來模擬測試HEV,雖然供應商支持還算不錯,但是支持總是有限度的。硬着頭皮啃了幾個月E文和供應商給的文檔,一步步開始做,才算慢慢入門,到項目完成時,對HIL也就很熟悉了。工作也挺長時間了,准備回顧下這兩年多的工作,寫寫博客。
HIL開發
其實在一個HIL平台上做新的機型,首先需要理解整個工作流程:
- 統計ECU的IO特性。
- 理解HIL平台的工作方式。當時我們用的NI平台的HIL,很多板卡是供應商自己定義的,也就是說NI板卡用來運行實時操作系統、處理數模信號,而供應商開發的板卡主要是數模信號的進一步處理(縮放、保護)、故障注入和電源管理。因為要做故障注入和信號采集、發送,因此必須理解供應商板卡的工作方式和跳線設置。譬如做執行器的故障注入,執行器電源由ECU提供,因此ECU執行器電源需要連接到故障注入板卡的參考端,故障注入板卡的電源跳線設置為參考端,用電阻模擬執行器負載,故障注入板卡的地接ECU執行器的地。
- 在理解HIL的工作方式后,根據信號流動和ECU的IO進行匹配,由一個比較復雜的表來維護映射關系和板卡跳線設置。這是個比較考驗耐心的過程。接着就是線束制作了。
- 模型開發。我們當時的模型是基於Tesis enDYNA的高壓共軌模型開發的混合動力模型,里面借用了Advisor的部分模型。后面會專門介紹enDYNA模型。模型開發完成后,使用自動代碼生成,生成dll文件。
- 模型開發完成后,就需要將模型與硬件IO連接起來,這里使用的工具是Veristand,創建一個工程,連接模型和硬件IO、模型與操作界面。
- 再接下來就是Teststand測試。
- 上面都弄清楚了,就應該寫一個標准了,以后的工作都按照這個標准來,會輕松很多。
HIL入門比較難,只能踏踏實實一步步學習。其實把它理解為一個具有輸入的復雜的信號發生器就可以了,在每一步中把握學習的主線和步驟。
HIL應用
在HIL搭建起來后,更應該關注怎么用才能用好。
我理解的HIL的應用包括以下幾個方面:
- HIL測試,測試用例的編寫、管理、復用,IBM有個工具RQM可以管理Teststand測試用例。
- 基於HIL的控制器開發
- 基於HIL的車聯網應用開發。Veristand有個API,可以通過API來設置模型中的參數、讀取信號的值,WIN編程總比NI實時編程要方便的多,這樣就有了很多應用的可能。