技术应用-中国电源产业网-新能源与电源官方网站

基于LabVIEW 的锂电池模组测试系统设计

2019-05-22   

中国电源产业网

导语:摘要:目前市场上比较流行纯电动汽车,这种汽车采用蓄电池作为动力源,电池在生产过程中要经过严格的测试。本系统是生产过程中检测环节之一,在生产中起到至关重要的作用。系统使用LabVIEW 2016开发平台、远程I/O通讯模块、测量仪表实现测试功能。系统分为六部分:系统登录、参数设置、数据读取、多路复用、数据存储、数据查询和导出。

摘要:目前市场上比较流行纯电动汽车,这种汽车采用蓄电池作为动力源,电池在生产过程中要经过严格的测试。本系统是生产过程中检测环节之一,在生产中起到至关重要的作用。系统使用LabVIEW 2016开发平台、远程I/O通讯模块、测量仪表实现测试功能。系统分为六部分:系统登录、参数设置、数据读取、多路复用、数据存储、数据查询和导出。选择LabVIEW作为开发环境,是因为它有强大的函数库,在开发过程中灵活调用,有效缩短开发周期,降低开发成本。

关键词:LabVIEW;远程I/O通讯;多路复用;Modbus TCP;数据库。


           Test System for Lithium Battery Module Based on LabVIEW

                                             Li GuangMing

(Beijing Zhonghang Kedian Measurement &Control Technology Co.,Ltd   BeiJing100085)

Abstract:At present, pure electric vehicles are popular on the market. These vehicles use batteries as the power source, and the batteries must undergo rigorous testing during the production process. This system is one of the testing processes in the production process and plays a vital role in production. The system uses the LabVIEW 2016 development platform, remote I/O communication modules, and measurement instruments to implement test functions. The system is divided into six parts: System Login, Parameter Setting, Data Read, Multiplexing, Data Storage, Data Query And Export. LabVIEW is chosen as the development environment because it has a powerful library of functions that can be flexibly invoked during the development process, effectively shortening the development cycle and reducing development costs.

Keywords: LabVIEW; Remote I/OCommunication; Multiplexing; ModbusTCP; Database.

1、绪论

1.1 LabVIEW简介

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,与 C 和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等等。

LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言,图1-1为LabVIEW标识。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。

LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

image.png

                                                    图1-1 LabVIEW标识

1.2 系统设计的主要内容

目前使用LabVIEW环境开发测试软件已经很普及了,它具有开发周期短,UI构建便捷、与仪器仪表方便等特点,通过对多款开发软件对比后的到,LabVIEW开发本系统更加简单方便。根据系统的测试要求以及行业规范,本系统使用仪表是数字万用表和绝缘电阻测试仪,使用RS-232接口Modbus ASCII协议实现测试软件与仪器仪表的控制。通过翻阅书籍和网上学习等了解使用PXI板卡搭建测试系统费用高昂,选择性价比更高的替代品尤为重用。该系统的亮点在于使用远程I/O通讯模块,替换了PXI板卡,同样实现测试线路多路复用的功能,使用以太网接口Modbus TCP协议实现测试软件与远程I/O通讯模块进行通讯,控制模块输出端实现多路继电器切换,从而使得一台数字万用表可以测量多路电压值,一台绝缘电阻测试仪测量多路绝缘电阻值。

应用软件要有可靠性、可理解性、可用性、一致性、可移植性、兼容性。可操作性,同样测试软件也是如此,在保证系统功能完全实现的情况下,保证测量系统在测试过程中绝对稳定,程序代码部分简洁易读,复用代码部分生成子VI方便调用,操作界面遵循人体工程需,方便操作人员使用,保证测试数据完整性和可查询。测试系统为永久保存数据便于查询,使用MySQL数据库存储测试数据,保证预留存储空间在1年以上。系统界面简洁大方,各项功能都容易使用,操作者可在短时间内熟练使用该测试系统。测试系统网络架构如图1-2所示。

image.png

图1-2 测试系统网络架构

2、LabVIEW相关函数介绍

2.1 VISA函数模块介绍

