MIL:Model in the loop 模型在環,對模型在模型的開發環境下(如SIMULINK)進行仿真,通過輸入一系列的測試用例,驗證模型是否滿足設計的功能需求。驗證控制算法模型是否准確地實現了功能需求,MIL是所有測試中最關鍵的。
SIL:Software in the loop 是一種等效性測試,測試的目的是驗證代碼與控制模型在所有功能上是完全一致的。其基本原則一般是使用與MIL完全相同的測試用例輸入,將MIL的測試輸出與SIL的測試輸出進行對比,考察二者的偏差是否在可接受的范圍之內。在PC上驗證代碼實現的功能是否與模型一致
PIL:Processor in the loop 在目標處理器上驗證代碼實現的功能是否與模型一致
PIL測試與SIL測試的不同在於軟件是使用的目標MCU的編譯器(Tasking)進行編譯鏈接,也需要運行在目標板上,其基本工作原理如下。
其測試通過准則是,使用與SIL相同的測試用例輸入進行測試時,比較PIL和SIL的輸出,如果兩者之差在容許范圍之內,則測試通過。
HIL:Hardware in the loop 硬件在環仿真,在ECU/EPP/整套系統上驗證代碼實現的功能是否與需求定義一致
一般來說按照in the loop的深度不同可以分為三個層級:
-
ECU級:也可以稱之為信號級,僅僅ECU軟硬件采用實物,閉環回路的其他組成部分均采用虛擬仿真系統
-
EPP級:也可以稱之為驅動級,EPP是Electrical Power Package的縮寫, ECU及執行機構采用實物,閉環回路的其他組成部分采用虛擬仿真系統
-
System級:也可以稱之為機械級,系統組件采用實物,閉環回路其他組成部分采用虛擬仿真系統
VIL:Vehide in the loop 實車在環測試
參考:https://zhuanlan.zhihu.com/p/27351047
https://zhuanlan.zhihu.com/p/27011210
https://wenku.baidu.com/view/cbaae59764ce0508763231126edb6f1aff0071a2.html
http://www.ind4.net/html/news/newsDetail_7007.html