新聞中心

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

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

        作者: 時間:2015-05-14 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/274173.htm

          PortOpen設置并返回通訊端口的狀態,也可以打開和關閉端口。

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

          Output向發送緩沖區寫一個字符串。

          InputLen設置每次讀入的字符個數,缺省值為0,表明讀取接收緩沖區中的全部內容。

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

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

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

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

          5.2程序方案

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

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

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

          

         

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

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

          5.2.1數據顯示

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

          

         

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

          5.2.2參數設置

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

          

         

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

          電流參數包含充電過載電流、放電過載電流、判斷過載電流持續時間、短路電流、放電過流恢復時間、充電過流恢復時間、短路恢復時間等。

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

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

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

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

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

          5.2.3數據校正

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

          

         

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

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

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

          5.2.4存儲器讀寫

          存儲器讀寫子窗口如圖5.5所示。

          

         

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

          5.3上位機程序測試

          

        c++相關文章:c++教程


        離子色譜儀相關文章:離子色譜儀原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凌海市| 郁南县| 邵阳市| 喀什市| 黄石市| 郎溪县| 海安县| 金湖县| 广东省| 积石山| 凌海市| 虞城县| 乐平市| 济宁市| 伊川县| 崇左市| 衡东县| 揭阳市| 九龙县| 封开县| 柳江县| 炎陵县| 榆树市| 锡林郭勒盟| 绥德县| 大足县| 福安市| 杭锦后旗| 商都县| 弥渡县| 波密县| 常州市| 介休市| 开阳县| 安乡县| 武功县| 永安市| 扎囊县| 长垣县| 凌海市| 绥宁县|