本系统需要对测量仪表进行数据读取和数据分析,实现测功能需要用到LabVIEW的NI-VISA驱动,正常情况下,大家安装的LabVIEW,都是不带VISA 驱动的,需要去官网下载,有些人相当人以为有了VISA函数就是装了驱动,这是错误的理解。在LabVIEW程序框图中有两处可以找到VISA函数,两处函数都可以使用,如图2-1VISA函数

image.pngimage.png

图2-1 VISA函数

一般用的比较多的函数是VISA配置串口、VISA写入、VISA读取、VISA关闭、VISA串口字节数五个函数,简单的应用在函数帮助内有范例可以学习。

2.2 Modbus TCP函数介绍

Modbus TCP是一种简便可靠的通信连接,利用远程I/O通讯模块作为Modbus服务器(从站),LabVIEW作为Modbus客户端(主站),可以实现上位机PC对下位机远程I/O通讯模块的读写操作。这在监控系统开发中经常会用到。然而在LabVIEW中使用Modbus TCP协议,必须安装数据记录与监控(DSC)模块,它将图形化编程优势扩展至监控和数据采集(SCADA)或多通道数据记录应用程序的开发。DCS模块包括OPC-UA服务器/客户端、Classic OPC客户端和用于与第三方设备共享数据的Modbus。使用该模块连接传统可编程逻辑控制器(PLC)、远程I/O通讯模块或可编程自动化控制器(PAC),将数据记录至数据库中、管理警报与事件以及创建人机界面(HMI)。

安装完成数据记录与监控(DSC)模块,我们可以在如图2-2的位置找到系统要用到的Modbus TCP函数。

image.png

图2-2 Modbus Master模块函数

2.3 PLC寄存器地址与Modbus地址对照

通常Modbus地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。ModbusMaster协议库把标准的Modbus地址映射为所谓Modbus功能号,读写从站的数据。ModbusMaster协议库支持如下地址:

l 00001 - 09999:数字量输出(线圈)

l 10001 - 19999:数字量输入(触点)

l 30001 - 39999:输入数据寄存器(通常为模拟量输入)

l 40001 - 49999:数据保持寄存器

3、测试系统各模块的设计

3.1系统登录模块

该系统拥有系统登录模块,非操作人员无法登陆操作系统,也就无法使用测试系统,保障了系统安全性。该登录系统比较简单,在开发初期已经将用户名和密码设置好,后期不能增加或更改其内容,登陆界面如图3-1所示。

image.png

 图 3-1 登陆界面

登录系统程序框图如图3-2所示,当输入完账号和密码后,点击登录按钮,程序会将账号和密码数据发送给子VI,分别与预先设置在表格内的账号密码进行比对,首先寻找相同账号的一行数据,如果账号存在,在比较此账号对应的密码是否一致,账号密码验证完成后,使用字VI启动测试系统主程序,并关闭登录模块。

image.png

                                                          图 3-2 程序框图

3.2参数设置模块

设置模块有三个功能,如图3-3所示,第一个是测试与仪器仪表的连通性,判断是否正常连接,向绝缘电压测试仪和数字万用表分别发送读取命令,查看显示窗口是否能返回数值。

image.png

图3-3 参数设置模块

第二个功能是更改测量参数,分别是绝缘电阻值设定、测绝缘延长时间、电芯电压上限、电芯电压上限、模组电压上限、模组电压下限、温度阻值上限、温度组织下限。绝缘电阻值设定就是设定一个最低的绝缘电阻值,绝缘电阻测试仪测量的数据要与此参数比较,高于设定值产品的绝缘性合格;测绝缘延长时间是设置绝缘电阻测试仪在测量过程中的加压时间,到达加压时间后在读取绝缘电阻值,这样测量的结果更精准;电芯电压上限和下限是与数字万用表测得的电芯电压值比较,电芯电压值在此范围内表明电芯电压是合格的;模组电压上下限与数字万用表测得的模组电压值比较,如图3-4所示,模组电压值在此范围内表明模组电压是合格的;温度阻值上下限是与数字万用表电阻档测得的温度传感器的电阻值进行比较的,判断温度传感器是否工作正常。

image.png

图3-4 地模组电压比较

