加载中...


在硬件在环(HIL)测试领域,长期以来Simulink+Speedgoat/dSPACE的组合被视为"黄金标准"。然而,这套方案的授权费用动辄数十万至上百万元,且每年还需支付高昂的维护费。对于预算有限的团队而言,真的只有这一条路可走吗?本文将对凯云ETest实时仿真平台进行深度测评,从实时性能、协议支持、模型部署、实际应用等多个维度,验证国产半实物仿真工具的真实能力。
在过去两年中,国产工业软件迎来了政策层面的强力支持。"卡脖子"清单的出炉让越来越多的企业开始关注自主可控的替代方案。而在仿真测试领域,一个不容忽视的现实是:国际主流HIL平台的价格体系中,软件授权费往往占据60%以上。这意味着,企业购买的不只是技术,更是一整套生态绑定。
凯云科技推出的ETest,是一款定位为"半实物仿真测试平台"的国产解决方案。与传统进口方案相比,它在架构设计上更强调开放性与兼容性,试图解决"能用"之外"好用"的问题。但纸面参数终究要与实测数据对标,下面我们将从技术细节出发,还原这款产品的真实表现。


ETest采用"主机+目标机"的双层架构。主机端运行Windows操作系统,负责测试工程管理、界面配置和数据分析;目标机端则运行实时操作系统(RTOS),承担硬实时任务执行。这种设计将人机交互与实时控制分离,从架构层面保障了系统的确定性和实时性。
ETest支持多种接口扩展卡,包括PCIe和PXIe两种规格。在本次测评中,我们使用了PCIe接口的通讯板卡进行测试。平台标称支持以下接口类型:
在软件层面,ETest采用模块化设计,主要包含以下组件:
| 组件名称 | 功能描述 | 运行环境 |
|---|---|---|
| ETest Studio | 可视化配置界面,测试工程管理 | Windows主机 |
| ETest SDK | API接口,支持C/C++/Python调用 | Windows主机 |
| ETest RT | 实时核,运行在目标机端 | Linux RT / RTX |
| 协议栈库 | 1553B/ARINC429/CAN等协议解析 | 通用 |

实时性能是HIL测试的核心指标。我们重点关注两个参数:端到端延迟(从输入信号到输出响应的时间)和抖动(延迟的稳定性)。过大的抖动会导致测试结果不可复现,尤其在航空航天等领域,这是不可接受的。
测试采用回环法:将信号发生器连接到数字量输入端口,经过目标机处理后从数字量输出端口输出,用示波器测量输入输出之间的时间差。为排除干扰,我们进行了10000次采样取平均值,并记录最大值、最小值和标准差。
在本次测试中,ETest目标机的实时核配置为1ms任务周期。测试结果如下:
| 测试项目 | 配置1(1ms周期) | 配置2(100μs周期) | 对比:进口某品牌 |
|---|---|---|---|
| 平均延迟 | 1.23ms | 127μs | 1.15ms |
| 最大抖动 | ±15μs | ±3μs | ±12μs |
| 抖动标准差 | 8.2μs | 1.8μs | 6.5μs |
| CPU占用率 | 23% | 41% | 35% |
从数据可以看出,ETest在1ms任务周期下的实时性能与进口品牌基本持平。抖动指标甚至略有优势,这得益于其RTOS调度器的优化设计。在100μs周期下,性能表现依然稳定,虽然CPU占用率上升至41%,但仍在可接受范围内。
我们还进行了72小时连续运行测试,验证平台在长时间工作下的稳定性。测试期间,平台未出现任何超时或崩溃,各项指标波动范围均在±2%以内。这对于需要7×24小时连续测试的场景尤为重要。
1553B是航空电子系统中广泛使用的总线标准。ETest提供了完整的1553B协议栈支持,包括BC(总线控制器)、RT(远程终端)和BM(总线监控器)三种角色。下面展示如何在ETest Studio中配置一个基本的BC节点:
第一步,在设备管理中添加1553B板卡,选择对应的PCIe卡槽位置。系统会自动识别板卡型号并加载驱动。
第二步,进入协议配置界面,设置总线波特率为1Mbps(1553B标准波特率),选择工作模式为BC。
第三步,配置消息表。每个1553B消息包含子地址、字计数和传输方向(发送/接收)信息。以一个典型的命令字为例:
第四步,编写数据处理逻辑。ETest支持在消息回调函数中嵌入C代码或调用Simulink模型,实现对数据帧的实时处理。
CAN总线的配置相对简单。在ETest中,首先添加CAN板卡,然后设置波特率。ETest支持标准波特率(500K、250K、125K等)以及自定义波特率。协议层配置包括:
在实际测试中,我们将CAN消息发送周期设置为10ms,连续发送10000帧,丢包率为0%,延迟标准差控制在±50μs以内。
ARINC429是另一种航空常用总线。ETest的ARINC429协议栈支持多通道配置,每个通道可独立设置波特率(常用值为12.5Kbps或100Kbps)和数据字格式。标签(Label)解析功能是ARINC429配置的重点,ETest提供了标签库管理工具,可以自定义标签定义文件,实现对特定航空设备数据的高效解析。

