劉年霖,彭佑多
(湖南科技大學(xué) 機(jī)械設(shè)備健康維護(hù)省重點(diǎn)實(shí)驗(yàn)室,湘潭 411201)
極端天氣下的大風(fēng)對(duì)安裝在露天的碟式太陽(yáng)能發(fā)電系統(tǒng)的危害很大:一是可能會(huì)引起太陽(yáng)能發(fā)電系統(tǒng)的嚴(yán)重變形,甚至損壞性倒塌;二是大風(fēng)會(huì)使網(wǎng)架變形,進(jìn)而引起集熱鏡損壞[2]。為了避免以上危害的發(fā)生,需要設(shè)計(jì)一種合理、有效的預(yù)警系統(tǒng)來(lái)實(shí)現(xiàn)對(duì)大風(fēng)風(fēng)速的提前預(yù)測(cè),使碟式太陽(yáng)能發(fā)電系統(tǒng)中的聚光器在大風(fēng)來(lái)到前調(diào)整到最佳角度,以最少迎風(fēng)受力面躲避大風(fēng),從而保證碟式太陽(yáng)能發(fā)電系統(tǒng)的安全。
目前,國(guó)內(nèi)外大風(fēng)預(yù)警系統(tǒng)所用預(yù)警策略可根據(jù)其采用的原理不同分為時(shí)間點(diǎn)預(yù)警、空間點(diǎn)預(yù)警和預(yù)警值預(yù)警。時(shí)間點(diǎn)預(yù)警方法可借助計(jì)算機(jī)實(shí)現(xiàn)整個(gè)建模和預(yù)測(cè)的過(guò)程,實(shí)用性強(qiáng),但存在對(duì)突發(fā)大風(fēng)預(yù)測(cè)精度不高的問(wèn)題;空間點(diǎn)預(yù)警該方法操作實(shí)現(xiàn)簡(jiǎn)單,只需構(gòu)建軟件系統(tǒng),然后利用氣象部門已有的硬件系統(tǒng),實(shí)現(xiàn)大風(fēng)預(yù)警,但是該方法預(yù)測(cè)精度不高,尤其對(duì)太陽(yáng)能電站周圍的風(fēng)速變化情況無(wú)法準(zhǔn)確反映出來(lái);預(yù)警值預(yù)警能很好實(shí)現(xiàn)漸變風(fēng)速和突變大風(fēng)的預(yù)警,但是增加了操作過(guò)程的麻煩程度,也縮短了預(yù)警時(shí)間。
根據(jù)太陽(yáng)能電站的實(shí)際情況,大風(fēng)預(yù)警系統(tǒng)采取以時(shí)間點(diǎn)預(yù)警為主,以預(yù)警值預(yù)警為輔的預(yù)警策略。既充分發(fā)揮時(shí)間點(diǎn)預(yù)警策略的優(yōu)勢(shì)特點(diǎn),又利用預(yù)警值預(yù)警來(lái)彌補(bǔ)時(shí)間點(diǎn)預(yù)警對(duì)于突變大風(fēng)預(yù)測(cè)帶來(lái)的預(yù)測(cè)誤差。
為了滿足監(jiān)控中心的指揮需要,對(duì)大風(fēng)預(yù)警系統(tǒng)的性能提出如下要求:
(1)預(yù)測(cè)精度方面:風(fēng)速的超前一步預(yù)測(cè)平均相對(duì)誤差MAPE≤10%。
(2)實(shí)時(shí)性方面:預(yù)測(cè)模型輸出結(jié)果的時(shí)間延時(shí)不超過(guò)超前預(yù)測(cè)時(shí)間的10%。
(3)模型計(jì)算方面:在保證預(yù)測(cè)精度的前提下,所建模型盡量簡(jiǎn)單,建模計(jì)算量小,同時(shí)完成建模后能夠得到模型的具體方程。
碟式太陽(yáng)能電站對(duì)日跟蹤系統(tǒng)采用雙軸驅(qū)動(dòng)控制方案,雙軸驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)有確定的伺服電機(jī)、驅(qū)動(dòng)機(jī)構(gòu)及控制器硬件系統(tǒng)。因此,本文所述大風(fēng)預(yù)警系統(tǒng)只需在雙軸驅(qū)動(dòng)系統(tǒng)的基礎(chǔ)上增加風(fēng)速傳感器和上位機(jī)。其工作原理為:風(fēng)速傳感器將采集到風(fēng)速數(shù)據(jù)輸入到運(yùn)動(dòng)控制器,運(yùn)動(dòng)控制器將風(fēng)速數(shù)據(jù)以動(dòng)畫(huà)形式呈現(xiàn)于上位機(jī),上位機(jī)根據(jù)采集到的大量歷史風(fēng)速數(shù)據(jù)運(yùn)用預(yù)測(cè)數(shù)學(xué)算法實(shí)現(xiàn)對(duì)大風(fēng)風(fēng)速的提前預(yù)測(cè),同時(shí)上位機(jī)利用組態(tài)王軟件實(shí)現(xiàn)對(duì)實(shí)時(shí)進(jìn)行風(fēng)速預(yù)警值監(jiān)控,當(dāng)預(yù)測(cè)得到的風(fēng)速值大于8級(jí)風(fēng)的風(fēng)速值時(shí)或者預(yù)警風(fēng)速短時(shí)間內(nèi)持續(xù)大于7級(jí)風(fēng)的風(fēng)速值時(shí),上位機(jī)命令運(yùn)動(dòng)控制器向伺服驅(qū)動(dòng)器發(fā)出一定的脈沖數(shù)和脈沖頻率,以驅(qū)動(dòng)方位角伺服電機(jī)停止動(dòng)作,高度角伺服電機(jī)快速使聚光器到達(dá)水平位置,以最少迎風(fēng)受力面等待大風(fēng)的到來(lái)。大風(fēng)預(yù)警控制系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 大風(fēng)預(yù)警控制系統(tǒng)結(jié)構(gòu)Fig.1 Gale warning and control system structure
目前,風(fēng)速預(yù)測(cè)算法[10]有很多種,時(shí)間序列法憑借其原理簡(jiǎn)單、建模方便而運(yùn)用最為廣泛,但它卻存在預(yù)測(cè)精度低和預(yù)測(cè)延時(shí)的不足??柭鼮V波法能根據(jù)最新測(cè)量數(shù)據(jù)修正模型參數(shù),獲得較高的預(yù)測(cè)精度,同時(shí)彌補(bǔ)了預(yù)測(cè)延時(shí)的問(wèn)題,而利用卡爾曼濾波法實(shí)現(xiàn)預(yù)測(cè)的前提是根據(jù)預(yù)測(cè)對(duì)象推導(dǎo)出卡爾曼濾波法對(duì)應(yīng)的狀態(tài)方程和測(cè)量方程,考慮到時(shí)間序列法的建模優(yōu)勢(shì),可利用時(shí)間序列法的模型參數(shù)推導(dǎo)出卡爾曼濾波法的狀態(tài)方程和測(cè)量方程,以此來(lái)實(shí)現(xiàn)對(duì)風(fēng)速的超前預(yù)測(cè)。
大風(fēng)預(yù)警系統(tǒng)主要由風(fēng)速采集裝置、雙軸驅(qū)動(dòng)機(jī)構(gòu)和上位機(jī)組成。風(fēng)速采集部分主要由風(fēng)速傳感器、PLC和PLC配套的模擬量輸入模塊組成。風(fēng)速傳感器與模擬量輸入模塊連接,系統(tǒng)由PLC接收經(jīng)模擬量輸入模塊轉(zhuǎn)化后得到的風(fēng)速信號(hào),獲取風(fēng)速值,PLC根據(jù)上位機(jī)的要求,控制雙軸驅(qū)動(dòng)機(jī)構(gòu)。雙軸驅(qū)動(dòng)機(jī)構(gòu)主要由伺服驅(qū)動(dòng)器、伺服電機(jī)、高度角運(yùn)動(dòng)裝置和方位角運(yùn)動(dòng)裝置組成。伺服驅(qū)動(dòng)器接收PLC的輸出脈沖,根據(jù)輸出脈沖的個(gè)數(shù)和脈沖頻率來(lái)控制伺服電機(jī)的轉(zhuǎn)動(dòng)角度和轉(zhuǎn)速,從而通過(guò)伺服電機(jī)來(lái)驅(qū)動(dòng)高度角運(yùn)動(dòng)裝置和方位角運(yùn)動(dòng)裝置調(diào)整聚光器的位置。Matlab軟件和組態(tài)王軟件組成上位機(jī)系統(tǒng),Matlab根據(jù)采集到的風(fēng)速數(shù)據(jù)運(yùn)用數(shù)學(xué)預(yù)測(cè)算法得到預(yù)測(cè)風(fēng)速值,運(yùn)用DDE通信技術(shù)將預(yù)測(cè)風(fēng)速值傳給組態(tài)王,組態(tài)王根據(jù)實(shí)時(shí)監(jiān)控的風(fēng)速情況和接收到的預(yù)測(cè)風(fēng)速值情況,控制PLC實(shí)現(xiàn)需要的操作。根據(jù)大風(fēng)預(yù)警系統(tǒng)的控制功能要求,系統(tǒng)需要開(kāi)關(guān)量輸入點(diǎn)4個(gè),開(kāi)關(guān)量輸出點(diǎn)4個(gè)。
大風(fēng)預(yù)警系統(tǒng)的硬件接線圖如圖2所示,風(fēng)速傳感器有紅、黃、綠三根線,紅線為風(fēng)速傳感器的電源線,與DC24V+連接;黃線為信號(hào)輸出線,輸出4~20mA的電流信號(hào),接A/D轉(zhuǎn)換模塊的V+,同時(shí)必須將A/D轉(zhuǎn)換模塊上的V+和I+接口并聯(lián)起來(lái),綠線則同時(shí)與DC24V-和VI-相連。伺服驅(qū)動(dòng)器10號(hào)引腳ServoEn為伺服使能端子,與外接24 V電源的負(fù)極相連,當(dāng)它為ON時(shí),伺服驅(qū)動(dòng)器工作;為OFF時(shí),伺服驅(qū)動(dòng)器停止工作。18號(hào)引腳VCCCOM與外接24V電源的正極相連,用來(lái)驅(qū)動(dòng)輸入端子的光電耦合器。32號(hào)引腳PulseInv+和33號(hào)引腳PulseInv-為脈沖信號(hào)輸入端,接收PLC輸出的脈沖數(shù),實(shí)現(xiàn)對(duì)伺服交流電機(jī)轉(zhuǎn)動(dòng)角度的控制。34號(hào)引腳SingInv+和35號(hào)引腳SingInv-為方向信號(hào)輸入端,接收方向信號(hào),實(shí)現(xiàn)對(duì)伺服交流電機(jī)轉(zhuǎn)動(dòng)方向的控制。
圖2 大風(fēng)預(yù)警系統(tǒng)硬件接線圖Fig.2 Hardware w iring diagram of the gale warning system
首先,運(yùn)行組態(tài)王軟件,新建一個(gè)名為“基于組態(tài)王和Matlab大風(fēng)預(yù)警系統(tǒng)”的工程,并設(shè)為當(dāng)前工程;進(jìn)入工程瀏覽界面,在組態(tài)王中定義與所用PLC相對(duì)應(yīng)的邏輯設(shè)備,根據(jù)“設(shè)備配置向?qū)А蓖瓿?;完成后,點(diǎn)擊左側(cè)目錄樹(shù)中的“COM1”,選擇波特率為9600、數(shù)據(jù)位為7、校驗(yàn)方式為偶校驗(yàn)、停止位為1、通信方式為RS422。其次,需要構(gòu)造數(shù)據(jù)庫(kù),在左側(cè)的目錄樹(shù)中,選擇“數(shù)據(jù)詞典”,點(diǎn)擊新建;按照I/O分配表新建對(duì)應(yīng)的變量,運(yùn)行組態(tài)王時(shí)就可以從PLC上采集到這些數(shù)據(jù)。最后,在組態(tài)王開(kāi)發(fā)系統(tǒng)中,利用其提供的圖庫(kù)和各種控件完成畫(huà)面的設(shè)計(jì),通過(guò)與數(shù)據(jù)詞典中各變量連接,完成了組態(tài)王的程序設(shè)計(jì)[3-5]。設(shè)計(jì)的主畫(huà)面如圖3所示。
圖3 組態(tài)王監(jiān)控主界面Fig.3 Main interface of Kingview
Matlab程序設(shè)計(jì)包括卡爾曼濾波法算法程序設(shè)計(jì)、Matlab與組態(tài)王通信程序設(shè)計(jì)和基于Matlab的GUI大風(fēng)預(yù)警界面設(shè)計(jì)。
(1)由于很難得到風(fēng)速與氣溫、氣象等風(fēng)速影響因素之間的函數(shù)關(guān)系方程來(lái)推導(dǎo)出卡爾曼濾波法對(duì)應(yīng)的狀態(tài)方程和測(cè)量方程,為了解決這個(gè)問(wèn)題,通過(guò)研究發(fā)現(xiàn)可以利用時(shí)間序列法的模型參數(shù)來(lái)推導(dǎo)卡爾曼濾波法對(duì)應(yīng)的狀態(tài)方程和測(cè)量方程。時(shí)間序列法的求參過(guò)程包括風(fēng)速序列的非平穩(wěn)性檢驗(yàn)與預(yù)處理、自相關(guān)函數(shù)與偏相關(guān)函數(shù)的計(jì)算、根據(jù)AIC準(zhǔn)則定階和運(yùn)用矩估計(jì)實(shí)現(xiàn)模型參數(shù)的確立等諸多工作,根據(jù)求得的模型參數(shù)就能推導(dǎo)出卡爾曼濾波法的狀態(tài)方程和測(cè)量方程,從而實(shí)現(xiàn)對(duì)風(fēng)速的超前預(yù)測(cè)。以上這些工作均可通過(guò)Matlab編程來(lái)實(shí)現(xiàn)。
(2)Matlab軟件與組態(tài)王軟件間的數(shù)據(jù)通信是采用DDE來(lái)實(shí)現(xiàn)。在Windows環(huán)境下,DDE是不同程序之間共享數(shù)據(jù)的一個(gè)協(xié)議。DDE對(duì)話發(fā)生在客戶應(yīng)用程序和服務(wù)器應(yīng)用程序之間,數(shù)據(jù)交換雙方互做服務(wù)器和客戶。此程序需要實(shí)現(xiàn)將采集的風(fēng)速數(shù)據(jù)送入組態(tài)王進(jìn)行動(dòng)態(tài)顯示,并送到Matlab進(jìn)行復(fù)雜的運(yùn)算處理,將運(yùn)算得到的結(jié)果返回組態(tài)王以顯示。
在組態(tài)王中DDE的建立步驟如下:工程瀏覽器-系統(tǒng)-設(shè)備-DDE-新建-設(shè)備配置向?qū)?指導(dǎo)連接對(duì)象名Matlab-服務(wù)程序名Matlab-話題名tagname-標(biāo)準(zhǔn)的Windows項(xiàng)目交換。設(shè)備新建完成后需要在數(shù)據(jù)詞典中定義允許DDE訪問(wèn)的I/O變量,且變量與PLC存儲(chǔ)區(qū)關(guān)聯(lián),這些變量用于與Matlab進(jìn)行數(shù)據(jù)交換,并在完成畫(huà)面制作后對(duì)畫(huà)面和變量間進(jìn)行關(guān)聯(lián)[6]。
Matlab的DDE客戶函數(shù)有7個(gè),它們完全可以滿足組態(tài)王軟件不斷將采集到的數(shù)據(jù)送到Matlab程序中,Matlab計(jì)算完成后將結(jié)果返回主程序的任務(wù)。在使用過(guò)程中發(fā)現(xiàn),由于需要的風(fēng)速歷史數(shù)據(jù)比較大,自己實(shí)時(shí)從組態(tài)王傳輸給Matlab程序比較耗費(fèi)時(shí)間,且在傳輸過(guò)程中Matlab無(wú)法進(jìn)行其他操作,因此,這里改用一種更為簡(jiǎn)單和方便的數(shù)據(jù)交換方式,即組態(tài)王將歷史風(fēng)速數(shù)據(jù)以Excel文件導(dǎo)入到Matlab中,Matlab將計(jì)算后的結(jié)果通過(guò)DDE傳入到組態(tài)王進(jìn)行顯示[7-9]。
(3)根據(jù)前文完成的卡爾曼濾波算法程序設(shè)計(jì)和Matlab與組態(tài)王通信程序設(shè)計(jì),同時(shí)為了更直觀、更方便的實(shí)現(xiàn)人機(jī)化操作,使用Matlab中的GUI工具箱完成了大風(fēng)預(yù)測(cè)操作界面的設(shè)計(jì)。大風(fēng)預(yù)測(cè)操作界面如圖4和圖5所示[1]。
圖4 風(fēng)速數(shù)據(jù)預(yù)處理界面Fig.4 W ind speed data preprocessing interface
圖5 風(fēng)速預(yù)測(cè)結(jié)果顯示界面Fig.5 Wind speed forecasting results disp lay interface
通過(guò)組態(tài)王軟件采集250個(gè)實(shí)測(cè)風(fēng)速數(shù)據(jù)(每分鐘采樣1點(diǎn),相隔5個(gè)數(shù)據(jù)進(jìn)行平均化處理),前200個(gè)數(shù)據(jù)用于預(yù)測(cè)模型的建立,后50個(gè)數(shù)據(jù)用于驗(yàn)證模型的準(zhǔn)確度和對(duì)系統(tǒng)性能進(jìn)行分析。從圖5中可以看出預(yù)測(cè)曲線能體現(xiàn)風(fēng)速變化趨勢(shì),擬合風(fēng)速基本接近實(shí)測(cè)風(fēng)速,算得其平均相對(duì)誤差為3.54%,預(yù)測(cè)精度較高,滿足預(yù)測(cè)精度要求,具有實(shí)用價(jià)值。同時(shí)按下“數(shù)據(jù)傳入組態(tài)王”按鈕,預(yù)測(cè)數(shù)據(jù)將傳入組態(tài)王中顯示,并自動(dòng)與設(shè)定的8級(jí)風(fēng)速值比較,實(shí)現(xiàn)大風(fēng)的預(yù)警,整個(gè)預(yù)警過(guò)程大約花費(fèi)時(shí)間為10 s,遠(yuǎn)遠(yuǎn)小于30 s的最大允許值。同時(shí)為了得到預(yù)測(cè)模型的具體方程,利用了時(shí)間序列分析法的模型參數(shù)來(lái)推導(dǎo)卡爾曼濾波法對(duì)應(yīng)的狀態(tài)方程和測(cè)量方程,由于時(shí)間序列分析法的求參過(guò)程相對(duì)容易,因此,整個(gè)模型計(jì)算難度不大,計(jì)算量小,可通過(guò)Matlab軟件編程實(shí)現(xiàn),使其具有很好的工程實(shí)用性。
本文將Matlab強(qiáng)大的數(shù)學(xué)計(jì)算能力和組態(tài)王強(qiáng)大的人機(jī)界面和通信功能有效結(jié)合起來(lái),設(shè)計(jì)了一種以PLC為核心的大風(fēng)預(yù)警系統(tǒng)。根據(jù)大風(fēng)預(yù)警系統(tǒng)的性能要求,完成了硬件結(jié)構(gòu)和軟件的設(shè)計(jì),針對(duì)風(fēng)速進(jìn)行超前預(yù)測(cè),該系統(tǒng)具有通用性、實(shí)用性和可擴(kuò)展性的特點(diǎn),可以根據(jù)現(xiàn)場(chǎng)的情況,實(shí)現(xiàn)穩(wěn)定、有效的通信。
[1] 陳垚光,毛濤濤,王正林,等.精通MATLAB GUI設(shè)計(jì)[M].北京:電子工業(yè)出版社,2011.
[2] 劉年霖,彭佑多,王旻輝,等.大功率碟式太陽(yáng)能電站大風(fēng)預(yù)警系統(tǒng)設(shè)計(jì)與研究[J].機(jī)械工程與自動(dòng)化,2013(3):126-128.
[3] 徐建國(guó),鐘偉明,童旻,等.基于Matlab7.0和組態(tài)王的先進(jìn)過(guò)程控制算法實(shí)測(cè)平臺(tái)[J].儀器儀表學(xué)報(bào),2006,27(6):542-544.
[4] 胡大斌,胡錦暉,吳峰.基于組態(tài)王與MATLAB的監(jiān)控軟件實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2005,29(2):234-237.
[5] 朱培逸,王引佳,高玨,等.基于PLC和組態(tài)王的水果品質(zhì)分級(jí)系統(tǒng)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2013(10):103-106.
[6] 鄭華,呂偉珍.基于組態(tài)王和Matlab的雙容水箱液位控制[J].中國(guó)農(nóng)機(jī)化,2012(2):155-157.
[7] 崔紅,龐中華,劉軍.基于組態(tài)王6.0和MATLAB的實(shí)時(shí)監(jiān)控系統(tǒng)[J].青島科技大學(xué)學(xué)報(bào),2005,26(2):173-176.
[8] 黃衛(wèi)華,方康玲,章政.基于組態(tài)王和MATLAB的溫度監(jiān)控系統(tǒng)[J].武漢科技大學(xué)學(xué)報(bào):自然科學(xué)版,2006,29(5):490-492.
[9] 陳艷紅,付海鴻,趙媛媛,等.基于Matlab與Excel的實(shí)驗(yàn)數(shù)據(jù)自動(dòng)處理[J].計(jì)算機(jī)工程,2007,33(23):279-280.
[10]潘迪夫,劉輝,李燕飛.風(fēng)電場(chǎng)風(fēng)速短期多步預(yù)測(cè)改進(jìn)算法[J].中國(guó)電機(jī)工程學(xué)報(bào),2008,28(26):87-91. ■