李昕昕 何发尧
(陕西法士特齿轮有限责任公司)
近几年重型商用车使用自动变速器的趋势持续增加。其中以12 挡及以上的电控机械式自动变速器(AMT)最为常见。国外对AMT 系统的研究起步较早,在20 世纪末,采埃孚的Tronic 系列和奔驰的Sprintshift系列变速器都已经面世[1]。国内部分高校和厂家在20年前已经开始了AMT 变速器的研究和探索[2]。但国内在AMT 控制器及控制策略等核心技术方面基础较弱。目前汽车电控软件的开发主要基于快速应用开发模型[3],其中硬件在环是开发中非常重要的一步。在实车标定之前,通过充足的硬件在环仿真测试,可以降低实车测试的风险[4]和缩短开发周期。文章对于AMT 控制器硬件在环测试的研究主要集中于对软件控制策略和故障诊断方面的验证。然而,在实际开发过程中,软件版本的不断更新导致重复测试的工作量大,难以满足快速开发的需求。采用准确可靠、一致性和复用性好的自动化测试,可以大大提高测试的效率[5]。
AMT 控制器硬件在环硬件系统,如图1 所示。其中dSPACE 硬件平台为 SCALEXIO 标准机柜,由SCALEXIO 系统处理器模块、DS2680 多通道I/O 板卡、DS2671 四通道的总线通信板卡等组成。选换挡执行机构与离合器执行机构采用实物,其电磁阀和位移传感器均采用真实信号。输入轴转速、输出轴转速、温度传感器等值采用模拟信号。为方便系统搭建,控制器并没有与选换挡执行机构集成在一起。上位机负责一些软件操作界面的显示。CANape 用来进行控制器内部的数据采集和标定。
图1 AMT 控制器硬件在环硬件系统示意图
硬件在环测试的实现过程是将控制器放置在一个虚拟的车辆环境中,此虚拟环境是通过搭建车辆模型(软件)、下载至实时仿真板卡(硬件)实现的。图2 示出AMT控制器软件系统。dSPACE 软件平台一般包括ConfigurationDesk,ModelDesk,ControlDesk 等软件,一般配置好以后,经常使用的就是测试管理软件ControlDesk。
图2 AMT 控制器硬件在环软件系统示意图
整个软件系统中最为核心的就是整车模型,由MATLAB/Simulink 搭建而成,dSPACE 与 MATLAB 可以无缝连接,实现代码的快速生成和下载。图2 所示的整车模型主要包括五部分:
1)Soft_ECU 模型。该模型主要包括 Soft_ECU_Engine_Basic 和 Soft_ECU_Transmission 两部分,因为本研究的变速器采用的是真实控制器,所以只考虑发动机部分即可。其主要功能为:发动机怠速控制,防止发动机转速过低;对自动变速箱控制单元(TCU)的转速和扭矩限制请求给予响应,实现换挡过程中的超越控制,调节踏板开度,完成变速器换挡。
2)发动机模型。由于本研究的侧重点是TCU 测试,所以并不需要复杂的发动机模型,因此,发动机模型主要包括一个真实发动机的Map 图,通过查表获得发动机的输出扭矩。燃油消耗率模型采用一个简单的发动机燃烧模型,用来计算油耗及发动机尾气排放。摩擦扭矩模型主要为一个摩擦扭矩Map 图,用来计算发动机的摩擦扭矩。
3)传动系统模型。传动系统模型包括曲轴模型、变速器模型、差速器模型、起动机模型和台架模型等标准模型。
4)车辆动力学模型。车辆动力学模型的主要作用是根据行驶阻力(空气、坡度、摩擦等)计算负载扭矩。
5)环境模型。环境模型主要包括驾驶员模型和道路模型。其中驾驶员模型可以选择不同的循环工况进行测试。
要进行自动化测试,可以在AutomationDesk 环境下开发自动化测试序列和脚本,也可以选择第三方的自动化测试软件。本项目选择的ECU-TEST 是用于验证汽车电子嵌入式系统的测试自动化软件,具有直观可视化的用户界面、通用的测试算例描述,测试的可重复性高、支持多种测试工具和测试环境等优点。
商用车使用工况复杂,在某些工况下,需要在经济模式和动力模式之间切换。文章以激活动力模式为例,说明自动化测试的实现过程。表1 示出控制器激活动力模式的测试需求。按照此需求,在ECU-TEST 操作界面里进行拖拽式操作即可。此外,还可以添加中文标题和注释,方便查找和检查测试结果。
表1 AMT 控制器激活动力模式的测试需求表
图3 示出控制器激活动力模式的测试报告。从图3可以看出,测试步骤仅为13 步,第1 步和第2 步是开始记录数据,分别记录了VeMD_StTrsmPerf 和TC1_ButtonEcoPerformance,与之对应的结束记录数据是第11 步和第12 步。第4 步与第5 步对应预先条件里面的 2 个标定操作。第 6 步为设置 TC1_ButtonEcoPerformance=1,第7 步是检测VeMD_StTrsmPerf是否等于1,第8 步和第9 步操作类似。分析此测试报告可以看出,第7 步测试结果成功,通过测试,但第9 步测试结果为不确定(INCONCLUSIVE),在经过了45 次尝试,1 009.274 ms 的时长后,才通过了这一步。图4 示出与测试报告同时生成的控制器激活动力模式时的观测量变化图。结合图3 可以发现,经济/动力模式按钮(TC1_ButtonEcoPerformance)的值按要求变化了,但车辆状态(VeMD_StTrsmPerf)的值一直是1,没有变为0,与预期的结果不符,所以第9 步测试结果为不确定,整个测试的结果也会显示为不确定。
图3 AMT 控制器激活动力模式的测试报告显示界面
图4 AMT 控制器激活动力模式时观测量变化曲线图
从前面的测试可以看出,测试结果并不是总按照预期结果进行。当测试结果出现失败或不确定时,就需要检验测试算例设置是否正确,测试条件是否考虑充分,软件逻辑是否正确,然后再进行测试。分析可得,第9 步的测试算例步骤有可能设置得有歧义,数值应该设置为0,即判断VeMD_StTrsmPerf 是否等于0。可以修改此测试算例后再进行测试。
对于有疑问的测试算例,也可以通过增加测试次数或改变赋值的方法进行重复测试,来确认软件逻辑是否正确。在ECU-TEST 里面要实现重复测试非常容易,只需要通过拖拽操作,然后设置循环次数即可。如果重复测试结果仍然显示为不确定或者失败,则需要检测软件逻辑是否正确。
在实际使用过程中,还存在某1 种工况或者某几步操作在很多测试算例中都会使用的情况。虽然拖拽操作很方便,但每次进行重复的操作也会浪费时间和增加出错的可能。在ECU-TEST 里,可以将常用的操作保存为.pkg 格式的文件,在其他测试算例中,直接插入此.pkg 文件就可以使用。比如,可以将上电启动发动机和关闭发动机下电的过程作为固定的.pkg,在写其他测试算例的时候直接插入使用即可。这样明显提高了测试算例的复用率,节约了测试时间。
故障注入测试是验证AMT 电控系统安全性的重要手段,使用人工手段进行故障注入测试的重复工作量大,使用文章所述的硬件在环自动化测试平台可以快速、有效地完成大量的故障注入测试。目前,本研究可以实现电磁阀、传感器、CAN 报文超时等故障的测试,文章以CAN 报文超时为例,说明自动化测试在故障注入中的应用。
图5 示出CAN 总线电子发动机控制器1(EEC1)报文超时测试步骤。EEC1 报文周期为0.01 s,将周期改为0.1 s,等待5 s 后再将报文周期恢复为0.01 s。整个过程用CANalyzer 采集DM01 的数据。可以找到EEC1报文超时对应的故障诊断码(DTC)为43FFFF01。证明此报文超时故障注入成功,且DM01 成功将此故障发送到CAN 总线上,说明故障诊断机制可以正常工作。
图5 CAN 总线EEC1 报文超时测试算例步骤显示界面
此故障注入的测试算例可以根据实际需求再进行完善和补充,比如CANalyzer 采集DM01 数据的过程也可以经过配置,在1 个ECU-TEST 算例里面实现。后续还要测试在故障状态时控制软件的处理机制,也可以将相应的故障注入测试算例作为标准.pkg 文件,根据实际需求组合使用,提高测试效率。
文章对AMT 控制器的硬件在环测试系统总体布置方案,以及软件功能和故障注入的自动化测试方法进行了介绍。按照该方法,使用ECU-TEST 可以使自动测试更直观,能够有效地对测试结果进行评估。此外,测试算例的维护和复用也很容易实现,减少了测试算例的实际开发量,也降低了不同AMT 软件版本重复测试的工作量,大大降低了测试成本。