www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 電源 > 電源-能源動(dòng)力
[導(dǎo)讀]在鋰離子電池監(jiān)控系統(tǒng)中,除了下位機(jī)單片機(jī)系統(tǒng)電路板及其程序設(shè)計(jì)外,還需要上位機(jī)程序?qū)︿囯x子電池系統(tǒng)的進(jìn)行各種監(jiān)控管理設(shè)置。根據(jù)系統(tǒng)要求,上位機(jī)程序的主要功能有以

在鋰離子電池監(jiān)控系統(tǒng)中,除了下位機(jī)單片機(jī)系統(tǒng)電路板及其程序設(shè)計(jì)外,還需要上位機(jī)程序?qū)︿囯x子電池系統(tǒng)的進(jìn)行各種監(jiān)控管理設(shè)置。根據(jù)系統(tǒng)要求,上位機(jī)程序的主要功能有以下幾個(gè):

1.接收并顯示下位機(jī)采集的各路數(shù)據(jù)信息,包含16路鋰電池電壓、主回路充放電電流、4路溫度、電量等數(shù)據(jù)信息;

2.設(shè)置下位機(jī)工作時(shí)需要配置的系統(tǒng)參數(shù);

3.校正下位機(jī)上傳的各路數(shù)據(jù);

4.根據(jù)需要保存下位機(jī)上傳的數(shù)據(jù)。

該上位機(jī)程序采用VC++6.0編程工具進(jìn)行程序設(shè)計(jì),本章對上位機(jī)程序的設(shè)計(jì)思想和內(nèi)容進(jìn)行了描述。

5.1上位機(jī)程序

開發(fā)平臺(tái)及相關(guān)技術(shù)上位機(jī)程序采用非常流行的可視化編程工具VC++6.0進(jìn)行開發(fā),為完成相應(yīng)的顯示和設(shè)置功能,程序采用了許多VC++6.0自帶的控件,同時(shí)應(yīng)用了多線程編程技術(shù)。

5.1.1 VC++6.0簡介

VC++6.0是微軟公司開發(fā)的編程平臺(tái),具有強(qiáng)大的功能。本軟件是基于Windows系統(tǒng)開發(fā)的,編程語言采用的是C++語言,并且微軟給該軟件提供了功能強(qiáng)大的MFC(Microsoft Foundation Class)類庫。MFC中封裝了大部分Windows API函數(shù)和Windows控件,它包含的功能涉及到整個(gè)Windows操作系統(tǒng)。MFC不僅給用戶提供了Windows圖形環(huán)境下應(yīng)用程序的框架,而且還提供了創(chuàng)建應(yīng)用程序的組件,這樣,開發(fā)人員不必從頭設(shè)計(jì)創(chuàng)建和管理一個(gè)標(biāo)準(zhǔn)Windows應(yīng)用程序所需的程序,而是從一個(gè)比較高的起點(diǎn)編程,故節(jié)省了大量的時(shí)間。另外,它提供了大量的代碼,指導(dǎo)用戶編程時(shí)實(shí)現(xiàn)某些技術(shù)和功能。因此,使用VC++可以使程序員更加方便的進(jìn)行應(yīng)用程序開發(fā)。

5.1.2相關(guān)控件介紹

系統(tǒng)使用了Edit Box控件、Static Text控件、Button控件、Group Box控件、Check Box控件、Combo Box控件、Tab Control控件和MSComm控件八個(gè)控件,本部分對這些控件進(jìn)行簡單介紹。

1.Edit Box控件CEdit類提供了Windows編輯控件中的功能。編輯控件是一個(gè)子窗口矩形,用戶可以向其中輸入文本??梢酝ㄟ^對話模板或直接從代碼中創(chuàng)建一個(gè)編輯控件。

在兩種情形下,首先調(diào)用CEdit構(gòu)造程序構(gòu)造CEdit對象,再調(diào)用Create成員函數(shù)創(chuàng)建Windows編輯控件并將其與CEdit對象連接。

2.Static Text控件CStatic類提供了一個(gè)Windows靜態(tài)控件的性能。一個(gè)靜態(tài)控件用來顯示一個(gè)文本字符串、框、矩形、圖標(biāo)、光標(biāo)、位圖或增強(qiáng)的圖元文件。它可以被用來作為標(biāo)簽、框或用來分隔其它的控件。一個(gè)靜態(tài)控件不接收輸入,也不提供輸出;但是,如果它是用SS_NOTIFY風(fēng)格創(chuàng)建的,則它可以通知其父有關(guān)設(shè)備點(diǎn)擊的消息。

