《电子技术应用》
您所在的位置:首页 > 电源技术 > 设计应用 > 基于LabVIEW的电池管理系统监控平台开发
基于LabVIEW的电池管理系统监控平台开发
摘要: LabV IEW ( Labora tory V irtual INStrumentat iONEng ineeringW orkbench, 实验室虚拟仪器工程平台)是由美国N ational InSTruments(简称N I)所开发的图形化软件开发环境。该开发环境把工业测量与控制和计算机完美结合在一起, 其图形化的界面使得编程就像操作仪器面板或画电路板一样简易直观、易于理解。但为了开发可靠、高效、灵活的电池管理系统监控平台, 需要对其程序设计进行深入的原理分析、细化的结构设计、及灵活的接口实现。监控平台就利用了LabV IEW 的DLL ( dynam ic link library, 动态链接库)、多线程, 数据记录、运行控制等技术。
Abstract:
Key words :

  1 引 言

  动力电池集成作为电动汽车核心技术之一对电动汽车运行的性能有着决定性的作用, 为保证动力电池安全且高效的应用, 需要对其运行状态进行实时在线的监测并同时对其进行控制, 电池管理系统在动力电池与整车控制之间起到了这样关键的桥梁作用。为保证电池管理系统为电动汽车提供准确可靠的动力电池信息并对电池进行可靠的管理, 需要对电池管理系统自身运行的各项功能进行实时的监测, 以及对电池运行数据进行采集分析, 同时在动力电池系统出现故障时需要对其进行诊断, 基于LabV IEW 的电池管理系统监控平台即是为实现上述需求而开发设计。

  LabV IEW ( Labora tory V irtual INStrumentat iONEng ineeringW orkbench, 实验室虚拟仪器工程平台)是由美国N ational InSTruments(简称N I)所开发的图形化软件开发环境。该开发环境把工业测量与控制和计算机完美结合在一起, 其图形化的界面使得编程就像操作仪器面板或画电路板一样简易直观、易于理解。但为了开发可靠、高效、灵活的电池管理系统监控平台, 需要对其程序设计进行深入的原理分析、细化的结构设计、及灵活的接口实现。监控平台就利用了LabV IEW 的DLL ( dynam ic link library, 动态链接库)、多线程, 数据记录、运行控制等技术。

  2 平台结构

  监控平台是基于电池管理系统设计, 其主要由硬件部分和软件部分组成。硬件主要实现PC 与电池管理系统之间的通信, 因电池管理系统对外通信主要采用CAN ( Contro llerA rea Netw ork, 控制器局域网) , 而PC 端接口多为U SB (Un iversa l Ser ia l Bus, 通用串行总线)。CAN 总线由德国Bosch 公司最先提出, 是国际上应用最广泛的现场总线之一, 其具有高位速率、高抗电磁干扰性, 而且能够检测出总线的任何错误; USB是一种支持即插即用的新型串行接口,已广泛用于PC 的对外接口。解决CAN 与USB 之间的转换就解决了电池管理系统与PC 的通信, 利用周立功USBCAN - II的智能CAN 接口卡, 可以很方便的实现这一功能, 监控平台硬件正是以PC 为主体, 连接CAN 接口卡, 通过CAN 总线连接电池管理系统组成。周立功智能CAN 卡配备了PC端的驱动程序, 同时为PC 端应用程序提供了接口函数, 采用LabV IEW 开发环境中的动态链接库技术可很好的操作周立功智能CAN 接口卡, 实现与电池管理系统的通信。

  由图1可见, 系统硬件实现了监控平台与电池管理系统之间数据的透明传输, 周立功智能CAN 接口卡起到了很好的桥梁作用, 其上自带的光电隔离模块使USBCAN II接口卡避免由于地环流造成的损坏, 增强系统在恶劣环境中使用的可靠性。所以监控平台有很好的硬件支持, 设计的主要工作是监控平台的LabV IEW 实现。

  针对电池管理系统数据采集、参数标定、故障诊断及对电池数据分析的要求, 监控平台软件的结构应该包含信息显示、系统标定、故障诊断、数据存储及平台配置等模块(见图2)。其中信息显示功能提供了直观的动力电池信息, 包括单体电压、总电压、电流、温度、SOC及故障状态等; 系统标定功能为电池管理系统的参数设定、状态修订提供了便捷的操作; 故障诊断功能主要针对动力电池系统的维护; 数据存储功能为进一步的对电池性能的分析及对电池管理系统的功能验证提供很好的数据支持; 平台配置功能是实现监控平台接口灵活、界面友好、操作简便的关键。基于LabV IEW 的软件设计主要针对这几个方面进行。

