李方健 郝瑞祥
(北京交通大學電氣工程學院,北京 100044)
隨著經濟的飛速發展,能源緊缺環境惡化問題日趨嚴重,尋找綠色環保的新能源已成為人類面臨的迫切課題。光伏并網發電就是一種很好的綠色新能源,它將太陽能電池發出的直流電經并網逆變器轉化為與現有電網同頻、同相的交流電,供給負荷使用或送入電網。
現有的光伏逆變器多分散安裝在較偏遠的地區,同時面臨光照不連續穩定的情況,這給用戶和電網監管人員都帶來了很大的不便,故設計一整套能夠完善的監控系統對用戶和監管人員都顯得十分重要。
本文堅持以遠程、實時、集中監控為原則,設計了基于嵌入式webserver的光伏逆變器監控平臺。該平臺采用ARM9系列的32位微處理器S3C2440和DM9000A網絡芯片為核心,擴展了串口、485、CAN及網絡通信功能。基于該硬件平臺,移植了嵌入式linux系統和boa服務器程序,并通過后臺數據處理程序實現了監控數據的可靠傳送,保證了光伏逆變器的穩定運行。
現有的監控系統結構通常分為B/S結構和C/S結構兩種。由于C/S結構要在監控計算機端編寫和部署大型軟件,給安裝和維護帶來了不便。故在本設計中采用了B/S模式的監控結構。監控人員只需在監控計算機打開瀏覽器,輸入正確的IP地址即可方便地進行操作。
在本監控平臺中,以ARM為核心的電路板作為服務器,通過現場總線與光伏逆變器的DSP控制板相連接,實現數據的相互傳送。監控人員通過瀏覽器向服務器發送請求,服務器則把相應的數據反饋給監控人員。監控系統邏輯示意圖如圖1示。

圖1 系統邏輯示意圖
Samsung公司推出的32位RISC處理器S3C2440為嵌入式設備和一般類型應用提供了高性價比和高可靠性的微控制器解決方案。它的低功耗精簡結構和出色的全靜態設計特別適用于對成本和功耗敏感的應用。S3C2440采用ARM920T內核,400M主頻,保證了逆變器監控對實時性的要求。同時,具有2通道的USB HOST,以及3通道的UART,為外部接口的設計提代了很大的便利。此外,S3C2440芯片還具有LCD控制器,SD卡控制器,并可以方便的外擴CAN控制器,保證了平臺功能增加和移植的可行性。
在硬件設計時為了保證出色的電氣性能和抗干擾性能,核心板采用6層設計,外擴接口板采用4層設計。其中S3C2440處理器和NAND FLASH(64M)、SDRAM(64M)設計在核心板上,其余接口和電源電路設計在擴展板。64M的NAND FLASH用來存儲操作系統、文件系統及應用程序,足夠大的空間保證了燒寫系統內核和文件系統的可靠性。64M的SDRAM作為系統運行的動態內存。網絡接口芯片選擇了 DAVICOM公司的DM9000A。串口用來與光伏逆變控制板進行通信,JTAG接口用來燒寫程序。硬件連接示意圖見圖2。

圖2 系統硬件連接示意圖
在本系統中,采用B/S模式的監測結構,即是以ARM板作為服務器端,嵌入式 Web服務器的具體實現方法是多種多樣的,本文采用 BOA作為web服務器,與其他傳統的Web服務器不同的是,當有連接請求到來時.它并不為每個連接單獨創建進程,也不通過復制自身進程來處理多鏈接,而是通過建立HTTP請求列表來處理多路HTTP連接請求,同時它只為CGI程序創建新的進程,這樣就在最大程度上節省了系統資源。Web server軟件結構圖如圖3示。

圖3 Web server軟件結構示意圖
在后臺的數據處理模塊中,設計CGI程序來產生瀏覽器頁面,但是由于 CGI程序是在遠程用戶通過瀏覽器訪問時才執行,直接通過CGI程序來訪問和控制下位機不合適。所以需要存在一個后臺串口數據處理程序,該程序負責控制和訪問下位機,并且負責與CGI程序的通訊。兩個程序間通過共享內存方式傳遞數據。后臺處理程序的結構示意圖如圖4示。