第三个功能是,保存所有的参数设定值,如图3-4所示,在下次启动系统时,仍然使用上一次保存的参数设定值。在设置完每项参数后,点击确定按钮,即可将所有参数保存至用户文档下参数文本文件中,当再次启动系统时,首先读取参数文本文件的内容。

image.png

图3-4 参数设定值保存

3.3数据读取模块

模组测试系统需要读取绝缘电阻测试仪和数字万用表的测量值,系统通过向仪表发送参数设置命令、读取命令,使得仪表切换到相应的档位,返回测量数据,如图3-5所示。绝缘电阻测试仪和数字万用表的读取程序基本相同,不同之处在于参数设置命令有所不同,绝缘电阻测试仪需要设置阻值量程,仪表切换到测量模式。数字万用表需要设置测量档位如电阻档或电压档,设置档位量程以保障精准测量。在向仪表发送命令后,根据仪表的测量速度不同,设置200~300ms的延时,再读取测量值。绝缘电阻测试仪读取参数用到的指令为“FETCH?”,数字万用表读取参数用到的指令为“READ?”。由于读取到的数据都为字符串形式,需要将字符串转换为数值型数据才能进行测量数据的比较

image.png

图3-5 测试数据读取

3.4测试线路多路复用模块

在本测试系统中,测试线路多路复用模块尤其重要,因每种测量仪表只有一台,为保证测试系统的高效运行,使用测试线路切换模式,使用远程I/O控制模块,测试系统控制其输出端信号,输出信号控制继电器模组上每个线圈的吸合,测试线路连接到继电器模组上,从而实现多测试线路切换,这也是自动化测试重要组成部分。远程I/O控制模块挂载了一个输入输出模块和一个输出模块,共有8个输入点和24个输出点。

为保证程序的简洁易读性,将重复使用的程序部分做成子VI,该子VI可重复调用,主程序则显示如图3-6所示。

image.png

                                              图3-6 控制远程模块程序框图

在程序框图中放置4个函数:创建主设备实例、写入多个线圈、读取线圈、关闭,如图3-7所示,连接5个函数,主设备实例的地址和端口填写PLC或远程I/O通讯模块的IP地址和端口,Modbus TCP默认端口为502。若写入多个线圈地址为1280,写入变量数组第0个元素为“T”,则Y0有信号输出;若读取线圈地址为1280,读取数量设置8,则能读取到输出端Y0-Y7信号输出状态。

image.png

图3-7 写入&读取远程模块数据

3.5数据存储

系统在连接数据库时,使用Database Connectivity Toolkit工具包操作MySQL数据库,如图3-8所示,在对数据库操作过程中经常使用到的函数有DB Tools Open Connection, DB Tools Select Data、DB Tools Execute Query、DB Tools Free Object、Database Variant To Data。

image.png

图3-8 Database工具包

模组测试系统的数据存储功能也是十分重要的,使用数据库打开连接函数和执行查询函数,系统启动后先连接数据库,在新建数据表,若数据库中有相同的数据表则不会创建,如图3-9。

image.png

图3-9 连接数据库&创建表

当电池模组各项数据测量、判断完成后,将所有数据与产品条码做信息绑定,存储到数据库中,该系统使用的是MySQL数据库,由于存储数据较多,在存储前使用叠加顺序机构和字符串连接函数先将SQL语句进行整理成一条完整语句,如图3-10所示,再将整理好的语句发送到数据库函数。

image.png

image.png

图 3-10 SQL语句整合&发送

3.6数据查询导出

系统的测试数据和判定结果有存储就有显示,每次数据存储完成后,系统都会将当天的测试数据全部显示在表格中,这是默认执行一次查询功能,如图3-11,显示的信息与存储信息格式一致,分别为:日期时间、序列号、绝缘电阻值、电压值、温传感器电阻值、判断结果。该系统另外增加两种数据查询模式,分别为按起止时间查询、按条码信息查询。

当按时间查询时,选中“时间”单选按钮,设置查询起始时间和结束时间,查询时间可精确到秒,设置完成后,点击查询按钮,系统会自动查询出设定时间段内,所有测量数据。