监控平台结构图


图1 监控平台结构图

监控平台功能模块
图2 监控平台功能模块

  3 软件设计

  采用N I公司的LabV IEW8. 2作为监控平台软件的开发平台, 既能很方便的实现监控平台需要的功能, 又能使软件设计变得直观、快捷, 同时软件兼具有灵活性、可扩展性、可维护性、代码重用性和可读性。

  为实现上述监控平台的各个功能, 同时保证平台高效的性能, 软件设计应用了LabV IEW 的多线程技术。所谓线程( thread)是指由进程进一步派生出来的一组代码(指令组) 的运行过程。多线程技术可以使同一个程序有几个并行运行的路径, 从而提高程序的运行速度, 线程所占用的系统资源比进程要小。在一个程序中, 线程并不是越多越好, 也并不是越多程序执行得越快。针对计算机的CPU 只有一个的情况, 当一个线程在执行的时候, 其它的线程就处于挂起或者阻塞状态, 那么程序使用内存的效率就会很低。针对监控平台的功能, 要求同时考虑平台的高效运行, 软件设计了四个线程, 即通过CAN 总线的数据采集与显示; 平台参数配置; 数据存储; 系统标定和故障诊断。

  3. 1 数据采集及显示

  平台采用了USBCAN - II智能CAN 接口卡连接PC 与电池管理系统, 实时接收电池管理系统CAN 总线的数据并进行显示。USBCAN - II智能CAN 接口卡为应用程序提供了可调用的动态链接库, 利用LabV IEW 中的调用库函数节点( Ca llL ibraryFunction, 简称CLF ) 可实现对USBCAN - II智能CAN 接口卡的灵活操作, 应用CLF 需要对其进行配置, 配置主要根据接口函数设定调用规范为stdca ll(W INAPI) , 同时根据函数参数设定CLF的参数。最终设置好的CLF为编程提供了便捷的接口,也为平台参数配置功能提供了方便, 通过设备类型号和设备索引号可灵活在USBCAN - II智能CAN卡的COM1和COM2之间进行选择。按类似的设置规则配置好USBCAN - II的其他接口函数的调用,可对USBCAN- II智能CAN进行灵活的操作。

  根据USBCAN- II操作要求, 数据采集流程如图3。为了操作方便, 接收数据被封装成子V I。

  LabV IEW 中的子V I类似于C 语言中的子函数, 可以被其他V I调用。数据接收子V I也为平台参数配置提供了配置接口, 接收到的数据被打包成LabV IEW 中的簇变量, 簇是LabV IEW 中的一种数据类型, 它可以包含多个不同数据类型的元素, 类似C语言中的结构体。数据的打包方便了对接收到的数据进行显示与存储。数据接收采用循环接收模式,直至收到停止接收命令。

 数据采集流程

 

图3 数据采集流程。

  现有电池管理系统向CAN 总线发送的数据有单体电压, 总电压, 电流, SOC, SOH, 温度, 最高和最低单体电压, 最大和最小温度等, 其中各从板负责单体电压和温度的测量, 每个从板有电压60个, 温度16个, 及故障信息等, 总共4 个从板。需要对这些数据进行显示与存储, 以方便对电池状态进行实时监控, 对电池数据进行深入分析, 同时根据故障信息对电池进行维护。利用LabV IEW 设计友好的显示界面, 将上述信息按从板号设置不同的选项卡进行显示, 如图4所示。

