基于VC++光伏逆變器監控系統的設計和實(shí)現
3.2.2 狀態(tài)運行界面
監控系統的主運行界面如圖5所示,在主運行界面中顯示了歷史總發(fā)電量、累計發(fā)電時(shí)間、日發(fā)電量、煙塵等減排量、瞬時(shí)功率實(shí)時(shí)曲線(xiàn)等數據。這些數據是通過(guò)RS-485從F2812獲得的。F2812從RS-485接收到上位機發(fā)來(lái)的啟動(dòng)發(fā)送數據命令后,終端定時(shí)將所需的一幀數據按照規定的協(xié)議發(fā)給上位機。上位機將接收到的數據處理之后,進(jìn)行顯示和存儲。系統運行條件下指示燈為綠色。采用TeeChart控件來(lái)實(shí)現瞬時(shí)功率的實(shí)時(shí)曲線(xiàn)顯示。TeeChart控件適用于VB、VC++、ASP等系統平臺,提供了上百種2D和3D圖形風(fēng)格、40余種數學(xué)和統計功能、加上無(wú)限制的軸和多種調色板組件可以選擇,以及20多種用于圖表操作的工具,將圖表制作與操作功能發(fā)揮得淋漓盡致,為程序設計人員提供了一個(gè)高效、直觀(guān)、節省時(shí)間的編程接口。這里使用了TeeChart控件中的實(shí)時(shí)曲線(xiàn)顯示功能,定時(shí)讀取相應瞬時(shí)功率數據庫的數據,然后將數據以實(shí)時(shí)曲線(xiàn)的形式顯示。
3.2.3 監控軟件的數據庫的設計
在監控系統中,往往需要對歷史數據進(jìn)行查詢(xún),生成報表并打印,以便后期對數據的整理、分析和處理。VC6.0具有良好的數據庫接口能力,能很方便地對多種類(lèi)型的數據庫進(jìn)行操作。本監控系統采用ADO編程方式建立了四個(gè)ACCESS數據庫,分別是歷史運行數據數據庫、日志數據庫、故障數據庫和用戶(hù)登錄信息數據庫。每個(gè)數據庫中的表都是以日期命名,每天建立一個(gè)新表,這樣既不會(huì )造成文件的重復也利于文件表的查詢(xún),每個(gè)表都以運行日期和運行的時(shí)間作為索引,可以方便地進(jìn)行記錄的瀏覽和查詢(xún)。在開(kāi)發(fā)工程中引入ADO動(dòng)態(tài)鏈接庫文件,初始化COM環(huán)境,連接數據庫和操作數據表,利用griddata控件負責對數據進(jìn)行顯示和編輯。
3.3 監控軟件通信過(guò)程
本監控軟件通過(guò)使用MSComm控件進(jìn)行串口編程,采用其中的查詢(xún)方式的通信方法,用戶(hù)通過(guò)檢查CommEvent屬性的值來(lái)檢測時(shí)間和通信錯誤。在通信過(guò)程中分別利用void SetCommEvent(shotnNewValue)方法和short GetCommEvevt()方法設置和獲取CommEvent的屬性值。串口處于接收狀態(tài)時(shí),清空串口接收緩沖區,讀入數據。數據校驗正確無(wú)誤后,判斷功能碼,對數據區數據切分,運行數據直觀(guān)地通過(guò)曲線(xiàn)或編輯控件顯示,將需要保存的數據存入數據庫。對于存入數據庫的時(shí)間,在軟件實(shí)現過(guò)程中可自行設定。判定如果為故障數據則需立即存儲,此時(shí)下位機F2812控制芯片立即斷開(kāi)各個(gè)開(kāi)關(guān),進(jìn)入待機狀態(tài)。在通信頻繁的情況下,采用MSComm控件的查詢(xún)方式更為方便。
4 結束語(yǔ)
本系統是采用VC++6.0和面向控制對象的思想開(kāi)發(fā)的可視化人機交互監控軟件,充分利用TeeChart控件、ADO控件、Inmagelist控件等控件,使得系統具有良好的用戶(hù)界面和數據庫接口能力,能夠更加方便地對逆變器的工作數據、故障及日志進(jìn)行存儲管理,方便對逆變器歷史數據的查詢(xún)與維護。系統己在PC機和逆變器之間進(jìn)行了調試,實(shí)現了PC機對逆變器工作狀態(tài)的監視、控制和數據存儲等功能。
評論