技術分享|使用TSMaster從零打造車輛控制器HIL實時仿真系列5-ECU HIL仿真的具體實施
一、HIL硬件在環(huán)
上一個章節(jié)介紹的ABS算法仿真和車輛模型的運行,它們的 功能并不是簡簡單單地繪制曲線,搜集運行數(shù)據(jù),而是有著 更深層次的目的,那就是與外部世界聯(lián)動,將輸入和輸出數(shù) 據(jù)完完全全暴露在真實世界中,達到HIL的真正目的——硬件 在環(huán)。
與外部世界交互這個過程可以說十分簡單,只需要為此專門 設計一個dbc文件,加載到TSMaster中,再將系統(tǒng)變量中的 內(nèi)容映射到總線上即可。
在此我準備了一個簡單的dbc文件,它包含四個輪速,還有 四個輪缸壓力信號。我們將其拖入tsmaster中。
再打開RBS,讓剩余總線仿真接管這些信號的發(fā)送
隨后我們打開硬件通道選擇器,將CAN通道選擇為同星的一 款總線工具——TC1005,作為演示,TC1005的通道1 和通道 2互相連接在了一起,確保發(fā)出的報文可以被正確應答。
我們啟動RBS,打開Trace窗口,就可以看到我們需要的信號都在總線上以預定的頻率發(fā)送 著,當然這些信號由于沒有更新,初始值都是0,下一步就是
做信號綁定,將系統(tǒng)變量中的值傳給這些信號。
首先停止仿真,回到我們的算法小程序,添加預發(fā)送函數(shù),接管 輪速和壓力報文的發(fā)送過程,這意味著每當報文即將被發(fā)出,系統(tǒng)都會調(diào)用這些預發(fā)送函數(shù),我們只需要簡單地在這 些函數(shù)內(nèi)更新我們所需的信號即可。
我們試著賦一下值。最后我們在圖形窗口中,添加需要觀測的CAN信號,包括速度信號和壓力信號等等。
至此,我們完成了所有所需的信號的預發(fā)送函數(shù),是時候啟 動整個仿真過程了,還是同樣的流程,連接TSMaster的應 用程序,點擊自動化模塊的啟動按鈕??梢钥吹杰囕v正在運行過程中。
隨著程序的運行,我們可以實時觀測到總線上活躍的輪速和 壓力信號,這些信號就最終與真實世界發(fā)生了交互。
二、實現(xiàn)車輛控制器的HIL仿真
有了前面的基礎,可以說此時我們真正踏入了HIL實時仿真 的大門。使用這一整套流程,以不變應萬變,實現(xiàn)各式各樣 的車輛控制器的HIL仿真。
舉個簡單的例子,倘若我們需要對所開發(fā)的ibooster進行 HIL仿真, ibooster是真實的ECU。我們就需要導入 這個ibooster的所有網(wǎng)絡的dbc文件,用我們的RBS將它所需的信號全部仿真出來。
而要仿真信號,最簡單的方法則是,在RBS仿真界面上,選中我們所需的ibooster節(jié)點,點擊右鍵,一鍵自動生成HIL配置,這步操作可以自動激活 ibooster依賴的其他節(jié)點和報文。
其次,來到小程序中,通過預發(fā)送函數(shù),構造此節(jié)點所需的 各類總線信號。
再接下來就是一些硬件的信號,比如遇到踏板信號,可以通過電缸自動化接口或是定制的 API實現(xiàn)。
同時,如果遇到IO或通斷信號,則通過我們的IO板卡和繼電器 板卡API實現(xiàn);
如果是遇到輪速等特殊傳感器信號,則通過我們的輪速模擬板卡API實現(xiàn);
如果遇到電源電壓的控制,可以使用可編程電源配合API 的方式實現(xiàn);
最后,我們可以打開自動化模塊,編寫一系列用例,來對我 們的產(chǎn)品進行各種可能的測試。
當然,這一切背后還有個重要的前提,那就是軟件之外的一切準備工作,也就是ECU機械和液壓負載必須提前準備完畢。
只要上述內(nèi)容都就緒,那么便可以設計并最終執(zhí)行無人值守的全自動化參數(shù)遍歷和測試,在測試結束后,再通過預先配置的信息,實現(xiàn)測試報告的一鍵自動生成。
最后的實現(xiàn)內(nèi)容,由于細節(jié)過于繁雜,實現(xiàn)方式各異,在此 從略,我們有理由相信,基于TSMaster的這一整套仿真架構,小伙伴們也可以發(fā)揮自己的聰明才智,設計出各式各樣的HIL實時仿真系統(tǒng)。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。
電流變送器相關文章:電流變送器原理