0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于MIL、SIL、PIL和HIL之间的联系和异同分析

MATLAB 来源:djl 作者:董淑成 2019-09-17 11:51 次阅读

我们在使用MBD开发软件的过程中,经常会听到MIL、SIL、PIL和HIL等In-the-Loop测试。

这几种测试之间到底是什么关系?

分别做什么事情?

下面我来简单说说。

M模型在环测试(MIL)

关于MIL、SIL、PIL和HIL之间的联系和异同分析

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

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

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

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

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

M软件在环测试(SIL)

SIL测试,这里的Software是指控制策略模型转换成的C代码编译之后的软件。我们可以想象,对于图一,如果我们把控制策略模型替换成由控制策略模型转换得到的C代码编译后的DLL文件,如果我们使用了和MIL测试时相同的测试用例,如果我们的测试用例足够多,如果我们得到了和MIL测试相同的结果,那么我们是不是可以认为我们生成的C代码就和用于代码生成的模型是一致的呢?

没错,SIL测试的目的就是为了验证自动生成的代码和用于代码生成的模型中行为上是一致的。

也就是说SIL测试是一种等效性测试,既然是等效性测试,那么我们就没必要搭建图一那样的闭环模型,而可以用图二实现等效性测试。

关于MIL、SIL、PIL和HIL之间的联系和异同分析

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

其实Simulink提供了SIL仿真模式,所以,我们可以用更方便的方式实现SIL测试,使用:

set_param(model_name,’SimulationMode’,’Software-in-the-loop(SIL)’)

设置算法模型的仿真模式为SIL,然后对比Normal模式下的输出结果即可,并且这样做有助于过程自动化。如图三所示:

关于MIL、SIL、PIL和HIL之间的联系和异同分析

图三:选择SIL仿真模式测试

M处理器在环测试(PIL)

SIL测试是验证代码和模型的一致性,代码运行在Windows平台上,某种程度上说,这并不能保证代码到目标处理器上的运行结果也能够和模型保持一致。所以,就有了PIL测试。

PIL和SIL的不同之处在于,SIL将生成的代码通过DLL的方式运行在Windows平台上,而PIL,是将生成的代码运行到目标处理器上,两种模式使用的编译器也是不同的,SIL使用的就是Windows下的编译器,比如Visual Studio C++或者LCC编译器,而PIL使用的是目标编译器。

前面说过,等效性测试的目的是为了防止代码生成过程出错。同样,编译过程也可能出错,编译器也可能有bug,综合模型测试、SIL测试和PIL测试的结果,也可以帮助我们发现编译器出错可能引入的bug。

SIL和PIL是等效性测试,测试的目的是为了验证自动生成的代码和模型具有相同的行为,既然如此,对于SIL和PIL的测试用例就没有功能意义上的要求,只要要求代码和模型输入的测试数据相同即可,当然希望数据量足够大,能够覆盖各种路径以及各种信号范围。

另外,因为PIL测试中代码运行在实际的控制器上,所以PIL测试除了可以验证代码和模型是否一致之外,还可以获得算法在实际控制器上的最长运行时间,而这个最长时间的价值,做嵌入式实时软件开发的工程师都懂得。

M硬件在环测试(HIL)

最后再说一下HIL测试,很多人会把HIL和PIL混淆,也有人认为PIL是一种简化的HIL,理由是PIL测试的时候也需要引入硬件。这种理解是错误的。PIL和HIL测试的目的是不同的,PIL用于测试软件和模型是否一致,而HIL是用于测试控制器系统的,控制器系统包括了硬件、底层软件和应用层软件。HIL测试通常将一个被测控制器和工控机相连,工控机上运行着被控对象的模型,并且模拟出被控对象的一些电气特性。在HIL场景下,被测试的控制器并不知道和它相连的是一台工控机,它会认为自己连接的就是真实的实物对象。

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

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

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

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

如果记不住上面的大段文字

就请记住下面3点——

MIL用于测算法

SIL和PIL用于测代码(和模型的一致性)

HIL用于测控制器系统

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19093

    浏览量

    228778
  • 控制器
    +关注

    关注

    112

    文章

    16092

    浏览量

    177023
  • 编译器
    +关注

    关注

    1

    文章

    1616

    浏览量

    49011
