一种基于CANoe的BMS诊断测试方法

发表时间:2020/6/17   来源:《科学与技术》2020年2月4期   作者:张晶晶 郭苗
[导读] 随着汽车行业的发展,诊断协议的不断更新,汽车对每个控制器的诊断功能要求也越来越全面。

        摘要:随着汽车行业的发展,诊断协议的不断更新,汽车对每个控制器的诊断功能要求也越来越全面。电池管理系统(BMS)作为新能源汽车中的核心控制器,对安全性要求也越来越高。电池管理系统有必要对开发的诊断功能进行有效的功能测试。本文提供了一种基于        CANoe工具的诊断测试方法,根据测试需求设计了测试用例,搭建测试环境,测试结果符合预期。
        关键词:BMS UDS诊断 测试
        引言:随着汽车市场的发展,汽车零部件的故障诊断功能要求越来越高。当前汽车诊断技术不仅仅用于售后维修,更多的应用于安全、刷新程序、下线匹配等方面,控制器配置诊断功能非常重要。UDS协议诊断标准是当前主流诊断标准,电池管理系统也基于UDS标准开发了诊断功能,用于读取、配置BMS信息,诊断检测电池包的故障。CANoe软件作为CAN总线的测试工具,可通过二次开发,实现一些复杂的测试逻辑。本文在CANoe软件的基础上,通过二次编程,完成了BMS中诊断功能的测试,包括,BMS数据流的读取,配置版本号,读取BMS当前/历史故障。
1 UDS诊断协议规范
         UDS协议即ISO14229统一诊断服务,它定义了一种汽车通用诊断协议标准。可用于读取控制器中的故障码、读取控制器当前数据流信息、配置当前控制器的版本信息。作为诊断仪与控制器之间的诊断协议,该规范定义了诊断仪和汽车控制器之间的请求响应规则,以及控制器的处理行为。
         汽车CAN诊断协议遵循ISO15765标准。每个控制器的诊断物理ID都是唯一的。诊断仪通过不同的诊断ID访问不同的ECU,实现读取诊断信息的目的。
2 CANoe软件的作用
CANoe软件主要由主窗口、CAPL浏览器(CAPL Browser)、数据库编辑器(CANdb++ Editor)、面板编辑器(PanelEditor)、CAPL程序生成器(CAPL Generator)、面板生成器(Panel Generator)等部分组成。CAPL是一种类C语言,可编写复杂的逻辑,用于CAN总线数据的测试,它是基于事件的建模语言包,易于掌握使用。在BMS诊断功能开发过程中,可以使用CANoe模拟诊断仪这个节点,发送诊断指令,用于完成诊断功能的测试。
3诊断需求分析
         某项目中,为了提高BMS的可维护性,设计了诊断功能。根据整车厂诊断规范,BMS诊断软件需遵循ISO15765协议,并实现如下诊断功能:读取数据流、写入配置数据、存储读取故障、清除故障、程序刷新;支持功能寻址和物理寻址;支持响应抑制功能;支持对应的否定响应。具体需要支持的服务详见表1。
表1 支持的诊断服务

 
注:“X”表示诊断服务在任何安全状态下都可运行;“X*”表示诊断服务职能在安全状态为解锁状态下运行;“-”表示不支持。
         通过分析当前诊断功能需求,将对应的测试需求分解如下:
         1)测试正常诊断通信传输及响应;
2)测试错误请求及支持的否定响应;
3)测试控制器网络超时处理;
4)测试响应抑制功能;
4 测试用例设计
CAPL(CAN access programming language)语言是CANoe的编程语言。它是通过触发的方式进行测试的,主要的触发源可以是总线上的报文、环境变量、键盘输入或定时器溢出。测试用例可根据不同的功能匹配不同的触发方式。对于事件的响应可以是向总线发送报文或改变环境变量的值。
         CANoe初始化完成后,通过按键触发的方式发送一帧诊断测试报文,BMS解析报文后,对诊断的内容进行判断,并在规定时间内作出响应(否定响应/肯定响应)。CANoe收到响应报文后,对报文进行判断,根据判断的结果评断此条测试用例通过与否。具体的测试流程如图1。

图1 测试流程
5诊断仿真测试
根据具体的测试需求,使用CAPL编写不同的测试用例,对BMS进行诊断测试,测试结果如表2所示。
表2 诊断测试结果


结束语:本文针对当前BMS诊断功能开发的必要性,提出了一种使用CANoe对BMS进行诊断功能测试的方法。通过测试需求分析,设计的测试用例。对CANoe进行二次开发,使用CAPL编程编写对应的测试用例,以满足BMS的诊断测试的需求。通过使用CANoe进行诊断测试,实现了在BMS开发阶段,完成诊断开发的测试需求。
参考文献:
[1] 基于UDS协议的汽车ECU升级方案[J].詹克旭 博世华域转向系统有限公司 2019(1)
[2] 基于CANoe的汽车故障诊断系统研究[J].丁志华,罗峰,孙泽昌 同济大学汽车学院 2007(Vol 29)No.5
[3] 汽车电控发动机诊断服务功能的开发与应用[J].曹传云,陈志刚。汽车工程2010
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: