基于Labview的混合动力汽车CAN总线采集与实时控制
2020-02-25谢斌权裴锦雲
王 振,谢斌权,裴锦雲
(广州汽车集团股份有限公司汽车工程研究院,广州 511434)
0 引言
随着科技的不断发展,人们对汽车的要求越来越高,因此现代汽车为了满足顾客需求而越来越多地集成各种电子控制装置,这使得汽车的结构和控制变得复杂化,而为环保节约而应运而生的电动汽车则由于增加了电机、电池等部件使之与传统车相比,其结构和控制变得更为繁杂。不断增加的零部件也使得整车的线束更加繁多,而且线束之间的连接使得整车也越来越难以匹配和布置。汽车CAN总线正是在这种背景下应运而生,汽车CAN(Controller AreaNetwork)总线即控制器局域网络,其最初是由德国BOSCH公司为汽车监测、控制系统而设计的[1]。它的主要优点是通讯简单(仅用两根硬线即可实现多部件的实时通讯),成本低廉,重要的是其可以实现不同节点间的部件信息共享。因此,它的出现使汽车结构精简和控制简单化成为可能。汽车CAN总线网络也已是汽车电子控制管理系统中不可获取的重要组成部分。
本文基于虚拟仪器Labview软件编程,借助USB-CAN信息采集卡提供了一种采集汽车CAN总线数据的方法。Labview是一种图形化编程软件,由美国NI(national instruments)公司开发,它不仅能简化软件编程,提高软件开发效率,更拥有生动形象的用户界面,在研发和生产,特别是测量、控制、仿真等方面应用相当广泛[2]。USB-CAN信息采集卡则能让计算机方便的连接到CAN总线上,实现CAN协议的连接通讯,不仅具有双路CAN通道,而且每路CAN通道都集成独立的电气隔离保护,抗干扰能力强,是一款性能稳定、通讯可靠的CAN通讯卡[3]。图1所示为致远电子CAN通讯卡。
图1 致远电子CAN通讯卡(示例)
1 主要内容及功能介绍
本文以混合动力汽车的发动机、混动变速箱、动力电池、油泵、离合器及电子驻车机构为测试对象,通过搭建Labview模型,实现以下功能。
(1)实现对发动机及混动变速箱部分参数的监测。其中发动机主要参数包括发动机扭矩、发动机转速、发动机水温。混动变速箱主要参数包括电机转速、扭矩、温度,油压等。
(2)实现对动力电池、油泵、离合器及电子驻车机构的控制。其中动力电池实现高压上下电功能,离合器实现结合与分离功能,油泵则实现转速功能,电子驻车机构实现驻车与解锁功能。
(3)对采集的数据进行保存以便于分析。而从信号的传输方向来看,则实现接收与发送功能:对发动机及混动变速箱信号的监测为接收功能;对动力电池、油泵、离合器及电子驻车机构的控制则为发送功能。
2 模型搭建
2.1 模型搭建结构图
该模型的基本结构如图2所示[4]。
图2 模型基本结构
2.2 模型的程序设计
该模型的程序设计主要包括:USB-CAN的配置、信号发送、信号接收及信号处理部分。
2.2.1 USB-CAN配置
该部分主要是采用了“平铺式顺序结构”和“条件结构’。主要是采用调用库函数节点的方法来实现软件和硬件相结合。该部分的逻辑框图如图3所示[3]。
按照该逻辑框图对USB-CAN配置进行编程,得到程序如图4所示。
2.2.2 参数设置及发送模块
根据整车CAN报文特点,通常均为标准帧,因此可以采用簇类型或数组类型作为发送结构体(本文采用簇类型),并采用VCI_Transmit函数,然后只需根据所要发送的数据对结构体进行填充便可完成CAN报文的发送[6],以油泵控制为例,参数设置如图5所示,报文发送程序如图6所示。
图3 USB-CAN的配置逻辑框图(以致远电子USB-CAN卡调用为例)
2.2.3 报文接收模块
报文接收采用VCI_Receive函数,同样采用簇类型作为接收报文结构体,接受到的数据暂时存储在结构体中[7],该部分程序如图7所示。
2.2.4 报文解析模块
将接收到的暂时存储在结构体中的数据提取出来并转译的过程即为报文的解析,该部分采用若干进制转换,将接收到的十六进制数据转换成直观性强且具有实际意义的数据[5],以某一帧的数据解析为例,程序如图8所示。
图4 USB-CAN配置程序
图5 参数设置
图6 报文发送程序
图7 报文接收程序
图8 报文解析程序
2.3 前面板设计
2.3.1 主控制界面
主控制界面如图9所示。
2.3.2 主监控界面
主监控界面如图10所示[8]。
3 模型优化
在完成前面板及程序面板设计之后,对软件的前面板进行了美化,对程序面板进行了整理,并且增加编程了监控报警模块及数据保存模块,以对部分重要数据进行监测,并能将数据保存至EXCEL中,便于后续分析。
3.1 前面板优化
优化后的前面板如图11所示。
3.2 监控报警模块
本文以发动机水温、旁通阀油温等温度监控为例,设置不同的阈值,当对应温度超出阈值时,监控电脑便会执行一定动作(会发出报警声),模块如图12所示。
图9 主控制界面
图10 主监控界面
图11 优化后的前面板
图12 监控报警模块
图13 数据保存模块
图14 实时采集数据
3.3 数据保存模块
为便于后续数据分析,采用“条件结构”编程,当用户点击保存按钮时,开始将所需的数据保存至EXCEL表格中,模块如图13所示。
4 模型验证
为验证所编写程序是否具有实用性,在台架上进行了实际验证,当台架控制发动机及混动变速箱总成至某一工况时,监控到的数据如图14所示。
该界面显示在该工况下,发动机转速为2 250 r/min,车速为88.6 km/h,发动机水温为90℃等,这些数据通过与INCA采集到的同一时刻数据对比,均为准确有效值,而且在长达数小时的监控中,数据显示不存在卡滞现象。
最后,分别对动力电池、油泵、离合器及电子驻车机构进行了多次不同情况下的控制,同时仍采用INCA工具采集数据作为监控对比,结果表明控制有效且可靠。
5 结束语
综上所示,本文的主要内容为提供了一种基于Labview软件编程,借助CAN通讯卡来实现混合动力汽车CAN总线信息采集与监测的方法,并可根据需要实现整车零部件的实时控制,从而对所需要的汽车CAN总线信息进行分析,能实现标定功能。经过台架实测验证,该方法能实时、快速、准确地采集监测与控制,具有一定的实用性。