李方健 郝瑞祥
(北京交通大學(xué)電氣工程學(xué)院,北京 100044)
隨著經(jīng)濟(jì)的飛速發(fā)展,能源緊缺環(huán)境惡化問題日趨嚴(yán)重,尋找綠色環(huán)保的新能源已成為人類面臨的迫切課題。光伏并網(wǎng)發(fā)電就是一種很好的綠色新能源,它將太陽(yáng)能電池發(fā)出的直流電經(jīng)并網(wǎng)逆變器轉(zhuǎn)化為與現(xiàn)有電網(wǎng)同頻、同相的交流電,供給負(fù)荷使用或送入電網(wǎng)。
現(xiàn)有的光伏逆變器多分散安裝在較偏遠(yuǎn)的地區(qū),同時(shí)面臨光照不連續(xù)穩(wěn)定的情況,這給用戶和電網(wǎng)監(jiān)管人員都帶來了很大的不便,故設(shè)計(jì)一整套能夠完善的監(jiān)控系統(tǒng)對(duì)用戶和監(jiān)管人員都顯得十分重要。
本文堅(jiān)持以遠(yuǎn)程、實(shí)時(shí)、集中監(jiān)控為原則,設(shè)計(jì)了基于嵌入式webserver的光伏逆變器監(jiān)控平臺(tái)。該平臺(tái)采用ARM9系列的32位微處理器S3C2440和DM9000A網(wǎng)絡(luò)芯片為核心,擴(kuò)展了串口、485、CAN及網(wǎng)絡(luò)通信功能。基于該硬件平臺(tái),移植了嵌入式linux系統(tǒng)和boa服務(wù)器程序,并通過后臺(tái)數(shù)據(jù)處理程序?qū)崿F(xiàn)了監(jiān)控?cái)?shù)據(jù)的可靠傳送,保證了光伏逆變器的穩(wěn)定運(yùn)行。
現(xiàn)有的監(jiān)控系統(tǒng)結(jié)構(gòu)通常分為B/S結(jié)構(gòu)和C/S結(jié)構(gòu)兩種。由于C/S結(jié)構(gòu)要在監(jiān)控計(jì)算機(jī)端編寫和部署大型軟件,給安裝和維護(hù)帶來了不便。故在本設(shè)計(jì)中采用了B/S模式的監(jiān)控結(jié)構(gòu)。監(jiān)控人員只需在監(jiān)控計(jì)算機(jī)打開瀏覽器,輸入正確的IP地址即可方便地進(jìn)行操作。
在本監(jiān)控平臺(tái)中,以ARM為核心的電路板作為服務(wù)器,通過現(xiàn)場(chǎng)總線與光伏逆變器的DSP控制板相連接,實(shí)現(xiàn)數(shù)據(jù)的相互傳送。監(jiān)控人員通過瀏覽器向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器則把相應(yīng)的數(shù)據(jù)反饋給監(jiān)控人員。監(jiān)控系統(tǒng)邏輯示意圖如圖1示。
圖1 系統(tǒng)邏輯示意圖
Samsung公司推出的32位RISC處理器S3C2440為嵌入式設(shè)備和一般類型應(yīng)用提供了高性價(jià)比和高可靠性的微控制器解決方案。它的低功耗精簡(jiǎn)結(jié)構(gòu)和出色的全靜態(tài)設(shè)計(jì)特別適用于對(duì)成本和功耗敏感的應(yīng)用。S3C2440采用ARM920T內(nèi)核,400M主頻,保證了逆變器監(jiān)控對(duì)實(shí)時(shí)性的要求。同時(shí),具有2通道的USB HOST,以及3通道的UART,為外部接口的設(shè)計(jì)提代了很大的便利。此外,S3C2440芯片還具有LCD控制器,SD卡控制器,并可以方便的外擴(kuò)CAN控制器,保證了平臺(tái)功能增加和移植的可行性。
在硬件設(shè)計(jì)時(shí)為了保證出色的電氣性能和抗干擾性能,核心板采用6層設(shè)計(jì),外擴(kuò)接口板采用4層設(shè)計(jì)。其中S3C2440處理器和NAND FLASH(64M)、SDRAM(64M)設(shè)計(jì)在核心板上,其余接口和電源電路設(shè)計(jì)在擴(kuò)展板。64M的NAND FLASH用來存儲(chǔ)操作系統(tǒng)、文件系統(tǒng)及應(yīng)用程序,足夠大的空間保證了燒寫系統(tǒng)內(nèi)核和文件系統(tǒng)的可靠性。64M的SDRAM作為系統(tǒng)運(yùn)行的動(dòng)態(tài)內(nèi)存。網(wǎng)絡(luò)接口芯片選擇了 DAVICOM公司的DM9000A。串口用來與光伏逆變控制板進(jìn)行通信,JTAG接口用來燒寫程序。硬件連接示意圖見圖2。
圖2 系統(tǒng)硬件連接示意圖
在本系統(tǒng)中,采用B/S模式的監(jiān)測(cè)結(jié)構(gòu),即是以ARM板作為服務(wù)器端,嵌入式 Web服務(wù)器的具體實(shí)現(xiàn)方法是多種多樣的,本文采用 BOA作為web服務(wù)器,與其他傳統(tǒng)的Web服務(wù)器不同的是,當(dāng)有連接請(qǐng)求到來時(shí).它并不為每個(gè)連接單獨(dú)創(chuàng)建進(jìn)程,也不通過復(fù)制自身進(jìn)程來處理多鏈接,而是通過建立HTTP請(qǐng)求列表來處理多路HTTP連接請(qǐng)求,同時(shí)它只為CGI程序創(chuàng)建新的進(jìn)程,這樣就在最大程度上節(jié)省了系統(tǒng)資源。Web server軟件結(jié)構(gòu)圖如圖3示。
圖3 Web server軟件結(jié)構(gòu)示意圖
在后臺(tái)的數(shù)據(jù)處理模塊中,設(shè)計(jì)CGI程序來產(chǎn)生瀏覽器頁(yè)面,但是由于 CGI程序是在遠(yuǎn)程用戶通過瀏覽器訪問時(shí)才執(zhí)行,直接通過CGI程序來訪問和控制下位機(jī)不合適。所以需要存在一個(gè)后臺(tái)串口數(shù)據(jù)處理程序,該程序負(fù)責(zé)控制和訪問下位機(jī),并且負(fù)責(zé)與CGI程序的通訊。兩個(gè)程序間通過共享內(nèi)存方式傳遞數(shù)據(jù)。后臺(tái)處理程序的結(jié)構(gòu)示意圖如圖4示。
圖4 后臺(tái)處理程序示意圖
(1)在 www.boa.org下載 boa服務(wù)器代碼 boa-0.94.13.tar.gz,并將其解壓。
(2)生成相應(yīng)的makefile文件。
#cd boa -0.94.13
#src/configure
(3)對(duì)BOA的配置做出相應(yīng)的修改。主要通過對(duì)boa.eonf和mine.types進(jìn)行修改來實(shí)現(xiàn),比如指定Web Server的根目錄路徑或其他文件路徑等。
(4)創(chuàng)建相關(guān)目錄。在/etc目錄下創(chuàng)建boa目錄,里面放入boa的配置文件boa.conf,創(chuàng)建日志文件所在目錄/var/www,創(chuàng)建CGI腳本所在目錄/var/www/cgi-bin/。
(5)把準(zhǔn)備好的boa服務(wù)器程序放置在內(nèi)核/etc/boa下,重新編譯內(nèi)核根文件系統(tǒng)。此時(shí),運(yùn)行boa可執(zhí)行文件后,通過遠(yuǎn)程即可訪問并遠(yuǎn)程操作。
串口數(shù)據(jù)處理程序隨Linux系統(tǒng)啟動(dòng)而運(yùn)行,運(yùn)行之后首先初始化串口,然后創(chuàng)建一個(gè)1024字節(jié)的共享內(nèi)存空間,開始等待CGI程序傳來控制命令,當(dāng)接收到控制命令后,從串口中讀取數(shù)據(jù),并把數(shù)據(jù)寫入共享內(nèi)存。程序流程圖如圖5所示。
Linux系統(tǒng)中對(duì)串口的操作主要分為打開串口,接收和發(fā)送數(shù)據(jù)等。
圖5 后臺(tái)數(shù)據(jù)程序流程圖
為了保證共享空間數(shù)據(jù)的正確性,防止串口數(shù)據(jù)處理程序和CGI程序同時(shí)讀寫共享空間,需要設(shè)置一個(gè)信號(hào)量實(shí)行PV操作保證同時(shí)只能由一個(gè)程序讀寫。創(chuàng)建共享內(nèi)存主要代碼如下:
CGI(common gateway interface)是外部應(yīng)用擴(kuò)展應(yīng)用程序與WWW服務(wù)器交互的一個(gè)標(biāo)準(zhǔn)接口。按照CGI標(biāo)準(zhǔn)編寫的外部擴(kuò)展應(yīng)用程序可以處理客戶端瀏覽器輸入的數(shù)據(jù).從而完成客戶端與服務(wù)器的交互操作。CGI腳本程序可以用多種語(yǔ)言編寫,本文中采用C語(yǔ)言編寫CGI程序,具有程序結(jié)構(gòu)簡(jiǎn)單、執(zhí)行效率高的優(yōu)點(diǎn)。
當(dāng)有數(shù)據(jù)從瀏覽器傳到Web服務(wù)器后,該服務(wù)器會(huì)根據(jù)傳送的類型,將這些接收到的數(shù)據(jù)傳入QUERY_STRING變量中,CGI程序可以通過標(biāo)準(zhǔn)輸入,在程序中接收這些數(shù)據(jù)。當(dāng)要向?yàn)g覽器發(fā)送信息時(shí),只要向Web服務(wù)器發(fā)送特定的文件頭信息,即可通過標(biāo)準(zhǔn)輸出將信息發(fā)往Web服務(wù)器,Web服務(wù)器處理完這些由CGI程序發(fā)來的信息后,就會(huì)將這些信息發(fā)送給瀏覽器。
在測(cè)試監(jiān)測(cè)平臺(tái)功能時(shí),將光伏逆變器的DSP控制板RS232接口與ARM板的RS232接口相連,并將ARM板的網(wǎng)口通過網(wǎng)線直接與筆記本相連,將ARM板的IP地址設(shè)置為192.168.0.2,將個(gè)人電腦 IP 設(shè)置為192.168.0.1。
本文提出了一種基于B/S模式的光伏逆變器監(jiān)測(cè)平臺(tái)設(shè)計(jì)方法。給出了相應(yīng)的軟硬件設(shè)計(jì)和實(shí)現(xiàn)的關(guān)鍵技術(shù),詳細(xì)分析了實(shí)現(xiàn)嵌入式web server功能的軟件結(jié)構(gòu)及程序設(shè)計(jì)過程。該監(jiān)測(cè)平臺(tái)具有硬件接口豐富,軟件結(jié)構(gòu)健壯的特點(diǎn)。由于此設(shè)計(jì)是一個(gè)單獨(dú)的模塊,是一個(gè)連接下位機(jī)和監(jiān)控者的中間件,只要在軟件上作相應(yīng)地修改就能很容易地應(yīng)用到各種嵌入式設(shè)備中,在工業(yè)或日常生活中具有廣闊的應(yīng)用前景。
[1]陳曉龍,周文華,劉建華.基于UC1825控制的光伏并網(wǎng)發(fā)電系統(tǒng)設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2010,32(7):173 -175.
[2]馮軻,賀明智,游小杰,等.光伏并網(wǎng)發(fā)電系統(tǒng)孤島檢測(cè)技術(shù)研究[J].電氣自動(dòng)化,2010,32(2):39 -42.
[3]徐榮珍,李加文,郭偉,等.基于uClinux的串口/以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換設(shè)備開發(fā)[J].計(jì)算機(jī)工程,2006,32(17):265 -267.
[4]彭道剛,張浩,江劍寧,等.基于ARM和Linux的嵌入式Web Server設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電一體化,2008,14(10):37 -40.
[5]吳學(xué)名.和諧機(jī)車車載自動(dòng)過分相監(jiān)控系統(tǒng)的研究[D].北京:北京交通大學(xué),2009.
[6]陳昆燦.地鐵牽引變斷路器在線監(jiān)控系統(tǒng)的設(shè)計(jì)與開發(fā)[D].北京:北京交通大學(xué),2010.
[7]蔣鳴.基于Internet的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的研究[D].西安:西北工業(yè)大學(xué),2007.
[8]董濤.基于嵌入式Web server的遠(yuǎn)程測(cè)控系統(tǒng)設(shè)計(jì)與研究[D].武漢:湖北工業(yè)大學(xué),2007.
[9] Zhu F.uCLinux-based webserver realization on ARM platform[C].ISECS InternationalColloquium on Computing, Communication,Control,and Management,2009.
[10]陸永健,王萍,吳佳,等.嵌入式Web服務(wù)器Boa的移植及其應(yīng)用[J].河海大學(xué)常州分校學(xué)報(bào),2005,19(4):44-47.