圖4 后臺處理程序示意圖
(1)在 www.boa.org下載 boa服務器代碼 boa-0.94.13.tar.gz,并將其解壓。
(2)生成相應的makefile文件。
#cd boa -0.94.13
#src/configure
(3)對BOA的配置做出相應的修改。主要通過對boa.eonf和mine.types進行修改來實現,比如指定Web Server的根目錄路徑或其他文件路徑等。
(4)創建相關目錄。在/etc目錄下創建boa目錄,里面放入boa的配置文件boa.conf,創建日志文件所在目錄/var/www,創建CGI腳本所在目錄/var/www/cgi-bin/。
(5)把準備好的boa服務器程序放置在內核/etc/boa下,重新編譯內核根文件系統。此時,運行boa可執行文件后,通過遠程即可訪問并遠程操作。
串口數據處理程序隨Linux系統啟動而運行,運行之后首先初始化串口,然后創建一個1024字節的共享內存空間,開始等待CGI程序傳來控制命令,當接收到控制命令后,從串口中讀取數據,并把數據寫入共享內存。程序流程圖如圖5所示。
Linux系統中對串口的操作主要分為打開串口,接收和發送數據等。


圖5 后臺數據程序流程圖
為了保證共享空間數據的正確性,防止串口數據處理程序和CGI程序同時讀寫共享空間,需要設置一個信號量實行PV操作保證同時只能由一個程序讀寫。創建共享內存主要代碼如下:


CGI(common gateway interface)是外部應用擴展應用程序與WWW服務器交互的一個標準接口。按照CGI標準編寫的外部擴展應用程序可以處理客戶端瀏覽器輸入的數據.從而完成客戶端與服務器的交互操作。CGI腳本程序可以用多種語言編寫,本文中采用C語言編寫CGI程序,具有程序結構簡單、執行效率高的優點。
當有數據從瀏覽器傳到Web服務器后,該服務器會根據傳送的類型,將這些接收到的數據傳入QUERY_STRING變量中,CGI程序可以通過標準輸入,在程序中接收這些數據。當要向瀏覽器發送信息時,只要向Web服務器發送特定的文件頭信息,即可通過標準輸出將信息發往Web服務器,Web服務器處理完這些由CGI程序發來的信息后,就會將這些信息發送給瀏覽器。
在測試監測平臺功能時,將光伏逆變器的DSP控制板RS232接口與ARM板的RS232接口相連,并將ARM板的網口通過網線直接與筆記本相連,將ARM板的IP地址設置為192.168.0.2,將個人電腦 IP 設置為192.168.0.1。
本文提出了一種基于B/S模式的光伏逆變器監測平臺設計方法。給出了相應的軟硬件設計和實現的關鍵技術,詳細分析了實現嵌入式web server功能的軟件結構及程序設計過程。該監測平臺具有硬件接口豐富,軟件結構健壯的特點。由于此設計是一個單獨的模塊,是一個連接下位機和監控者的中間件,只要在軟件上作相應地修改就能很容易地應用到各種嵌入式設備中,在工業或日常生活中具有廣闊的應用前景。
[1]陳曉龍,周文華,劉建華.基于UC1825控制的光伏并網發電系統設計[J].制造業自動化,2010,32(7):173 -175.
[2]馮軻,賀明智,游小杰,等.光伏并網發電系統孤島檢測技術研究[J].電氣自動化,2010,32(2):39 -42.
[3]徐榮珍,李加文,郭偉,等.基于uClinux的串口/以太網數據轉換設備開發[J].計算機工程,2006,32(17):265 -267.
[4]彭道剛,張浩,江劍寧,等.基于ARM和Linux的嵌入式Web Server設計與實現[J].機電一體化,2008,14(10):37 -40.
[5]吳學名.和諧機車車載自動過分相監控系統的研究[D].北京:北京交通大學,2009.
[6]陳昆燦.地鐵牽引變斷路器在線監控系統的設計與開發[D].北京:北京交通大學,2010.
[7]蔣鳴.基于Internet的嵌入式遠程監控系統的研究[D].西安:西北工業大學,2007.
[8]董濤.基于嵌入式Web server的遠程測控系統設計與研究[D].武漢:湖北工業大學,2007.
[9] Zhu F.uCLinux-based webserver realization on ARM platform[C].ISECS InternationalColloquium on Computing, Communication,Control,and Management,2009.
[10]陸永健,王萍,吳佳,等.嵌入式Web服務器Boa的移植及其應用[J].河海大學常州分校學報,2005,19(4):44-47.