收藏 人收藏

    评论

    相关推荐

    基于TSMaster的MIL/HIL仿真开发(空簧和连续阻尼控制篇)

    ,本文HIL的测试对象为控制器本身而非整套悬架系统。#02仿真前提满足ASU&CDC的MIL/HIL测试须要满足如下条件1.建立CDC物理模型,即CDC速度-电流-力
    的头像 发表于 10-26 08:02 391次阅读
    基于TSMaster的<b class='flag-5'>MIL</b>/<b class='flag-5'>HIL</b>仿真开发(空簧和连续阻尼控制篇)

    设计仿真 基于VTD的AR-HUD仿真测试解决方案

    以虚拟场景为基础的AR-HUD仿真测试手段,大大提升了产品开发迭代效率,降低开发成本,在行业内得到了越来越多的关注,AR-HUD的仿真测试涵盖MIL/SIL/HIL/DIL等不同阶段,以VTD为基础的仿真测试方案可以沿用相同的数
    的头像 发表于 10-09 13:51 568次阅读
    设计仿真  基于VTD的AR-HUD仿真测试解决方案

    【干货分享】硬件在环仿真(HiL)测试

    一、HiL是什么?硬件在环仿真(Hardware-in-the-Loop,简称HIL)是真的控制器连接假的被控对象,以一种高效低成本的方式对控制器进行全面测试。它是一种用于复杂设备控制器的开发与测试
    的头像 发表于 09-19 17:15 590次阅读
    【干货分享】硬件在环仿真(<b class='flag-5'>HiL</b>)测试

    应用案例分享 | 智驾路试数据分析SiL/HiL 回灌案例介绍

    本文将通过实际应用案例进行讲解,通过软件在环(SiL)和硬件在环(HiL)回灌验证,该系统能够充分评估和优化算法性能,发挥数据价值。
    的头像 发表于 09-13 14:45 1690次阅读
    应用案例分享 | 智驾路试数据<b class='flag-5'>分析</b>及 <b class='flag-5'>SiL</b>/<b class='flag-5'>HiL</b> 回灌案例介绍

    RTU与PLC有什么异同

    在工业自动化系统中各自扮演着重要的角色,但两者在功能、应用场景、设计原理等方面存在着显著的差异。本文将详细解析RTU与PLC的定义、特点、应用场景以及它们之间异同,以便读者能够更深入地了解这两种设备。
    的头像 发表于 06-03 14:55 1365次阅读

    MXsteerLink:助力汽车转向测试 HiLSiL/MiL 之间平滑的切换

    汽车电子
    北汇信息POLELINK
    发布于 :2024年03月14日 11:30:24

    如何实现PIL和OpenCV之间图像数据的转换呢?

    PIL图像数据格式转换成OpenCV图像数据格式
    的头像 发表于 02-25 13:43 1127次阅读

    接地保护跟漏电保护有什么异同处??

    随着电力系统的不断发展,人们对电气设备和电路安全的重视程度越来越高。因此,接地保护和漏电保护等电气安全措施起着至关重要的作用。在本文中,我们将详细介绍接地保护和漏电保护的工作原理、应用场景以及它们之间异同点。
    的头像 发表于 02-06 10:34 2438次阅读

    四种编程语言之间的区别和联系

    编程语言是一种人与计算机之间进行交流的方式,不同的编程语言有着不同的特点和用途。本文将对四种常见的编程语言——Python、Java、C++和JavaScript进行比较,分析它们的区别和联系。 一
    的头像 发表于 02-05 14:16 1373次阅读

    中国HiL迎来产业化元年

    随着新能源汽车产业的迅猛发展,硬件在环(HiL)仿真测试技术正迎来前所未有的市场机遇。上海蔚赫信息科技有限公司(以下简称“蔚赫信息”)最新交付的Vehinfo LABCAR解决方案,是其收购博世
    的头像 发表于 01-23 11:13 694次阅读

    钠离子电池未来会取代锂离子电池吗?两者之间有何异同

    钠离子电池未来会取代锂离子电池吗?两者之间有何异同? 随着全球对可再生能源和能源储存需求的不断增加,锂离子电池作为目前主流的能源储存技术,面临一些挑战。一种备受关注的备选技术是钠离子电池。本文将详细
    的头像 发表于 01-10 13:45 735次阅读

    使用VeriStand搭建MIL测试环境

    MIL(Model In The Loop)模型在环仿真测试用于在实际系统搭建完成之前进行模型测试,使用VeriStand搭建MIL测试环境,可以在不需要硬件资源的情况下测试控制模型。
    的头像 发表于 01-05 10:42 3955次阅读
    使用VeriStand搭建<b class='flag-5'>MIL</b>测试环境

    SPI与I2C的异同及优缺点

    SPI与I2C的异同及优缺点  SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)是两种常见的串行通信接口协议,用于
    的头像 发表于 12-07 10:46 2904次阅读

    什么是MIL认证电线?MIL认证电线的用途

    MIL 认证电线或 MIL 规格电线是符合为军事应用而开发的严格标准的任何布线解决方案。与任何军用规格一样,MIL 认证的电线专为在恶劣环境中实现高性能和高可靠性而设计,这也使其成为许多非军用恶劣环境应用的有吸引力的选择。
    的头像 发表于 12-04 10:25 764次阅读

    如何通过HIL测试系统做ADAS验证

    本文分享的是一个案例,借助NI开放式、数据驱动型、软件互连的生态系统以及PXI功能,采埃孚能够开发可扩展的ADAS HIL系统,在满足未来需求的同时与测试项目的步伐保持一致。 目前,采埃孚的ADAS HIL测试系统原型已复制至HIL
    的头像 发表于 11-27 09:52 669次阅读
    如何通过<b class='flag-5'>HIL</b>测试系统做ADAS验证