APP下载

基于LabView 的新能源汽车电池数据监控系统设计

2019-11-26胡俊立

汽车实用技术 2019年20期
关键词:总线管理系统界面

胡俊立

(河南工业贸易职业学院 机电工程系,河南 郑州 451191)

关键字:LabView;新能源汽车;电池管理中图分类号:U469.72

前言

动力电池组是新能源汽车主要的能量供给系统,而电池管理系统是影响其能否正常、高效的工作决定性因素。电池管理系统主要主要对动力电池组的充电电流、放电电流、充放电电压、放电深度等参数进行控制,防止电池过充电或者过放电,控制并平衡电池组的工作,使各个电池发挥出最优性能,最终保证电动车整车高质量、高可靠性、高效率的运行[1]。电池管理系统在工作时需要实时采集电池电压、充放电电流、电池组温度等关键参数,对这些关键参数的实时采集并直观显示,不仅可以帮助测试人员及时发现电池组或者电池管理系统存在的问题,而且可以帮助电池管理系统程序开发人员发现程序的Bug 以及能否对外界信息作出正确、及时的响应。

LabView(Laboratory Virtual Instrument Engineering)是一种图形化的编程语言,它广泛的被工业界、学术界和研究实验室接受,是一个标准的数据采集和仪器控制软件。LabView 集成了与满足GPIB、VXI、RS-232 和RS-485 协议的硬件及数据采集卡通信的全部功能[2]。它还内置了便于应用TCP/IP、ActiveX 等软件标准的库函数,是一个强大且灵活的软件。利用LabView 可以方便的建立自己的虚拟仪器,其图形化的界面可以使编程和使用变得生动有趣。LabView提供了实现仪器编程和数据采集系统的便捷途径,使用它进行原理研究、设计、测试并实现仪器系统时可以大大提高工作效率。

本文基于LabView 平台,使用CAN 总线为通讯媒介,设计了一个对电池管理系统数据进行实时监控并显示的软硬件系统,实现了电池管理系统数据的收发、上报、保存等功能,并且使用可视化图形界面将关键数据显示出来。

1 系统架构

系统由LabView2011 人机交互界面、主控PC 机和CAN总线收发器组成。其中LabView2011 人机交互界面用来显示电池管理系统数据,同时也可通过人机交互界面发送数据。主控PC 机主控计算机采用ThinkPadX1 笔记本电脑,采用英特尔酷睿 i5-8250U 处理器,通过USB 接口与CAN 总线收发器通信,主控PC 运行LabView 人机交互界面程序,用来接收并存储电池管理系统数据。CAN 总线收发器一方面用来接收来自电池管理系统的数据上传至人机交互界面显示,另一方面下发来自人机交互界面的标定数据,电池管理系统标定之后将标定结果返回给人机交互界面,以供测试人员正确决策。

CAN 总线收发器采用周立功USBCAN-II 收发设备,提供二次开发的库文件,并且兼容USB2.0B 规范,支持2 路CAN 接口。使用该收发设备时,使用主控PC 机的USB 接口接入设备,连线简单可靠。另外,该设备体积小、便于测试人员随身携带,在可靠性方面,自带光电隔离模块,避免由于电磁干扰出现的乱码情况。

2 系统设计

本系统采用LabView2011 作为开发平台实现,完成的主要功能有:

(1)从电池管理系统接收运行状态参数;

(2)对接收到的状态参数进行解码,并且以图形、图表、数字等形式显示;

(3)对电池管理系统中关键参数进行实时存储;

(4)根据用户需要,对电池管理系统运行参数进行标定,发送命令给电池管理系统。

2.1 CAN 总线通讯的建立

系统使用的CAN 总线收发设备是周立功的USBCANII,提供二次开发的库文件ControlCAN.dl。首先,把库函数文件都放在工作目录下。库函数文件总共有三个文件:ControlCAN.h、ControlCAN.lib、ControlCAN.dll 和一个文件夹kerneldlls。软件系统中主程序是整个系统的基础,在主程序中完成打开CAN 总线收发设备、初始化设备、开始CAN总线通信、启动其他程序等功能,只有主程序中打开设备、CAN 总线通讯建立正常之后才能运行其他程序。针对这一特点,在主程序中使用平铺结构,每一项操作为一帧,这样既提高了软件的运行效率,又保证CAN 总线收发设备依次打开并进行初始化,保证CAN 通信的正常运行。通过调用库文件中的VCI_OpenDevice 函数打开设备,VCI_InitCan 函数初始化某一路CAN,VCI_StartCan 函数来启动某一路CAN。