当按照条码信息查询时,选中“条码”单选按钮,持扫码器读取模组条形码或手动输入条形码,显示框内显示出要查询的产品条码,单击查询按钮,系统按照“序列号”关键字,在数据库中查询到与之绑定的测试数据,并显示在表格中。表格中呈现出的所有数据,都可导出至EXCEL表格形式,只需点击菜单栏中的“数据保存”按钮,就可将数另存到桌面表格文件。

image.png

图3-11数据查询

4、系统开发调试与分析

4.1 系统开发调试

4.1.1 系统流程介绍

在系统开发前,首先根据硬件及电气原理图,规划出系统运行的流程,如图4-1所示。在测试前,首先将外部测试线连接到设备上,再使用条码器读取模组的条码,在系统没有读取到条码前,“测试开始”按钮一直为灰色,无法操作,防止系统在无条码的条件下运行,保证测试结果具有可追溯性。因绝缘电阻测试仪在测量过程中释放500V直流电压,为保证数字万用表的安全,首先将万用表隔断,进行绝缘电阻测试,测试完成后将绝缘电阻测试仪的电路断开同时接入数字万用表的测试电路,保证在使用数字万用表测量时不受绝缘电阻测试仪的影响。为保证测试数据准确无误,防止误测误判,当发现有异常测量数据时,系统自动重新测量。

image.png

图4-1 系统流程图

4.12 系统界面开发

测试系统UI的设计,对于操作人员来说尤为重要,首先是要保证操作人员易上手、操作简便、显示简洁。系统主界面如图4-2所示。系统下方会有显示测量进度的进度条,使操作人员很直观的看到测试进度。左下方显示测试使用时间,从开始测量开始计时,到得到判断结果结束。

image.png

图4-2 系统主界面

4.2 系统分析

在开发完成后,对系统做个整体分析,该系统开发和调试过程中发现了一些不足之处和设计缺陷:

1. 在登录模块中,登录方式设计较简洁,不能增加账号、注销账号、修改密码,登录权限设定,在一定程度上系统安全防护等级较低。

2. 在系统调试过程中,绝缘电阻值测量总是不准确,排查线路发现,有部分返回信号的线路没有使用屏蔽线,导致测量数据不准确;返回信号数据线在进入仪表的连接件制作不合格,容易出现虚接的状态,导致无法测得数据。

3. 系统没有实时显示与远程模块通讯状态,在测试过程中,若出现通讯断开的问题,不能直观的显现出来。

5、设计总结

本文重点介绍了基于LabVIEW的锂电池模组测试系统,使用LabVIEW开发平台大大缩短了开发周期,而且有效充分发挥了危机强大的功能和软件设计灵活性,该平台支持多种通讯协议和现场总线,本系统仅使用了Modbus ASCALL和Modbus TCP两种通讯协议,在远程I/O通讯模块强大功能的支持下,实现了多路复用功能,替代了PXI板卡的功能,其工作性能和可扩展性均优于PXI板卡。系统包括:系统登录、参数设置、数据读取、测试线路多路复用、数据存储、数据查询导出等功能。为保证数据库可持久性存储,系统还有数据删除功能,可删除历史无用的数据。本系统的功能相对全面,基本包含了测试软件所需要的全部功能,但有些功能还不够完善,还有更大的优化空间。

【参考文献

《LabVIEW宝典》电子工业出版社2017年9月第二版

【作者简介

李光明北京中航科电测控技术股份有限公司董事长兼总经理,清华大学EMBA工商管理硕士,主要研究方向机械制造。

(此文章为原创,转载须白条通过)

编辑:中国电源产业网

来源:作者:李光明/《电源工业》编辑

标签:

中国电源产业网官方在线QQ咨询:AM 9:00-PM 6:00
广告/企业宣传推广咨询:
活动/展会/项目合作咨询: 市场部
新闻/论文投稿/企业专访: 李先生
媒体合作/推广/友情链接: 市场部

中国电源产业网网友交流群:2223934、7921477、9640496、11647415

中国电源产业网照明设计师交流群:2223986、56251389

中国电源产业设计师QQ群:102869147

X