3.Button控件類CButton提供了對Windows按鈕控件的操作。按鈕控件是一個(gè)小的矩形子窗口,可以通過單擊選中(按下)或不選中。按鈕可以單獨(dú)使用,也可以成組使用,它還可以具有文本標(biāo)題。在用戶單擊它的時(shí)候,按鈕通常要改變顯示外觀。

典型的按鈕控件有:復(fù)選框、單選鈕和下壓式按鈕(push button)。一個(gè)CButton對象可以是它們中的一種,這由它的按鈕風(fēng)格和成員函數(shù)Create的初始化決定。

4.Check Box控件CheckBox控件就是我們一般所說的復(fù)選框,通常用于某選項(xiàng)的打開或關(guān)閉。

大多數(shù)應(yīng)用程序的“設(shè)置”對話框內(nèi)均有此控件。我們看到的可以打勾的就是CheckBox.該控件表明一個(gè)特定的狀態(tài)(即選項(xiàng))是選定(on,值為1)還是清除(off,值為0)。在應(yīng)用程序中使用該控件為用戶提供“True/False”或“yes/no”的選擇。因?yàn)镃heckBox彼此獨(dú)立工作,所以用戶可以同時(shí)選擇任意多個(gè)CheckBox,進(jìn)行選項(xiàng)組合。

5.Combo Box控件類CCombo Box封裝了Windows組合框。組合框由一個(gè)列表框和一個(gè)靜態(tài)控件(或編輯控件)組成。列表框部分可以是一直顯示的,也可以是隱藏的,在用戶單擊編輯控件邊上的按鈕(下拉箭頭)時(shí)下拉該列表框。列表框中當(dāng)前選中的項(xiàng)(如果有的話)顯示在靜態(tài)控件或編輯控件中。如果組合框帶有下拉風(fēng)格,則當(dāng)用戶在編輯框中輸入列表項(xiàng)的開始字符時(shí),對應(yīng)項(xiàng)(如果有的話)中的第一個(gè)將會(huì)加亮顯示。

可以從對話框模板中建立一個(gè)CComboBox對象,也可以直接在代碼中創(chuàng)建。

無論采用哪種方法,都要先調(diào)用CComboBox的構(gòu)造函數(shù)構(gòu)造一個(gè)CComboBox對象,然后調(diào)用成員函數(shù)Create創(chuàng)建控件并在CComboBox對象上應(yīng)用它。

消息映射入口的格式如下:

ON_Notification( id,memberFxn )

其中id指定了發(fā)送通知的組合框控件的子窗口ID,而memberFxn是用于處理該通知的父成員函數(shù)的名字。

父窗口的函數(shù)原型的格式如下:

afx_msg void memberFxn( );

6.Tab Control控件一個(gè)“標(biāo)簽控件”類似于一個(gè)筆記本中的分隔器,或一個(gè)文件柜上的標(biāo)簽。通過使用標(biāo)簽控件,應(yīng)用程序可以將一個(gè)窗口或?qū)υ捒虻南嗤瑓^(qū)域定義為多個(gè)頁面。

每一頁包含了一套信息或一組控件,當(dāng)用戶選擇了相應(yīng)的標(biāo)簽時(shí)應(yīng)用程序就會(huì)顯示相應(yīng)的信息或控件。一種特殊類型的標(biāo)簽控件把標(biāo)簽顯示得像按鈕一樣。點(diǎn)擊一個(gè)按鈕將立即執(zhí)行一條命令而不是顯示一個(gè)頁。

CTabCtrl類提供了Windows通用標(biāo)簽控件的性能。這個(gè)控件(也就是CTabCtrl類)只對運(yùn)行在Windows 95和Windows NT 3.51或更新版本下的程序來說是可用的。

