王峰 严浩浩 赵鑫
摘 要:针对某厂电池控制器程序烧录自动化程度低、生产离散化严重的问题,对其电池生产线电池管理系统烧录工序模块进行分析和研究。采用与车间MES系统相结合的方法对烧录技术进行改进,设计了基于LabVIEW编程语言的汽车BMS烧录上位机软件,实现其与车间MES系统的交互。通过模块化的设计,降低了各个模块之间的耦合度,便于日后烧录系统的更新、升级和维护,使该系统具有一定的可扩展性。结果表明,该上位机软件与车间MES系统交互性好,实现了生产线烧录自动化和生产数据信息化。
关键词:烧录;MES;LabVIEW
中图分类号:TP278 文献标识码:A
Design and Implementation of Burning System for
Intelligent Automobile Battery Controller
WANG Feng, YAN Haohao, ZHAO Xin
(School of Automotive and Transportation Engineering, Wuhan University of Science and Technology, Wuhan 430018, China)
1558188066@qq.com; yanhaohao2021@163.com; zhaoxinylm@163.com
Abstract: Aiming at the problems of low-degree automation of program programming of battery controller and serious discretization of production in a certain factory, analysis and research on the programming process module of the Battery Management System (BMS) on its battery production line are carried out. The programming method is improved by combining with workshop MES (Manufacturing Execution Systems) system. This paper proposes to design host computer software of the automobile BMS programing based on LabVIEW programming language, realizing the interaction with the workshop MES system. Through modular design, coupling degree between various modules is reduced, and it is convenient to update, upgrade and maintain the programming system in the future. The system has a certain degree of scalability. Results show that the host computer software has good interaction with the workshop MES system, and realizes the automation of production line programming and production data informationization.
Keywords: programming; MES; LabVIEW
1 引言(Introduction)
隨着新能源汽车技术的发展和国家政策的支持,新能源汽车在市场中的占比日益增加。电池作为新能源汽车的动力来源,电池管理系统(Battery Management System, BMS)备受关注,电池控制器程序烧录得到了各大主机厂的重视,其开发需求也在不断增加。而对于厂商而言,使用传统烧录器进行程序烧录的方法已经不能满足其生产要求,开发出一套自动化程度高、信息化集中的烧录软件是非常必要的。
国内传统的烧录方法是利用PC机将烧录程序存储到烧录器中,然后将烧录器与电池包相连,通过操作烧录器上的按钮完成BMS的程序烧录。此方法普遍是人工作业,作业人员多,烧录效率低下且成功率不太理想。国外的烧录技术发展较为成熟,如美国Data IO的PSV7000和XELTEK的SUPERBOT系列[1],其特点是能同时多台烧录,烧录速度快,但是成本较高,烧录信息离散,不便于集中管理。
为响应国家号召,顺应汽车未来发展趋势,在工业4.0的背景下,将传统行业机械化和大数据时代信息化进行深度融合,打造数字化、智能化、现代化工厂。其中制造企业生产过程执行系统(Manufacturing Execution System, MES)是实现智能车间关键的环节。本文设计的上位机软件与MES系统进行交互,基于MES通过多种技术进行数据处理,开发出一个智能化的电池控制器烧录系统。
2 电池控制器烧录系统方案设计(Design of battery controller programming system)
根据车间生产线生产需求,本烧录系统设计为线边烧录的形式,集成在电池生产线烧录工位。BMS烧录系统分为自动化和半自动化两种烧录方式。半自动烧录是通过扫码枪直接读码获取电池包信息,用于烧录数量少和烧录失败再烧录的情况;自动烧录是通过接收烧录工位PLC的信号,配合无线射频识别技术(RFID)读取电池包电子标签获取信息,用于批量烧录生产的情况。
该上位机软件通过CAN工具与下位机建立对话服务,利用条码和PLC进行数据的采集,并与MES系统数据服务器相互关联,以LabVIEW作为上位机软件开发平台,控制调用BootLoader。数据下载过程遵循UDS协议,根据规定的服务命令完成数据传输[2]。系统的总体架构如图1所示。
BMS烧录系统的硬件主要包括工控机、PLC、CAN接口设备、USB控制灯塔、扫码枪、显示器和RFID读取器。车间MES系统和外部接口如图2所示,目前常用的设备接口形式有以太网设备、串口设备(RS-232)等几种。通常与系统、计算机类的硬件接口均为以太网形式,串口形式设备接口简单方便,数据接口多为数据库或文件交换方式。
本文设计的烧录系统采用USB-CAN作为硬件接口设备与下位机进行通信,选用NI公司旗下的板卡,型号为USB-8502。其通信稳定流畅,具有数据速率灵活高速的特点,能有效提高烧录效率。
3 基于LabVIEW的上位机软件设计(Software design of host computer based on LabVIEW)
3.1 上位机软件运行流程
整个系统的软件流程如图3所示。电池包进入烧录工位,首先获取电池包流水号,通过流水号信息与MES系统进行交互,获取工件的关键参数。把关键数据自动导入需要烧录的程序中,启动烧录检查。检查烧录内容的完整性以及烧录程序与电池包流水号是否匹配。将经过校验的数据烧入相应的程序段之中,从而使数据固化[3]。烧录开始后,利用LabVIEW编写的程序调用BootLoader并加载完成烧录任务。对烧录结果进行判断,结果为OK,则程序烧录成功;若烧录失败,生成错误信息,最终上传至MES系统服务器。
3.2 三层式结构设计
基于LabVIEW自身的特性,针对其数据流的编程方式,上位机软件采用分层式结构设计,分为顶层、逻辑层和驱动层。顶层主要包括人机界面和系统流程控制;逻辑层负责实现系统的各种逻辑功能,例如配置、数据处理、数据存储和数据查询等;驱动层负责与硬件进行通信和文件I/O等[4]。
对系统进行模块划分,并规划模块之间的联系,根据模块的功能来编写程序,设计成相应的子VI,最后进行测试与调试。本软件架构的最大优点是可使程序代码的再使用性最大化。在不同逻辑层中的VI可重复使用相同驱动层中的VI;而在顶层VI中,又可重复使用相同逻辑层中的VI。因此,在软件运行过程中,顶层VI只需将逻辑层VI做最有效的调用编写,同时规定每层的VI不能跨层调用,且同层的VI不能互相调用。
上位机软件的三层式结构架构如图4所示。
3.3 BMS烧录主程序设计
LabVIEW的编程可分为四大模块,分别为数据库访问模块、报警模块、数据通信模块、BootLoader模块。
(1)基于ODBC技术的数据库访问模块
该模块设计了烧录信息的储存、管理和查询功能。生产线上数据之间的存储比较复杂,采用读取文件的方式来获取数据是很难实现的,因此需要利用数据库来存储、管理和查询数据。ODBC作为公共数据化接口,能够以统一的标准处理数据库。为了使得应用程序与指定数据库进行有效合理的通信,使用上位机程序访问ODBC,即在LabVIEW提供大量底层VI函数的情况下,结合使用labSQL工具包,利用ADO与ODBC连接,以此访问支持ODBC的SQL数据库。利用ADO与ODBC访问数据库的过程示意图如图5所示。
(2)基于串口通信的報警模块
作为一个工业级别的烧录软件,工位烧录异常报警是必不可少的。生产现场安装了控制灯塔,使用过程中根据不同的情况,VISA读取对应的数据,并将数据发送给控制灯塔,在接收到数据后做出相应的回应,通过警示灯的状态变化判断烧录工位状态正常与否,其原理图如图6所示。在数据传输的过程中,对串口的配置依据相应的通信规则进行制定,按照要求对通信端口的传输速率、Start位、Stop位和检验位等参数进行配置[5]。VISA的串口配置要与控制灯塔的串口配置一一对应。
(3)基于PLC技术的数据通信模块
上位机与PLC通信需要LabVIEW安装数据记录与监控模块(NI DSC),结合了虚拟仪器技术与PLC技术,通过NI OPC服务器与西门子S7-1500进行实时通信。NI公司的OPC服务器提供了西门子生产厂商的驱动,省去了编写底层驱动的工作。在LabVIEW项目中,通过I/O服务器公布共享变量来与OPC服务器进行访问,利用OPC和PLC的“握手机制”,从而实现PLC与上位机的实时通信。本系统通信原理如图7所示。
OPC and PLC
建立通信的具体操作步骤如下:
①新建通道,对通道数据进行配置。在装置驱动下拉列表框中选取西门子TCP/IP Ethernet,所需其他参数使用默认数据。
②新建设备,对设备信息进行配置。在Device model下拉列表框中选取S7-1500,在Device ID中输入与PLC同样的IP地址。
③设置PLC中变量绑定的标签变量。首先将名称写入所需位置,然后输入进行配合的地址信息(该地址已设置完毕),继而设置标签变量属性,最后通过地址的方式对其与PLC中的变量进行绑定[6]。本程序创建的绑定变量如图8所示。
(4)BootLoader模块
该模块是实现电池控制器程序烧录的关键。BootLoader在线烧录主要依据UDS协议标准,按照UDS协议规范来处理会话。BootLoader通过服务指令发送诊断请求,控制器接收指令,做出相应的诊断响应,其实质是一种客服端和服务器的通信服务。依据BootLoder数据的下载流程,编写上位机软件向下位机控制器烧录程序。其数据的下载流程大致分为三个阶段,分别为:编程阶段、主编程阶段、后编程阶段[7]。具体流程如图9所示。
4 面向MES端的系统功能实现(Realization of system function for MES)
MES系统是从经营战略到具体生产之间的桥梁和纽带,在MES系统的基础上,实现烧录过程可视化监控、烧录结果实时采集、烧录内容自动获取、烧录参数与电池型号自动配置、烧录数据查询追溯、人员权限管理以及输出各类报表等功能。BMS烧录软件和车间MES系统交互的关键是数据库中表格之间建立联系。
4.1 烧录数据库表格建立
根据对烧录流程的分析,为BMS烧录系统设计了主要数据库表格,其字段涵盖了烧录完整的流程信息,如表1所示。将PartSN(电池包流水号)设置成主键,利用SQL数据中的主键和外键约束,与MES服务器数据库中的表格建立联系[8]。
4.2 数据采集
BMS烧录工位采用基于PLC的控制系统。为了更好地完成生产线数据库集成,需对所采集的数据库和PLC数据地址与MES系统内部采集地址相关联。通过MES系统PLC与设备PLC的实时交互,最终完成基于PLC的质量数据采集,实现生产过程数据实时采集。本文采用的是条码地址配置,通过把PLC条码存储地址和MES系统条码采集地址建立一一对应的关系,最终利用OPC访问技术读取条码信息[9]。
4.3 人員权限管理
为防止非相关人员操作,对人员进行权限管理。用户分为两种,一种为操作用户,可以登录进去操作;另一种为管理用户,可对软件运行涉及的人员信息进行管理,为人员赋予角色,并对其进行权限分配,可以起到定职定责的作用。对人员表格中员工编号进行角色分配,不同的角色权限也不同。用户权限管理如图10所示。
4.4 数据的查询与追溯
在查询生产数据时,可以通过电池包的型号确认要查询的表名,查询流程如图11所示。当获取查询数据时(扫码枪读取或人工输入),根据标签辨识标识对象类型;当确认为电池包工件时,由工件产品码中的标签生成的时间来确认理论上对应的表名称。查询数据库中所有历史记录的工件生产信息表,寻找是否存在对应表。存在对应表时,直接去对应的表中查询,返回查询结果。一般而言,不存在该表和查询无结果都是异常结果,代表其信息未记录或者记录错误。为确保信息的准确性,对所有的记录表遍历查询,该查询过程耗时较长,但是异常状态发生的概率极小。
5 实际应用(Practical application)
在实际应用中,该软件完全能满足软件刷写功能,如图12所示为上位机软件人机交互界面。经过一段时间的验证,电池控制器烧录时间控制在100 s内,在生产线上刷写自动化程度高,烧录效率快,大大减少了人力资源。由此可见,该烧录系统具有很大可行性。
监控工位管理人员可利用MES系统对烧录工位进行实时监管。通过服务器中的数据信息可实现质量问题的汇总,比如烧录失败、程序不匹配、烧录参数无法获取等发生的频率,并可通过表格和柱状图的形式呈现出来,方便管理者查找分析结果背后的实际问题和质量原因,为明确相关责任提供可靠依据。
6 结论(Conclusion)
本文利用LabVIEW调用外部BootLoader进行BMS软件烧录,并与车间MES系统相结合,从而设计了一套自动化程度和刷写效率高的烧录软件。有了MES系统作为辅助,BMS烧录系统更加智能化。此外,该烧录软件的通用性高,模块功能分明,软件开发师可根据具体的需求对程序稍做修改和添加,即可快速完成软件的修复或升级,降低了系统的开发成本和周期。
参考文献(References)
[1] 徐新睿.全自动烧录系统的研究与开发[D].广州:华南理工大学,2018.
[2] 鲍李俊,朱志峰,姚勇,等.基于CAN协议的汽车ECU刷写的诊断程序设计[J].电声技术,2020,44(01):93-96.
[3] ZHANG J, ZHU X, PENG Y. Research and implementation of automobile ECU bootloader self-update[J]. Electrical Control Engineering and Computer Science, 2018, 45(3):27-34.
[4] 陈栋.基于LabVIEW的二次滤网轴套检漏系统设计[J].现代制造技术与装备,2018(03):86-87.
[5] 汤佳明,安伟.基于LABVIEW的上位机串口通信程序设计[J].电子设计工程,2018,26(11):86-90.
[6] 夏璐杰,孙首群,卢华阳.基于OPC与PLC的远程监视系统的研究[J].自动化仪表,2017,38(02):22-24.
[7] 李娇娇,张宏伟,陈金干.基于LabVIEW的新能源汽车控制器刷写软件设计[J].软件工程,2020,23(02):16-18,8.
[8] 段连佳.基于LabVIEW的注塑业MES监控系统设计[D].北京:北京化工大学,2019.
[9] 刘苏,王学华,李安翼,等.汽车零部件装配车间MES数据采集功能的开发[J].武汉工程大学学报,2018,40(02):219-223.
作者简介:
王 峰(1985-),男,博士,高级工程师.研究领域:智能制造,工业信息化.
严浩浩(1997-),男,硕士生.研究领域:智能制造.
赵 鑫(1993-),男,硕士生.研究领域:智能制造.