MIL/SIL/PIL/HIL/VIL
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