本發(fā)明涉及新能源領(lǐng)域,尤其涉及一種基于Linux的光伏并網(wǎng)Web監(jiān)測系統(tǒng)。
背景技術(shù):
隨著全球儲備能源的快速消耗,諸如煤、石油、天然氣等傳統(tǒng)能源的供應(yīng)愈發(fā)緊張,為了緩解能源與環(huán)境危機,風(fēng)能、太陽能等一次可再生能源的開發(fā)利用得到高度關(guān)注。光伏發(fā)電作為一種新能源的發(fā)電形式,具有很不錯的發(fā)展前景。但它受環(huán)境影響較大,且由于發(fā)電的不連續(xù)和不確定性,并網(wǎng)運行時等會影響電網(wǎng)電能質(zhì)量,甚至影響電網(wǎng)的正常運行。為了實時了解并網(wǎng)系統(tǒng)運行狀況并對系統(tǒng)進行控制,需要對光伏發(fā)電并網(wǎng)系統(tǒng)進行監(jiān)控。
監(jiān)控系統(tǒng)是集控制技術(shù)、計算機技術(shù)和網(wǎng)絡(luò)技術(shù)為一體的高科技產(chǎn)品,用于工業(yè)系統(tǒng)的監(jiān)測、控制和管理,具有實時性強、控制力強和方便可靠等優(yōu)點。計算機、自動化和通信等技術(shù)的發(fā)展,使監(jiān)控系統(tǒng)從傳統(tǒng)的集散控制變?yōu)榧锌刂?,同時它也為遠程管理奠定了良好的基礎(chǔ)。
隨著計算機技術(shù)的迅速發(fā)展和互聯(lián)網(wǎng)的普及,Web技術(shù)也得到廣泛應(yīng)用。Web技術(shù)為遠程監(jiān)測和管理提供了一種新的方法,操作員可以通過Web在不同地點對控制系統(tǒng)進行監(jiān)控,隨時了解系統(tǒng)的運行狀態(tài)并進行相應(yīng)的管控。基于web的網(wǎng)絡(luò)監(jiān)控模式為用戶提供統(tǒng)一的圖形界面,能解決多平臺互操作問題,實現(xiàn)系統(tǒng)實時監(jiān)控,是一項值得研究和探索的技術(shù)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于Linux的光伏并網(wǎng)Web監(jiān)測系統(tǒng),以實現(xiàn)光伏并網(wǎng)系統(tǒng)的實時遠程監(jiān)測。本發(fā)明主要采用如下技術(shù)方案:
一種基于Linux的光伏并網(wǎng)Web監(jiān)測系統(tǒng),包括:光伏并網(wǎng)系統(tǒng)、核心控制器FPGA、Web服務(wù)器、SQLite數(shù)據(jù)庫、計算機或移動終端等。光伏并網(wǎng)系統(tǒng)與核心控制器FPGA中的核1相連,Web服務(wù)器則與核0相連,F(xiàn)PGA內(nèi)部核1與核0可進行實時數(shù)據(jù)交互,同時,Web服務(wù)器也與電腦或移動終端連接。其中,核心控制器FPGA采用異構(gòu)雙核模式,核1產(chǎn)生光伏并網(wǎng)系統(tǒng)的控制信號,核0搭載Linux系統(tǒng)來運行網(wǎng)絡(luò)服務(wù)、數(shù)據(jù)存儲和監(jiān)測等功能。首先在核心控制器FPGA的核0中搭建Linux系統(tǒng);然后進行光伏并網(wǎng)Web監(jiān)測系統(tǒng)的設(shè)計,包括:Web服務(wù)器選擇及其體系架構(gòu)設(shè)計、公共網(wǎng)關(guān)接口(CGI)設(shè)計、數(shù)據(jù)庫選擇及其與CGI通信設(shè)計、Web監(jiān)控界面的設(shè)計;最后給出了核0的應(yīng)用程序設(shè)計、異構(gòu)雙核處理器啟動和通信方式選擇等。Linux采用B/S架構(gòu),通過Web網(wǎng)絡(luò)服務(wù),用戶可使用電腦或移動終端訪問網(wǎng)頁,實現(xiàn)對光伏并網(wǎng)系統(tǒng)的遠程監(jiān)測。
優(yōu)選的,所述核心控制器FPGA選用異構(gòu)雙核的Zynq-7000型號。在FPGA中,系統(tǒng)功能實現(xiàn)主要包括三層:硬件層、系統(tǒng)層和應(yīng)用層。FPGA中,核1實現(xiàn)光伏并網(wǎng)系統(tǒng)的相關(guān)控制,主要完成MPPT、SPWM、CAP和ADC等算法程序設(shè)計,核0移植Linux系統(tǒng),實現(xiàn)光伏監(jiān)測,包括:遠程登錄、數(shù)據(jù)存儲和人機交互等,同時兩核也可以進行實時數(shù)據(jù)交互。
優(yōu)選的,本發(fā)明給出了核0的Linux系統(tǒng)實現(xiàn)整體架構(gòu),包括移植編譯Uboot、Kernal、Devicetree及Rootfs等Linux系統(tǒng)文件,通過CGI程序調(diào)用,實現(xiàn)Web界面和主機的信息交互。同時編寫了多線程的應(yīng)用程序,包含Web數(shù)據(jù)接收和發(fā)送線程、數(shù)據(jù)庫存儲線程、雙核間通信線程、過流過壓和系統(tǒng)異常保護等線程。
優(yōu)選的,所述Web服務(wù)器選擇體積小、性能高的Boa嵌入式服務(wù)器,它響應(yīng)快、資源開銷小、能支持動態(tài)CGI并且源代碼開放。采用CGI作為Boa服務(wù)器和應(yīng)用程序的標(biāo)準(zhǔn)接口,CGI接口技術(shù)能使服務(wù)器與瀏覽器產(chǎn)生很好的交互性。系統(tǒng)選擇小型SQLite數(shù)據(jù)庫,它占有資源少、系統(tǒng)開銷低,使用簡單靈活。人機界面是基于HTML/JSP語言編寫的,主要有登錄界面、光伏管理界面、實時信息顯示界面和歷史數(shù)據(jù)顯示界面。
優(yōu)選的,所述Linux進程間通信(IPC)方式選擇如下:消息隊列用于Web網(wǎng)頁經(jīng)CGI向網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù),包括指令和少量數(shù)據(jù);共享內(nèi)存用于CGI傳送到web中實時顯示,環(huán)境信息包括電網(wǎng)電壓、電流,直流母線電壓、電流和輸出電壓、電流等;信號量用于完成線程間的同步互斥機制,保證臨界資源安全可靠;信號用于接收系統(tǒng)信號和用戶指定的信號來完成相應(yīng)的操作等;套接字用于多主機間網(wǎng)絡(luò)通信,便于系統(tǒng)維護和擴展。
優(yōu)選的,所述核0不僅運行Linux實現(xiàn)Web監(jiān)測,同時喚醒和監(jiān)聽核1,并與核1進行通信。
優(yōu)選的,所述核0運行Linux系統(tǒng)、核1運行光伏并網(wǎng)應(yīng)用程序的機制是一種非對稱異構(gòu)多處理機制,是嵌入式發(fā)展的一項重大突破。在FPGA中,核0與核1有公有資源(如全局定時器)和私有資源(如私有中斷),它們通過公有資源OCM實現(xiàn)通信。OCM在一塊連續(xù)的內(nèi)存中分配資源,它是一塊共享內(nèi)存,需要使用內(nèi)存映射后的地址來訪問。在設(shè)備目錄下存在/dev/shm設(shè)備文件,通過open函數(shù)和mmap函數(shù)即可獲的共享內(nèi)存的起始映射地址。在程序中進行宏定義,其中COMM_BASE是雙核間通信的起始物理地址,訪問映射后加上相應(yīng)的偏移量的通信地址,即可實現(xiàn)雙核間通信。另外采用了問答機制避免兩核產(chǎn)生通信沖突。
本發(fā)明的優(yōu)點在于:
1、雙核系統(tǒng)易于擴充,外形小巧且處理性能強大,所用功耗低,產(chǎn)生熱量少;
2、所選CGI接口技術(shù)能使服務(wù)器與網(wǎng)頁產(chǎn)生很好的交互性;移植的Boa服務(wù)器占用資源少、系統(tǒng)開銷低;雙核問答通信機制能有效避免兩核間通信沖突。
3、基于Web的監(jiān)測系統(tǒng)能隨時隨地對光伏并網(wǎng)系統(tǒng)狀態(tài)進行監(jiān)測。
以下將結(jié)合附圖對本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進一步說明,以充分地了解本發(fā)明的目的、特征和效果。
附圖說明
圖1為本發(fā)明的基于Linux的光伏并網(wǎng)Web監(jiān)測系統(tǒng)結(jié)構(gòu)圖;
圖2為本發(fā)明的雙核FPGA系統(tǒng)功能框圖;
圖3為本發(fā)明的核0軟件結(jié)構(gòu)框圖;
圖4為本發(fā)明的Web服務(wù)器體系架構(gòu)圖;
圖5為本發(fā)明的CGI工作流程圖;
圖6為本發(fā)明的Linux系統(tǒng)程序設(shè)計結(jié)構(gòu)圖;
圖7為本發(fā)明的雙核通信原理圖;
圖8為本發(fā)明的核0啟動流程圖;
圖9為本發(fā)明的用戶登錄身份驗證流程圖;
圖10為本發(fā)明的網(wǎng)頁系統(tǒng)的用戶登錄界面;
圖11為本發(fā)明的用戶信息匹配測試圖;
圖12為本發(fā)明的用戶管理流程圖;
圖13為本發(fā)明的網(wǎng)頁系統(tǒng)的光伏并網(wǎng)管理界面;
圖14為本發(fā)明的網(wǎng)頁系統(tǒng)的光伏信息實時顯示界面;
圖15為本發(fā)明的歷史數(shù)據(jù)管理流程圖;
圖16為本發(fā)明的網(wǎng)頁系統(tǒng)的歷史數(shù)據(jù)顯示界面。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明。
一種基于Linux的光伏并網(wǎng)Web監(jiān)測系統(tǒng),其結(jié)構(gòu)如圖1所示。系統(tǒng)主要包括:光伏并網(wǎng)系統(tǒng)、核心控制器FPGA、Web服務(wù)器、SQLite數(shù)據(jù)庫、計算機或移動終端等。光伏并網(wǎng)系統(tǒng)與核心控制器FPGA中的核1相連,Web服務(wù)器則與核0相連,F(xiàn)PGA內(nèi)部核1與核0可進行實時數(shù)據(jù)交互,同時,Web服務(wù)器也與電腦或移動終端連接。其中,核心控制器FPGA采用異構(gòu)雙核模式,核1產(chǎn)生光伏并網(wǎng)系統(tǒng)的控制信號,核0搭載Linux系統(tǒng)來運行網(wǎng)絡(luò)服務(wù)、數(shù)據(jù)存儲和監(jiān)測等功能。首先在核心控制器FPGA的核0中搭建Linux系統(tǒng);然后進行光伏并網(wǎng)Web監(jiān)測系統(tǒng)的設(shè)計,包括:Web服務(wù)器選擇及其體系架構(gòu)設(shè)計、公共網(wǎng)關(guān)接口(CGI)設(shè)計、數(shù)據(jù)庫選擇及其與CGI通信設(shè)計、Web監(jiān)控界面的設(shè)計;最后給出了核0的應(yīng)用程序設(shè)計、異構(gòu)雙核處理器啟動和通信方式選擇等。Linux采用B/S架構(gòu),通過Web網(wǎng)絡(luò)服務(wù),用戶可使用電腦或移動終端訪問網(wǎng)頁,實現(xiàn)對光伏并網(wǎng)系統(tǒng)的遠程監(jiān)測。
核心控制器FPGA選用異構(gòu)雙核的Zynq-7000型號。在FPGA中,系統(tǒng)功能實現(xiàn)主要包括三層:硬件層、系統(tǒng)層和應(yīng)用層,其功能框圖如圖2所示。FPGA中,核1實現(xiàn)光伏并網(wǎng)系統(tǒng)的相關(guān)控制,主要完成MPPT、SPWM、CAP和ADC等算法程序設(shè)計,核0移植Linux系統(tǒng),實現(xiàn)光伏監(jiān)測,包括:遠程登錄、數(shù)據(jù)存儲和人機交互等,同時兩核也可以進行實時數(shù)據(jù)交互。
圖3給出了核心控制器FPGA核0的軟件實現(xiàn)整體架構(gòu),包括移植編譯Uboot、Kernal、Devicetree及Rootfs等Linux系統(tǒng)文件,設(shè)計了Web交互界面,通過CGI程序調(diào)用,實現(xiàn)Web界面和主機的信息交互。同時編寫了多線程的應(yīng)用程序,包含Web數(shù)據(jù)接收和發(fā)送線程、數(shù)據(jù)庫存儲線程、雙核間通信線程、過流過壓和系統(tǒng)異常保護等線程。
Web光伏監(jiān)測系統(tǒng)選擇體積小、性能高的Boa嵌入式Web服務(wù)器,它響應(yīng)快、資源開銷小、能支持動態(tài)CGI并且源代碼開放。圖4給出了Web服務(wù)器體系架構(gòu)。采用CGI作為Boa服務(wù)器和應(yīng)用程序的標(biāo)準(zhǔn)接口,系統(tǒng)選擇小型SQLite數(shù)據(jù)庫,它占有資源少、系統(tǒng)開銷低,使用簡單靈活。人機界面是基于HTML/JSP語言編寫的,主要有登錄界面、光伏管理界面、實時信息顯示界面和歷史數(shù)據(jù)顯示界面。
CGI為公共網(wǎng)關(guān)接口,它是系統(tǒng)的應(yīng)用程序與Web服務(wù)器之間的標(biāo)準(zhǔn)接口,能使CGI程序和Web服務(wù)器進行信息傳遞,CGI接口技術(shù)能使服務(wù)器與瀏覽器產(chǎn)生很好的交互性。其工作流程圖如圖5所示。編譯CGI應(yīng)用程序時,需包含cgi.c和cgi.h等相應(yīng)文件,其中cgi.c文件中定義了CGI應(yīng)用程序的接口函數(shù)及變量,而cgi.h文件中聲明了cgi.c文件中的函數(shù)接口及變量,生成指定的目標(biāo)文件需通過自定義的源文件與cgi.c聯(lián)合編譯生成.cgi的文件。當(dāng)網(wǎng)頁提交Form表單的時候,即會調(diào)用www/cgi.bin/中相應(yīng)的.cgi目標(biāo)文件,同時服務(wù)器調(diào)用相應(yīng)的.cgi也向網(wǎng)頁傳送信息。
Linux系統(tǒng)執(zhí)行應(yīng)用程序時,程序必須經(jīng)過交叉編譯器編譯過,且是ARM格式的目標(biāo)文件。當(dāng)Linux系統(tǒng)啟動后,在/etc/init.d/rcS開機腳本中添加應(yīng)用程序,即可實現(xiàn)應(yīng)用程序的開機啟動。系統(tǒng)啟動后需執(zhí)行多個線程,其中包括接收Web網(wǎng)頁發(fā)來的控制命令線程、發(fā)送數(shù)據(jù)到Web網(wǎng)頁顯示線程、數(shù)據(jù)庫線程、雙核間通信線程、過流過壓等保護線程和系統(tǒng)異常線程。Linux系統(tǒng)程序設(shè)計結(jié)構(gòu)如圖6所示。所述Linux進程間通信(IPC)方式選擇如下:消息隊列用于Web網(wǎng)頁經(jīng)CGI向網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù),包括指令和少量數(shù)據(jù);共享內(nèi)存用于CGI傳送到web中實時顯示,環(huán)境信息包括電網(wǎng)電壓、電流,直流母線電壓、電流和輸出電壓、電流等;信號量用于完成線程間的同步互斥機制,保證臨界資源安全可靠;信號用于接收系統(tǒng)信號和用戶指定的信號來完成相應(yīng)的操作等;套接字用于多主機間網(wǎng)絡(luò)通信,便于系統(tǒng)維護和擴展。
核0運行Linux系統(tǒng)、核1運行光伏并網(wǎng)應(yīng)用程序的機制是一種非對稱異構(gòu)多處理機制,是嵌入式發(fā)展的一項重大突破。在FPGA中,核0與核1有公有資源(如全局定時器)和私有資源(如私有中斷),它們通過公有資源OCM實現(xiàn)通信。OCM在一塊連續(xù)的內(nèi)存中分配資源,它是一塊共享內(nèi)存,需要使用內(nèi)存映射后的地址來訪問。在設(shè)備目錄下存在/dev/shm設(shè)備文件,通過open函數(shù)和mmap函數(shù)即可獲的共享內(nèi)存的起始映射地址。在程序中進行宏定義,其中COMM_BASE是雙核間通信的起始物理地址,訪問映射后加上相應(yīng)的偏移量的通信地址,即可實現(xiàn)雙核間通信。另外采用了問答機制避免兩核產(chǎn)生通信沖突。雙核通信原理如圖7所示。即當(dāng)核1向核0發(fā)送數(shù)據(jù),核1將發(fā)送標(biāo)志置1,同時發(fā)送數(shù)據(jù)。核0循環(huán)讀取發(fā)送標(biāo)志,若發(fā)送標(biāo)志置1,即讀取數(shù)據(jù)并清除發(fā)送標(biāo)志。同理,當(dāng)核1接收核0發(fā)送數(shù)據(jù),核0將接收標(biāo)志置1,同時接收數(shù)據(jù)。核1循環(huán)讀取接收標(biāo)志,若接收標(biāo)志置1,即讀取數(shù)據(jù)并清除接收標(biāo)志。
核心控制器FPGA核0啟動流程如圖8所示,核0不僅運行Linux實現(xiàn)Web監(jiān)測,同時喚醒和監(jiān)聽核1,并與核1進行通信。采用B/S架構(gòu)完成基于Linux系統(tǒng)的網(wǎng)絡(luò)通信,實現(xiàn)遠程登錄、實時顯示、報警以及歷史數(shù)據(jù)存儲功能。
WEB網(wǎng)頁的設(shè)計主要包括:用戶信息存儲與驗證、系統(tǒng)管理員信息的注冊和歷史數(shù)據(jù)信息存儲等。圖9為本發(fā)明用戶登錄身份驗證流程圖。用戶使用Web服務(wù)器時首先進行身份驗證。首次登陸需要注冊,通過CGI和SQLite交互,把用戶名存入數(shù)據(jù)庫中,調(diào)用sqlite3_open()函數(shù)打開數(shù)據(jù)庫,通過sqlite3_get_tab()函數(shù)讀取數(shù)據(jù)。CGI程序把用戶從瀏覽器發(fā)出的用戶名和密碼信息同數(shù)據(jù)庫數(shù)據(jù)進行匹配,若成功,則跳轉(zhuǎn)到光伏主界面HTML網(wǎng)頁,否則跳轉(zhuǎn)到原頁面重新登錄。其對應(yīng)的用戶登錄界面如圖10所示。圖11為登陸信息匹配測試圖,上半部分是從數(shù)據(jù)庫中匹配打印出的用戶名和密碼,下半部分是用戶登錄的用戶名和密碼,若匹配成功,則提示“Login successful!”,并跳轉(zhuǎn)主界面,否則提示不成功,并跳轉(zhuǎn)回登錄界面。圖12為本發(fā)明的用戶管理流程圖。在啟動用戶管理時,系統(tǒng)請求輸入管理員的用戶名和密碼,與數(shù)據(jù)庫中數(shù)據(jù)進行匹配,判斷是否為管理員。當(dāng)確定為管理員權(quán)限后進入用戶管理界面,管理員可在界面中進行用戶注冊、刪除等操作。其對應(yīng)的網(wǎng)頁系統(tǒng)的光伏并網(wǎng)管理界面如圖13所示。圖14為本發(fā)明的網(wǎng)頁系統(tǒng)的光伏信息實時顯示界面。包括并網(wǎng)系統(tǒng)各個變量狀態(tài)信息和系統(tǒng)整體運行狀態(tài)信息。圖15為本發(fā)明的歷史數(shù)據(jù)管理流程圖。網(wǎng)絡(luò)服務(wù)器每隔一段時間會向Web網(wǎng)頁上傳送光伏系統(tǒng)的實時信息,包括電網(wǎng)電壓、電流、直流母線電壓、電流和輸出電壓、電流等信息。系統(tǒng)將收到的數(shù)據(jù)存至數(shù)據(jù)庫中,用戶可根據(jù)需求隨時查詢系統(tǒng)歷史狀態(tài)信息。同時判斷是否為異常數(shù)據(jù),若是,則進行標(biāo)記并報警。其對應(yīng)的網(wǎng)頁系統(tǒng)的歷史數(shù)據(jù)顯示界面如圖16所示。以上詳細描述了本發(fā)明的較佳具體實施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)無需創(chuàng)造性勞動就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過邏輯分析、推理或者有限的實驗可以得到的技術(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護范圍內(nèi)。