7.Group Box控件Group Box控件本質(zhì)上確實(shí)是class CStatic的一個(gè)實(shí)例化對象。在一個(gè)對話框上布置好一個(gè)Group Box控件后,默認(rèn)ID為IDC_STATIC,這時(shí)候是無法在代碼里動(dòng)態(tài)地控制它的隱藏/顯示屬性。必須給它一個(gè)新的ID號,比如IDC_GROUPBOX1,最后再給它關(guān)聯(lián)一個(gè)CStatic控件變量(這個(gè)你應(yīng)該自己會(huì)吧),然后就可以在必要時(shí)候(另一個(gè)控件被選擇)調(diào)用ModifyStyle(0,SWP_HIDEWINDOW/*SWP_SHOWWINDOW*/);實(shí)現(xiàn)Group Box的隱藏/顯示狀態(tài)的動(dòng)態(tài)切換。

8. MSComm控件Visual C++為我們提供了一種好用的ActiveX控件Microsoft Communications

Control(即MSComm)來支持應(yīng)用程序?qū)Υ诘脑L問,在應(yīng)用程序中插入MSComm控件后就可以較為方便地實(shí)現(xiàn)對通過計(jì)算機(jī)串口收發(fā)數(shù)據(jù)。

使用VC++提供的串行通信控件MSComm進(jìn)行編程,首先,在對話框中創(chuàng)建通信控件,若Control工具欄中缺少該控件,可通過菜單Project ——>Add to Project——> Components and Control插入即可,再將該控件從工具箱中拉到對話框中。此時(shí),你只需要關(guān)心控件提供的對Windows通訊驅(qū)動(dòng)程序的API函數(shù)的接口。換句話說,只需要設(shè)置和監(jiān)視MSComm控件的屬性和事件。

在ClassWizard中為新創(chuàng)建的通信控件定義成員對象(CMSComm m_Serial),通過該對象便可以對串口屬性進(jìn)行設(shè)置,MSComm控件共有27個(gè)屬性,這里只介紹其中幾個(gè)常用屬性:CommPort設(shè)置并返回通訊端口號,缺省為COM1. Settings以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。

PortOpen設(shè)置并返回通訊端口的狀態(tài),也可以打開和關(guān)閉端口。

Input從接收緩沖區(qū)返回和刪除字符。

Output向發(fā)送緩沖區(qū)寫一個(gè)字符串。

InputLen設(shè)置每次讀入的字符個(gè)數(shù),缺省值為0,表明讀取接收緩沖區(qū)中的全部內(nèi)容。

InBufferCount返回接收緩沖區(qū)中已接收到的字符數(shù),將其置0可以清除接收緩沖區(qū)。

InputMode定義Input屬性獲取數(shù)據(jù)的方式(為0:文本方式;為1:二進(jìn)制方式)。

RThreshold和SThreshold屬性,表示在OnComm事件發(fā)生之前,接收緩沖區(qū)或發(fā)送緩沖區(qū)中可以接收的字符數(shù)。

打開所需串口后,需要考慮串口通信的時(shí)機(jī)。在接收或發(fā)送數(shù)據(jù)過程中,可能需要監(jiān)視并響應(yīng)一些事件和錯(cuò)誤,所以事件驅(qū)動(dòng)是處理串行端口交互作用的一種非常有效的方法。使用OnComm事件和CommEvent屬性捕捉并檢查通訊事件和錯(cuò)誤的值。發(fā)生通訊事件或錯(cuò)誤時(shí),將觸發(fā)OnComm事件,CommEvent屬性的值將被改變,應(yīng)用程序檢查CommEvent屬性值并作出相應(yīng)的反應(yīng)。

5.2上位機(jī)程序方案

上位機(jī)程序主要完成數(shù)據(jù)顯示、參數(shù)設(shè)置、存儲(chǔ)器讀取、數(shù)據(jù)校正等功能。

該程序通過串口與下位機(jī)板進(jìn)行通信,將需要顯示的信息和設(shè)置的參數(shù)等信息進(jìn)行傳輸。

上位機(jī)程序功能框圖如下圖5.1所示。

 

[!--empirenews.page--]

 

圖中下位機(jī)通過串口與上位機(jī)進(jìn)行數(shù)據(jù)通信。根據(jù)通信協(xié)議,將雙方傳輸?shù)臄?shù)據(jù)進(jìn)行轉(zhuǎn)換,得到對應(yīng)的數(shù)值,在進(jìn)行相應(yīng)的操作。

