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