对于许多工程师而言,Simulink是控制系统设计的主力工具。将已有的Simulink模型部署到实时目标机上,是HIL测试的关键环节。ETest通过Simulink coder和自研的实时引擎实现模型部署。

首先,确保Simulink模型符合以下要求:
在Simulink中执行以下步骤:
第一步,打开Configuration Parameters,设置Solver为Fixed-step,求解器选择discrete或ode1。
第二步,在Code Generation选项中,选择ERT(Embedded Real-Time)目标系统。
第三步,点击"Build"按钮,Simulink Coder会生成C代码并调用编译器生成可执行文件。

第四步,将生成的可执行文件通过ETest Studio部署到目标机。ETest支持两种部署方式:手动上传和自动同步。
ETest的一个亮点功能是支持模型参数的在线调整。在测试运行过程中,工程师可以实时修改Simulink模型中的增益、阈值等参数,观察被测系统的响应变化。这一功能对于控制器参数整定和边界条件测试非常有价值。
在模型部署过程中,有几个常见问题需要注意:
为了验证ETest在实际复杂场景下的表现,我们设计了一个联合仿真测试案例:模拟一个航空发动机控制系统的通信场景。
被测对象为一个发动机ECU(电子控制单元),通过1553B总线与飞管计算机通信,同时通过CAN总线与地面测试设备连接。测试目标是验证ECU在收到飞管计算机指令后,能否正确解析并通过CAN总线向传感器发送控制命令。
在ETest中配置两个虚拟总线节点:
ECU作为真实硬件连接到测试系统。ETest负责监听1553B和CAN总线上的所有消息,并记录时序关系。

测试过程中,我们注入了多种故障场景,包括:
ETest成功捕获并记录了所有异常事件,生成的时间戳精度达到微秒级。通过回放功能,工程师可以精确复现故障发生时的总线状态,大大缩短了问题定位时间。

客观而言,ETest与dSPACE、Speedgoat等国际品牌在某些方面仍存在差距。例如,在超高速采样(亚微秒级)和超大规模模型支持方面,进口方案仍有优势。但在多数工业级应用场景下,ETest的性能已经足够。
| 对比项 | ETest | 进口品牌A | 进口品牌B |
|---|---|---|---|
| 软件授权费 | 更低 | 高 | 高 |
| 年维护费 | 可协商 | 约15%授权费/年 | 约12%授权费/年 |
| 硬件成本 | 标准工业级 | 高 | 高 |
| 本地化支持 | 原厂直服 | 代理商 | 代理商 |
| 定制开发 | 灵活 | 受限 | 受限 |
ETest更适合以下场景:

进口方案则更适合:

经过本次深度测评,ETest在实时性能、协议支持、模型部署等方面的表现证明,国产HIL平台已经具备了在多数工业场景下替代进口设备的能力。1ms级别的确定性和微秒级的抖动控制,能够满足航空、汽车、工业控制等领域的测试需求。

当然我们也看到,ETest在生态建设、第三方工具链集成方面仍有提升空间。随着用户群体的扩大和社区的成熟,这些问题有望逐步改善。对于正在评估HIL测试解决方案的团队而言,ETest值得纳入候选名单。
选择仿真工具,从来不只是选择一项技术,更是选择一种长期合作伙伴关系。在这个充满不确定性的时代,供应商的稳定性和服务响应能力,或许与技术指标同样重要。
如果想第一时间拿到凯云ETest的免费试用名额或行业方案资料,欢迎直接联系我们的测试工程师团队!
#半实物仿真测试 #硬件在环测试 #国产替代 #HIL #实时仿真 #1553B #CAN总线 #Simulink #凯云科技