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

您所在的位置:网站首页 sil是什么病的缩写 MIL、SIL、PIL、HIL是个啥,你搞懂了吗?

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

2024-05-24 05:43| 来源: 网络整理| 查看: 265

我们在使用以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嵌入式系统半实物仿真测试开发环境(点击查看),是硬件在环测试系统。面向全过程的自动化测试,以向导式的方式快速建立测试用例,并根据测试用例自动生成测试脚本,系统根据测试任务自动进行测试,减轻测试工程的工作强度。

提供全方位的执行过程监控



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3