<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 鋰離子電池組監控系統研究與實(shí)現 — 上位機程序設計

鋰離子電池組監控系統研究與實(shí)現 — 上位機程序設計

作者: 時(shí)間:2015-05-14 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/274173.htm

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

  Input從接收緩沖區返回和刪除字符。

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

  InputLen設置每次讀入的字符個(gè)數,缺省值為0,表明讀取接收緩沖區中的全部?jì)热荨?/p>

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

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

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

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

  5.2程序方案

  程序主要完成數據顯示、參數設置、存儲器讀取、數據校正等功能。

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

  程序功能框圖如下圖5.1所示。

  

 

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

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

  5.2.1數據顯示

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

  

 

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

  5.2.2參數設置

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

  

 

  系統參數包含電池類(lèi)型、電池數、電池內阻、數據采樣頻率、睡眠模式使能、睡眠模式喚醒時(shí)間、用戶(hù)權限、系統密碼等。

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

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

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

  均衡參數包含均衡使能、每組均衡電池數、均衡模式、均衡開(kāi)始電壓、均衡壓差等。

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

  另外,還有版本版本號、工廠(chǎng)名、設備編號等。

  5.2.3數據校正

  數據校正子窗口如圖5.4所示。

  

 

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

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

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

  5.2.4存儲器讀寫(xiě)

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

  

 

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

  5.3上位機程序測試

  

c++相關(guān)文章:c++教程


離子色譜儀相關(guān)文章:離子色譜儀原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 鋰離子電池 上位機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>