基于VC++光伏逆變器監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:根據(jù)目前光伏逆變器在市場上的應(yīng)用狀況,提出了相應(yīng)的監(jiān)控系統(tǒng)軟件的結(jié)構(gòu)、功能和實(shí)現(xiàn)方法,使監(jiān)控系統(tǒng)更加完善。
關(guān)鍵詞:光伏逆變器;監(jiān)控軟件;VC++;數(shù)據(jù)庫系統(tǒng)
0 引言
全球經(jīng)濟(jì)飛速發(fā)展,能源問題也越來越備受關(guān)注。解決能源短缺問題除了一方面節(jié)約能源消耗外,另一方面就是開發(fā)使用新能源,太陽能作為一種綠色環(huán)保的清潔能源,越來越得到各國的重視,對(duì)于光伏系統(tǒng)的研究和應(yīng)用也越顯重視。光伏系統(tǒng)中最為關(guān)鍵的技術(shù)就是逆變。光伏逆變器主要實(shí)現(xiàn)逆變功能,并且決定了整個(gè)系統(tǒng)的穩(wěn)定性與使用的可靠性。為了更好地對(duì)光伏逆變器集中控制與維護(hù),實(shí)現(xiàn)數(shù)據(jù)的檢測、分析與管理,進(jìn)一步提高系統(tǒng)的使用性能,開發(fā)一套具有數(shù)據(jù)采集、實(shí)時(shí)顯示運(yùn)行狀態(tài)、數(shù)據(jù)存儲(chǔ)、歷時(shí)查詢及報(bào)表打印等功能的監(jiān)控軟件是系統(tǒng)管理員所期望的,也是完善光伏并網(wǎng)系統(tǒng)所必不可少的。為此,本文開發(fā)了基于VC++的光伏逆變器的數(shù)據(jù)采集與監(jiān)控系統(tǒng)。
1 光伏并網(wǎng)逆變系統(tǒng)工作原理
太陽能電池陣列將接收到的太陽能直接轉(zhuǎn)換后在三相逆變器的輸出端輸出高頻SPWM波,基波是正弦波,經(jīng)過電感濾波后,向電網(wǎng)饋入與電網(wǎng)電壓同頻同相的正弦波電流,實(shí)現(xiàn)并網(wǎng)電流的正弦化和單位功率因數(shù)。這里,三相逆變器為電流控制型電壓源逆變器。如果要使光伏陣列在并網(wǎng)發(fā)電時(shí),使其工作穩(wěn)定,能夠輸出最大功率,則必須首先穩(wěn)定其工作電壓,并找出其最大功率點(diǎn)的工作電壓。本課題設(shè)計(jì)的是非隔離的10kW三相并網(wǎng)逆變器系統(tǒng),采用兩級(jí)拓?fù)浣Y(jié)構(gòu)。前級(jí)采用帶MPPT的DC-DCBOOST壓電升路,后級(jí)采用DC-AC的逆變電路,兄圖1。本系統(tǒng)中并網(wǎng)光伏逆變器直流最高輸入電壓為450V,額定功率為10kW,交流輸出并入380V交流電網(wǎng)。逆變器的硬件系統(tǒng)有三個(gè)主要部分:功率電路、控制電路和驅(qū)動(dòng)電路。
逆變器的主拓?fù)浣Y(jié)構(gòu)采用三相全橋逆變電路,如圖1所示,功率器件使用IGBT,開關(guān)頻率為15kHz,為了防止電能從電網(wǎng)流入太陽能光伏陣列,在直流側(cè)加了防反二極管;逆變器的輸出端使用了LC濾波電路濾除高頻分量,在逆變器的輸入端和輸出端都安裝了接觸器,當(dāng)逆變器檢測到外部故障時(shí),都立即關(guān)斷接觸器,實(shí)現(xiàn)逆變器的可靠隔離和保護(hù)。逆變器采用大電容解耦,在解耦電容的兩端增加了放電通道,以保證維護(hù)人員的人身安全,逆變器還提供了較好的人機(jī)界面,當(dāng)出現(xiàn)故障時(shí),通過發(fā)光二極管的組合編碼,給出故障的具體類型。逆變器冷卻
方式采用自然空氣冷卻和強(qiáng)制風(fēng)冷相結(jié)合的方式,當(dāng)系統(tǒng)檢測到的溫度高于設(shè)定值時(shí)啟動(dòng)風(fēng)扇,進(jìn)行強(qiáng)制風(fēng)冷,當(dāng)溫度較低時(shí),采用自然空氣冷卻。
逆變器的控制電路的主控制器使用的是TI公司的TMS320F28335芯片,該芯片具有處理性能更快、外設(shè)集成度高、A/D轉(zhuǎn)換速度更快等特點(diǎn)。該芯片的采用可以很好滿足對(duì)三相全橋逆變器進(jìn)行實(shí)時(shí)控制的要求。
[!--empirenews.page--]
2 監(jiān)控系統(tǒng)的硬件基礎(chǔ)
2.1 TMS320F2812DSP控制芯片提供串行通信接口SCI
F2812控制芯片除了負(fù)責(zé)對(duì)光伏你變系統(tǒng)電路的控制、數(shù)據(jù)的采集之外,還負(fù)責(zé)與上位機(jī)之間實(shí)現(xiàn)數(shù)據(jù)的傳輸。SCI是Serial Communica tion Interface的簡稱,即串行通信接口。SCI是一個(gè)雙線的異步串口,具有接收和發(fā)送兩根信號(hào)線的異步串口,一般可以看作是UART(通用異步接收/發(fā)送裝置),X281x的SCI模塊支持CPU與采用NRZ(非歸零)標(biāo)準(zhǔn)格式的異步外圍設(shè)備之間的數(shù)據(jù)通信。RS-485采用的是差分傳輸方式,使得在通信速率、抗干擾和傳輸距離方面都有較大的改善和優(yōu)點(diǎn)。本文中就是采用SN65LBC184芯片將SCI設(shè)計(jì)成串口RS485,控制芯片F(xiàn)28 12就能夠和使用RS232/USB/RS85等接口的設(shè)備實(shí)現(xiàn)通信。具體的轉(zhuǎn)換電路如圖2所示。
2.2 RS485到RS-232的轉(zhuǎn)換
目前大部分的工控PC機(jī)都只是提供RS232接口和USB接口,所以為了實(shí)現(xiàn)RS-485與監(jiān)控系統(tǒng)的通信,需要將RS485轉(zhuǎn)換成RS232電平,這里選用HIN232和MAX485芯片設(shè)計(jì)了RS232和RS485的電平轉(zhuǎn)換電路,具體如圖3所示。
[!--empirenews.page--]
3 監(jiān)控系統(tǒng)的軟件設(shè)計(jì)
3.1 軟件通信協(xié)議
監(jiān)控軟件顯示的數(shù)據(jù)是由下位機(jī)按照一定的數(shù)據(jù)格式發(fā)送到PC上位機(jī),為了保證數(shù)據(jù)的正確性和安全性,我們這里采用的是Modbus協(xié)議。Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用的語言。控制器之間、控制器與網(wǎng)絡(luò)以及和其他的設(shè)備之間都可以通過它進(jìn)行相互通信,Modbus協(xié)議已經(jīng)成為一種工業(yè)標(biāo)準(zhǔn)。在Modbus通信網(wǎng)絡(luò)中設(shè)備都必須選擇相同的傳輸模式和串口參數(shù)。
本系統(tǒng)采用RTU模式:
當(dāng)控制器設(shè)為在Modbus網(wǎng)絡(luò)上以RTU(遠(yuǎn)程終端單元)模式通信,在消息中的每8Bit字節(jié)包含兩個(gè)4Bit的十六進(jìn)制字符。這種方式的主要特點(diǎn)是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)。
代碼系統(tǒng)
·8位二進(jìn)制,十六進(jìn)制數(shù)0、、、、9,A、、、、F
·消息中的每個(gè)8位域都是一個(gè)兩個(gè)十六進(jìn)制的字符組成每個(gè)字節(jié)的位
·一個(gè)起始位
·8個(gè)數(shù)據(jù)位,最小的有效位先發(fā)送
·1個(gè)奇偶校驗(yàn)位,無校驗(yàn)則無
·1個(gè)停止位(有校驗(yàn)時(shí)),2個(gè)Bit(無校驗(yàn)時(shí))錯(cuò)誤檢測域
·CRC(循環(huán)冗長檢測)
CRC產(chǎn)生過程中,每個(gè)8位字符都單獨(dú)和寄存器內(nèi)容相或(OR),結(jié)果向最低有效位方向移動(dòng),最高有效位以0填充。LSB被提取出來檢測,如果LSB為1,寄存器單獨(dú)和預(yù)置的值或一下,如果LSB為0,則不進(jìn)行。整個(gè)過程要重復(fù)8次。在最后一位(第8位)完成后,下一個(gè)8位字節(jié)又單獨(dú)和寄存器的當(dāng)前值相或。最終寄存器中的值,是消息中所有的字節(jié)都執(zhí)行之后的CRC的值。CRC添加到一幀數(shù)據(jù)中時(shí),低字節(jié)先加入,然后高字節(jié)。
3.2 上位機(jī)的界面
3.2.1 主界面
監(jiān)控系統(tǒng)啟動(dòng)后,顯示主界面。利用VC環(huán)境下的菜單控件在主界面添加監(jiān)控系統(tǒng)的功能菜單,有主運(yùn)行界面、串口設(shè)置、逆變器數(shù)據(jù)、歷史數(shù)據(jù)、參數(shù)設(shè)置等菜單項(xiàng)。主運(yùn)行界面在下面詳細(xì)介紹。串口設(shè)置主要是負(fù)責(zé)設(shè)置PC上位機(jī)串口參數(shù)設(shè)置,串口的參數(shù)設(shè)置一定要和下位機(jī)的串口參數(shù)設(shè)置一致,才能保證通信成功。逆變器數(shù)據(jù)界面主要顯示的是當(dāng)前逆變器運(yùn)行的狀態(tài)數(shù)據(jù),包括直流電壓、直流電流、分別三相電壓、三相電流、功率因數(shù)、并網(wǎng)頻率等實(shí)時(shí)參數(shù)。歷史數(shù)據(jù)是下來菜單,主要有日志查詢、歷史工作狀態(tài)數(shù)據(jù)、故障報(bào)表等??梢酝瓿蓺v史數(shù)據(jù)、故障報(bào)表、日志和曲線的保存和打印。參數(shù)設(shè)置時(shí)有一個(gè)用戶登錄窗口,只有輸入正確的用戶名和密碼,才可以成功登錄設(shè)置窗口。選擇不同的子菜單能很方便地在不同的功能窗口進(jìn)行切換。
[!--empirenews.page--]
3.2.2 狀態(tài)運(yùn)行界面
監(jiān)控系統(tǒng)的主運(yùn)行界面如圖5所示,在主運(yùn)行界面中顯示了歷史總發(fā)電量、累計(jì)發(fā)電時(shí)間、日發(fā)電量、煙塵等減排量、瞬時(shí)功率實(shí)時(shí)曲線等數(shù)據(jù)。這些數(shù)據(jù)是通過RS-485從F2812獲得的。F2812從RS-485接收到上位機(jī)發(fā)來的啟動(dòng)發(fā)送數(shù)據(jù)命令后,終端定時(shí)將所需的一幀數(shù)據(jù)按照規(guī)定的協(xié)議發(fā)給上位機(jī)。上位機(jī)將接收到的數(shù)據(jù)處理之后,進(jìn)行顯示和存儲(chǔ)。系統(tǒng)運(yùn)行條件下指示燈為綠色。采用TeeChart控件來實(shí)現(xiàn)瞬時(shí)功率的實(shí)時(shí)曲線顯示。TeeChart控件適用于VB、VC++、ASP等系統(tǒng)平臺(tái),提供了上百種2D和3D圖形風(fēng)格、40余種數(shù)學(xué)和統(tǒng)計(jì)功能、加上無限制的軸和多種調(diào)色板組件可以選擇,以及20多種用于圖表操作的工具,將圖表制作與操作功能發(fā)揮得淋漓盡致,為程序設(shè)計(jì)人員提供了一個(gè)高效、直觀、節(jié)省時(shí)間的編程接口。這里使用了TeeChart控件中的實(shí)時(shí)曲線顯示功能,定時(shí)讀取相應(yīng)瞬時(shí)功率數(shù)據(jù)庫的數(shù)據(jù),然后將數(shù)據(jù)以實(shí)時(shí)曲線的形式顯示。
3.2.3 監(jiān)控軟件的數(shù)據(jù)庫的設(shè)計(jì)
在監(jiān)控系統(tǒng)中,往往需要對(duì)歷史數(shù)據(jù)進(jìn)行查詢,生成報(bào)表并打印,以便后期對(duì)數(shù)據(jù)的整理、分析和處理。VC6.0具有良好的數(shù)據(jù)庫接口能力,能很方便地對(duì)多種類型的數(shù)據(jù)庫進(jìn)行操作。本監(jiān)控系統(tǒng)采用ADO編程方式建立了四個(gè)ACCESS數(shù)據(jù)庫,分別是歷史運(yùn)行數(shù)據(jù)數(shù)據(jù)庫、日志數(shù)據(jù)庫、故障數(shù)據(jù)庫和用戶登錄信息數(shù)據(jù)庫。每個(gè)數(shù)據(jù)庫中的表都是以日期命名,每天建立一個(gè)新表,這樣既不會(huì)造成文件的重復(fù)也利于文件表的查詢,每個(gè)表都以運(yùn)行日期和運(yùn)行的時(shí)間作為索引,可以方便地進(jìn)行記錄的瀏覽和查詢。在開發(fā)工程中引入ADO動(dòng)態(tài)鏈接庫文件,初始化COM環(huán)境,連接數(shù)據(jù)庫和操作數(shù)據(jù)表,利用griddata控件負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行顯示和編輯。
3.3 監(jiān)控軟件通信過程
本監(jiān)控軟件通過使用MSComm控件進(jìn)行串口編程,采用其中的查詢方式的通信方法,用戶通過檢查CommEvent屬性的值來檢測時(shí)間和通信錯(cuò)誤。在通信過程中分別利用void SetCommEvent(shotnNewValue)方法和short GetCommEvevt()方法設(shè)置和獲取CommEvent的屬性值。串口處于接收狀態(tài)時(shí),清空串口接收緩沖區(qū),讀入數(shù)據(jù)。數(shù)據(jù)校驗(yàn)正確無誤后,判斷功能碼,對(duì)數(shù)據(jù)區(qū)數(shù)據(jù)切分,運(yùn)行數(shù)據(jù)直觀地通過曲線或編輯控件顯示,將需要保存的數(shù)據(jù)存入數(shù)據(jù)庫。對(duì)于存入數(shù)據(jù)庫的時(shí)間,在軟件實(shí)現(xiàn)過程中可自行設(shè)定。判定如果為故障數(shù)據(jù)則需立即存儲(chǔ),此時(shí)下位機(jī)F2812控制芯片立即斷開各個(gè)開關(guān),進(jìn)入待機(jī)狀態(tài)。在通信頻繁的情況下,采用MSComm控件的查詢方式更為方便。
4 結(jié)束語
本系統(tǒng)是采用VC++6.0和面向控制對(duì)象的思想開發(fā)的可視化人機(jī)交互監(jiān)控軟件,充分利用TeeChart控件、ADO控件、Inmagelist控件等控件,使得系統(tǒng)具有良好的用戶界面和數(shù)據(jù)庫接口能力,能夠更加方便地對(duì)逆變器的工作數(shù)據(jù)、故障及日志進(jìn)行存儲(chǔ)管理,方便對(duì)逆變器歷史數(shù)據(jù)的查詢與維護(hù)。系統(tǒng)己在PC機(jī)和逆變器之間進(jìn)行了調(diào)試,實(shí)現(xiàn)了PC機(jī)對(duì)逆變器工作狀態(tài)的監(jiān)視、控制和數(shù)據(jù)存儲(chǔ)等功能。