HIL實時仿真系列5
今天我們來到《TSMaster 從零打造車輛控制器HIL實時仿真系列》第五章節(jié),繼續(xù)介紹控制器實時HIL的實現(xiàn)。
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的應用程序,點擊自動化模塊的啟動按鈕。可以看到車輛正在運行過程中。
隨著程序的運行,我們可以實時觀測到總線上活躍的輪速和壓力信號,這些信號就最終與真實世界發(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ù)遍歷和測試,在測試結(jié)束后,再通過預先配置的信息,實現(xiàn)測試報告的一鍵自動生成。
最后的實現(xiàn)內(nèi)容,由于細節(jié)過于繁雜,實現(xiàn)方式各異,在此從略,我們有理由相信,基于TSMaster的這一整套仿真架構,小伙伴們也可以發(fā)揮自己的聰明才智,設計出各式各樣的HIL實時仿真系統(tǒng)。
系列結(jié)語
至此,使用TSMaster從零打造車輛控制器HIL實時仿真系列就全部介紹完畢,在此僅僅是拋磚引玉,讓我們共同將TSMaster的潛力發(fā)揮出來。(具體操作步驟詳情可直接觀看我們的B站視頻哦~)
-
仿真
+關注
關注
50文章
4124瀏覽量
133994
發(fā)布評論請先 登錄
相關推薦
評論