杜俊杰,梁俊偉2,和立輝,杜 洋
(1.國(guó)網(wǎng)邢臺(tái)供電公司,河北 邢臺(tái) 054000; 2.北京中科瑞德科技,北京 100070)
電能質(zhì)量監(jiān)測(cè)設(shè)備經(jīng)過(guò)多年的發(fā)展,逐步進(jìn)入成熟階段,但現(xiàn)今大部分采用DSP運(yùn)算處理器,在電能質(zhì)量指標(biāo)越來(lái)越多的今天,電能數(shù)據(jù)運(yùn)算量不斷增大,DSP的運(yùn)算能力越發(fā)力不從心。此外供電公司因諧波而發(fā)生的設(shè)備故障和異常情況逐漸增多,而傳統(tǒng)電能質(zhì)量監(jiān)測(cè)裝置只能實(shí)現(xiàn)對(duì)諧波的監(jiān)測(cè),對(duì)諧波超標(biāo)用戶無(wú)法實(shí)現(xiàn)有效控制,用戶治理主動(dòng)性較差,國(guó)網(wǎng)公司“誰(shuí)污染,誰(shuí)治理”政策執(zhí)行難度大,執(zhí)行效率較低,致使電網(wǎng)諧波污染日益加劇,供電部門面臨客戶對(duì)電能質(zhì)量投訴的風(fēng)險(xiǎn)越來(lái)越大,凸顯依靠技術(shù)手段而非僅靠教育引導(dǎo)及協(xié)商管控提高電網(wǎng)安全經(jīng)濟(jì)運(yùn)行的緊迫性。采用更為先進(jìn)的FPGA內(nèi)核而研制的諧波監(jiān)控裝置實(shí)現(xiàn)了電能質(zhì)量指標(biāo)的大數(shù)據(jù)量計(jì)算,并且在傳統(tǒng)監(jiān)測(cè)基礎(chǔ)上增加了諧波控制功能,能夠?qū)χC波超標(biāo)線路進(jìn)行報(bào)警并切斷處理,客觀上督促污染源用戶主動(dòng)進(jìn)行諧波的治理。
諧波監(jiān)控裝置是基于原有的電能質(zhì)量監(jiān)測(cè)裝置,并綜合繼電保護(hù)的高可靠性而開發(fā),由于諧波監(jiān)控裝置的采樣率比較高,數(shù)據(jù)計(jì)算量也比較大,其使用的什么樣的硬件平臺(tái)在很大程度上也就決定了監(jiān)控莊子的性能,多通道并行采樣的高速A/D轉(zhuǎn)換芯片和以DSP為核心的多CPU嵌入式硬件平臺(tái)已經(jīng)成為在線式監(jiān)測(cè)終端的主流,但是以微控制器和數(shù)字信號(hào)處理器為核心軟硬件平臺(tái)結(jié)構(gòu)以及相應(yīng)的設(shè)計(jì)開發(fā)模式,存在著處理能力不足、可靠性差、更新?lián)Q代困難等弊端,導(dǎo)致其產(chǎn)品結(jié)構(gòu)越來(lái)越復(fù)雜,生產(chǎn)成本不斷提高,產(chǎn)品維護(hù)費(fèi)用高等問(wèn)題日漸凸顯,更為先進(jìn)的使用FPGA芯片(其在進(jìn)行大量復(fù)雜計(jì)算方面的高性能已經(jīng)遠(yuǎn)超過(guò)了同檔次的DSP芯片)加104工控板為硬件平臺(tái)核心的在線式電能質(zhì)量監(jiān)測(cè)產(chǎn)品在未來(lái)將成為主流。
在FPGA+104工控板的諧波監(jiān)控裝置中,F(xiàn)PGA主要實(shí)現(xiàn)頻率跟蹤與AD的采樣控制、開出量和開入量控制、和PCI的數(shù)據(jù)通訊[1]。104工控板主要實(shí)現(xiàn)電能質(zhì)量各項(xiàng)指標(biāo)的運(yùn)算、按鍵輸入、液晶顯示、數(shù)據(jù)通訊、規(guī)約轉(zhuǎn)換、數(shù)據(jù)存儲(chǔ)等。
電力系統(tǒng)的頻率作為電能質(zhì)量的指標(biāo),需要?jiǎng)討B(tài)監(jiān)測(cè),同時(shí)作為實(shí)施安全穩(wěn)定控制的重要狀態(tài)反饋量,要求能夠?qū)崟r(shí)重構(gòu),其中一個(gè)重要環(huán)節(jié)是保證實(shí)時(shí)監(jiān)測(cè)系統(tǒng)頻率的變化并實(shí)時(shí)調(diào)整數(shù)據(jù)采樣的時(shí)間間隔。傳統(tǒng)的由鎖相環(huán)電路實(shí)現(xiàn)硬件同步方法實(shí)時(shí)跟蹤信號(hào)頻率的變化,從而實(shí)時(shí)調(diào)整采樣頻率,其可靠性不高,當(dāng)波形畸變時(shí)測(cè)量存在較大誤差,而硬件較復(fù)雜,器件的延遲,漂移等也將引入新的誤差。另外采用軟件實(shí)現(xiàn)同步的方法,雖然簡(jiǎn)化了硬件電路,但是該方法增加了微處理器的計(jì)算量,并且由于微處理器中的量化誤差和中斷響應(yīng)時(shí)間的分散性也必然會(huì)導(dǎo)致較大的采樣誤差[2]。
隨著FPGA技術(shù)的廣泛應(yīng)用,采用基于頻率跟蹤和自適應(yīng)時(shí)域均衡的諧波信號(hào)處理與分析方法成為新的選擇,該方法具有精度高,速度快等特點(diǎn),在系統(tǒng)頻率不斷變化的情況下,為減小后續(xù)諧波分析的泄露誤差,本裝置在采用了實(shí)時(shí)頻率測(cè)量、采樣頻率動(dòng)態(tài)調(diào)整的同時(shí),將自適應(yīng)時(shí)域均衡理論引入電力信號(hào)的諧波處理與分析,提高了整體裝置的諧波測(cè)量穩(wěn)定度和準(zhǔn)確性,降低了采樣頻率的抖動(dòng)與偏差造成的諧波分析誤差[3]。
對(duì)于目前電能質(zhì)量監(jiān)測(cè)對(duì)象諧波、閃變及暫態(tài)等指標(biāo),由FPGA技術(shù)硬件實(shí)現(xiàn)的監(jiān)測(cè)系統(tǒng),可以提高運(yùn)算速度和精度,滿足極快響應(yīng)速度的要求。
隨著電能質(zhì)量國(guó)家標(biāo)準(zhǔn)陸續(xù)更新,對(duì)電能質(zhì)量監(jiān)測(cè)裝置提出了新的要求。諧波計(jì)算的采樣窗口為十周波采樣方式,同時(shí)增加了分辨率為5Hz的諧間波的計(jì)算,以DSP為代表的微處理器已經(jīng)計(jì)算起來(lái)非常困難,如果把算法移植到工控板上可以輕松完成。
閃變算法要求要不間斷采樣,同時(shí)諧波監(jiān)控裝置需要具有波形錄制功能,如何把采集到的波形完整的傳送到工控板成為諧波監(jiān)控裝置的關(guān)鍵。PCI通訊具有成熟、穩(wěn)定的特點(diǎn),通訊速度能夠達(dá)到要求,最終選定FPGA和工控板之間采用PCI通訊。硬件整體方案如下:
圖1 硬件原理框圖
系統(tǒng)由電源、采集、工控、控制和顯示單元組成。結(jié)構(gòu)簡(jiǎn)圖如圖2所示。
圖2 硬件系統(tǒng)結(jié)構(gòu)圖
互感器板上設(shè)計(jì)有測(cè)頻電路,將電壓信號(hào)從模擬轉(zhuǎn)換為數(shù)字信號(hào)傳送至FPGA板。FPGA板對(duì)數(shù)字信號(hào)進(jìn)行測(cè)量后換算成電壓信號(hào)頻率,并根據(jù)信號(hào)頻率實(shí)時(shí)調(diào)整采樣周期,然后根據(jù)采樣周期啟動(dòng)AD芯片對(duì)多路信號(hào)進(jìn)行同步采集,AD采集轉(zhuǎn)換完成之后通知FPGA進(jìn)行讀取,F(xiàn)PGA讀取采集數(shù)據(jù)之后通過(guò)PCI總線傳送至工控板。工控板通過(guò)各種算法計(jì)算得出電能質(zhì)量參數(shù)指標(biāo),并判斷是否需要控制輸出,同時(shí)根據(jù)用戶需要存儲(chǔ)越限數(shù)據(jù)。
電源采用定制型交直流兩用開關(guān)電源,輸出功率35 W,效率為86%,輸出紋波峰峰值小于15 mV。電源輸出分為三種,分別為數(shù)字、模擬和控制用電源。三種電源相互獨(dú)立。
2.1.1 數(shù)字電源
數(shù)字電源為5 V/2 A,向FPGA板和工控板供電。
2.1.2 模擬電源
模擬電源為±12 V/0.5 A,向互感器板運(yùn)放電路供電。因?yàn)檫\(yùn)放電路對(duì)紋波和噪聲比較敏感,所以在模擬電源輸出端增加了線性LDO電源芯片TPSA30/TPS7A49進(jìn)一步處理,處理之后紋波峰峰值小于5 mV,噪聲小于14 uV。
2.1.3 控制電源
控制電源為24 V/0.5 A,向繼電器等控制回路供電。
互感器板通過(guò)電壓/電流互感器和調(diào)理電路,將待測(cè)試信號(hào)進(jìn)行轉(zhuǎn)換并傳送至AD芯片,如圖3所示。
圖3 互感器板設(shè)計(jì)原理圖
包含多路AD芯片和FPGA處理器件。FPGA通過(guò)測(cè)頻電路對(duì)信號(hào)頻率進(jìn)行實(shí)時(shí)跟蹤,根據(jù)當(dāng)前頻率計(jì)算出采集周期并觸發(fā)多路AD進(jìn)行同步采集。AD采集完成之后通知FPGA器件進(jìn)行讀取。AD部分設(shè)計(jì)如圖4所示。
圖4 AD板原理圖
圖5 FPGA板設(shè)計(jì)原理圖
AD芯片為16位采集精度,每個(gè)AD具有8個(gè)采集通道,可以通過(guò)啟動(dòng)信號(hào)同時(shí)進(jìn)行采集和轉(zhuǎn)換。與FPGA器件通過(guò)總線方式進(jìn)行通信。
FPGA器件設(shè)計(jì)如圖5所示。
芯片共484個(gè)引腳,大部分可用于邏輯輸入與輸出。內(nèi)部采用低壓供電,包含大規(guī)模邏輯處理單元,非常適合同步時(shí)序應(yīng)用。
工控板選用行業(yè)內(nèi)成熟產(chǎn)品板卡,采用LINUX嵌入式操作系統(tǒng)。
控制板采用專用芯片對(duì)輸出繼電器進(jìn)行控制,保證其動(dòng)作可靠性。另外控制回路采用了屏蔽措施,防止誤操作輸出,其設(shè)計(jì)原理如圖6所示。
圖6 控制板設(shè)計(jì)原理圖
采用6.4寸真彩液晶作為顯示輸出,九宮格硅膠按鍵作為參數(shù)輸入及操作的鍵盤。
顯示單元部分界面如圖7所示,可進(jìn)行數(shù)據(jù)及圖形顯示以及參數(shù)的設(shè)定。
圖7 顯示界面設(shè)計(jì)
目前全國(guó)諧波裝置普遍采用IEC61850協(xié)議進(jìn)行通訊,因此,同樣采用IEC61850規(guī)約,方便以后與上級(jí)部門的數(shù)據(jù)接軌。而由于實(shí)現(xiàn)IEC61850規(guī)約需要采用操作系統(tǒng)和較大的內(nèi)存,和較高的處理速度,因此搭載104工控板使用嵌入式操作系統(tǒng)來(lái)提高處理速度,根據(jù)國(guó)家電網(wǎng)公司對(duì)網(wǎng)絡(luò)安全性的要求,采用了LINUX系統(tǒng)。
根據(jù)全球智能互聯(lián)網(wǎng)研究院2018年對(duì)電能質(zhì)量61850通訊規(guī)約做出的修訂,新的電能質(zhì)量監(jiān)控裝置應(yīng)滿足以下新增的通訊功能:
3.2.1 監(jiān)控終端程序遠(yuǎn)程更新
監(jiān)控終端支持文件接收功能,接收的文件放置于終端的指定目錄下。當(dāng)遠(yuǎn)程更新監(jiān)控終端程序時(shí),使用SetFile 服務(wù)將更新程序傳輸?shù)奖O(jiān)控終端的UPLOAD 目錄下,然后通過(guò)自定義的遙控節(jié)點(diǎn)下發(fā)遙控指令通知遠(yuǎn)程服務(wù)端完成程序更新。終端程序燒錄或更新后,終端程序版本號(hào)應(yīng)包含程序?qū)懭霑r(shí)間,終端程序版本號(hào)命名規(guī)則為:“軟件 版本_年月日時(shí)分”。
3.2.2 文件傳輸服務(wù)新增
1)終端應(yīng)支持按時(shí)間段召喚錄波文件列表,主站系統(tǒng)可向終端發(fā)送 請(qǐng)求的文件目錄服務(wù)參數(shù)中,通過(guò)時(shí)間段來(lái)獲取文件列表。
2)終端還應(yīng)支持通過(guò)文件條目數(shù)來(lái)獲取文件列表。
3)增加事件報(bào)告:
頻率變動(dòng)事件報(bào)告 brcbEveQFVR
電流不平衡事件報(bào)告 brcbEveQIUB
電壓不平衡事件報(bào)告 brcbEveQVUB
電壓波動(dòng)事件報(bào)告 brcbEveQVVR
錄波事件報(bào)告 brcbEveRDRE
設(shè)備狀態(tài)報(bào)告 brcbDevice[4]
主要對(duì)監(jiān)控終端諧波超標(biāo)繼電器控制邏輯算法原理進(jìn)行介紹。
代碼摘要:
if(ithd95mark>0 )//95%綜合判定超標(biāo)標(biāo)志
{
if(ithd95mark==1 &&( ithd95hour==2))//2小時(shí)第一次超標(biāo)
{
if(Limit[0][1].THDU>0 && Limit[0][1].THDI>0)
{
if(iThd && iCurrentHarm)
{
//此處記錄存底用于查閱
…….
//吸合繼電器,聲光報(bào)警用于提示用戶超標(biāo)
strAl.Format("%d-%02d-%02d %02d:%02d:%02d 總畸變率越限首次告警!",ltm.wYear,ltm.wMonth
,ltm.wDay,ltm.wHour,ltm.wMinute,ltm.wSecond);
AddYXStr(strAl,1); //添加紀(jì)錄用于人機(jī)界面查閱
…….
}
else
{
ithd95mark=1;
}
}
else
{
ithd95mark=1;
}
ithd95js=0;
ithd95hour=ltm.wHour;
memset(&dthd95buf,0,sizeof(dthd95buf));
char path[100],filename[250];
sprintf(path,(strPath+" D%02d%02d%02d"),ltm.wYear%100,ltm.wMonth,ltm.wDay);
CreateDirectory(path,NULL);sprintf(path,("d:DATAD%02d%02d%02dd00"),ltm.wYear%100,ltm.wMonth,ltm.wDay);
CreateDirectory(path,NULL);
sprintf(filename,"%sJ%d%02d%02d%02d0000",path,ltm.wYear,ltm.wMonth,ltm.wDay,ltm.wHour);
WriteFileN(filename,(byte *)&thd95[0],sizeof(thd95[0]));
}
//判斷是否連續(xù)第二次告警
if(ithd95mark==2 &&( ithd95hour==2))
{
if(Limit[0][1].THDU>0 && Limit[0][1].THDI>0)
{
if(iThd && iCurrentHarm)
{
thd95[1].tm=ltm;
for(int i=0;i<6;i++) thd95[1].val[i]=dthd95buf[i][120];
///寫記錄繼電器
char filename[100];
char path[100];
sprintf(path,(strPath+" D%02d%02d%02d"),ltm.wYear%100,ltm.wMonth,ltm.wDay);
CreateDirectory(path,NULL);
sprintf(path,(" D%02d%02d%02dd00"),ltm.wYear%100,ltm.wMonth,ltm.wDay);
CreateDirectory(path,NULL);
printf(filename,"%sJ%d%02d%02d%02d0000",path,ltm.wYear,ltm.wMonth,ltm.wDay,ltm.wHour);
WriteFileN(filename,(byte *)&thd95[1],sizeof(thd95[1]));
sprintf(filename,"%sX%d%02d%02d%02d0000",path,ltm.wYear,ltm.wMonth,ltm.wDay,ltm.wHour);
WriteFileN(filename,(byte *)&thd95,sizeof(thd95));
strAl.Format("%d-%02d-%02d %02d:%02d:%02d 總畸變率越限再次告警!",ltm.wYear,ltm.wMonth
,ltm.wDay,ltm.wHour,ltm.wMinute,ltm.wSecond);
AddYXStr(strAl,1);//添加紀(jì)錄用于人機(jī)界面查閱
i95alert+=2;
ithd95mark=1;
}
else
{
ithd95mark=1;
}
}
else
{
ithd95mark=1;
}
ithd95js=0;
ithd95hour=ltm.wHour;
memset(&dthd95buf,0,sizeof(dthd95buf));
//清除標(biāo)志,開始下一輪判斷
}
}
為保證數(shù)據(jù)存儲(chǔ)的穩(wěn)定性,采用固態(tài)硬盤作為存儲(chǔ)介質(zhì)。根據(jù)歷史數(shù)據(jù)存儲(chǔ)需求,選用64 G固態(tài)硬盤可滿足12個(gè)月的數(shù)據(jù)存儲(chǔ)。
為增強(qiáng)數(shù)據(jù)存儲(chǔ)可靠性,采用增加冗余的刪除編碼方法對(duì)數(shù)據(jù)進(jìn)行保護(hù)處理。其原理簡(jiǎn)單介紹如下:
刪除編碼的基本思想是將需要存儲(chǔ)的數(shù)據(jù)分成每K個(gè)一組,通過(guò)特定的編碼方式,增加N-K個(gè)冗余數(shù)據(jù),構(gòu)成N(N>K)個(gè)數(shù)據(jù)進(jìn)行存儲(chǔ)。選擇的編碼方式具有如下特征:若在N個(gè)數(shù)據(jù)中可以讀取任意不少于K個(gè)數(shù)據(jù),就能恢復(fù)全部K個(gè)原始數(shù)據(jù)。刪除編碼的數(shù)據(jù)編碼及其讀取方法均基于多項(xiàng)式(Polynomial)求值進(jìn)行的。下面以K=2,N=3為例說(shuō)明其基本原理。
圖8 采用刪除編碼的存儲(chǔ)過(guò)程示意圖
如圖8所示,假定需要存儲(chǔ)的兩個(gè)數(shù)據(jù)為字符A和B。下面求取增加的一個(gè)冗余數(shù)據(jù)。在ASCII表[2]中查得A和B的ASCII值分別為65和66。假定它們?cè)谄矫嬷苯亲鴺?biāo)系中對(duì)應(yīng)兩個(gè)點(diǎn),坐標(biāo)分別為A(1,65), B(2,66),如圖9所示。
圖9 刪除編碼求取冗余數(shù)據(jù)示意圖
由平面幾何知識(shí)可知,這兩個(gè)點(diǎn)唯一確定一條直線。利用點(diǎn)
A
和點(diǎn)
B
的坐標(biāo)可以求得該直線的函數(shù)方程為
f
(
x
)=
x
+64。增加冗余數(shù)據(jù)的方法是計(jì)算該函數(shù)在其它某個(gè)給定點(diǎn)的函數(shù)值。假定冗余數(shù)據(jù)對(duì)應(yīng)
x
=3,經(jīng)計(jì)算可知其對(duì)應(yīng)函數(shù)值為67,查ASCII表可知對(duì)應(yīng)的字符為C。數(shù)據(jù)存儲(chǔ)過(guò)程見圖5,其中前兩個(gè)存儲(chǔ)單元中的數(shù)據(jù)為原始數(shù)據(jù),后一個(gè)存儲(chǔ)單元中的數(shù)據(jù)為冗余數(shù)據(jù)。需要指出的是,對(duì)于用戶來(lái)說(shuō),原始數(shù)據(jù)和冗余數(shù)據(jù)對(duì)應(yīng)點(diǎn)的縱坐標(biāo)是需要讀取或者計(jì)算得到的,但是橫坐標(biāo)是預(yù)先知道的。只要可以讀取任意不少于2個(gè)數(shù)據(jù),就可以保證恢復(fù)出全部2個(gè)原始數(shù)據(jù)字符A和B。
一般地,若刪除編碼的參數(shù)為N和K,則原始數(shù)據(jù)對(duì)應(yīng)平面的K個(gè)不同點(diǎn)。根據(jù)代數(shù)知識(shí)可知,這K個(gè)點(diǎn)可以確定一個(gè)次數(shù)不超過(guò)K的多項(xiàng)式函數(shù)f(x)=α0+α1x+…。求取冗余數(shù)據(jù)的方法可歸結(jié)為計(jì)算該函數(shù)在其它N-K個(gè)給定點(diǎn)的函數(shù)值。在數(shù)據(jù)讀取時(shí),若原始數(shù)據(jù)有些不能讀取,但能夠讀取的數(shù)據(jù)數(shù)目不少于K,就可以通過(guò)求解線性方程組得到 (即求出系數(shù)α0,α1,…,αk-1),進(jìn)而得到原始數(shù)據(jù)對(duì)應(yīng)的K個(gè)點(diǎn)的函數(shù)值,恢復(fù)出原始數(shù)據(jù)。
在實(shí)際存儲(chǔ)中,上述多項(xiàng)式不是定義在實(shí)數(shù)集上,而是定義在一種特殊的代數(shù)系統(tǒng)——有限域(Finite Field)上[5]。
將試驗(yàn)樣機(jī)與標(biāo)準(zhǔn)源進(jìn)行精度對(duì)比,所測(cè)結(jié)果完全滿足國(guó)標(biāo)A級(jí)精度要求,具體指標(biāo)見表1所示。
樣機(jī)測(cè)試合格后,在邢臺(tái)供電公司王快110 kV變電站8條用戶出線進(jìn)行掛網(wǎng)試運(yùn)行,經(jīng)過(guò)12個(gè)月的試運(yùn)行,各項(xiàng)
表1 精度測(cè)試結(jié)果對(duì)照表
指標(biāo)均達(dá)到要求。收到良好的效果。電能質(zhì)量控裝置適用于所有非線性負(fù)荷電力客戶。具有效具有廣泛的推廣價(jià)值,