显示界面


图4 显示界面。

  3. 2 平台参数配置

  利用LabV IEW 多线程技术专为平台参数配置分配一个线程, 对监控平台参数进行设置。监控平台参数可分为以下几类: USBCAN - II智能CAN 卡配置, 包括CAN 通道选择、CAN 通信波特率等; 显示配置, 含从板数, 从板电压节数, 从板温度个数等;数据存储配置, 含存储的周期、位置、格式等; 系统标定和故障诊断配置, 含标定的参数类型、位置及故障诊断的故障类型等。

  LabV IEW 是一种数据流的程序开发平台, 由数据流决定程序中节点的执行顺序。事件驱动扩展了或程序不同部分之间的交流影响程序的执行。平台参数配置采用了事件结构, 很好的在异步情况下对不同线程之间的参数进行修改和设置, 当没有事件产生时, 程序回到等待事件状态, 减小了对其他线程执行的影响。

  3. 3 数据的存储

  在LabV IEW 中常用的记录数据的方法有利用数据库技术存储数据和利用文件系统存储数据。使用文件系统管理数据文件读写速度快、占用磁盘空间少、检索方便快捷。本监控平台将存储的文件格式默认设为csv格式, 其占用磁盘空间小, 同时这种格式可以在Excel中进行查看, 也可以导入Mat lab中进行分析, 这特别有利于对电池性能进行研究。

  为数据存储建立独立的线程, 方便了编程的实现, 但需要解决数据同步的问题, 即数据采集与数据存储两个线程之间的流程控制。在LabV IEW 中不同循环间传递数据可采用局部变量, 但是在数据采集循环与数据存储循环之间传递数据的话, 局部变量就不太够用了。因为数据保存到硬盘上是一项比较费时的工作, 而数据采集对循环时间要求较高, 两者的循环快慢不一样, 此时, 就不能简单的通过局部变量来进行数据传递。在数据采集循环与数据存储循环之间, 采用LabV IEW 中消息通知器进行数据同步传递。本监控平台在数据采集中将数据打包成簇类型, 通过消息通知器传递数据并进行储存。

  3. 4 系统标定和故障诊断

  为保证动力电池系统的安全运行, 需要对电池管理系统的各个参数进行标定, 以保证电池管理系统所检测信息的可靠性, 确保电池管理系统对电池的正确管理。当动力电池系统出现故障时, 仅仅依靠监控电池参数来诊断故障是不够的, 还需要对电池管理系统自身的运行参数进行诊断, 这些参数包括电池管理系统配置参数、软硬件信息、软硬件工作状态等; 电池管理系统有自检功能, 通过可靠的CAN 总线可以实现对这些功能的触发, 最终通过CAN 总线返回信息, 尽可能定位故障点。监控平台的另一功能就是要实现对电池管理系统的标定及在电池系统有故障时进行故障诊断, 为实现此功能需要通过CAN 总线与电池管理系统进行交互, USB??

  CAN - II中提供了向CAN 总线发送信息接口函数,类似于接收函数, 利用LabV IEW 设计发送子V I, 同时建立系统标定和故障诊断线程调用发送和接收子V I, 实现与电池管理系统的交互。

  4 结束语

  本监控平台充分借助LabV IEW 的多线程及其灵活的接口技术, 实现了对CAN 总线的高速数据采集和多种格式文件的实时数据记录, 并且监控平台设计灵活, 能适应电池管理系统多种组合方案, 同时监控平台的系统标定及故障诊断为电池管理系统的量产打下很好的技术基础。该监控平台已用于普天、恒通、吉利等多种电动汽车用铁锂电池管理系统。在一年多的时间内, 运行可靠、稳定, 既为用户及时提供了实时的采集数据, 又为开发人员提供方便的诊断接口, 为近一步研究电池管理和分析铁锂电池的性能提供了有力的保证。

 

此内容为AET网站原创,未经授权禁止转载。