04测试仿真

SIL测试简单介绍

一、概念

SIL(software in-the-loop)测试,软件在环测试,通过运行系统环境中的车辆模型和虚拟ECU中的I/O模型来模拟控制器所需的各种传感器信号,并能接收台架传感器的信号和虚拟ECU发出的控制信号,从而与被测虚拟ECU的代码信息(包括基础软件和硬件参数等)和系统环境模型相连接,最终实现闭环仿真对控制系统进行测试验证。

二、应用背景

随着电控系统技术的飞速发展,ECU在车辆上的应用领域越来越广泛,算法日益复杂,功能逐步增多。针对日益增长的ECU功能测试需求,电控测试需要更多的测试时间,造成车辆试验的成本逐渐增加。软件在环仿真能通过设置ECU的相关信号与仿真平台相连,实现目标控制器算法的在线或离线仿真,从而为开发电控系统的算法节约时间、减少成本。

由于目前许多汽车公司已经从传统的开发模式转移到V形开发模型,以减少重复的代码编制和实车试验。在V形开发模式下,通过SIL平台一方面可在开发过程中更早介入,以确保在早期的开发过程中通过对嵌入式软件的测试及时发现存在的问题,提高改进的效率,从而很大程度上可以节约ECU功能开发成本和周期。

三、测试流程

在SIL测试中,用相应自动生成的软件的可执行目标代码替换了MIL测试中的模型。自动代码生成器,通常建立在标准化的建模准则下,并且可以帮助系统工程师使用建模语言的功能。

SIL测试中被测对象是Simulink中开发算法自动生成的C代码。但是在自动生成C代码时,可能由于代码自动生成工具本身的原因比如没有正确设置或者其他的一些未知原因,自动生成代码过程中可能会引入一些错误,导致生成的C代码可能会有错误。所以我们就需要验证自动生成的C代码(使用设计主机编译器)是否满是否满足要求,也就是保证MIL测试中算法模型与C代码的一致性,这就是我们常说的SIL测试。

上述提到的自动生成代码过程中可能引入的错误可以分为两类:

①代码生成用户:代码自动生成过程是一个可定制的过程,如果用户定制化的内容没有经过严格、充分的验证,那么也是很容易引入bug的;

②代码生成工具:自动生成代码的工具本身是一种软件,所以和其他软件一样都有可能出现bug。

既然我们选择自动生成代码的工具来生成C代码,说明我们还是信任我们所用的生成工具的,也就是说自动生成工具生成代码过程中出现错误的概率几乎为零,但是我们还是得“小心行事”,确保这一过程生成的C代码没有错误,保证后续的PIL(Processor in-the-loop)处理器在环测试以及HIL(Hareware in-the-loop)硬件在环测试是无误的。

四、两种模式

在MATLAB/simulink中SIL测试模型分为两个,其中一个是测试环境模型,提供输入信号源,设置为Normal模式,另一个是被测模型,存储为独立的slx。在测试环境模型中使用两个Model Referrence引用被测模型,并设置其中一个为Normal模式,另一个为SIL模式,然后进行仿真。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值