陸道健 蔣曉明 劉曉光
?
基于以太網的電池化成設備上位機高并發軟件設計*
陸道健 蔣曉明 劉曉光
(廣東省智能制造研究所 廣東省現代控制技術重點實驗室 廣東省現代控制與光機電技術公共實驗室)
針對目前國內電池化成設備的上位機軟件存在數據處理速度慢、實時性欠缺的問題,采用以太網高并發技術設計上位機軟件;用Visual Studio 2015開發工具編寫軟件并進行測試。測試結果表明:該架構滿足上位機軟件的通訊需求,并成功在軟件上運用。
以太網;電池化成;上位機軟件;高并發
隨著石化能源稀缺的加劇和電池壽命的提高,電動車有望取代燃油車。最近歐洲部分國家相繼發布停售燃油汽車時間表:挪威、荷蘭將在2025年禁售燃油車;德國2030年后禁售內燃機汽車;英國、法國將在2040年禁售燃油車和汽油車。于是,零排放的電動汽車得到了大力支持和快速發展,尤其是鋰離子電池技術的發展使得汽車的續航得以保障。鋰離子電池需求的日益增長,其生產質量控制成為重中之重。化成是鋰離子電池生產過程的一個重要工序,且化成工藝是決定電池性能的重要因素。
目前國內電池化成設備的上位機大多采用COM口通訊,軟件編寫過程簡單,但數據通訊速度較慢[1]。雖然采用以太網實時工業總線可以滿足速度要求,但需要額外購買總線設備[2]。采用多線程技術編寫軟件,占用電腦資源較大,易造成死機現象[3]。針對以上情況,本文基于以太網和TCP/IP協議,采用一種高并發、高實時性的IOCP模型設計電池化成設備的上位機軟件。軟件以C#語言和.NET框架為基礎,采用Microsoft Visual Studio 2015 集成環境開發。
電池化成設備一般由充放電模塊、CAN轉以太網模塊和上位機構成[4-6]。上位機通過局域網實時獲取電池化成設備中的數據,并進行存儲分析;通過發送指令啟?;稍O備,并管理線下設備。
1)化成系統框架結構
化成系統框架主要采用C/S架構,分為服務端和客戶端2部分,如圖1所示。服務端主要是PC端軟件,負責實時監控設備狀態和數據庫的連接;客戶端主要是CAN轉以太網模塊,負責實時上傳相關數據和管理充放電模塊[2]。

圖1 化成系統框架圖
2)上位機高并發框架
目前化成設備充放電通道數量高達幾百個,要求通訊總線具有高并發和高帶寬。在眾多高并發和高帶寬的總線中,以太網尤其突出。大多工控機采用以太網處理單通道時,傳輸速度達到1000 Mb/s,可滿足上位機軟件對帶寬的要求。針對高帶寬通訊,采用高并發架構處理能實現多通道數據并列傳輸[3]。因此,上位機軟件需具備內存池管理、會話在線管理、異步通信類封裝和通訊協議設計等功能模塊,如圖2所示。

圖2 軟件通訊設計框架圖
內存池也稱為緩存,用來暫存臨時數據。緩存設計分為固定空間申請和動態空間申請兩種方式。固定空間申請即事先申請一片空間,優點是效率高、穩定性強;缺點是可拓展性差,應用場合受限。動態空間申請根據運行程序的需求而改變需要的空間,可擴展性強,但效率較低。
本文內存池設計采用固定空間申請和動態空間申請相結合的方式。服務端連接并發數采用固定空間申請的方式。在服務端軟件開啟時,設置最大的連接并發數,以便客戶端能高效快速地連接服務器。接收數據緩存和發送數據緩存采用動態空間申請的方式,使程序擴展性更強。
會話連接池(Sesion_pool)代表服務端連接并發數,采用固定空間申請方式。連接列表(Sesion_list)采用動態空間申請的方式,用于動態增減客戶端。內存池設計如表1所示。
異步通信是一種常用的通信方式,其發送端和接收端不受時鐘的約束,隨時可以發送數據和接收數據,發送端和接收端不因為數據處理而耽擱各自的工作。

表1 內存池設計
在.NET上,微軟提供了一個高性能的異步Socket實現類。此類一般被高性能服務器使用,避免服務器I/O量較大時發送重復的對象分配。使用此類執行異步通信主要有以下步驟[7]:
1)創建或分配一個新的SocketAsynEventArgs上下文對象;
2)設置該上下文對象的屬性,將要執行的操作與之綁定,如回調方法、數據處理等;
3)調用套接字方法(xxxAsync),以啟動異步操作;
4)如果異步套接字方法(xxxAsync)返回false,則I/O操作同步完成,不會引發上下文對象的屬性;
5)如果異步套接字方法(xxxAsync)返回true,則I/O操作掛起,引發上下文對象的屬性;
6)如果上下文重用于另一個操作,將它丟棄。
會話在線管理是處理會話異常發生時的一種機制。客戶端節點連接服務端時,服務端實時跟蹤節點的連接狀態和超時響應。如果會話連接異常斷開或超時響應,會話在線管理會做出相應的處理。
會話在線管理框圖如圖3所示,CAN轉以太網模塊登錄服務端時,服務端啟動一個CAN轉以太網模塊和服務端會話的監控線程。此線程每隔一段時間檢測模塊的通訊狀態。如果線程檢測不到模塊,說明模塊和服務器的連接已經中斷,服務器通過該線程關閉會話連接。監控線程除了跟蹤模塊是否斷線,還要判斷模塊是否超時響應。判斷方法是用當前系統時間減去上次會話發送數據時的時間,若兩者的差值大于60 s,則說明模塊出現超時響應,線程關閉服務端和模塊之間的連接;如果差值不大于60 s,則說明模塊正常連接通訊中,線程不做任何處理。

圖3 會話在線管理框圖
數據通訊協議是讓客戶端和服務端通訊過程中遵循的規則和約定。約定包括糾錯方式、數據格式、重傳機制和傳送速度等。針對基于TCP/IP服務端通訊,需滿足分包發送、數據校驗功能。分包發送必須在數據格式中加入包總數和包ID的字段。本協議采用長度字段的方式校驗數據,協議設計如表2所示。
異步通訊框架測試軟件采用微軟的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模塊上傳幀數的需求,表明了這種異步通訊架構能滿足化成設備的需求。
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年生,碩士,助理研究員,主要研究方向:電力電子裝備技術。