『楂橀鍊兼缇庡コ绁灐?全盲男子的“潮”人生:从家中累赘成为村中楷模 -Mobile

同城58网 科技 模型开发中的常用概念:MIL、SIL、PIL和HIL

『楂橀鍊兼缇庡コ绁灐?吉林省人大常委会决定任命名单 -Mobile

来源 | 车端

知圈 | 进“底盘社群”请加微yanzhi-6,备注底盘

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

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

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

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

MIL、SIL、PIL三种测试都是和MBD开发模式下特有的,而HIL不同,无论你是否使用MBD开发,都可能需要做HIL,不是所有的应用都需要做HIL,但是以下两种情况建议做HIL,1)在控制器软硬件不成熟的条件下,运行出错可能会导致人身伤害或者重大财产损失的,2)在开发过程中,被控对象开发滞后于控制器开发的情况。另外,HIL测试通常比实物测试更节省成本,比如,做汽油机台架测试,需要有大量的汽油消耗,而通过HIL测试汽油机控制器,就没有汽油消耗。但这并不是说HIL可以替代实物测试,HIL测试之后,通常会跟着做实物测试。

差不多了吧,如果记不住上面的大段文字,就请记住下面3点:

记住3点

本文来自网络,不代表本站立场,转载请注明出处:http:

对象,控制,模式,代码,过程,模型,测试,开发,被控,概念,编译器,代码,模型,控制器,C代码

同城58网后续将为您提供丰富、全面的关于对象,控制,模式,代码,过程,模型,测试,开发,被控,概念,编译器,代码,模型,控制器,C代码内容,让您第一时间了解到关于对象,控制,模式,代码,过程,模型,测试,开发,被控,概念,编译器,代码,模型,控制器,C代码的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。
棋牌游戏用多少流量 电玩城拳击叫什么名字 真钱推筒子技巧 有口碑的棋牌游戏app 疯狂斗地主能刷金币么
欢乐斗地主qq登录微信 正版老虎机厂家 四头鲨鱼机厂家 电玩城音乐大全 皇室捕鱼黄金安卓版本
互联网时代电子游戏 8乐游棋牌游戏官网下载 视频斗地主卡普通斗地主不卡 退烟功能老虎机的规律 捕鱼提现手机版下载
电玩城合作经营协议书范本 汕头扑克牌分析仪保盈 为什么要产生电子游戏 扑克洗牌方法大全 电玩城最火的游戏机