CAN 总线数据接收程序,通过调用库文件ControlCAN.dl 中的VCI_Receive 函数实现。通过设置timing0 和timing1来设置CAN 总线通讯波特率[3],必须和电池管理系统CAN总线波特率保持一致。VCI_CAN_OBJ 结构体表示CAN 总线通讯数据结构体,该结构体是周立功USBCAN-II 收发器总线通信的基本数据结构。在接收程序中使用While 循环结构,即循环执行VCI_Receive 函数,从而保证数据接收的实时性。另外,为了保证接收程序能够及时响应通信中产生的异常,在While 循环结构中加入条件结构,当异常产生时,能够及时处理异常。VCI_Receive 接收到数据之后,在程序上是结构体数组的形式,使用LabVIEW 中“簇”的按名称解绑函数将数据从结构体中抽取出来, 再根据CAN 总线通讯ID 将具体的数据进行处理。在数据显示过程中调用了选择结构,将根据ID 的不同将不同的数据以不同的方式解读和显示。

CAN 总线数据发送程序,通过调用库文件ControlCAN.dl 中的VCI_Transmit 函数实现。在发送一帧CAN 总线数据时,程序首先将ID、控制命令、参数等信息填充至VCI_CAN_OBJ结构体中,同时将VCI_Transmit 函数放置在事件结构中,当需要发送时,产生自定义事件,该事件将触发VCI_Transmit函数的执行。通过事件结构的使用,一方面降低对系统资源的占用,另一方面使得发送效率大大提高。

2.2 系统关键数据的存储

在系统的运行过程中,会接收到来自电池管理系统的大量关键数据,如电池温度、充放电电流等,同时系统运行过程中本身也会产生许多关键数据,如参数标定数值、标定结果、操作状态等等,这些数据电池管理系统的开发过程中起着极为重要的作用,必须妥善存储。虽然LabView 中提供了一些保存数据的方式,比如文本文件、电子表格文件等等,但是这种方式保存的数据为单个文件、文件的大小、数据的类型、保存的频率等都不可控,另外,也无法保证数据文件的安全性和对数据的集中使用。针对LabView 自身保存数据的这些缺点,在本系统中选择专业数据库来保存数据。使用专业数据库能够存储大量数据,而且占用空间少;管理操作方便高效,可以通过网络媒介对数据进行共享,方便了电池管理系统开发过程中数据的分析和使用。在本系统中,使用SQLServer 数据库。

LabView 中可以通过第三方数据库访问工具包LabSQL,实现多种方式访问SQLServer 数据库。而LabSQL 是通过调用自动化引用句柄,获得相关方法,执行SQL 相关功能,最终封装成子VI。LabSQL 数据库工具包通过4 个步骤实现对SQLServer 数据库的操作:ADO Connection Create、ADO Connection Open、3SQL Execute、ADO Connection Close。在开发时只需要在字符串常量控件“数据源”处输入DSN=SQLServer 即可(其中SQLServer 是ODBC 配置时候指定的名称),然后在SQL 指令处读写操作需要输入SQL 语句即可。

通过在LabView 当中使用SQLServer 数据库,本系统实现了对电池参数(单体电池电压、电流、温度),电池状态(放电深度、荷电状态、健康状态),系统故障(故障类型、故障定位、故障信息)、报警信息的实时存储,以及电池管理系统测试过程中通过对数据的分析,改进了电池管理系统的诸多设计缺陷和问题,大大提高了工作效率。

3 结语

本文基于LabView2011 图形化编程平台,设计了一套新能源汽车电池数据监控系统。系统中以CAN 总线为通信媒介,通过使用图形化界面采集电池管理系统中的关键数据并以图形、图表、数字的方式直观显示,并且对系统工作中产生的关键数据进行实时存储和分析。通过该系统的应用,大大提高了现场测试人员的工作效率,对系统存储的关键数据的分析也帮助电池管理系统开发人员发现了系统当中存在的缺陷和不足,进一步提高了电池管理系统的可靠性。同时,该系统也具有一定的通用性,只需要更改CAN 总线通讯波特率和命令ID 就可以方便的应用于其他型号的电池管理系统。

猜你喜欢

总线管理系统界面
基于James的院内邮件管理系统的实现
国企党委前置研究的“四个界面”
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于LED联动显示的违停管理系统
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
海盾压载水管理系统
人机交互界面发展趋势研究
手机界面中图形符号的发展趋向
多通道ARINC429总线检查仪