張小剛,張琪琪
(國網江西省電力公司九江供電分公司,江西 九江 332000)
為應對全球化石燃料加速枯竭的能源危機和日益高漲的能源需求,各國大力的推動可再生能源快速的發(fā)展,改變能源消費結構,可再生能源將逐漸替代常規(guī)化石燃料能源。而光伏發(fā)電在其自身得天獨厚的條件下,它的發(fā)展也是越來越迅速[1]。同時光伏發(fā)電也容易受到氣象環(huán)境等因素的影響。為分析光照強度、氣溫、濕度等氣象條件對光伏發(fā)電的影響,需要對發(fā)電數(shù)據(jù)及微氣象數(shù)據(jù)進行采集與分析。另外,由于光伏發(fā)電系統(tǒng)通常布設在野外,其數(shù)據(jù)需要通過GPRS 網絡,傳送到信息中心進行存儲與分析[1,2]。在數(shù)據(jù)發(fā)送端,使用了帶GPRS 傳輸協(xié)議的DTU,運行有一個SOCKET 客戶端,自動連接到指定IP 地址和端口的SOCKET 服務器。在數(shù)據(jù)接收端,SOCKET 服務器監(jiān)視來自客戶端連接請求,并接收、解析及保存數(shù)據(jù)[3,4,5]。本文對基于GPRS 及SOCKET 的光伏發(fā)電數(shù)據(jù)接收系統(tǒng)進行設計。
同時,為保證socket 服務器的長期運行,設計了看門狗軟件Watch 以監(jiān)視socket 的運行狀態(tài)。另外,還設計了遠程調試程序,用于對socket 服務程序進行遠程更新。
整個光伏發(fā)電數(shù)據(jù)傳輸系統(tǒng)結構組成如圖1 所示。
圖1 系統(tǒng)總體組成
本文主要描述其數(shù)據(jù)接收系統(tǒng)。光伏發(fā)電數(shù)據(jù)接收系統(tǒng)主要組成部分包括SOCKET服務器、看門狗軟件程序、以及遠程調試程序。其主要作用是接收來自監(jiān)測終端采集的數(shù)據(jù)(該數(shù)據(jù)通過GPRS通信方式發(fā)送),并保存到后臺服務器中。其傳輸?shù)闹饕獏?shù)有:逆變器輸出工作狀態(tài)電壓、電流、總有用功率、日發(fā)電量、總發(fā)電量、總運行時間6個電量參數(shù);以及氣象站輸出的溫度、日照、風速、風向4個參數(shù),共10個數(shù)據(jù)。通過將這10組數(shù)據(jù)在一定的時間間隔內進行推送,實時的顯示出來,以供工作人員的參考。
由于數(shù)據(jù)參數(shù)需要遠程傳輸,所以需要數(shù)據(jù)接收轉發(fā)器和PC服務器通信協(xié)議。下面就光伏發(fā)電數(shù)據(jù)傳輸系統(tǒng)的數(shù)據(jù)通信協(xié)議進行說明。其中,上行數(shù)據(jù)(即由DTU向接收端傳送)傳輸幀的格式為:起始符+設備號+數(shù)據(jù)域+結束符,具體標示如表1 所示(61 個字節(jié))。下行數(shù)據(jù)(由接收端向DTU 返回應答)傳輸帳格式固定為“0×73_03_65”3個字節(jié)。
表1 上行數(shù)據(jù)幀格式
其中:
1)起始符:固定為“0×73”。(即ASCII碼”S”);
2)設備號:0×01→湖口;0×02→彭澤;0×03→共青1號;0×04→共青2號;
3)溫度:范圍-999→+999(備注,表達為ASCII碼.單位:0.1攝氏度)(高位補0,比如溫度為2.3度,發(fā)送數(shù)據(jù)就表達為“+023”);
4)日照:范圍0000→9999(備注,表達為ASCII碼.單位:流明)(高位補0);
5)風速:范圍000→999(備注,表達為ASCII 碼.單位:米/秒)(高位補0);
6)風向:范圍000→999(備注,表達為ASCII 碼.單位:度)(高位補0);
7)A 相電壓:范圍0000→9999(備注,表達為ASCII碼.單位:0.1 V)(高位補0);
8)B 相電壓:范圍0000→9999(備注,表達為ASCII碼.單位:0.1 V)(高位補0);
9)C 相電壓:范圍0000→9999(備注,表達為ASCII碼.單位:0.1V)(高位補0);
10)A 相電流:范圍0000→9999(備注,表達為ASCII碼.單位:0.1 A)(高位補0);
11)B 相電流:范圍0000→9999(備注,表達為ASCII碼.單位:0.1 A)(高位補0);
12)C 相電流:范圍0000→9999(備注,表達為ASCII碼.單位:0.1 A)(高位補0);
13)當前功率:范圍00000→99999(備注,表達為ASCII碼.單位:W;該值是總有功功率)(高位補0);
14)日發(fā)電量:范圍0000→9999(備注,表達為ASCII碼.單位:0.1 kWh;(高位補0);
15)總發(fā)電量:范圍000000→999999(備注,表達為ASCII碼.單位:kWh;(高位補0);
16)總運行時間:范圍000000→999999(備注,表達為ASCII碼.單位:小時;(高位補0);
17)截止符:固定為“0×65”。(即ASCII碼“E”)。
圖2為服務器端主程序流程圖。
圖2 服務器端主程序流程
接收數(shù)據(jù)服務器端的設計主要是利用了微軟的可視化編程工具C#.NET平臺所建立起的可視化操作界面,并結合SQL Server 技術存儲相應處理后到的數(shù)據(jù)。服務器端與數(shù)據(jù)接收轉發(fā)器通過Socket 通信技術,建立連接以實現(xiàn)數(shù)據(jù)的傳輸。
在服務器端的設計中,基于.NET平臺,在服務器窗體設計中,添加相應的控件,并將這些非受管代碼轉換成受管代碼,才可以在.NET 公用語言框架內運行,獲得本地IP地址和本地端口號,將相應通信信息顯示在信息框內。其中服務器端主要功能包括:
服務器端開放固定端口,并通過Dns.GetHostEntry()函數(shù)來獲得本地的IP。再通過Socket 通信技術監(jiān)聽到數(shù)據(jù)接收轉發(fā)器,并與之建立連接。否則,一直在不斷地監(jiān)聽。
服務器端與數(shù)據(jù)接收轉發(fā)器端建立連接后,通過ReceiveVarData()函數(shù)接收數(shù)據(jù)接收轉發(fā)器發(fā)送的數(shù)據(jù)包。并對此數(shù)據(jù)包進行解包,取出相應數(shù)據(jù)進行分析。
將處理過的數(shù)據(jù)放入數(shù)據(jù)庫中后,繼續(xù)接收數(shù)據(jù)接收轉發(fā)器每隔10 min發(fā)送的數(shù)據(jù)。
數(shù)據(jù)接收轉發(fā)器定時發(fā)送數(shù)據(jù),通過GPRS模塊將數(shù)據(jù)包經Internet發(fā)送到Socket服務器端,服務器端通過Socket 通信技術建立連接后,將接受數(shù)據(jù)轉發(fā)器發(fā)來的數(shù)據(jù)包,并返回發(fā)送反饋應答信息。服務器端通過自帶的ReceiveVarData()函數(shù)對數(shù)據(jù)包進行接收,其接受具體的流程如圖3所示。
圖3 數(shù)據(jù)接收流程
服務器端接收到為十進制的數(shù)據(jù)包,通過BitConverter.ToString()函數(shù)將數(shù)據(jù)包的十進制數(shù)轉化為十六進制數(shù);然后通過判斷其數(shù)據(jù)長度是否為完整的數(shù)據(jù)包,其次分別驗證數(shù)據(jù)包的幀頭是否為“73H”、結束符是否為“65H”以及設備號是否對應,若以上條件均滿足條件則接受的數(shù)據(jù)包為完整的數(shù)據(jù)包,然后將完整的數(shù)據(jù)存儲在數(shù)據(jù)庫中。
為方便開發(fā)人員通過遠程的方式,對接收到的數(shù)據(jù)進行分析,socket服務器中集成了數(shù)據(jù)轉發(fā)功能。當接收到數(shù)據(jù)轉發(fā)請求后,從指定的數(shù)據(jù)庫表中提取數(shù)據(jù),發(fā)送給數(shù)據(jù)請求端。數(shù)據(jù)請求端發(fā)來的數(shù)據(jù)請求格式(字符串)為:
remotedata/tablename/orderColumn/rowNumber 即以“remotedata/”字符串開頭,再加上所請求的數(shù)據(jù)表名、排序字段、數(shù)據(jù)行數(shù)。例如:
SOCKET服務器接收到上述請求后,先從數(shù)據(jù)庫的workdata1表中,按nid的逆序提取100條數(shù)據(jù),然后分行寫入一個文本文件,再將該文本文件發(fā)送到數(shù)據(jù)請求端。
為保證SOCKET服務器的長期可靠運行,以及開發(fā)人員通過遠程的方式對其進行更新,開發(fā)了看門狗軟件及遠程調試軟件。
SOCKETE服務器需要不間斷運行以接收SOCKET客戶端發(fā)來的數(shù)據(jù),因此需要監(jiān)測其工作狀態(tài),以保證在其發(fā)生故障時,能夠重啟服務。為此,設計了一個看門狗軟件Watch。該看門狗作為一個socket客戶端,連接到socket 服務器,然后每隔30 秒,向SOCKET 服務器發(fā)送一個問詢字符串“watch”。SOCKET 服務器接收到后,返回給watch 程序一個應答“OK”。如果watch 連發(fā)三次但沒有接收到正確的回復(或者連接不到SOCKET服務器),則重啟SOCKET 服務器。在重啟SOCKET 服務器之前,從數(shù)據(jù)庫中檢查是否有更新的SOCKET 服務器程序版本,如有,則先下載再重啟。
遠程調試軟件作為一個SOCKET客戶端,連接到SOCKET服務器,其功能包括:
1)輸入需要遠程連接的IP地址及端口;
2)連接到指定IP及端口的SOCKET服務器;
3)向SOCET 服務器傳送最新的程序文件,由SOCKET服務器保存到數(shù)據(jù)庫;
4)重啟SOCKET服務器;
5)向SOCKET 服務器請求指定的數(shù)據(jù)庫表中的數(shù)據(jù);
6)向SOCKET服務器請求日志文件。
本文通過仿真,驗證了不同容量不同地點DG接入配電網對用戶端電壓的影響,并通過對比不同功率因素DG接入配電網中對配電網電壓分布的影響,得出可通過調節(jié)分布式電源的功率因素來調節(jié)配網線路電壓分布。為分布式電源參與電網調壓提供了一定參考依據(jù),也為配網滾動規(guī)劃提供一個有益的參考。
[1]黃海宏,朱晶晶,梁平.通用型光伏電站監(jiān)控系統(tǒng)的研制[J].電氣自動化.2010(05).
[2]舒杰,吳昌宏,張先勇.基于GPRS的風光互補發(fā)電無線遠程監(jiān)測系統(tǒng)[J].可再生能源.2010(01).
[3]廉小親,張曉力,段振剛,等.基于GPRS的光伏發(fā)電遠程監(jiān)測系統(tǒng)的設計[J].測控技術.2011(05).
[4]彭繼慎,李文帥,李秋香.太陽能光伏發(fā)電無線遠程監(jiān)控系統(tǒng)的研究與設計[J].計算機測量與控制.2012(12).
[5]陳國華.一種分布式光伏電站遠動信息無線實時采集與傳輸方案[J].電氣技術.2014(6).