MIL、SIL、PIL、HIL是个啥,你搞懂了吗?

本文详细解释了基于模型的设计(MBD)方法中模型在环(MIL)、软件在环(SIL)、处理器在环(PIL)和硬件在环(HIL)测试的区别和应用场景,以及ETest在嵌入式系统测试中的应用。特别强调了HIL测试在确保安全性和降低成本方面的价值。
摘要由CSDN通过智能技术生成

图片

我们在使用以MBD为基础的软件开发过程中,经常会听到MIL、SIL、PIL和HIL等In-the-Loop测试,这几种测试之间到底是什么关系,分别做什么事情,下面我来简单说说。

01

基于模型的设计(MBD)

基于模型的设计方法(MBD,Model based Design)采用图形化设计和自动化代码生成,不同于基于手工编程和纸上规范的传统编程方法,具有如下优点:

1

在统一的开发测试平台上,允许从需求分析阶段就开始验证,并做到持续不断的验证与测试;

2

产品的缺陷暴露在产品开发的初级阶段,开发者把主要精力放在算法和测试用例的研究上,嵌入式代码的生成和验证则留给计算机去自动完成;

3

大大缩短了开发周期与降低开发成本。基于模型的设计方法的不同阶段,分别采用MIL/SIL/PIL/HIL等测试方法,有效的对嵌入式代码进行测试和验证。其中:

MIL,Model in the Loop:模型在环测试;

SIL,Software in the Loop:软件在环测试;

PIL,Processor in the Loop:处理器在环测试;

HIL,Hardware in the Loop:硬件在环测试。

02

模型在环测试(MIL)

图片

图一:模型在环测试(MIL)示意图

如图一所示,如果在Simulink模型中,将控制算法模型和被控对象模型连起来形成闭环,就是我们经常说的MIL,顾名思义,在模型层面上实现闭环测试。这种测试通常发生在两种场景之下:

◆系统工程师为了验证算法,使用控制算法模型控制被控对象模型。

◆软件工程师做模型级别的集成测试。

当然,MIL测试的前提是要有被控对象模型,搭建被控对象模型或者采购现成的被控对象模型都可以。

03

软件在环测试(SIL)

现在我们将Simulink中开发的算法自动生成为c代码。但是由于代码自动生成工具本身的原因或者代码生成工具没有正确设置或者其他未知原因,自动生成代码过程可能会引入一些错误。所以我们需要验证自动生成的代码与算法模型的一致性,这就是SIL测试。

SIL测试使用与MIL相同的测试用例,查看对于相同的测试用例,查看其输出是否与MIL阶段一致。为了测试的高效性,有时甚至不接入被控对象模型,而是对算法模型和生成代码进行相同的输入,查看输出是否一致。如下图所示:

图片

图二:软件在环测试(SIL)示意图

04

处理器在环测试(PIL)

将自动生成的代码编译为目标处理器需要的形式,并下载到目标处理运行,为了防止编译过程引入新的错误,此时需要进行PIL测试。PIL测试也是等效性测试,其方式与SIL类似,不同之处是编译好的算法运行在目标处理器上,SIL测试是在算法开发环境进行的(如windows)。

05

硬件在环测试(HIL)

在开发出完整的控制器后,有时被控对象(整车)还未完成开发;有时使用真实被控对象进行测试太危险或成本高:出于这些不同的原因,采用真实控制控制器和虚拟被控对象的HIL测试常常被使用。如下图所示:

图片

图三:硬件在环测试(HIL)示意图

凯云科技自主研发的ETest嵌入式系统半实物仿真测试开发环境(点击查看),是硬件在环测试系统。面向全过程的自动化测试,以向导式的方式快速建立测试用例,并根据测试用例自动生成测试脚本,系统根据测试任务自动进行测试,减轻测试工程的工作强度。

图片

提供全方位的执行过程监控手段,测试过程数据自动记录,可通过测试用例和代码逻辑的双向追溯;内置高性能实时数据库(响应时间小于1ms,同步传送和抖动时间小于10us),支持海量数据存储与处理,提高测试效率。

ETest产品系列是全自主研发拥有核心知识产权,能够完美解决整车厂当前难题的国产软件。采用ETest,就可在设计周期的较早阶段对汽车的各个ECU系统进行测试。此外,ETest能够基于软件定义的平台搭建而成,就能够较灵活地适应ECU设计和测试要求的变化。大大缩短开发时间和测试成本,提升测试效能。

未来的自动驾驶汽车对安全性要求极其严格,需要通过灵活的测试,才能实现快速创新,同时保证测试严格性和效率。

06

总结

四种测试方法各自的特点如下表所示:

图片

以上四中测试,其中MIL、SIL、PIL三种测试都是和MBD开发模式下特有的,而HIL不同,无论你是否使用MBD开发,都可能需要做HIL。不是所有的应用都需要,但是以下两种情况建议做HIL:

1.在控制器软硬件不成熟的条件下,运行出错可能会导致人身伤害或者重大财产损失的情况;

2.在开发过程中,被控对象开发滞后于控制器开发的情况。

另外,HIL测试通常比实物测试更节省成本,比如,做汽油机台架测试,需要有大量的汽油消耗,而通过HIL测试汽油机控制器,就没有汽油消耗。但这并不是说HIL可以替代实物测试,HIL测试之后,通常会跟着做实物测试。

还想了解更多软件测试的秘密,欢迎点击http://www.kiyun.com/查看。

参考文献:汽车测试网

https://www.auto-testing.net/news/show-107454.html

图片

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值