下面分別對數(shù)據(jù)顯示、參數(shù)設(shè)置、數(shù)據(jù)保存、數(shù)據(jù)校正等功能進(jìn)行如下分析。

5.2.1數(shù)據(jù)顯示

上位機(jī)程序的數(shù)據(jù)顯示功能直接放置在主程序界面上,如下圖5.2所示。

 

 

主界面主要包含顯示鋰電池電壓、溫度、電流、電量、狀態(tài)等信息的文本控件和參數(shù)設(shè)置、數(shù)據(jù)校正、存儲(chǔ)器讀寫的按鈕以及保存數(shù)據(jù)的選項(xiàng),另外還可對串口號進(jìn)行選擇。

5.2.2參數(shù)設(shè)置

參數(shù)設(shè)置子窗口如圖5.3所示。由于需要設(shè)置的參數(shù)較多,所以在參數(shù)設(shè)置子窗口中將所有參數(shù)分為系統(tǒng)參數(shù)、電流參數(shù)、電壓參數(shù)、溫度參數(shù)、均衡參數(shù)、電量參數(shù)和版本參數(shù)共七類,在一個(gè)復(fù)選頁中進(jìn)行顯示和設(shè)置。

 

 

系統(tǒng)參數(shù)包含電池類型、電池?cái)?shù)、電池內(nèi)阻、數(shù)據(jù)采樣頻率、睡眠模式使能、睡眠模式喚醒時(shí)間、用戶權(quán)限、系統(tǒng)密碼等。

電流參數(shù)包含充電過載電流、放電過載電流、判斷過載電流持續(xù)時(shí)間、短路電流、放電過流恢復(fù)時(shí)間、充電過流恢復(fù)時(shí)間、短路恢復(fù)時(shí)間等。

電壓參數(shù)包含過充電壓、釋放過充電壓、過放電壓、釋放過放電壓、最大不平衡電壓、判斷過充過放電壓持續(xù)時(shí)間等。

溫度參數(shù)包含外部溫度通道1使能、外部溫度通道2使能、判斷溫度超范圍持續(xù)時(shí)間、可承受外部最高溫度、釋放可承受外部最高溫度、可承受外部最低溫度、釋放可承受外部最低溫度、可承受內(nèi)部最高溫度、釋放可承受內(nèi)部最高溫度、可承受內(nèi)部最低溫度、釋放可承受內(nèi)部最低溫度等。

均衡參數(shù)包含均衡使能、每組均衡電池?cái)?shù)、均衡模式、均衡開始電壓、均衡壓差等。

電量測量參數(shù)包括電量測量電壓一、測量電壓二、測量電壓三、測量電壓四、測量電壓五等。

另外,還有版本版本號、工廠名、設(shè)備編號等。

5.2.3數(shù)據(jù)校正

數(shù)據(jù)校正子窗口如圖5.4所示。

 

 

校正采用線性修復(fù)法,即利用公式:A=K*S+B進(jìn)行校正,其中A表示實(shí)際測量值,S表示通過系統(tǒng)獲取的原始采樣值,K為修正系數(shù),B為修正基址。

校正過程中對,對每一路采樣電路的采樣值和實(shí)測值進(jìn)行若干組采集。根據(jù)上述公式,每兩組組成一個(gè)二元一次方程,計(jì)算出若干個(gè)修正系數(shù)和修正基址并求平均值,獲得本路采樣電路的修正系數(shù)和修正基址。

在上位機(jī)軟件中,接收下位機(jī)傳送過來的21路信號的實(shí)測值和采樣值。通過兩次接收,可分別得到21路采樣信號的兩組實(shí)測值和采樣值,按上述計(jì)算方法分別計(jì)算出各路采樣電路的修正系數(shù)和修正基址,按通信協(xié)議發(fā)送給下位機(jī)。

5.2.4存儲(chǔ)器讀寫

存儲(chǔ)器讀寫子窗口如圖5.5所示。

 

 

在存儲(chǔ)器讀寫子窗口中,有讀存儲(chǔ)器、寫存儲(chǔ)器、存儲(chǔ)器擦除三個(gè)按鈕,可分別讀出指定存儲(chǔ)單元的數(shù)據(jù)、將指定數(shù)據(jù)寫入指定單元、擦除存儲(chǔ)器所有單元。

5.3上位機(jī)程序測試

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