服務(wù)熱線
18971653633
一、項(xiàng)目概況
風(fēng)場(chǎng)監(jiān)控系統(tǒng)布置于風(fēng)場(chǎng)監(jiān)控室內(nèi),由風(fēng)機(jī)監(jiān)控系統(tǒng)、風(fēng)電場(chǎng)功率管理系統(tǒng)(能量管理系統(tǒng))、第三方接口系統(tǒng)組成。其主要包括風(fēng)機(jī)監(jiān)控、數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、數(shù)據(jù)呈現(xiàn)、Web發(fā)布、風(fēng)機(jī)管理、風(fēng)場(chǎng)調(diào)度、安全審計(jì)等功能。
二、項(xiàng)目需求
需求內(nèi)容主要包括操作系統(tǒng)平臺(tái)要求、網(wǎng)絡(luò)結(jié)構(gòu)模式要求、通訊接口要求、通訊協(xié)議要求、數(shù)據(jù)存儲(chǔ)記錄要求、數(shù)據(jù)挖掘要求、UI呈現(xiàn)要求、Web發(fā)布要求、調(diào)度要求等。乙方按照雙方協(xié)定的技術(shù)協(xié)議內(nèi)容設(shè)計(jì)開(kāi)發(fā),主要設(shè)計(jì)方案應(yīng)經(jīng)過(guò)甲方的方案評(píng)審,若在開(kāi)發(fā)過(guò)程中,甲方需求變更,雙方應(yīng)協(xié)商需求的合理性及技術(shù)可行性并最終形成新增補(bǔ)協(xié)議,若涉及開(kāi)發(fā)成本的增加,通過(guò)商務(wù)條款補(bǔ)充。具體需求請(qǐng)?jiān)斠?jiàn)《需求說(shuō)明書(shū)》。
三、項(xiàng)目部署
風(fēng)電場(chǎng)SCADA軟件系統(tǒng)是風(fēng)電場(chǎng)遠(yuǎn)程控制系統(tǒng)的組成部分,風(fēng)電場(chǎng)遠(yuǎn)程控制系統(tǒng)由網(wǎng)絡(luò)通訊系統(tǒng)、風(fēng)電場(chǎng)SCADA軟件系統(tǒng)組成。風(fēng)電場(chǎng)遠(yuǎn)程控制系統(tǒng)的網(wǎng)絡(luò)通訊、服務(wù)器、操作員站、操作系統(tǒng)等由甲方提供,乙方保證在甲方提供的通訊網(wǎng)絡(luò)、服務(wù)器系統(tǒng)上能正常運(yùn)行乙方所供的SCADA軟件系統(tǒng)。甲方所供網(wǎng)絡(luò)通訊及服務(wù)器部署如下圖1。
風(fēng)電場(chǎng)網(wǎng)絡(luò)通訊采用光纜傳輸,風(fēng)機(jī)與風(fēng)機(jī)之間的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用可自愈式以太環(huán)網(wǎng)結(jié)構(gòu),風(fēng)場(chǎng)級(jí)拓?fù)浣Y(jié)構(gòu)為多環(huán)結(jié)構(gòu)。風(fēng)機(jī)機(jī)艙與塔基之間的連接光纜為多模光纜。風(fēng)機(jī)與風(fēng)機(jī)之間及風(fēng)機(jī)與監(jiān)控中心之間的連接均為單模光纜。風(fēng)場(chǎng)通訊網(wǎng)絡(luò)環(huán)內(nèi)采用100M光纖以太網(wǎng)絡(luò)。核心交換機(jī)與風(fēng)場(chǎng)監(jiān)控系統(tǒng)服務(wù)器的接口采用1000M以太網(wǎng)。
硬件系統(tǒng)包括數(shù)采服務(wù)器2臺(tái)、數(shù)據(jù)服務(wù)器2臺(tái)、應(yīng)用服務(wù)器2臺(tái)(應(yīng)用服務(wù)器通常與數(shù)采服務(wù)器合二為一)、發(fā)布機(jī)1臺(tái)、I/O機(jī)1臺(tái),操作員站1臺(tái)、若干安全隔離設(shè)備。其中,數(shù)據(jù)服務(wù)器存放歷史數(shù)據(jù),具體實(shí)施過(guò)程中,甲方可根據(jù)風(fēng)場(chǎng)規(guī)模進(jìn)行服務(wù)器配置,小規(guī)模風(fēng)場(chǎng)可將數(shù)采服務(wù)器、數(shù)據(jù)服務(wù)器、應(yīng)用服務(wù)器合而為一,對(duì)于大規(guī)模風(fēng)場(chǎng)可部署多臺(tái)數(shù)采服務(wù)器、數(shù)據(jù)服務(wù)器及應(yīng)用服務(wù)器,軟件采用模塊化設(shè)計(jì),可部署于同一臺(tái)服務(wù)器也可分別部署。
服務(wù)器采用龍芯3C5000L服務(wù)器處理器芯片,2.2G/16核,基于自主的LoongArch®龍芯指令系統(tǒng),支持雙路、四路機(jī)架式及塔式、高密度等多種服務(wù)器及存儲(chǔ)產(chǎn)品形態(tài)。算力強(qiáng)悍,超越國(guó)內(nèi)同類產(chǎn)品。龍芯3C5000L完善支持Docker、KVM等虛擬化應(yīng)用,適合數(shù)據(jù)中心、云計(jì)算以及高性能計(jì)算等領(lǐng)域廣泛應(yīng)用。詳細(xì)參數(shù)如下。
芯片 | 龍芯3C5000L |
主頻 | 2.0GHz-2.2GHz |
運(yùn)算速度 | 560GFlops |
核心個(gè)數(shù) | 16 |
處理器核 | 支持LoongArch®指令系統(tǒng);支持128/256位向量指令;四發(fā)射亂序執(zhí)行;4個(gè)定點(diǎn)單元、2個(gè)向量單元和2個(gè)訪存單元 |
高速緩存 | 每個(gè)處理器核包含64KB私有一級(jí)指令緩存和64KB私有一級(jí)數(shù)據(jù)緩存;每個(gè)處理器核包含256KB私有二級(jí)緩存;每4個(gè)處理器核共享16MB三級(jí)緩存,共64MB三級(jí)緩存 |
內(nèi)存控制器 |
|
高速I/O | 4個(gè)HyperTransport3.0控制器;支持多處理器數(shù)據(jù)一致性互連(CC-NUMA) |
其他I/O |
|
功耗管理 | 支持主要模塊時(shí)鐘動(dòng)態(tài)關(guān)閉;支持主要時(shí)鐘域動(dòng)態(tài)變頻;支持主電壓域動(dòng)態(tài)調(diào)壓 |
典型功耗 |
|
四、軟件設(shè)計(jì)說(shuō)明
將軟件分為三層,其組成和框架如下圖2。
關(guān)于該系統(tǒng)開(kāi)發(fā),軟件部署主要包括風(fēng)機(jī)數(shù)采服務(wù)器程序、應(yīng)用服務(wù)器程序、數(shù)據(jù)服務(wù)器程序、發(fā)布機(jī)程序、I/O機(jī)程序。
將該監(jiān)控系統(tǒng)程序根據(jù)功能結(jié)構(gòu)劃分為三層,采集層、服務(wù)層、前端網(wǎng)站,每部分均可根據(jù)服務(wù)器分布情況獨(dú)立安裝部署,程序之間均采用標(biāo)準(zhǔn)UDP或TCP協(xié)議。
I/O機(jī)主要完成協(xié)議轉(zhuǎn)換及第三方接口通訊功能,主要通訊協(xié)議均部署在該服務(wù)器,在實(shí)際應(yīng)用中,各技術(shù)協(xié)議是以應(yīng)用的方式呈現(xiàn)的,可根據(jù)系統(tǒng)程序框架,自由添加協(xié)議,可對(duì)每個(gè)協(xié)議進(jìn)程進(jìn)行添加、關(guān)閉和配置。按照程序開(kāi)發(fā)架構(gòu)方式,各通訊協(xié)議均可部署至任何一臺(tái)服務(wù)器。
發(fā)布機(jī)包含了完整的網(wǎng)站服務(wù)、UI、網(wǎng)閘通訊、歷史數(shù)據(jù)記錄及查詢功能,將風(fēng)機(jī)數(shù)據(jù)發(fā)布至公網(wǎng),可遠(yuǎn)程訪問(wèn)查看該風(fēng)場(chǎng)狀態(tài)。
(一)軟件架構(gòu)
根據(jù)軟件的三層結(jié)構(gòu),軟件的設(shè)計(jì)框架如圖3所示
1、SCADA展示層,首先需通過(guò)“檔案管理"模塊,錄入風(fēng)機(jī)模塊信息,并導(dǎo)入模塊點(diǎn)表;
2、根據(jù)模塊信息組合出風(fēng)機(jī)類型,配置風(fēng)機(jī)相關(guān)的通信參數(shù);
3、數(shù)據(jù)服務(wù)的部分,根據(jù)配置的風(fēng)機(jī)相關(guān)信息,生成數(shù)采所需的配置信息:如鏈路配置,IO點(diǎn)表信息,創(chuàng)建風(fēng)機(jī)通信的模塊;
4、風(fēng)機(jī)配置完成后,數(shù)采的部分開(kāi)始工作:各個(gè)通信模塊通過(guò)點(diǎn)表信息,采集風(fēng)機(jī)的數(shù)據(jù),并將數(shù)據(jù)寫入實(shí)時(shí)數(shù)據(jù)緩存;
5、實(shí)時(shí)數(shù)據(jù)rtdb緩存將數(shù)據(jù)進(jìn)行整理,分發(fā)給不同的應(yīng)用模塊
6、實(shí)時(shí)數(shù)據(jù)模塊:指令通道,用于單獨(dú)處理SCADA下發(fā)的指令,并將指令下發(fā)給數(shù)采來(lái)控制風(fēng)機(jī);emqx主要用于SCADA頁(yè)面的實(shí)時(shí)數(shù)據(jù)訂閱/發(fā)布;redis主要用于緩存實(shí)時(shí)數(shù)據(jù),并緩存一些統(tǒng)計(jì)信息;
7、能量管理算法模塊:處理風(fēng)場(chǎng)本地調(diào)度、電網(wǎng)調(diào)度、集控調(diào)度;并將調(diào)度的過(guò)程進(jìn)行記錄;
8、歷史數(shù)據(jù)的部分是通過(guò)實(shí)時(shí)數(shù)據(jù)的接口進(jìn)行周期或者變位存盤;并定期做數(shù)據(jù)調(diào)度,處理統(tǒng)計(jì)信息;并需根據(jù)主控上傳的報(bào)警信息,處理報(bào)警數(shù)據(jù)的存盤;
9、SCADA展示層數(shù)據(jù)源從兩個(gè)方面獲取:實(shí)時(shí)數(shù)據(jù)主要通過(guò)訂閱的方式從實(shí)時(shí)數(shù)據(jù)區(qū)獲??;歷史統(tǒng)計(jì)信息主要從歷史數(shù)據(jù)庫(kù)中獲??;
(二)通信層設(shè)計(jì)
1、風(fēng)機(jī)設(shè)備模型:如圖4所示
圖4 風(fēng)機(jī)模型
1)根據(jù)不同的風(fēng)機(jī)類型點(diǎn)表,對(duì)點(diǎn)表進(jìn)行抽象分類,并對(duì)分類的數(shù)據(jù)點(diǎn)進(jìn)行編碼,并生成數(shù)據(jù)點(diǎn)表;
2)數(shù)據(jù)點(diǎn)表可以在檔案管理里面進(jìn)行相關(guān)的處理;
3)展示層所有的標(biāo)量數(shù)據(jù)顯示都是根據(jù)指標(biāo)碼的形式反向查詢數(shù)據(jù)檔案進(jìn)行顯示;
2、數(shù)據(jù)傳輸流程:如圖5所示
圖5 數(shù)據(jù)傳輸流程
1)數(shù)采的部分采用成熟的QTouch采集軟件框架,里面涵蓋豐富的設(shè)備通信驅(qū)動(dòng),保證現(xiàn)場(chǎng)所有的設(shè)備能夠正常聯(lián)網(wǎng)通信;所有的數(shù)據(jù)進(jìn)入實(shí)時(shí)共享內(nèi)存區(qū),供其它接口實(shí)時(shí)訪問(wèn);
2)在數(shù)采服務(wù)器與數(shù)據(jù)服務(wù)器分離的情況下,前置服務(wù)器用于接收數(shù)采傳輸?shù)膶?shí)時(shí)數(shù)據(jù),此部分需代碼重新開(kāi)發(fā)調(diào)整
3)報(bào)警引擎的部分:需在QTouch的報(bào)警體系下進(jìn)行重定義代碼級(jí)開(kāi)發(fā)調(diào)整;
4)消息中間件:采集第三方emqx消息中間件,redis實(shí)時(shí)數(shù)據(jù)緩存;用做數(shù)據(jù)的實(shí)時(shí)訂閱和發(fā)布(此功能需代碼開(kāi)發(fā)調(diào)整);
5)此部分會(huì)用到兩套emqx中間件:一套用作頁(yè)面實(shí)時(shí)展示的數(shù)據(jù),一套用作控制下發(fā)的操作,確保控制的實(shí)時(shí)有效而不受其它模塊影響
6)一套redis實(shí)時(shí)數(shù)據(jù)緩存服務(wù):主要用于頁(yè)面的實(shí)時(shí)曲線數(shù)據(jù)緩存部分的數(shù)據(jù);
7)原始數(shù)據(jù)直接根據(jù)接收端的數(shù)據(jù)緩存直接存儲(chǔ):此部分需代碼級(jí)開(kāi)發(fā)
8)根據(jù)業(yè)務(wù)邏輯,將數(shù)據(jù)進(jìn)行分庫(kù)分表存儲(chǔ):如,分鐘、小時(shí)、天、月、年進(jìn)行分表存儲(chǔ);業(yè)務(wù)邏輯存儲(chǔ)部分,直接從實(shí)時(shí)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù);
9)分表策略;仍然以風(fēng)機(jī)為單位,單個(gè)風(fēng)機(jī)分為模擬量表、開(kāi)關(guān)量表(模擬量和開(kāi)關(guān)量分開(kāi),主要是因?yàn)槟M量可以按照秒級(jí)存儲(chǔ),開(kāi)關(guān)量按照狀態(tài)變化來(lái)存儲(chǔ));以橫向存儲(chǔ)為原則,即單個(gè)風(fēng)機(jī)在一個(gè)時(shí)刻存儲(chǔ)在數(shù)據(jù)庫(kù)中為一條數(shù)據(jù);
10)web發(fā)布:采用成熟的apache web服務(wù)器框架進(jìn)行發(fā)布應(yīng)用,前端采用的是SSM框架進(jìn)行代碼開(kāi)發(fā);
11)與第三方數(shù)據(jù)交互主要采用OPC UA、或者104等通信協(xié)議來(lái)進(jìn)行交互;
(三)服務(wù)引用層
1.系統(tǒng)服務(wù)
整個(gè)系統(tǒng)提供七大服務(wù):數(shù)采服務(wù)、消息中間件服務(wù)、存儲(chǔ)數(shù)據(jù)服務(wù)、數(shù)據(jù)服務(wù)、數(shù)據(jù)調(diào)度服務(wù)、數(shù)據(jù)推送服務(wù)、web服務(wù),如圖6所示:
圖6 系統(tǒng)服務(wù)
2.服務(wù)集群部署:如圖7所示
圖7 服務(wù)集群
(四)數(shù)據(jù)庫(kù)層
1.功能與數(shù)據(jù)流向圖
從原始數(shù)據(jù)進(jìn)入系統(tǒng)到數(shù)據(jù)輸出到前端供WEB系統(tǒng)應(yīng)用,整個(gè)數(shù)據(jù)流向分為:原始數(shù)據(jù)、數(shù)據(jù)預(yù)處理、數(shù)據(jù)應(yīng)用三個(gè)階段。
原始數(shù)據(jù),即由前置通訊解析完成后所取得的設(shè)備數(shù)據(jù),此數(shù)據(jù)不作任何二次計(jì)算。在原始數(shù)據(jù)中,由于數(shù)據(jù)存儲(chǔ)的頻率到秒級(jí)、要求存儲(chǔ)的周期至少3個(gè)月,設(shè)備數(shù)量在300臺(tái)左右,因此在原始數(shù)據(jù)的存儲(chǔ)上以設(shè)備為單位進(jìn)行分表。則300臺(tái)設(shè)備其原始數(shù)據(jù)為300套數(shù)據(jù)單元表。
數(shù)據(jù)預(yù)處理:為提高系統(tǒng)訪問(wèn)速度,給予前端應(yīng)用良好的體驗(yàn)效果,故應(yīng)以最小的延時(shí)時(shí)間讓用戶盡快獲取到數(shù)據(jù)。在原始數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)后,再根據(jù)應(yīng)用功能的要求進(jìn)行數(shù)據(jù)的二次計(jì)算,包括發(fā)電量、故障統(tǒng)計(jì)、風(fēng)速統(tǒng)計(jì),也包括最大值、最小值等數(shù)據(jù)的計(jì)算。整個(gè)數(shù)據(jù)的預(yù)處理,將會(huì)在后臺(tái)以不同的頻率時(shí)行調(diào)度執(zhí)行,執(zhí)行完成的結(jié)果寫入固定的數(shù)據(jù)表中,再給其它功能調(diào)度使用。
數(shù)據(jù)應(yīng)用:數(shù)據(jù)應(yīng)用的直接體現(xiàn)為用戶前端的數(shù)據(jù)查詢。根據(jù)分表的原則,以秒級(jí)為單位,則單臺(tái)風(fēng)機(jī)的月累計(jì)數(shù)據(jù)量為:86400條,連續(xù)保存三個(gè)月,則為:26萬(wàn)條。數(shù)據(jù)應(yīng)用查詢以單臺(tái)風(fēng)機(jī)查詢時(shí),可以保持良好的體驗(yàn)。
2.實(shí)體和屬性
實(shí)體是實(shí)體-關(guān)系模型的基本對(duì)象,是現(xiàn)實(shí)案例中各種事物的抽象。凡是可以相互區(qū)別并可以被識(shí)別的事、物、概念等對(duì)象均可認(rèn)為是實(shí)體。本系統(tǒng)數(shù)據(jù)庫(kù)中,以單臺(tái)風(fēng)機(jī)為基礎(chǔ),按實(shí)體進(jìn)行劃分如下:
數(shù)據(jù)分表
2.1原始表
①表命名規(guī)則:
fan_sto_風(fēng)機(jī)編號(hào)_sec_201901 : 秒級(jí)存儲(chǔ)(按月、風(fēng)機(jī)編號(hào)分表)
fan_sto_風(fēng)機(jī)編號(hào)_min : 分級(jí)存儲(chǔ)(按月、風(fēng)機(jī)編號(hào)分表)
fan_sto_風(fēng)機(jī)編號(hào)_hour : 時(shí)級(jí)存儲(chǔ)(按月、風(fēng)機(jī)編號(hào)分表)
fan_sto_風(fēng)機(jī)編號(hào)_day : 天級(jí)存儲(chǔ)(按月、風(fēng)機(jī)編號(hào)分表)
②外鍵關(guān)聯(lián):
sto_field_id 風(fēng)場(chǎng)編號(hào) >>關(guān)聯(lián)>>dwf_field風(fēng)場(chǎng)表的dwf_id
sto_fan_id 風(fēng)機(jī)編號(hào) >>關(guān)聯(lián)>>dgf_fan風(fēng)場(chǎng)表的dgf_id
③取值方案:
原始表根據(jù)數(shù)據(jù)類型分為:模擬量。模擬量根據(jù)數(shù)據(jù)粒度分為:秒級(jí)、分鐘級(jí)、小時(shí)級(jí),其中,秒級(jí)存儲(chǔ)原始值;分鐘級(jí)存儲(chǔ)整分時(shí)刻原始值;小時(shí)級(jí)存儲(chǔ)整點(diǎn)時(shí)刻原始值;
④原始數(shù)據(jù)存儲(chǔ)及自動(dòng)創(chuàng)表原則:
原始數(shù)據(jù)儲(chǔ)存單風(fēng)機(jī)一個(gè)月數(shù)據(jù),自動(dòng)創(chuàng)建數(shù)據(jù)表。自動(dòng)創(chuàng)建數(shù)據(jù)表可以調(diào)用存儲(chǔ)過(guò)程,亦可以在代碼中創(chuàng)建。
⑤表數(shù)據(jù)容量估算:
秒級(jí)數(shù)據(jù)單月存儲(chǔ)量:60秒*60分*24小時(shí)*31天=268萬(wàn)
分鐘級(jí)數(shù)據(jù)單月存儲(chǔ)量:60分*24小時(shí)*31天=4.46萬(wàn)
原始數(shù)據(jù)表結(jié)構(gòu):
表名 | fan_sto_0001_sec_201901 | |||
列名 | 數(shù)據(jù)類型 | 屬性 | 約束條件 | 說(shuō)明 |
sto_id | Int (11) | 無(wú)符號(hào)/非空/自動(dòng)增漲 | 主鍵 | 數(shù)據(jù)編號(hào) |
sto_field_id | Int(11) | 風(fēng)場(chǎng)編號(hào) | ||
sto_fan_id | int(11) | 風(fēng)機(jī)編號(hào) | ||
sto_sync_time | datetime | 數(shù)據(jù)同步時(shí)間 | ||
50001 | float(20,2) | 默認(rèn) 0.00 | 原始值 | |
50002 | float(20,2) | 默認(rèn) 0.00 | 原始值 | |
50003 | float(20,2) | 默認(rèn) 0.00 | 原始值 | |
… | float(20,2) | 默認(rèn) 0.00 | 原始值 | |
補(bǔ)充說(shuō)明 |
數(shù)字量存儲(chǔ):
①表命名規(guī)則:
fan_std_風(fēng)機(jī)編號(hào)_年份 : 開(kāi)關(guān)量量化即儲(chǔ)存(按年、風(fēng)機(jī)編號(hào)分表)
②外鍵關(guān)聯(lián):
std_field_id 風(fēng)場(chǎng)編號(hào) >>關(guān)聯(lián)>>dwf_field風(fēng)場(chǎng)表的dwf_id
std_fan_id 風(fēng)機(jī)編號(hào) >>關(guān)聯(lián)>>dgf_fan風(fēng)場(chǎng)表的dgf_id
③取值方案:
開(kāi)關(guān)量量化即儲(chǔ)存
④原始數(shù)據(jù)存儲(chǔ)及自動(dòng)創(chuàng)表原則:
每臺(tái)風(fēng)機(jī)每年一張表,自動(dòng)創(chuàng)建數(shù)據(jù)表。自動(dòng)創(chuàng)建數(shù)據(jù)表可以調(diào)用存儲(chǔ)過(guò)程,亦可以在代碼中創(chuàng)建。
⑤表數(shù)據(jù)容量估算:
單表一年數(shù)據(jù):41次*365天*200開(kāi)關(guān)量=299萬(wàn)
即每天風(fēng)機(jī)的所有開(kāi)關(guān)量平均變化不超過(guò)41次時(shí),單表一年數(shù)據(jù)不超成功300萬(wàn)條
表名 | fan_std_0001_2019 | |||
列名 | 數(shù)據(jù)類型 | 屬性 | 約束條件 | 說(shuō)明 |
std_id | Int(11) | 無(wú)符號(hào)/非空/自動(dòng)增漲 | 主鍵 | 數(shù)據(jù)編號(hào) |
std_field_id | Int(11) | 風(fēng)場(chǎng)編號(hào) | ||
std_fan_id | int(11) | 風(fēng)機(jī)編號(hào) | ||
std_ac_code | int(10) | 典表開(kāi)關(guān)量編碼 | ||
std_sync_time | datetime | 數(shù)據(jù)同步時(shí)間 | ||
std_value | float(10,2) | 0開(kāi)啟/1關(guān)閉 | ||
std_sync_dc | Int(11) | 同步數(shù)據(jù)中心編號(hào) | ||
補(bǔ)充說(shuō)明 |
2.2實(shí)時(shí)表
實(shí)時(shí)表主要用來(lái)存儲(chǔ)單臺(tái)風(fēng)機(jī)實(shí)時(shí)數(shù)據(jù),單臺(tái)實(shí)時(shí)數(shù)據(jù)包括:實(shí)時(shí)值、狀態(tài)值、統(tǒng)計(jì)值和靜態(tài)檔案。
實(shí)時(shí)值:實(shí)時(shí)刷新風(fēng)機(jī)的參數(shù)值由消息隊(duì)列推送于前端應(yīng)用。另外一部分實(shí)時(shí)值包括氣象數(shù)據(jù)、箱變信息也一并由消息隊(duì)列推送于前端應(yīng)用。
狀態(tài)值:風(fēng)機(jī)運(yùn)行狀態(tài)由設(shè)備端上送風(fēng)機(jī)狀態(tài),(變化上送和存儲(chǔ))主動(dòng)存儲(chǔ)到設(shè)備狀態(tài)數(shù)據(jù)表中。
統(tǒng)計(jì)值:由歷史數(shù)據(jù)進(jìn)行統(tǒng)計(jì),包括:日發(fā)電量、月發(fā)電量,報(bào)警數(shù)據(jù)量,累計(jì)運(yùn)行時(shí)間、累計(jì)維護(hù)次數(shù)等統(tǒng)計(jì)值。
設(shè)備檔案:包括設(shè)備編號(hào)、設(shè)備類型等靜態(tài)信息。
2.3設(shè)備狀態(tài)
設(shè)備狀態(tài),主要記錄風(fēng)機(jī)通訊狀態(tài)變化。當(dāng)風(fēng)機(jī)發(fā)生故障,通訊中斷時(shí)通知系統(tǒng)用戶。當(dāng)風(fēng)機(jī)排除故障,通訊恢復(fù)正常后通知系統(tǒng)用戶。設(shè)備狀態(tài)以變位方式存儲(chǔ)。
2.4統(tǒng)計(jì)表
統(tǒng)計(jì)表主要針對(duì)37項(xiàng)統(tǒng)計(jì)項(xiàng),分為自由統(tǒng)計(jì)和報(bào)表下載;自由統(tǒng)計(jì)由:普通統(tǒng)計(jì)、分段統(tǒng)計(jì)、風(fēng)玫瑰圖報(bào)表、功率曲線報(bào)表組成;報(bào)表下載由:日?qǐng)?bào)表、月報(bào)表、年報(bào)表、日分段報(bào)表、月分段報(bào)表、年分段報(bào)表、損失電量報(bào)表、時(shí)間可利用率報(bào)表、發(fā)電量可利用率報(bào)表組成。
37項(xiàng)統(tǒng)計(jì)方法說(shuō)明如下:
?發(fā)電量:查詢首尾時(shí)間的總發(fā)電量相減;
?耗電量:查詢首尾時(shí)間的耗電量相減;
?風(fēng)機(jī)可以用率:1-(風(fēng)機(jī)自身故障小時(shí)數(shù)/統(tǒng)計(jì)小時(shí)數(shù));
?最小風(fēng)速:查詢時(shí)間段內(nèi)的瞬時(shí)風(fēng)速取最小值;
?最大風(fēng)速:查詢時(shí)間段內(nèi)的瞬時(shí)風(fēng)速取最大值;
?平均風(fēng)速:查詢時(shí)間段內(nèi)的瞬時(shí)風(fēng)速進(jìn)行累加/查詢到的記錄條數(shù);
?最小有功功率:查詢時(shí)間段內(nèi)的有功功率取最小值;
?最大有功功率:查詢時(shí)間段內(nèi)的有功功率取最大值;
?平均有功功率:查詢時(shí)間段內(nèi)的有功功率累加/查詢到的記錄條數(shù)
?最小無(wú)功功率:查詢時(shí)間段內(nèi)的無(wú)功功率取最小值;
?最大無(wú)功功率:查詢時(shí)間段內(nèi)的無(wú)功功率取最大值;
?平均無(wú)功功率:查詢時(shí)間段內(nèi)的無(wú)功功率累加/查詢到的記錄條數(shù)
?最寒冷溫度:查詢時(shí)間段內(nèi)的環(huán)境溫度取最小值;
?最高環(huán)境溫度:查詢時(shí)間段內(nèi)的環(huán)境溫度取最大值;
?平均環(huán)境溫度:查詢時(shí)間段內(nèi)的環(huán)境溫度進(jìn)行累加/查詢到的記錄條數(shù);
?有效風(fēng)小時(shí)數(shù):查詢首尾時(shí)間的有效風(fēng)小時(shí)數(shù)相減;
?有效風(fēng)時(shí)率:有效風(fēng)小時(shí)數(shù)/統(tǒng)計(jì)小時(shí)數(shù)*100%;
?風(fēng)機(jī)可用小時(shí)數(shù):風(fēng)機(jī)正常運(yùn)行小時(shí)數(shù)+非風(fēng)機(jī)自身故障停機(jī)小時(shí)數(shù);
?風(fēng)機(jī)正常運(yùn)行小時(shí)數(shù):查詢首尾時(shí)間的風(fēng)機(jī)正常運(yùn)行時(shí)間相減;
?發(fā)電小時(shí)數(shù):查詢首尾時(shí)間的發(fā)電小時(shí)相減;
?停運(yùn)小時(shí)數(shù):統(tǒng)計(jì)總時(shí)間-統(tǒng)計(jì)時(shí)間段的風(fēng)機(jī)正常運(yùn)行小時(shí)數(shù);
?故障停機(jī)小時(shí)數(shù);查詢首尾時(shí)間的故障停機(jī)時(shí)間相減;
?風(fēng)機(jī)自身故障停機(jī)小時(shí)數(shù):查詢首尾時(shí)間的風(fēng)機(jī)自身故障停機(jī)時(shí)間相減;
?非風(fēng)機(jī)自身故障停機(jī)小時(shí)數(shù):故障停機(jī)小時(shí)數(shù)-風(fēng)機(jī)自身故障停機(jī)小時(shí)數(shù);
?維護(hù)小時(shí)數(shù):查詢首尾時(shí)間的服務(wù)時(shí)間相減;
?故障停機(jī)次數(shù):查詢時(shí)間段內(nèi)的故障為TRUE的記錄條數(shù);
?風(fēng)機(jī)自身故障停機(jī)次數(shù):查詢時(shí)間段內(nèi)的風(fēng)機(jī)自身故障停機(jī)為TRUE的記錄條數(shù);
?非風(fēng)機(jī)自身故障停機(jī)次數(shù):故障停機(jī)次數(shù)-風(fēng)機(jī)自身故障停機(jī)次數(shù);
?維護(hù)次數(shù):查詢時(shí)間段內(nèi)的工作模式為維護(hù)的記錄條數(shù);
?并網(wǎng)次數(shù):查詢時(shí)間段內(nèi)的并網(wǎng)為TRUE的記錄條數(shù);
?偏航次數(shù):左偏次數(shù)+右偏次數(shù);
?左偏次數(shù):偏航在逆時(shí)針運(yùn)行模式為TRUE的記錄條數(shù);
?右偏次數(shù):偏航在順時(shí)針運(yùn)行模式為TRUE的記錄條數(shù);
?滿發(fā)小時(shí)數(shù):統(tǒng)計(jì)周期內(nèi)風(fēng)機(jī)發(fā)電量/風(fēng)機(jī)容量;
?人工停機(jī)小時(shí)數(shù):查詢首尾時(shí)間的人工停機(jī)時(shí)間相減;
?環(huán)境溫度過(guò)低停機(jī)小時(shí)數(shù):查詢首尾時(shí)間的環(huán)境溫度過(guò)低停機(jī)時(shí)間相減;
?風(fēng)暴停機(jī)小時(shí)數(shù):查詢首尾時(shí)間的風(fēng)暴停機(jī)時(shí)間相減;
3.數(shù)據(jù)庫(kù)主從熱備
數(shù)據(jù)庫(kù)主從熱備目前行業(yè)通用的工具是使用:keepalive實(shí)現(xiàn)主從熱備,無(wú)縫切換。其配置簡(jiǎn)單,實(shí)用性高。keepalived的作用是檢測(cè)后端TCP服務(wù)的狀態(tài),如果有一臺(tái)提供TCP服務(wù)的后端節(jié)點(diǎn)死機(jī),或者工作出現(xiàn)故障,keepalived會(huì)及時(shí)檢測(cè)到,并將有故障的節(jié)點(diǎn)從系統(tǒng)中剔除,當(dāng)提供TCP服務(wù)的節(jié)點(diǎn)恢復(fù)并且正常提供服務(wù)后keepalived會(huì)自動(dòng)將TCP服務(wù)的節(jié)點(diǎn)加入到集群中。這些工作都是keepalived自動(dòng)完成,不需要人工干涉。
KeepAlive主機(jī)配置
KeppAlive從機(jī)配置
4.主從同步
當(dāng)主機(jī)故障時(shí),從機(jī)接替主機(jī)進(jìn)行工作。當(dāng)主機(jī)恢復(fù)正常時(shí),從機(jī)應(yīng)該與主機(jī)的數(shù)據(jù)保持一致,故應(yīng)實(shí)現(xiàn)主從同步。目前使用Mysql數(shù)據(jù)庫(kù),其已提供主從同步的現(xiàn)有方案,并且性能較高。
MySQL數(shù)據(jù)庫(kù)同步復(fù)制的功能主要體現(xiàn)在它的配置文件上,其工作原理為slave端記錄并且執(zhí)行master端的操作日志。
主機(jī)配置
五、軟件功能介紹
1、用戶登陸:
2、系統(tǒng)實(shí)時(shí)報(bào)警:點(diǎn)擊頁(yè)面右上角鈴鐺,即可查看系統(tǒng)當(dāng)前的實(shí)時(shí)報(bào)警信息
3、風(fēng)場(chǎng)概覽:可以通過(guò)矩陣型、環(huán)線型、列表型、地圖行四種模式查看整個(gè)風(fēng)場(chǎng)的運(yùn)行狀態(tài)
1)矩陣型:
2)環(huán)線型:
3)列表型:
4)地圖型:
4、風(fēng)機(jī)監(jiān)視:可以查看單個(gè)風(fēng)機(jī)運(yùn)行的詳細(xì)信息,并可對(duì)風(fēng)機(jī)進(jìn)行控制操作
5、風(fēng)機(jī)控制:可以進(jìn)行整個(gè)風(fēng)場(chǎng)、單個(gè)環(huán)線、單個(gè)風(fēng)機(jī)、多個(gè)風(fēng)機(jī)集中模式的控制操作
6、歷史數(shù)據(jù):可查看時(shí)間段內(nèi)風(fēng)機(jī)運(yùn)行的狀態(tài)曲線
7、能量管理:接收由電網(wǎng)中調(diào)或者風(fēng)電場(chǎng)管理者發(fā)出的調(diào)度指令,并按照系統(tǒng)事先制定的控制策略,將功率調(diào)節(jié)指令合理地分配給風(fēng)電場(chǎng)每臺(tái)風(fēng)電機(jī)組
8、報(bào)警記錄:可以查看風(fēng)機(jī)、整個(gè)風(fēng)場(chǎng)、系統(tǒng)的報(bào)警記錄
9、快照記錄:可查看報(bào)警前后5分鐘的詳細(xì)運(yùn)行數(shù)據(jù)
10、日志管理:可查看系統(tǒng)日志、風(fēng)機(jī)運(yùn)行和控制日志
11、報(bào)表管理:可進(jìn)行自由統(tǒng)計(jì)查詢和報(bào)表導(dǎo)出查詢
12、檔案管理:整個(gè)風(fēng)場(chǎng)的初始化配置,包括風(fēng)場(chǎng)信息、組建信息、風(fēng)機(jī)類型信息、環(huán)線配置信息、風(fēng)機(jī)配置信息;
13、工程管理:可以查看風(fēng)機(jī)的通信狀態(tài)
14、系統(tǒng)設(shè)置:可進(jìn)行賬號(hào)管理、角色管理、系統(tǒng)菜單設(shè)置
六、測(cè)試規(guī)劃
1、制定測(cè)試計(jì)劃:明確測(cè)試內(nèi)容、測(cè)試方案、驗(yàn)收通過(guò)標(biāo)準(zhǔn)等;
2、建立測(cè)試環(huán)境:包括廠內(nèi)及風(fēng)場(chǎng)硬件及網(wǎng)絡(luò)平臺(tái)、操作系統(tǒng)、收費(fèi)開(kāi)發(fā)包、通訊協(xié)議測(cè)試平臺(tái)等;
3、驗(yàn)收測(cè)試大綱:驗(yàn)收項(xiàng)目、功能要求、性能要求、執(zhí)行方法、預(yù)期結(jié)果、實(shí)際結(jié)果等,詳情請(qǐng)見(jiàn)《測(cè)試大綱》;
4、驗(yàn)收?qǐng)?bào)告:根據(jù)驗(yàn)收大綱數(shù)據(jù)總結(jié)驗(yàn)收測(cè)試結(jié)論;
七、總結(jié)
風(fēng)電跨平臺(tái)SCADA監(jiān)控系統(tǒng)按照靈活的部署設(shè)計(jì),可部署于Windows Sever 2016、Linux(CentOS 7)、Unix、中標(biāo)麒麟國(guó)產(chǎn)操作系統(tǒng),采用B/S網(wǎng)絡(luò)架構(gòu),支持Chrome、Safari、Firefox、IE11瀏覽器,支持時(shí)鐘同步等功能;
該系統(tǒng)滿足監(jiān)控風(fēng)機(jī)數(shù)量不低于300臺(tái),且適用于不同機(jī)組混裝、不同組件混裝,可在一套監(jiān)控軟件上實(shí)現(xiàn)不低于300機(jī)組的監(jiān)控,但允許服務(wù)器軟件實(shí)現(xiàn)分布式布置,可配置多套單臺(tái)服務(wù)器,同時(shí)單臺(tái)可監(jiān)控機(jī)組數(shù)量可達(dá)到100臺(tái)(單臺(tái)監(jiān)控機(jī)組數(shù)量可根據(jù)具體項(xiàng)目進(jìn)行數(shù)量調(diào)整),數(shù)據(jù)采集、顯示刷新頻率不高于1秒;
該系統(tǒng)模擬量數(shù)據(jù)存儲(chǔ)采用秒級(jí)及分鐘級(jí)存儲(chǔ),其中,故障前后5分鐘內(nèi)的秒級(jí)數(shù)據(jù)要求長(zhǎng)久保存,其余秒級(jí)存儲(chǔ)數(shù)據(jù)要求在數(shù)據(jù)庫(kù)中保留3個(gè)月,以便數(shù)據(jù)分析使用;布爾量數(shù)據(jù)采用逢變則存的方式。秒級(jí)存儲(chǔ)數(shù)據(jù)查詢及報(bào)表根最小顆粒度為1秒,可根據(jù)不同時(shí)間步長(zhǎng)查詢顯示模擬量數(shù)據(jù);分鐘級(jí)存儲(chǔ)的數(shù)據(jù)查詢及報(bào)表最小顆粒度為1分鐘,可根據(jù)不同時(shí)間不長(zhǎng)查詢顯示模擬量數(shù)據(jù);布爾量獨(dú)立查詢,不與模擬量一起混合查詢;
該系統(tǒng)滿足為風(fēng)功率預(yù)測(cè)、上級(jí)調(diào)度系統(tǒng)、業(yè)主自建監(jiān)控中心、甲方數(shù)據(jù)中心、在線振動(dòng)監(jiān)測(cè)系統(tǒng)、視頻監(jiān)控系統(tǒng)、自動(dòng)消防系統(tǒng)、箱變監(jiān)控系統(tǒng)、空氣密度儀、升壓站等第三方系統(tǒng)預(yù)留通訊數(shù)據(jù)接口,上傳風(fēng)力發(fā)電機(jī)組相關(guān)信息并接收相關(guān)指令;