服務(wù)熱線(xiàn)
18971653633
公司動(dòng)態(tài)NEWS
風(fēng)電場(chǎng)網(wǎng)絡(luò )通訊采用光纜傳輸,風(fēng)機與風(fēng)機之間的網(wǎng)絡(luò )拓撲結構采用可自愈式以太環(huán)網(wǎng)結構,風(fēng)場(chǎng)級拓撲結構為多環(huán)結構。風(fēng)機機艙與塔基之間的連接光纜為多模光纜。風(fēng)機與風(fēng)機之間及風(fēng)機與監控中心之間的連接均為單模光纜。風(fēng)場(chǎng)通訊網(wǎng)絡(luò )環(huán)內采用100M光纖以太網(wǎng)絡(luò )。核心交換機與風(fēng)場(chǎng)監控系統服務(wù)器的接口采用1000M以太網(wǎng)。
硬件系統包括數采服務(wù)器2臺、數據服務(wù)器2臺、應用服務(wù)器2臺(應用服務(wù)器通常與數采服務(wù)器合二為一)、發(fā)布機1臺、I/O機1臺,操作員站1臺、若干安全隔離設備。其中,數據服務(wù)器存放歷史數據,具體實(shí)施過(guò)程中,甲方可根據風(fēng)場(chǎng)規模進(jìn)行服務(wù)器配置,小規模風(fēng)場(chǎng)可將數采服務(wù)器、數據服務(wù)器、應用服務(wù)器合而為一,對于大規模風(fēng)場(chǎng)可部署多臺數采服務(wù)器、數據服務(wù)器及應用服務(wù)器,軟件采用模塊化設計,可部署于同一臺服務(wù)器也可分別部署。
服務(wù)器采用龍芯3C5000L服務(wù)器處理器芯片,2.2G/16核,基于*自主的LoongArch®龍芯指令系統,支持雙路、四路機架式及塔式、高密度等多種服務(wù)器及存儲產(chǎn)品形態(tài)。雙路32核服務(wù)器具備高性?xún)r(jià)比,四路64核服務(wù)器性能好,算力強。龍芯3C5000L完善支持Docker、KVM等虛擬化應用,適合數據中心、云計算以及高性能計算等領(lǐng)域廣泛應用。詳細參數如下。
四、軟件設計說(shuō)明
將軟件分為三層,其組成和框架如下圖2。
關(guān)于該系統開(kāi)發(fā),軟件部署主要包括風(fēng)機數采服務(wù)器程序、應用服務(wù)器程序、數據服務(wù)器程序、發(fā)布機程序、I/O機程序。
將該監控系統程序根據功能結構劃分為三層,采集層、服務(wù)層、前端網(wǎng)站,每部分均可根據服務(wù)器分布情況獨立安裝部署,程序之間均采用標準UDP或TCP協(xié)議。
I/O機主要完成協(xié)議轉換及第三方接口通訊功能,主要通訊協(xié)議均部署在該服務(wù)器,在實(shí)際應用中,各技術(shù)協(xié)議是以應用的方式呈現的,可根據系統程序框架,自由添加協(xié)議,可對每個(gè)協(xié)議進(jìn)程進(jìn)行添加、關(guān)閉和配置。按照程序開(kāi)發(fā)架構方式,各通訊協(xié)議均可部署至任何一臺服務(wù)器。
發(fā)布機包含了完整的網(wǎng)站服務(wù)、UI、網(wǎng)閘通訊、歷史數據記錄及查詢(xún)功能,將風(fēng)機數據發(fā)布至公網(wǎng),可遠程訪(fǎng)問(wèn)查看該風(fēng)場(chǎng)狀態(tài)。
(一)軟件架構
根據軟件的三層結構,軟件的設計框架如圖3所示。
1、SCADA展示層,首先需通過(guò)“檔案管理”模塊,錄入風(fēng)機模塊信息,并導入模塊點(diǎn)表;
2、根據模塊信息組合出風(fēng)機類(lèi)型,配置風(fēng)機相關(guān)的通信參數;
3、數據服務(wù)的部分,根據配置的風(fēng)機相關(guān)信息,生成數采所需的配置信息:如鏈路配置,IO點(diǎn)表信息,創(chuàng )建風(fēng)機通信的模塊;
4、風(fēng)機配置完成后,數采的部分開(kāi)始工作:各個(gè)通信模塊通過(guò)點(diǎn)表信息,采集風(fēng)機的數據,并將數據寫(xiě)入實(shí)時(shí)數據緩存;
5、實(shí)時(shí)數據rtdb緩存將數據進(jìn)行整理,分發(fā)給不同的應用模塊
6、實(shí)時(shí)數據模塊:指令通道,用于單獨處理SCADA下發(fā)的指令,并將指令下發(fā)給數采來(lái)控制風(fēng)機;emqx主要用于SCADA頁(yè)面的實(shí)時(shí)數據訂閱/發(fā)布;redis主要用于緩存實(shí)時(shí)數據,并緩存一些統計信息;
7、能量管理算法模塊:處理風(fēng)場(chǎng)本地調度、電網(wǎng)調度、集控調度;并將調度的過(guò)程進(jìn)行記錄;
8、歷史數據的部分是通過(guò)實(shí)時(shí)數據的接口進(jìn)行周期或者變位存盤(pán);并定期做數據調度,處理統計信息;并需根據主控上傳的報警信息,處理報警數據的存盤(pán);
9、SCADA展示層數據源從兩個(gè)方面獲?。簩?shí)時(shí)數據主要通過(guò)訂閱的方式從實(shí)時(shí)數據區獲??;歷史統計信息主要從歷史數據庫中獲??;
(二)通信層設計
1、風(fēng)機設備模型:如圖4所示。
1).根據不同的風(fēng)機類(lèi)型點(diǎn)表,對點(diǎn)表進(jìn)行抽象分類(lèi),并對分類(lèi)的數據點(diǎn)進(jìn)行編碼,并生成數據點(diǎn)表;
2).數據點(diǎn)表可以在檔案管理里面進(jìn)行相關(guān)的處理;
3).展示層所有的標量數據顯示都是根據指標碼的形式反向查詢(xún)數據檔案進(jìn)行顯示;
2、數據傳輸流程:如圖5所示。
1).數采的部分采用成熟的QTouch采集軟件框架,里面涵蓋豐富的設備通信驅動(dòng),保證現場(chǎng)所有的設備能夠正常聯(lián)網(wǎng)通信;所有的數據進(jìn)入實(shí)時(shí)共享內存區,供其它接口實(shí)時(shí)訪(fǎng)問(wèn);
2).在數采服務(wù)器與數據服務(wù)器分離的情況下,前置服務(wù)器用于接收數采傳輸的實(shí)時(shí)數據,此部分需代碼重新開(kāi)發(fā)調整
3).報警引擎的部分:需在QTouch的報警體系下進(jìn)行重定義代碼級開(kāi)發(fā)調整;
4).消息中間件:采集第三方emqx消息中間件,redis實(shí)時(shí)數據緩存;用做數據的實(shí)時(shí)訂閱和發(fā)布(此功能需代碼開(kāi)發(fā)調整);
5).此部分會(huì )用到兩套emqx中間件:一套用作頁(yè)面實(shí)時(shí)展示的數據,一套用作控制下發(fā)的操作,確??刂频膶?shí)時(shí)有效而不受其它模塊影響
6).一套redis實(shí)時(shí)數據緩存服務(wù):主要用于頁(yè)面的實(shí)時(shí)曲線(xiàn)數據緩存部分的數據;
7).原始數據直接根據接收端的數據緩存直接存儲:此部分需代碼級開(kāi)發(fā)
8).根據業(yè)務(wù)邏輯,將數據進(jìn)行分庫分表存儲:如,分鐘、小時(shí)、天、月、年進(jìn)行分表存儲;業(yè)務(wù)邏輯存儲部分,單一個(gè)模塊,直接從實(shí)時(shí)數據庫中獲取數據;
9).分表策略;仍然以風(fēng)機為單位,單個(gè)風(fēng)機分為模擬量表、開(kāi)關(guān)量表(模擬量和開(kāi)關(guān)量分開(kāi),主要是因為模擬量可以按照秒級存儲,開(kāi)關(guān)量按照狀態(tài)變化來(lái)存儲);以橫向存儲為原則,即單個(gè)風(fēng)機在一個(gè)時(shí)刻存儲在數據庫中為一條數據;
10).web發(fā)布:采用成熟的apache web服務(wù)器框架進(jìn)行發(fā)布應用,前端采用的是SSM框架進(jìn)行代碼開(kāi)發(fā);
11).與第三方數據交互主要采用OPC UA、或者104等通信協(xié)議來(lái)進(jìn)行交互;
(三)服務(wù)引用層
1.系統服務(wù)
整個(gè)系統提供七大服務(wù):數采服務(wù)、消息中間件服務(wù)、存儲數據服務(wù)、數據服務(wù)、數據調度服務(wù)、數據推送服務(wù)、web服務(wù),如圖6所示:
2.服務(wù)集群部署:如圖7所示
(四)數據庫層
1.功能與數據流向圖
從原始數據進(jìn)入系統到數據輸出到前端供WEB系統應用,整個(gè)數據流向分為:原始數據、數據預處理、數據應用三個(gè)階段。
原始數據,即由前置通訊解析完成后所取得的設備數據,此數據不作任何二次計算。在原始數據中,由于數據存儲的頻率到秒級、要求存儲的周期至少3個(gè)月,設備數量在300臺左右,因此在原始數據的存儲上以設備為單位進(jìn)行分表。則300臺設備其原始數據為300套數據單元表。
數據預處理:為提高系統訪(fǎng)問(wèn)速度,給予前端應用良好的體驗效果,故應以最小的延時(shí)時(shí)間讓用戶(hù)盡快獲取到數據。在原始數據進(jìn)入數據庫后,再根據應用功能的要求進(jìn)行數據的二次計算,包括發(fā)電量、故障統計、風(fēng)速統計,也包括最大值、最小值等數據的計算。整個(gè)數據的預處理,將會(huì )在后臺以不同的頻率時(shí)行調度執行,執行完成的結果寫(xiě)入固定的數據表中,再給其它功能調度使用。
數據應用:數據應用的直接體現為用戶(hù)前端的數據查詢(xún)。根據分表的原則,以秒級為單位,則單臺風(fēng)機的月累計數據量為:86400條,連續保存三個(gè)月,則為:26萬(wàn)條。數據應用查詢(xún)以單臺風(fēng)機查詢(xún)時(shí),可以保持良好的體驗。
2.實(shí)體和屬性
實(shí)體是實(shí)體-關(guān)系模型的基本對象,是現實(shí)案例中各種事物的抽象。凡是可以相互區別并可以被識別的事、物、概念等對象均可認為是實(shí)體。本系統數據庫中,以單臺風(fēng)機為基礎,按實(shí)體進(jìn)行劃分如下:
數據分表
2.1原始表
①表命名規則:
fan_sto_風(fēng)機編號_sec_201901 : 秒級存儲(按月、風(fēng)機編號分表)
fan_sto_風(fēng)機編號_min : 分級存儲(按月、風(fēng)機編號分表)
fan_sto_風(fēng)機編號_hour : 時(shí)級存儲(按月、風(fēng)機編號分表)
fan_sto_風(fēng)機編號_day : 天級存儲(按月、風(fēng)機編號分表)
②外鍵關(guān)聯(lián):
sto_field_id 風(fēng)場(chǎng)編號 >>關(guān)聯(lián)>>dwf_field風(fēng)場(chǎng)表的dwf_id
sto_fan_id 風(fēng)機編號 >>關(guān)聯(lián)>>dgf_fan風(fēng)場(chǎng)表的dgf_id
③取值方案:
原始表根據數據類(lèi)型分為:模擬量。模擬量根據數據粒度分為:秒級、分鐘級、小時(shí)級,其中,秒級存儲原始值;分鐘級存儲整分時(shí)刻原始值;小時(shí)級存儲整點(diǎn)時(shí)刻原始值;
④原始數據存儲及自動(dòng)創(chuàng )表原則:
原始數據儲存單風(fēng)機一個(gè)月數據,自動(dòng)創(chuàng )建數據表。自動(dòng)創(chuàng )建數據表可以調用存儲過(guò)程,亦可以在代碼中創(chuàng )建。
⑤表數據容量估算:
秒級數據單月存儲量:60秒*60分*24小時(shí)*31天=268萬(wàn)
分鐘級數據單月存儲量:60分*24小時(shí)*31天=4.46萬(wàn)
原始數據表結構:
數字量存儲:
①表命名規則:
fan_std_風(fēng)機編號_年份 : 開(kāi)關(guān)量量化即儲存(按年、風(fēng)機編號分表)
②外鍵關(guān)聯(lián):
std_field_id 風(fēng)場(chǎng)編號 >>關(guān)聯(lián)>>dwf_field風(fēng)場(chǎng)表的dwf_id
std_fan_id 風(fēng)機編號 >>關(guān)聯(lián)>>dgf_fan風(fēng)場(chǎng)表的dgf_id
③取值方案:
開(kāi)關(guān)量量化即儲存
④原始數據存儲及自動(dòng)創(chuàng )表原則:
每臺風(fēng)機每年一張表,自動(dòng)創(chuàng )建數據表。自動(dòng)創(chuàng )建數據表可以調用存儲過(guò)程,亦可以在代碼中創(chuàng )建。
⑤表數據容量估算:
單表一年數據:41次*365天*200開(kāi)關(guān)量=299萬(wàn)
即每天風(fēng)機的所有開(kāi)關(guān)量平均變化不超過(guò)41次時(shí),單表一年數據不超成功300萬(wàn)條
2.2實(shí)時(shí)表
實(shí)時(shí)表主要用來(lái)存儲單臺風(fēng)機實(shí)時(shí)數據,單臺實(shí)時(shí)數據包括:實(shí)時(shí)值、狀態(tài)值、統計值和靜態(tài)檔案。
實(shí)時(shí)值:實(shí)時(shí)刷新風(fēng)機的參數值由消息隊列推送于前端應用。另外一部分實(shí)時(shí)值包括氣象數據、箱變信息也一并由消息隊列推送于前端應用。
狀態(tài)值:風(fēng)機運行狀態(tài)由設備端上送風(fēng)機狀態(tài),(變化上送和存儲)主動(dòng)存儲到設備狀態(tài)數據表中。
統計值:由歷史數據進(jìn)行統計,包括:日發(fā)電量、月發(fā)電量,報警數據量,累計運行時(shí)間、累計維護次數等統計值。
設備檔案:包括設備編號、設備類(lèi)型等靜態(tài)信息。
2.3設備狀態(tài)
設備狀態(tài),主要記錄風(fēng)機通訊狀態(tài)變化。當風(fēng)機發(fā)生故障,通訊中斷時(shí)通知系統用戶(hù)。當風(fēng)機排除故障,通訊恢復正常后通知系統用戶(hù)。設備狀態(tài)以變位方式存儲。
2.4統計表
統計表主要針對37項統計項,分為自由統計和報表下載;自由統計由:普通統計、分段統計、風(fēng)玫瑰圖報表、功率曲線(xiàn)報表組成;報表下載由:日報表、月報表、年報表、日分段報表、月分段報表、年分段報表、損失電量報表、時(shí)間可利用率報表、發(fā)電量可利用率報表組成。
37項統計方法說(shuō)明如下:
發(fā)電量:查詢(xún)首尾時(shí)間的總發(fā)電量相減;
耗電量:查詢(xún)首尾時(shí)間的耗電量相減;
風(fēng)機可以用率:1-(風(fēng)機自身故障小時(shí)數/統計小時(shí)數);
最小風(fēng)速:查詢(xún)時(shí)間段內的瞬時(shí)風(fēng)速取最小值;
最大風(fēng)速:查詢(xún)時(shí)間段內的瞬時(shí)風(fēng)速取最大值;
平均風(fēng)速:查詢(xún)時(shí)間段內的瞬時(shí)風(fēng)速進(jìn)行累加/查詢(xún)到的記錄條數;
最小有功功率:查詢(xún)時(shí)間段內的有功功率取最小值;
最大有功功率:查詢(xún)時(shí)間段內的有功功率取最大值;
平均有功功率:查詢(xún)時(shí)間段內的有功功率累加/查詢(xún)到的記錄條數
最小無(wú)功功率:查詢(xún)時(shí)間段內的無(wú)功功率取最小值;
最大無(wú)功功率:查詢(xún)時(shí)間段內的無(wú)功功率取最大值;
平均無(wú)功功率:查詢(xún)時(shí)間段內的無(wú)功功率累加/查詢(xún)到的記錄條數
低環(huán)境溫度:查詢(xún)時(shí)間段內的環(huán)境溫度取最小值;
最高環(huán)境溫度:查詢(xún)時(shí)間段內的環(huán)境溫度取最大值;
平均環(huán)境溫度:查詢(xún)時(shí)間段內的環(huán)境溫度進(jìn)行累加/查詢(xún)到的記錄條數;
有效風(fēng)小時(shí)數:查詢(xún)首尾時(shí)間的有效風(fēng)小時(shí)數相減;
有效風(fēng)時(shí)率:有效風(fēng)小時(shí)數/統計小時(shí)數*100%;
風(fēng)機可用小時(shí)數:風(fēng)機正常運行小時(shí)數+非風(fēng)機自身故障停機小時(shí)數;
風(fēng)機正常運行小時(shí)數:查詢(xún)首尾時(shí)間的風(fēng)機正常運行時(shí)間相減;
發(fā)電小時(shí)數:查詢(xún)首尾時(shí)間的發(fā)電小時(shí)相減;
停運小時(shí)數:統計總時(shí)間-統計時(shí)間段的風(fēng)機正常運行小時(shí)數;
故障停機小時(shí)數;查詢(xún)首尾時(shí)間的故障停機時(shí)間相減;
風(fēng)機自身故障停機小時(shí)數:查詢(xún)首尾時(shí)間的風(fēng)機自身故障停機時(shí)間相減;
非風(fēng)機自身故障停機小時(shí)數:故障停機小時(shí)數-風(fēng)機自身故障停機小時(shí)數;
維護小時(shí)數:查詢(xún)首尾時(shí)間的服務(wù)時(shí)間相減;
故障停機次數:查詢(xún)時(shí)間段內的故障為T(mén)RUE的記錄條數;
風(fēng)機自身故障停機次數:查詢(xún)時(shí)間段內的風(fēng)機自身故障停機為T(mén)RUE的記錄條數;
非風(fēng)機自身故障停機次數:故障停機次數-風(fēng)機自身故障停機次數;
維護次數:查詢(xún)時(shí)間段內的工作模式為維護的記錄條數;
并網(wǎng)次數:查詢(xún)時(shí)間段內的并網(wǎng)為T(mén)RUE的記錄條數;
偏航次數:左偏次數+右偏次數;
左偏次數:偏航在逆時(shí)針運行模式為T(mén)RUE的記錄條數;
右偏次數:偏航在順時(shí)針運行模式為T(mén)RUE的記錄條數;
滿(mǎn)發(fā)小時(shí)數:統計周期內風(fēng)機發(fā)電量/風(fēng)機容量;
人工停機小時(shí)數:查詢(xún)首尾時(shí)間的人工停機時(shí)間相減;
環(huán)境溫度過(guò)低停機小時(shí)數:查詢(xún)首尾時(shí)間的環(huán)境溫度過(guò)低停機時(shí)間相減;
風(fēng)暴停機小時(shí)數:查詢(xún)首尾時(shí)間的風(fēng)暴停機時(shí)間相減;
3.數據庫主從熱備
數據庫主從熱備目前行業(yè)通用的工具是使用:keepalive實(shí)現主從熱備,無(wú)縫切換。其配置簡(jiǎn)單,實(shí)用性高。keepalived的作用是檢測后端TCP服務(wù)的狀態(tài),如果有一臺提供TCP服務(wù)的后端節點(diǎn)死機,或者工作出現故障,keepalived會(huì )及時(shí)檢測到,并將有故障的節點(diǎn)從系統中剔除,當提供TCP服務(wù)的節點(diǎn)恢復并且正常提供服務(wù)后keepalived會(huì )自動(dòng)將TCP服務(wù)的節點(diǎn)加入到集群中。這些工作都是keepalived自動(dòng)完成,不需要人工干涉。
KeepAlive主機配置:
KeepAlive從機配置: