APP下载

基于以太网的电池化成设备上位机高并发软件设计*

2018-08-30陆道健蒋晓明刘晓光

自动化与信息工程 2018年3期
关键词:机软件服务端上位

陆道健 蒋晓明 刘晓光



基于以太网的电池化成设备上位机高并发软件设计*

陆道健 蒋晓明 刘晓光

(广东省智能制造研究所 广东省现代控制技术重点实验室 广东省现代控制与光机电技术公共实验室)

针对目前国内电池化成设备的上位机软件存在数据处理速度慢、实时性欠缺的问题,采用以太网高并发技术设计上位机软件;用Visual Studio 2015开发工具编写软件并进行测试。测试结果表明:该架构满足上位机软件的通讯需求,并成功在软件上运用。

以太网;电池化成;上位机软件;高并发

0 引言

随着石化能源稀缺的加剧和电池寿命的提高,电动车有望取代燃油车。最近欧洲部分国家相继发布停售燃油汽车时间表:挪威、荷兰将在2025年禁售燃油车;德国2030年后禁售内燃机汽车;英国、法国将在2040年禁售燃油车和汽油车。于是,零排放的电动汽车得到了大力支持和快速发展,尤其是锂离子电池技术的发展使得汽车的续航得以保障。锂离子电池需求的日益增长,其生产质量控制成为重中之重。化成是锂离子电池生产过程的一个重要工序,且化成工艺是决定电池性能的重要因素。

目前国内电池化成设备的上位机大多采用COM口通讯,软件编写过程简单,但数据通讯速度较慢[1]。虽然采用以太网实时工业总线可以满足速度要求,但需要额外购买总线设备[2]。采用多线程技术编写软件,占用电脑资源较大,易造成死机现象[3]。针对以上情况,本文基于以太网和TCP/IP协议,采用一种高并发、高实时性的IOCP模型设计电池化成设备的上位机软件。软件以C#语言和.NET框架为基础,采用Microsoft Visual Studio 2015 集成环境开发。

1 系统体系结构

电池化成设备一般由充放电模块、CAN转以太网模块和上位机构成[4-6]。上位机通过局域网实时获取电池化成设备中的数据,并进行存储分析;通过发送指令启停化成设备,并管理线下设备。

1)化成系统框架结构

化成系统框架主要采用C/S架构,分为服务端和客户端2部分,如图1所示。服务端主要是PC端软件,负责实时监控设备状态和数据库的连接;客户端主要是CAN转以太网模块,负责实时上传相关数据和管理充放电模块[2]。

图1 化成系统框架图

2)上位机高并发框架

目前化成设备充放电通道数量高达几百个,要求通讯总线具有高并发和高带宽。在众多高并发和高带宽的总线中,以太网尤其突出。大多工控机采用以太网处理单通道时,传输速度达到1000 Mb/s,可满足上位机软件对带宽的要求。针对高带宽通讯,采用高并发架构处理能实现多通道数据并列传输[3]。因此,上位机软件需具备内存池管理、会话在线管理、异步通信类封装和通讯协议设计等功能模块,如图2所示。

图2 软件通讯设计框架图

2 内存池设计

内存池也称为缓存,用来暂存临时数据。缓存设计分为固定空间申请和动态空间申请两种方式。固定空间申请即事先申请一片空间,优点是效率高、稳定性强;缺点是可拓展性差,应用场合受限。动态空间申请根据运行程序的需求而改变需要的空间,可扩展性强,但效率较低。

本文内存池设计采用固定空间申请和动态空间申请相结合的方式。服务端连接并发数采用固定空间申请的方式。在服务端软件开启时,设置最大的连接并发数,以便客户端能高效快速地连接服务器。接收数据缓存和发送数据缓存采用动态空间申请的方式,使程序扩展性更强。

会话连接池(Sesion_pool)代表服务端连接并发数,采用固定空间申请方式。连接列表(Sesion_list)采用动态空间申请的方式,用于动态增减客户端。内存池设计如表1所示。

3 异步通信类封装

异步通信是一种常用的通信方式,其发送端和接收端不受时钟的约束,随时可以发送数据和接收数据,发送端和接收端不因为数据处理而耽搁各自的工作。

表1 内存池设计

在.NET上,微软提供了一个高性能的异步Socket实现类。此类一般被高性能服务器使用,避免服务器I/O量较大时发送重复的对象分配。使用此类执行异步通信主要有以下步骤[7]:

1)创建或分配一个新的SocketAsynEventArgs上下文对象;

2)设置该上下文对象的属性,将要执行的操作与之绑定,如回调方法、数据处理等;

3)调用套接字方法(xxxAsync),以启动异步操作;

4)如果异步套接字方法(xxxAsync)返回false,则I/O操作同步完成,不会引发上下文对象的属性;

5)如果异步套接字方法(xxxAsync)返回true,则I/O操作挂起,引发上下文对象的属性;

6)如果上下文重用于另一个操作,将它丢弃。

4 会话在线管理设计

会话在线管理是处理会话异常发生时的一种机制。客户端节点连接服务端时,服务端实时跟踪节点的连接状态和超时响应。如果会话连接异常断开或超时响应,会话在线管理会做出相应的处理。

会话在线管理框图如图3所示,CAN转以太网模块登录服务端时,服务端启动一个CAN转以太网模块和服务端会话的监控线程。此线程每隔一段时间检测模块的通讯状态。如果线程检测不到模块,说明模块和服务器的连接已经中断,服务器通过该线程关闭会话连接。监控线程除了跟踪模块是否断线,还要判断模块是否超时响应。判断方法是用当前系统时间减去上次会话发送数据时的时间,若两者的差值大于60 s,则说明模块出现超时响应,线程关闭服务端和模块之间的连接;如果差值不大于60 s,则说明模块正常连接通讯中,线程不做任何处理。

图3 会话在线管理框图

5 数据通讯协议设计

数据通讯协议是让客户端和服务端通讯过程中遵循的规则和约定。约定包括纠错方式、数据格式、重传机制和传送速度等。针对基于TCP/IP服务端通讯,需满足分包发送、数据校验功能。分包发送必须在数据格式中加入包总数和包ID的字段。本协议采用长度字段的方式校验数据,协议设计如表2所示。

6 测试结果分析

异步通讯框架测试软件采用微软的process explorer和以太网抓包软件wireshark。测试设备采用512通道回馈式电池分容测试柜,如图4所示。

表2 协议设计

图4 测试设备

异步通讯框架模拟一个通道与上位机通讯,上传一个7 GB文件速率如图5所示。上传速率换算后约为882.4 Mb/s,与理论上千兆网卡极限速度1000 Mb/s相近,说明这种架构能充分发挥网络的传送速率,并满足化成系统吞吐量的需求。

异步通讯架构设计移植至化成软件,如图6所示。

图5 7 GB文件上传速率

图6 上位机软件并发通讯测试界面

服务端软件连接512个充放电通道,传送速率换算后约为160 kb/s。CAN模块每秒上传1100帧左右,每帧8 B,即每秒上传8800 B,换算后约为69 kb/s。显然,160 kb/s能满足CAN模块上传帧数的需求,表明了这种异步通讯架构能满足化成设备的需求。

7 结论

1)本设计说明了基于以太网高并发性设计的上位机软件能处理化成设备多通道通讯。在实践中,高并发性架构可以保证多连接情况下的实时性。

2)本设计借鉴前人采用以太网作为通讯总线的思想,基于高并发性对以太网实现高效率通讯进行设计。解决了软件实时性欠缺、卡机死机、额外付费购买总线等问题。

3)本设计的不足之处是采用一台512通道化成设备做实验,对数据收发测试负重不够大。未来期望是实现多台化成设备同时连接在线,对软件加入多线程管理机制。实现多线程异步通讯架构。

[1] 徐泰,刘庆华,申继鹏,等.基于C#的数据处理与分析的上位机软件设计[J].电脑编程技巧与维护,2015(5):19-21.

[2] 白栋材.电池化成分容系统上位机软件开发的设计与实现[D].武汉:武汉理工大学,2012.

[3] 谢璐.基于以太网和多线程架构的电池化成系统软件研发[D].武汉:华中科技大学,2014.

[4] 林凯,韩阳,翁超,等.智能型锂电池化成检测系统的设计与实现[J].机电技术,2013,36(6):100-102.

[5] 刘峥.大容量锂离子电池化成设备监控系统的研究[D].北京:北京交通大学,2010.

[6] 李正国,朱方来,李武钢.一种电动汽车大功率动力电池化成检测系统的设计[J].深圳职业技术学院学报,2011,10(5):8-12.

[7] 赵翠敏.视授时数据广播方法研究[D].北京:中国科学院研究生院,2012.

Design of High Concurrency Software for Battery Forming Equipment Based on Ethernet

Lu Daojian Jiang Xiaoming Liu Xiaoguang

(Guangdong Institute of Intelligent Manufacturing Guangdong Key Laboratory of Modern Control TechnologyGuangdong Open Laboratory of Modern Control & O-M-E Technology)

In view of the problems of slow data processing and lack of real-time performance in the host computer software of battery chemical equipment in China, the upper computer software is designed by using Ethernet high concurrency technology. From system design, memory pool management, asynchronous communication class encapsulation, session online management, communication protocol and so on how to achieve high concurrency of software; use C# language and .NET based Visual Studio 2015 development tool to write software and test. The system information software test results show that the architecture meets the communication needs of PC software and is successfully transplanted to related software.

Ethernet; Battery Formation; Host Computer Software; High Concurrency.

陆道健,男,1990年生,硕士,主要研究方向:电池化成系统技术。

蒋晓明(通信作者),男,1973 年生,博士,副研究员,主要研究方向:电力电子装备技术。Email: xm.jiang@gia.ac.cn

刘晓光,男,1980年生,硕士,助理研究员,主要研究方向:电力电子装备技术。

猜你喜欢

机软件服务端上位
无线传感网气象监测系统上位机软件设计
基于Qt的探测器温控上位机软件设计
要攻城略地关键要有好筹码,这匹水产动保“黑马”如何能迅速上位?
特斯拉 风云之老阿姨上位
新时期《移动Web服务端开发》课程教学改革的研究
小水电站计算机监控系统上位机软件的开发
基于ZigBee和VC上位机的教室智能监测管理系统
摸清黑客套路防范木马侵入