2、工具链全景图:主流MIL工具介绍(Simulink、ETAS、dSPACE等)、工具链集成方式、选型考量

好,咱们进入第二章。这一章我打算把MIL测试的工具链摊开来,给你看个明白。

很多刚入行的朋友问我:“做MIL测试到底要用哪些工具?” 我的回答通常是:工具不在多,在于你能不能把它们串起来。你想想看,光有一个Simulink,没有数据管理,没有自动化脚本,测试效率能高到哪去?

2.1 主流MIL工具介绍

目前市面上主流的MIL工具,说白了就三大阵营:MathWorks的Simulink/Simulink TestETAS的LABCAR-MILdSPACE的TargetLink/SystemDesk。我这些年都摸过一遍,各有各的脾气。

2.1.1 Simulink & Simulink Test

这个不用我多说了吧?行业标配。我个人习惯把Simulink Test当作MIL测试的主引擎。它最大的优势是和模型开发环境无缝集成。你在Simulink里搭好模型,直接就能用Test Manager写测试用例、跑仿真、看覆盖率。

我记得有一次,客户要求测试一个ACC(自适应巡航)的控制逻辑。我用Simulink Test的Test Sequence模块,把各种切入切出的场景都写成了时序图。跑一遍下来,覆盖率报告直接生成,省了至少两天的后处理时间。

核心能力:
  • 测试用例管理(Test Manager)
  • 信号注入与采集(Signal Builder / Test Sequence)
  • 覆盖率分析(Condition、Decision、MCDC)
  • 自动化回归测试(MATLAB脚本驱动)

2.1.2 ETAS LABCAR-MIL

ETAS这套东西,在德系OEM里用得特别多。它的强项是和ASCET-DEVELOPER的深度绑定。如果你团队用的是ETAS的V模型开发流程,那LABCAR-MIL几乎是绕不开的。

我曾经在一个项目里,需要把ASCET模型移植到Simulink环境做MIL测试。嗯,这里要注意,两个工具对数据类型的处理方式完全不同。ETAS的物理量单位体系非常严格,Simulink相对宽松。我当时花了不少精力做数据映射,才把两边的信号对齐。

避坑指南: 如果你用ETAS,建议把测试脚本也写在ETAS的自动化框架里(比如用Python或ETAS自家的INCA-MCE)。混用工具链容易出兼容性问题。

2.1.3 dSPACE TargetLink & SystemDesk

dSPACE在HIL领域是老大,但在MIL层面,它的TargetLink更多是面向代码生成的。SystemDesk则偏向系统架构和虚拟集成。

我个人觉得,dSPACE的MIL测试方案更适合需要早期做软件在环(SIL)验证的场景。因为TargetLink生成的代码质量非常高,你可以在MIL阶段就验证代码级的时序和资源占用。

工具 核心定位 适用场景 我的评价
Simulink Test 模型级测试与覆盖率 通用MIL测试、快速原型 上手快,生态好
ETAS LABCAR-MIL 与ASCET深度集成 德系OEM流程、严格单位管理 严谨但学习曲线陡
dSPACE TargetLink 代码生成与早期验证 SIL/MIL联合、高安全等级项目 代码质量一流

2.2 工具链集成方式

工具选好了,怎么把它们串起来?这才是真正的技术活。我见过不少团队,工具买了一大堆,结果各跑各的,数据对不上,版本乱成一锅粥。

常见的集成方式有三种,我按推荐程度排个序:

  1. 基于脚本的自动化集成(我最推荐)
    用MATLAB脚本、Python或TCL,把模型编译、测试执行、结果收集、报告生成串成一条流水线。我在上一个项目里就是这么干的:每天凌晨自动跑一次全量回归,早上上班直接看报告。
  2. 基于工具链平台的集成
    比如用dSPACE的AutomationDesk或ETAS的COSYM,把Simulink模型、ASCET模型、甚至C代码都拉到同一个仿真平台上。优点是统一管理,缺点是贵,而且对IT基础设施要求高。
  3. 手动集成(不推荐)
    就是工程师手动导出数据、手动跑测试、手动写报告。嗯,这种模式在项目初期或小团队里还能凑合,但一旦模型迭代超过10个版本,你就等着崩溃吧。
注意: 无论你选哪种集成方式,版本管理一定要做好。我见过最惨的一次,是团队用Simulink Test跑了一周的数据,结果发现模型版本和测试用例版本对不上,全部白跑。从那以后,我要求所有测试用例必须和模型一起入Git。

2.3 选型考量

最后聊聊选型。很多公司选工具只看名气,不看实际需求。我的建议是,从以下四个维度去考量:

  • 团队技术栈:如果团队全是Simulink老手,就别硬上ETAS。学习成本太高。
  • 项目安全等级:ASIL-D的项目,建议选dSPACE或ETAS,它们的工具链对ISO 26262的支持更成熟。Simulink Test虽然也能做,但需要额外配置。
  • 预算:Simulink Test的授权相对便宜,dSPACE和ETAS的完整工具链动辄几十万。小团队可以先从Simulink起步。
  • 未来扩展性:如果你们以后要做HIL测试,那最好选和HIL平台同一家的MIL工具。比如dSPACE的MIL工具和它的HIL平台(SCALEXIO)集成度极高,数据流几乎无缝。

好了,这一章的内容就到这里。工具链这东西,没有最好的,只有最合适的。下一章我会深入讲讲测试用例的设计方法,那才是MIL测试的核心竞争力。