基于LABVIEW的储能电池数据采集系统
2015-07-25陆宇
陆 宇
(上海电气集团股份有限公司中央研究院,上海 200070)
0 引 言
日益突出的环境问题和资源问题促进了新能源技术的迅猛发展。目前,这些可再生能源的发展面临电力品质差和并网难的瓶颈问题。同时,现阶段用户对电能质量和电力品质的要求越来越高,传统的电力系统已经不能很好地满足用户需求,因而智能电网和微电网等电网新技术应运而生。储能技术是解决新能源发电并网、建设智能电网和微电网的关键技术之一,将迎来巨大的市场机遇。为了分析整个储能系统运行过程中电池各项参数的变化情况,提高储能系统运行的可靠性、稳定性,本文基于LABVIEW设计了一套电池数据采集系统,通过Modbus协议将采集到的电池信息存储至数据库中,为今后分析电池特性提供依据。
1 系统硬件概述
基于LABVIEW的储能电池数据采集系统由1块BCU、23块BMU、上位监控计算机组成。每块BMU均由MSP430单片机来控制,MSP430通过与AD芯片BQ76PL536级联的方式来采集电池模组的电压及温度信息,然后再以串口的方式将数据传送至主板。主板是由DSP28335芯片来控制,通过AD7656采集电流信息,并将子板所传送的数据进行汇总,最终通过串口的方式传送至上位监控计算机。系统基本框架如图1所示。
图1 系统硬件结构
2 系统软件设计
2.1 硬件读写模块设计
LABVIEW库中提供了基于标准I/O应用程序接口的VISA库,VISA除了具有很好的兼容性、扩展性和独立性外,它还有一个显著的特点是平台可移植性。任何使用了VISA控件的VI函数都能够轻易地在其他平台上进行使用[1,2]。
VISA库中最常用的串口通信函数有:VISA Configure Serial Port(串口配置)、VISA Write(写)、VISA Read(读)、VISA Close(关闭)。
VISA Configure Serial Port函数用于对串口进行配置,包括设置串口的波特率、数据位、奇偶校验等参数。在进行串口通信前,只有先设置好串口的各项参数才能保持正常通信。本文中主板与上位监控计算机之间采用的是Modbus通信协议,所以在进行通信前先要对串口进行Modbus初始化。Modbus初始化程序框图如图2所示。
2.2 数据通信程序设计
利用VISA实现Modbus通信可以分为以下几个步骤:按照Modbus协议规则设置串口的通信参数;向下位机发送Modbus请求指令;延时1.75 ms,等待下位机主板执行命令,并返回相应的数据包;从串口中读取主板返回的数据包,并进行命令解析;每隔一个扫描周期依次向下位机发送查询命令。Modbus发送报文帧格式如图3所示。
图3 Modbus发送帧格式
例如,Modbus发送命令为01 03 00 20 00 04 45 C6,其中01表示地址,03表示功能码读取,00 20表示寄存器起始地址,00 03表示连读3个寄存器,45 C6表示CRC校验。当下位机主板收到上位机发送的Modbus指令后也会返回相应的数据帧01 03 06 02 2B00 01 00 64 F4 FD,其中01表示地址,03表示功能码读取,06表示返回字节数,02 2B00 01 00 64分别表示三个返回寄存器的数值,F4 FD表示CRC校验。本文中Modbus发送接收模块如下:
(1)MODBUS发送模块:在LABVIEW中由于用到了Modbus协议和串口通信,自然就需要对其相应的参数进行相关设置,内容包括:端口号、波特率、检验方式、传输的数据位数、停止位数、超时时间、Modbus功能码等参数。
(2)MODBUS接收模块:当按照Modbus协议回送数据时,需要用到VISA Bytes at serial port模块,当VISA Read读取的字节数超过缓冲区的字节数时,VISA Read则一直处于等待状态,直到缓冲区的字节数达到所要求的字节数。
2.3 数据处理与显示
下位机返回的数据包由设备地址、寄存器数量、返回数据信息和校验位组成。为了得到电池数据(即电池的电压、电流、温度等信息),则需要通过字符串转数据模块来实现,从返回的字符串中截取有效地数据信息并进行解码。同时,由于返回的数据均是整数,为了正确的显示最终的电池信息,需对获取的电池数据按照主板和子板的不同情况进行计算与处理。字符串转数据模块如图4所示。
2.4 数据库存储技术
为了分析电池在整个储能系统运行过程中的变化情况,在LABVIEW中需添加数据保存功能。尽管通过Excel也能将数据保存下来,但当所存储的数据达到65536行后,数据会被刷新(即新添加的数据将会逐渐覆盖原先存储的数据)。因此,本文中通过ACCESS数据库来实现数据的存储[3]。
LABVIEW数据库工具包只提供了关于数据库的操作而无法创建数据库,所以必须使用第三方数据库管理系统,如:ACCESS。在使用数据库之前,先要使用LABVIEW数据库工具包和数据库进行连接,如图5所示。ODBC(开放数据互连)是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。这些API利用SQL来完成其大部分任务。而且,ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。在使用ODBC API函数时,需要提供数据源名Data Source Names才能连接到实际数据库,所以需要首先创建DSN[4]。
图4 字符串转数据模块
图5 LABVIEW数据库工具包基于ODBC技术
2.5 程序界面
根据设计方案,利用LABVIEW图形化处理方便、快捷等特点,开发出了一套基于MODBUS通信协议的电池数据采集系统。该系统集数据采集、处理、计算、存储于一体,程序界面显示直观,用户操作方便,数据传输正确率在98%以上。系统界面如图7所示。
3 总 结
本文针对储能电池系统平台,基于LABVIEW开发了一套电池数据采集系统,成功实现了LABVIEW基于MODBUS通信协议的数据采集、传输、处理、存储与显示功能。目前,该系统已成功投入使用中,可对运行中的电池数据进行实时采集存储。LABVIEW技术较为成熟,所以该系统具有高可靠性、良好的稳定性、可维护性强等特点。在实际使用中,不仅可以降低成本,还具有良好的应用前景。
图6 数据库存储
图7 系统程序界面
[1] 唐丽婵,齐 亮,王庆东,陈江洪.基于Labview的无线远程温度监控系统[J].上海电气技术,2009,2(1):20-24.
[2] 孟武胜,朱剑波,黄 鸿,等.基于Labview数据采集系统的设计[J].电子测量技术,2008,31(11):63-65.
[3] 杨乐平,李海涛,肖相生,等.Labview程序设计与应用[M].北京:电子工业出版社,2001.
[4] 朱洪波,康龙云,杨会州.基于Labview的复合能源电动汽车数据采集系统的设计[J].测控技术,2011,30(8):19-22.