微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于LabVIEW的电池管理系统监控平台开发

基于LabVIEW的电池管理系统监控平台开发

时间:01-26 来源:21ic 点击:

管理系统监控平台, 需要对其程序设计进行深入的原理分析、细化的结构设计、及灵活的接口实现。监控平台就利用了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也为平台参数配置提供了配置接口, 接收到的数

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top