一、HiL是什么?
硬件在环仿真(Hardware-in-the-Loop,简称HIL)是真的控制器连接假的被控对象,以一种高效低成本的方式对控制器进行全面测试。它是一种用于复杂设备控制器的开发与测试技术,通过接入真实的控制器,采用或者部分采用实时仿真模型来模拟被控对象和系统运行环境,实现整个系统的仿真测试。
实时仿真硬件(也称HIL测试机柜)就是要尽可能逼真地模拟真实被控对象,以有效地“欺骗”控制器,让控制器以为它正在控制一个真实的被控对象。
为什么要做HIL测试?开发出车载控制器后,直接把该控制器放到车上进行路试不可以吗?主机厂对控制器做HIL测试的原因如下:
1.安全。试想:在路试过程中,车速180km/h,转向过程中ESP车身电子稳定系统失效,将会发生什么?控制器如果没有经过全面的测试,直接去控制真实被控对象,可能会发生事故。HIL台架能辅助工程师对测试结果分析验证,故障再现,提高测试验证及分析手段。
2.低成本。如果不采取HIL自动化测试,人工路测情况下,需要很大的路测工程师及车辆,在一定程度上大大增加了研发开支及风险,HIL台架在确保测试全面可靠的前提下,能够有效缩短测试周期,降低测试人工及物料成本。
3.测试覆盖度。HiL测试覆盖度越高,后期路试测试项目就越低,HiL 自动化测试服务包括一套完整的 HiL 自动化测试用例、自动化测试程序、自动化测试报告、测试问题记录,进而保证 HiL 测试的高效进行,测试覆盖度越高,控制器在整车测试、路测过程中风险及成本越低。
HIL测试目的是对控制系统进行全面的深入的功能测试、故障测试、总线诊断测试,自动化测试,并辅助工程师对测试结果分析验证,故障再现, 提高测试验证及分析的手段。
二、HiL测试分类:
1、按照功率分分为:信号级HIL及功率机HIL测试。VCU电控即时信号机HIL测试,MCU驱动电机控制测试即是 功率级测试。
2、作用对象来分:单独控制器和联调控制器测试。比如三电控制器单独的 HilL 测试和三电控制器联调。
三电控制器HiL测试介绍:
1、VCU-HiL仿真测试系统
VCU控制技术水平直接影响着整车的动力性、安全性及经济性。作为国家重点发展的技术方向,近年来随着我国大力发展新能源汽车及新能源汽车市场不断扩大,市场对于新能源汽车整车控制系统的开发、测试与产业化的要求更为紧迫和严格。
VCU-HiL测试主要功能
控制功能全面测试/总线网络测试/极限工况测试/耐久测试/故障诊断全面测试/回归测试/数据初始标定/重复性测试
2、BMS硬件在环(HiL)仿真测试系统
新能源汽车用动力电池作为动力驱动,而作为衔接电池组、整车系统和电机的重要纽带,电池管理系统BMS的重要性不言而喻,国内外许多新能源车企都将电池管理系统作为企业最核心的技术来看待,因此在新能源汽车的研发过程中,对BMS的仿真测试是非常重要的环节。
BMS HiL主要组成包括:上位机(PC), PXI机箱、处理器板卡、数据采集板卡、CAN卡、电池模拟器、高压电源、低压电源等,BMS HiL中必须提供与BMS控制器硬件IO信号相对应的资源及与BMS控制器控制策略相对应的整车模型、电池模型。
主要功能
控制功能全面测试/故障诊断全面测试 /总线网络测试/回归测试/极限工况测试/数据初始标定/耐久测试/重复性测试
3、MCU硬件在环(HiL)仿真测试系统
电机控制器开发涉及高电压、大电流,直接进行电机台架试验有较大风险,对算法成熟度要求较高,电机HiL硬件在环仿真测试的目的是以最低的成本执行比较困难的测试和使用物理原型风险太大的测试。
主要功能
专注电机控制器功能测试,为电机台架的功能及性能测试打下基础;控制器故障注入及分析在电机控制器设计前期阶段即可发现问题,而无需等到在物理原型上才发现;执行在各种极限条件下测试;控制算法在线分析,跟踪调试;开发中的测试故障复现;可以实现软硬件并行开发,缩短开发周期;在测试系统建立之前,在实验室环境下完成初始化标定;可降低开发测试成本;可进行重复的自动化测试
电机控制器功率级P-HiL测试
电机和电控是新能源汽车动力系统的核心,随着技术的发展,利用硬件在环测试(Hanrdware in the Loop, HiL)技术可以方便地完成电机控制策略的开发和验证,但是这种信号级HiL只针对电机控制器的控制板,不能对驱动板和功率电路进行测试。针对电机控制器功率部分,传统的测试方法为搭建电机测试台架,但这种方法对工程师来说存在灵活性差、成本昂贵、有机械风险、无法进行极限工况和故障测试等问题。
电机控制器功率级P-HiL测试解决方案。该方案可用于驱动逆变器的部件级测试和整车电驱动系统级测试,相较于传统电机测功台架,可以使客户更加方便、灵活、安全、高效地实现对电机控制器的功能性能测试、极限工况和故障测试、耐久和环境测试等。凭借意昂专业的技术能力和丰富的行业经验,整个测试方案可根据客户具体需求定制开发并支持后期扩展,例如集成环境舱、冷却系统、整车高压测试系统以及三电HiL测试系统等。
P-HiL测试方案核心为智能负载模拟器(Active Load Emulator, ALE),俗称电机模拟器,其主要包括电机模拟单元(e-Motor Emulator, eME)和高压电源(High Voltage Power Suply, HVPS)。电机模拟器通过模拟真实电机的反电动势和阻抗来模拟真实电机机械和电气特性以及四象限运行,接受控制器三相输出,反馈给被测控制器(Unti under test, UUT)反电动势以及转子位置传感器信号和温度传感器信号。
电机模拟器ALE支持用户构建灵活的从部件级到系统级的测试方案,根据高压电源HVPS的不同主要有两种系统方案,其系统架构如下图所示。
方案一采用单电源模式,电机模拟单元eME和被测控制器UUT共用一个高压直流电源HVPS,采用独创性的专利技术使其可以与被测控制器UUT共直流母线,整个系统只需要一个低功率高压电源进行系统损耗的补充,便可以满足整个系统的高功率测试,被测控制器UUT不需要额外供电,能量内部循环利用,利用率高。
方案二采用双电源模式,电机模拟单元eME和被测控制器UUT分别采用单独的电源供电,该方案配置灵活,被测控制器UUT端可采用真实电池包或者电池模拟器,模拟整车高压系统。该方案方便后期扩展,可用于系统级测试。
电机模拟器ALE主要特点和优势:
可用于电机控制器部件级和系统级测试;
通道数可选,配置灵活,支持后期扩展,支持多通道并联运行;
可选内部集成高低压电源,不需要控制器外接高低压电源供电;
模拟真实电机电气特性(反电动势和阻抗);
通过改变电机参数可模拟多种电机(永磁同步电机和交流感应电机等);
可模拟六相电机;
模拟电机位置传感器(旋转变压器、编码器等);
模拟电机温度传感器;
支持电机四象限运行;
支持控制器多种PWM调制模式;
可选故障注入单元,模拟多种电机故障;
功能丰富易于操作的上位机软件,通讯协议完全开放;
丰富的通讯接口(CAN、LAN等,方便系统集成);
设备体积小,可灵活移动;
水冷,散热性能好,噪音小。
电机模拟器ALE典型测试项目:
控制器功率级P-HiL测试;
控制器转速扭矩特性测试;
标准工况和极限工况性能测试;
控制器耐久和环境适应性试验;
再生能量回馈性能测试;
控制器故障保护能力测试;
整车系统级功能性能测试。
三、HIL架构组成
硬件平台:将整个系统硬件设备按照测试过程中的不同工作分工划分为相对独立的功能模块,各功能模块间采用标准的线束进行连接交互。
系统硬件基于 NI PXI 平台搭建,主要有上位机(PC)、PXI 机箱、实时处理器板卡、数据采集板CAN 卡、DIO 板卡、电阻模拟板卡、低压电源等组成。
软件平台:运行在上位机中,采用平台化的设计思维,从执行环境配置和测试用例编写,以及数据监控和自动化测试执行,都可以在统一的软件平台上进行操作。通用化的软件平台可以集成多种外设资源,并统一配置管理。系统基于试验管理软件进行上位机管理和实验测试,实现试验管理、故障注入、测试用例编辑及自动化测试等功能。
测试软件主要包括两大部分的功能:编写测试用例和执行测试用例。主要功能包括: 1) 序列开发环境 2) 调试 3) 多线程并行测试 4) 用户管理 5) 可自定义的报告 6) 可自定义的操作员界面 7) 数据库记录
实时仿真模型:模型基于 MATLAB/Simulink 或者 AMESim 仿真平台进行搭建,提供与 控制器硬件 信号相对应的资源及与控制器控制策略相对应的模型等。
四、HIL测试流程
HiL 自动化测试服务包括一套完整的 HiL 自动化测试用例、自动化测试程序、自动化测试报告、测试问题记录和测试使用说明文档。
4.1测试准备
4.1.1测试计划
本实施阶段项目立项工作时,首先根据项目需求制定项目实施测试计划,细化项目在每个阶段的具体工作,确定项目每项的工作的计划开始日期和结束日期,明确标识测试项(对测试项的了解),具体包括以下内容:是否需要测试的特征(对产品的了解); 采用的测试方法(测试策略、测试重点和等级): 测试项通过的准则 (出口准则、度量); 测试暂停准则和回复要求(非正常退出);测试完成所需提交的交付项(文档等); 测试任务;测试环境的要求(资源):人员配备和所需的训练(资源): 测试的进度(启程安排和粗略的时间表): 风险和应急措施。
4.1.2被测件接口分析
根据需要对三电测试系统中被测控制器使用 资源配置,把被测控制器与测试设备的交互信号按照模拟输入、模拟输出、数字输入、数字输出、脉冲采集、脉冲输出、电源和地、CAN、LIN 等通讯信号进行分类,形成被测控制器的接口需求。
4.1.3HiL 设备资源分配
需要对 HiL 测试系统进行资源分配,依据控制器的管脚定义,结合其外围电气原理对各管脚进行 HiL 机柜资源分配,对部分继电器控制信号用模拟负载电阻代替,从而实现测试的外部环境与实车硬件环境尽可能的接近,据此编写 HiL 机柜资源分配表,依据此表可进行控制器与机柜之间信号连接或者线束制作。
4.1.4 控制器线束设计
根据项目实际情况来确定是否需要定制被测控制器和 HiL 设备的连接线束,如果用户现有设备没有连接线束,那可以定制连接线束。通过采用定制线束方式将被测量控制器与 HiL 测试机柜连接起来,实现供电、输入信号、输出信号、通讯信号的传递。本项目中定制控制器的线束根据线束使用要求,一端连接控制器的连接器,另一端连接 HiL 测试集成连接器,线径满足信号的功率要求,每根信号都打有标签,便于测试区分,提高使用效率。
4.1.5被测控制器需求分析
4.1.5.1整车控制器功能需求
根据提供被测控制器功能需求分析文档,包括对控制器功能的划分及相关功能的具体描述并最终形成功能规范输入。
整车控制器常见功能包括:
整车上下电
系统工作模式
扭矩管理
扭矩限制
扭矩协调
蠕行
换挡策略
整车安全
附件控制
信号接口及处理
能量回收
5.1.5.2电池管理系统功能需求
根据提供被测控制器功能需求分析文档,包括对控制器功能的划分及相关功能的具体描述并形成功能规范输入意见。
电池管理系统常见功能包括:
继电器控制
高压互锁
功率预测
快慢充功能
电芯均衡
电芯电压和温度采集
保险熔断监控
碰撞掉电保护
故障管理
电源管理
电池总电压总电流采集
CAN 通讯
绝缘监控
SOC
SOH
热管理
4.1.5.3电机控制功能需求
系统功能依据客户输入的功能规范和测试规范为准,电池管理系统是新能源汽车能源控制部件,它根据新能源汽车动力电池、电机的状态,按需进行整车的上下电,电池状态监测和热管理等功能进行控制。
4.2搭建测试工程
搭建三电系统闭环测试工程,主要包括添加实时目标机(RT Target)、添加各种硬件资源、向 RT 目标机中部署系统定义文件等,同时因为 HiL 测试使用了真实的被测控制器,对软硬件I/O 端口也要重新进行映射,然后部署下载到实施目标机中,再创建对应的传感器、开关信号模拟,接受执行器的控制命令,模拟其他节点通讯。
4.3测试用例开发
4.3.1 测试用例开发原则
测试用例开发方法研究是测试的关键点之一。采用合理的测试方法开发出合理有效的测试用例,不仅可以增加测试的覆盖度而减少冗余重复的测试,也可以大大减小测试的时间而提高测试的效率。因此我们研究出来一套系统的测试用例开发方法以及相应的测试方法。
测试用例的开发原则:
1.正确性
输入用户实际数据以验证系统是否满足需求规格说明书的要求:测试用例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常
2.全面性
覆盖所有的需求功能项,测试用例除了对测试点本身的测试外,还需考虑用户实际使用的情况、与其他部分关联使用的情况、非正常情况(不合理、非法、越界以及极限输入数据)操作和环境设置等。
3.连贯性
用例组织有条理、主次分明,尤其体现在业务测试用例上,用例执行颗粒度尽量保持每个用例都有测点,不能同时覆盖过多功能点,否则执行起来牵连太大,每个用例间保持连贯性很重要
4.可判定性
测试执行结果的正确性是可判定的,每一个测试用例都有相应的期望结果
5.可操作性
测试用例中要写清楚测试的操作步骤,以及与不同的操作步骤相对应的测试结果。
4.3.2 测试用例定义
一条完整 HiL 测试用例,所包含的基本测试项有,测试用例初始状态、测试过程中执行的测试动作、期望的测试结果、测试状态复位等要素组成。
4.3.3测试用例开发方法分类
执行测试的常见的方法有黑盒测试法、白盒测试法和基于经验的测试法。三者有各自的测试特点及测试技术。
分类
黑盒测试技术
白盒测试技术
基于经验测试方法
测试用例技术
测试用例和测试数据是
从功能性或非功能性规
范说明(也可从模型) 导
出,而不考虑程序的内部
结构。
测试用例和测试数据是
从测试对象的结构(如涉
及和代码)导出,而不考
虑规范说明
测试员、开发员或其他测试对测试对象和它的环境的经验
有与错误打交道的经验或估计在哪里可能出现错误的经验
4.3.4 黑盒设计法
根据黑盒测试方法的特点,将其详细划分为以下几个类别:等价类划分法、边界值分析法、决策表法、状态转移测试法、测试用例法、因果图法、判断表驱动法、正交试验设计法、功能图法。
4.3.5 白盒设计法
白盒测试方法是基于结构的测试用例设计方法。通过观察测试对象的程序代码,选择一个代码覆盖的标准,然后根据这标准生成测试用例。例如,所有的语句至少被执行一次,在所选标准的基础上产生单个的测试用例,基于代码生成的测试用例的基础是描述程序结构的控制流图。控制流图是一个带有开始和结束节点的有向图,程序的指令(语句)是通过节点来表示的,一个没有分支的语句序列可以用一个节点表示,语句之间的路径是通过边(控制流)来描述,图内的开始和结束节点可以省略。
4.3.6 经验设计法
4.3.6.1错误推断法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。
例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。输入数据和输出数据为零的情况,输入表格为空格或输入表格只有一行,这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例
在产品测试的实践中对产品的了解的加深和测试经验的丰富,使用错误推测法设计的测试用例往往非常有效,可以作为测试设计的一种补充手段,并且积累的经验越丰富,方法使用效率越高。
4.3.6.2 探索测试法
探索式测试(Exploratory Testing)是一种软件测试方法,也可以说是一种测试思维方法,是一种强调个人自由与责任的测试方法,让独立测试人员可以借用不断的学习来改善测试的规划与测试的执行,而在测试的过程中也会同时改善测试案例达到相辅相成的效果。
4.3.7自动化测试用例开发
测试用例的开发需严格遵循整车控制器功能规范文档,测试用例需针对被测控制器功能进行开发,并形成测试矩阵文档及测试用例说明文档。
测试矩阵编写在严格遵守整车控制器开发功能文档的基础上,创建测试用例,文档中需对每条测试用例的测试功能,测试方法及预期结果进行简单描述,并对每条测试用例进行编码.以便测试过程中通过测试编号进行查找问题。
测试用例说明文档是对测试矩阵的详细补充,测试矩阵中对测试用例只做简单描述,测试说明文档针对每条测试用例测试的功能,测试时的初始条件,完成该测试用例具体需要的详细执行步骤,更改的信号位置及名称,甚至测试动作后的等待时间,以及预期结果需要检测的信号名称等进行详细描述。依据此文档可直接编辑自动化测试用例。
说明文档针对每条测试用例测试的功能,测试时的初始条件,完成该测试用例具体需要的详细执行步骤,更改的信号位置及名称,甚至测试动作后的等待时间,以及预期结果需要检测的信号名称等进行详细描述。依据此文档可直接编辑自动化测试用例。
测试管理软件的功能:1) 写测试序列:2) 管理试验软件:3) 生成测试报告
配置与试验环境软件的功能: 1) 接收测试序列发来的激励数据: 2) 将激励数据发给实时仿真机,并在线显示仿真结果
4.4 测试调试
4.4.1 冒烟测试
测试工程搭建完成后,连接被测控制器,需要对被测控制器和 HiL 测试设备做冒烟测试验证设备连接与原件是否有基本的问题。冒烟测试有测试人员和开发人员共同完成,在测试过程中发现问题,测试人员找到了一个 Bug,然后开发人员会来修复这个 Bug,冒烟测试是否通过决定了下一轮系统测试是否可以执行。
4.4.2 接口测试
接口测试是只有被测控制器,没有和整车仿真模型形成闭环的测试,属于开环测试。接口测试通过人为赋值模拟外部控制器与被测控制器之间的数据交互,验证被测控制器数据交互是否正常,侧重信号交互验证。一般接口测试如果有测试程序,可以自动测试,如果没有测试程序,可手动测试。
4.4.3 首轮测试
被测控制器和整车仿真模型形成闭环的测试,属于闭环测试。闭环测试通过模拟操作驾驶室变量,使整车模型与被测控制器自动数据交互,验证被测控制器软件策略,侧重功能和性能验证。
打开自动化测试用例库,在 TestStand 测试界面调入测试用例对象,直接运行即可。
4.4.4问题关闭
测试过程中发现的问题使用问题单形式记录。在问题记录和问题描述遵循“5C”的要求:
正确(Correct),不会产生歧义:
清晰( Clear),容易理解;
简洁(Concise),没有多余的东西;
完整(Complete),包含重现缺陷的完整数据;
致性(Consistent),缺陷单格式要统
4.4.5 回归测试
在第一轮测试相关问题关闭后,由开发人员更新软件,生成新的软件版本,下载到被测控制器中,在 HiL 设备上对上个版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,对相关修改的部分进行测试。
4.4.6 测试报告
通过 HiL 测试管理软件加载测试序列,执行测试,输出测试报告,测试报告形式如下所所示参考。
4.5测试总结
被测控制器 HiL 回归测试完成,在功能方面达到测试通过标准后,需要对 HiL 测试工作进行总结和整理,并生成及编制 HiL 测试总结。
HiL 测试总结主要包括以下内容:
1、HilL 测试环境、测试周期、测试人员及测试内容等;
2、测试过程中的问题统计与分析,并对测试遗留问题进行记录;
3、测试结束后检查所做的测试工作及完成情况,提交工作成果,包括: 测试用例说明文档,测试矩阵文档,可执行文件及生成的测试报告等
版权归原作者 王小奎~ 所有, 如有侵权,请联系我们删除。