• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    電池組信息采集分析系統(tǒng)上位機(jī)軟件設(shè)計

    2012-06-29 04:57:50
    電源技術(shù) 2012年9期
    關(guān)鍵詞:機(jī)軟件采集器電池組

    郭 令

    (凱邁(洛陽)電子有限公司,河南 洛陽 471000)

    隨著鋰離子電池組的發(fā)展,電動汽車、大型能源存儲系統(tǒng)逐步進(jìn)入了應(yīng)用領(lǐng)域。為了使鋰離子電池組在應(yīng)用過程中更加安全可靠,對鋰離子電池組的在線監(jiān)測必不可少[1]。

    本文基于C#語言設(shè)計了一種電池組信息采集分析系統(tǒng),主要用于鋰離子動力電池組的運(yùn)行監(jiān)測和歷史數(shù)據(jù)管理。C#語言是.Net技術(shù)的核心開發(fā)語言,采用面向?qū)ο蟮某绦蛟O(shè)計技術(shù),提供了開發(fā)Windows應(yīng)用程序的最簡捷、最有效地方法,使用戶從繁瑣且復(fù)雜的工作中解脫出來,用戶不必掌握太多的編程知識就能夠創(chuàng)建出高難度的圖形化應(yīng)用程序[2]。

    1 系統(tǒng)概述

    采集分析系統(tǒng)上位機(jī)軟件通過CAN總線和電壓/溫度采集器實(shí)現(xiàn)信息交互,由于上位機(jī)沒有CAN接口,因此在上位機(jī)軟件和電壓/溫度采集器中間增加了一個通訊轉(zhuǎn)換適配器USB-CAN。系統(tǒng)結(jié)構(gòu)如圖1所示。

    圖1 系統(tǒng)結(jié)構(gòu)圖

    其中,每個采集器實(shí)現(xiàn)8支電池的電壓、溫度數(shù)據(jù)采集、數(shù)據(jù)收發(fā)等功能,USB-CAN適配器實(shí)現(xiàn)USB與CAN總線的協(xié)議轉(zhuǎn)換,上位機(jī)軟件實(shí)現(xiàn)數(shù)據(jù)通信、數(shù)據(jù)顯示、數(shù)據(jù)管理等功能。該系統(tǒng)可實(shí)時在線檢測電池組中所有單體電池電壓、溫度等參數(shù),并根據(jù)這些基本參數(shù)計算、顯示電池組總電壓、當(dāng)前最高電壓、最低電壓、最高溫度、最低溫度,并且動態(tài)繪制電池組總電壓實(shí)時曲線,同時,系統(tǒng)還具有電壓及溫度上下限報警、數(shù)據(jù)記錄、歷史數(shù)據(jù)查詢、歷史數(shù)據(jù)曲線繪制、導(dǎo)出Excel文件、數(shù)據(jù)庫備份及恢復(fù)等功能。數(shù)據(jù)庫采用SQL Server 2000。

    CAN總線是德國BOSCH公司從20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信速率可達(dá)1 MBPS。

    2 軟件設(shè)計

    2.1 主程序

    上位機(jī)軟件和采集器通過CAN總線進(jìn)行數(shù)據(jù)傳輸,通訊協(xié)議基于CAN2.0B規(guī)范,總線通訊速率為250 kBPS,幀格式為29位標(biāo)識符的擴(kuò)展幀,幀類型為數(shù)據(jù)幀,每幀通訊數(shù)據(jù)長度固定為8個字節(jié)。數(shù)據(jù)傳輸采取主從方式,上位機(jī)每隔一定間隔發(fā)送數(shù)據(jù)請求幀,各采集器收到后回送相應(yīng)的數(shù)據(jù),正常情況下上位機(jī)軟件使用廣播命令,各采集器收到后將自己的數(shù)據(jù)發(fā)出,如果上位機(jī)軟件等待超時時間后未收到某個采集器的數(shù)據(jù),則單獨(dú)對該采集器發(fā)送數(shù)據(jù)請求。

    上位機(jī)軟件需要完成周期發(fā)送請求數(shù)據(jù)、數(shù)據(jù)采集、數(shù)據(jù)處理、超時處理及數(shù)據(jù)存儲等任務(wù)。系統(tǒng)軟件設(shè)計采用C#的定時器事件處理方式,包括定時發(fā)送請求數(shù)據(jù)、定時數(shù)據(jù)采集和定時超時處理。主程序負(fù)責(zé)數(shù)據(jù)處理。程序流程圖見圖2。

    定時器是定期引發(fā)事件的組件,是為Windows窗體環(huán)境設(shè)計的。主要屬性有Enable屬性和Interval屬性,Enable屬性用于指定定時器是否啟用,Interval屬性是獲取設(shè)置引發(fā)事件的間隔。本程序采用了Tick事件,該事件在指定的Interval值已經(jīng)過去而且定時器處于啟用狀態(tài)時發(fā)生。

    當(dāng)開始采集數(shù)據(jù)時,進(jìn)行系統(tǒng)初始化設(shè)置,包括讀取報警參數(shù)設(shè)置、是否保存數(shù)據(jù)、采集器的個數(shù)等,然后開始定時發(fā)送請求數(shù)據(jù)。

    在發(fā)送請求數(shù)據(jù)處理事件中,需要初始化數(shù)據(jù)變量,保護(hù)電壓數(shù)據(jù)、溫度數(shù)據(jù)和成功發(fā)送次數(shù),如果發(fā)送請求數(shù)據(jù)成功,則同時開啟定時數(shù)據(jù)采集和定時超時處理。

    定時數(shù)據(jù)采集事件每隔5 ms執(zhí)行一次,采集過程中記錄采集信息,如果所有要請求的數(shù)據(jù)都采集成功,則同時停止該采集事件和超時處理事件,并使能數(shù)據(jù)處理函數(shù)。

    如果在數(shù)據(jù)采集的過程中,在允許的超時時間內(nèi)沒有采集到所有的數(shù)據(jù),則超時處理事件執(zhí)行。超時處理事件中,判斷是否是第一次執(zhí)行該事件,如果是第一次,則向沒有采集到數(shù)據(jù)的采集器單獨(dú)發(fā)送請求命令。如果是第二次執(zhí)行,則說明已經(jīng)單獨(dú)發(fā)送了數(shù)據(jù)請求命令,如果仍舊有數(shù)據(jù)沒有采集到,則停止該次循環(huán)的數(shù)據(jù)采集,即停止數(shù)據(jù)采集定時事件和超時處理定時事件,并修改異常狀態(tài)變量、觸發(fā)數(shù)據(jù)處理函數(shù)。

    數(shù)據(jù)處理函數(shù)實(shí)現(xiàn)數(shù)據(jù)分析、報警判斷、詳細(xì)數(shù)據(jù)顯示、圖形顯示和數(shù)據(jù)保存。數(shù)據(jù)保存函數(shù)執(zhí)行的條件有兩個:一是選中了保存,二是沒有選中保存,但是在數(shù)據(jù)處理過程中發(fā)現(xiàn)了異常數(shù)據(jù),如過壓、欠壓、過高溫、過低溫等,則將該時刻所有的數(shù)據(jù)信息保存。

    2.2 數(shù)據(jù)存儲

    按照規(guī)范設(shè)計的方法,考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設(shè)計分為六個階段[3]:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫實(shí)施以及數(shù)據(jù)庫運(yùn)行和維護(hù)。

    根據(jù)系統(tǒng)需求,設(shè)計了4張數(shù)據(jù)庫關(guān)系表:

    (1)電壓/溫度信息表:記錄電池的電壓和溫度信息;

    (2)總信息表:記錄總電壓值、當(dāng)前最高電壓、最低電壓、最高溫度和最低溫度;

    (3)報警閾值設(shè)置:記錄設(shè)置的報警參數(shù),包括單體電壓上限、單體電壓下限等;

    (4)報警歷史記錄:記錄滿足報警條件的電池數(shù)據(jù)。

    為了提高數(shù)據(jù)處理性能,數(shù)據(jù)庫設(shè)計中使用了存儲過程技術(shù)。

    存儲過程是由流控制和SQL語句書寫的過程,這個過程經(jīng)編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務(wù)器中,使用時可由應(yīng)用程序通過一個調(diào)用執(zhí)行,而且運(yùn)行用戶聲明變量、有條件執(zhí)行以及強(qiáng)大的編程功能。可以在單個存儲過程中執(zhí)行一系列SQL語句。存儲過程在創(chuàng)建時即在服務(wù)器上進(jìn)行編譯,所以執(zhí)行起來比單個SQL語句快。

    系統(tǒng)設(shè)計了3個存儲過程,分別用來向數(shù)據(jù)庫表中插入電壓/溫度信息、總信息和報警歷史。

    為了保證相同時刻的數(shù)據(jù)信息存儲到數(shù)據(jù)庫中的一致性,在同時向數(shù)據(jù)庫中插入電壓/溫度信息和總信息時,使用了事務(wù)技術(shù)。

    事務(wù)保證多個數(shù)據(jù)更改在一起處理,這個成為不可分割性。事務(wù)啟動之后,就必須成功完成,否則SQL Server將撤銷該事務(wù)啟動之后對數(shù)據(jù)所做的修改。

    3 系統(tǒng)測試

    系統(tǒng)主界面如圖3所示。當(dāng)單擊開始采集時,系統(tǒng)開始采集電池組單體電壓、溫度,并在“實(shí)時數(shù)據(jù)顯示”中顯示。

    在“當(dāng)前總信息”中顯示當(dāng)前最高電壓、最低電壓、總電壓、最高溫度、最低溫度以及對應(yīng)的電池通道。

    在“通訊狀態(tài)”中顯示當(dāng)前通訊情況以及報警信息。

    當(dāng)最高電壓、最低電壓、總電壓、最高溫度、最低溫度中有任意一項滿足報警條件或者手動單擊【停止采集】按鈕時,系統(tǒng)便停止采集數(shù)據(jù),并形成Excel文件,記錄該停止時刻電池組的詳細(xì)數(shù)據(jù)信息。

    圖3 主界面

    當(dāng)報警條件成立時,PC機(jī)主板蜂鳴器和音響同時發(fā)出報警聲音提示,直到單擊【解除報警】按鈕,該報警解除。

    根據(jù)以上設(shè)計結(jié)合公司自主開發(fā)的采集器進(jìn)行了長時間連續(xù)的電池系統(tǒng)實(shí)際測試,結(jié)果如圖3所示。實(shí)驗結(jié)果表明,該系統(tǒng)能夠準(zhǔn)確反映電池組狀態(tài)以及異常信息。

    4 結(jié)論

    本系統(tǒng)基于C#語言,采用了模塊化的程序設(shè)計思路,實(shí)現(xiàn)了電池組狀態(tài)信息實(shí)時采集、分析、顯示和記錄,數(shù)據(jù)記錄采用了數(shù)據(jù)庫技術(shù),有助于離線分析電池性能?;谟涗浀碾妷簲?shù)據(jù),有助于實(shí)現(xiàn)基于電壓數(shù)據(jù)的電池成組技術(shù)。

    目前,該系統(tǒng)已經(jīng)應(yīng)用于本公司的產(chǎn)品測試中。本系統(tǒng)沒有采集電流數(shù)據(jù),在以后的系統(tǒng)設(shè)計中還要加上電流數(shù)據(jù)分析以及電池剩余電量計算,有助于進(jìn)一步研究電池剩余電量計算方法并提高計算精度。

    [1]吳赟,蔣新華,解晶瑩.基于LabWindows/CVI的BMS測試系統(tǒng)設(shè)計[J].電源技術(shù),2009,33(7):621.

    [2]明日科技.Visual C#開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007.

    [3]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].3版.北京:高等教育出版社,2003.

    猜你喜歡
    機(jī)軟件采集器電池組
    COVID-19大便標(biāo)本采集器的設(shè)計及應(yīng)用
    2017年7月原電池及原電池組產(chǎn)量同比增長2.53%
    基于ZigBee的大型公共建筑能耗采集器設(shè)計
    基于LabVIEW的多數(shù)據(jù)采集器自動監(jiān)控軟件設(shè)計與開發(fā)
    道岔監(jiān)測系統(tǒng)上位機(jī)軟件設(shè)計
    基于正交試驗法的北斗用戶機(jī)軟件測試用例設(shè)計
    PCI-e高速數(shù)據(jù)采集卡的驅(qū)動與上位機(jī)軟件設(shè)計
    電子器件(2015年5期)2015-12-29 08:43:12
    基于LTC6802的電池組均衡電路設(shè)計
    一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應(yīng)用
    鋰離子電池組不一致性及其彌補(bǔ)措施
    汽車電器(2014年5期)2014-02-28 12:14:15
    固原市| 连山| 大悟县| 永兴县| 甘肃省| 视频| 青神县| 南乐县| 临颍县| 建水县| 城步| 丰原市| 临潭县| 昭苏县| 台安县| 鹤岗市| 黄陵县| 新和县| 阿坝| 巫溪县| 东明县| 平舆县| 南安市| 广平县| 景泰县| 盐源县| 古丈县| 富锦市| 汉阴县| 信阳市| 保山市| 固始县| 和静县| 安化县| 徐水县| 南部县| 江川县| 留坝县| 大石桥市| 武定县| 宁河县|