程 立 李少卿 李德文 朱何榮 熊慕文
(南京南瑞繼保電氣有限公司,南京 211102)
隨著我國經(jīng)濟(jì)的持續(xù)發(fā)展,企業(yè)社會(huì)對(duì)電力的需求越來越旺盛,電網(wǎng)規(guī)模越來越大,電網(wǎng)結(jié)構(gòu)趨于復(fù)雜,負(fù)荷用戶類型也越來越多。很多大型煉鋼廠、鍛造廠、電氣化鐵路出力特性不明顯、波動(dòng)性大[1],容易產(chǎn)生諧波、間諧波,造成電壓不穩(wěn)定,電網(wǎng)電能質(zhì)量下降。另一方面,風(fēng)電、光伏等新能源[2]不斷投入,這些新能源具有易受氣候條件影響、出力不穩(wěn)定、波動(dòng)范圍廣、間歇性較強(qiáng)的特點(diǎn),也會(huì)為電網(wǎng)帶來諧波含量增加、電壓閃變等問題,從而影響電網(wǎng)的電能質(zhì)量。
從電網(wǎng)角度來講,電網(wǎng)公司對(duì)提高供電水平格外重視,在電網(wǎng)的某些關(guān)鍵點(diǎn),如風(fēng)電、光伏等新能源站、直流換流站、重要負(fù)荷點(diǎn)會(huì)安裝電能質(zhì)量監(jiān)測(cè)終端,實(shí)時(shí)監(jiān)視電網(wǎng)的電能質(zhì)量水平,并加以改善。從用戶角度來講,隨著精密加工企業(yè)越來越多,這些企業(yè)生產(chǎn)精密機(jī)床、高科技芯片等,電壓暫升暫降都會(huì)導(dǎo)致次品率躍升而蒙受損失,因此這些企業(yè)額外重視電能質(zhì)量。在這些企業(yè)中,購買安裝電能質(zhì)量監(jiān)測(cè)終端往往是自發(fā)行為,它們更多地是監(jiān)視電網(wǎng)的電壓質(zhì)量,作為電網(wǎng)對(duì)生產(chǎn)線造成影響而索賠的依據(jù)。
電能質(zhì)量監(jiān)測(cè)所形成的數(shù)據(jù)對(duì)于電網(wǎng)和用戶來說都很重要。電能質(zhì)量數(shù)據(jù)交換文件PQDIF[3]是電能質(zhì)量存儲(chǔ)管理的標(biāo)準(zhǔn)格式文件,不僅可以定時(shí)存儲(chǔ)穩(wěn)態(tài)數(shù)據(jù)(如10min數(shù)據(jù)),而且可以存儲(chǔ)暫態(tài)事件(如電壓暫升/暫降等)數(shù)據(jù)。根據(jù)IEC 61000-4-30[4]標(biāo)準(zhǔn),PQDIF的穩(wěn)態(tài)數(shù)據(jù)基于10周波數(shù)據(jù),而10周波數(shù)據(jù)的計(jì)算都是在實(shí)時(shí)性很強(qiáng)的 DSP單元完成,而PQDIF的存儲(chǔ)往往依賴文件系統(tǒng),在非實(shí)時(shí)的操作系統(tǒng)中生成。10周波數(shù)據(jù)的實(shí)時(shí)性太強(qiáng),傳統(tǒng)的方法都是在操作系統(tǒng)中用150周波數(shù)據(jù)替代而進(jìn)行統(tǒng)計(jì),這明顯違背了IEC 61000-4-30規(guī)定的測(cè)量方法原則。
本文在深入研究電能質(zhì)量終端架構(gòu)設(shè)計(jì)的基礎(chǔ)上,提出了一種電能質(zhì)量數(shù)據(jù)交換文件生成方案。該方案完全遵守IEC 61000-4-30測(cè)量方法原則,采用10周波數(shù)據(jù)作為數(shù)據(jù)源,快速正確地生成電能質(zhì)量數(shù)據(jù)交換文件。通過設(shè)計(jì)相應(yīng)的測(cè)試方法,驗(yàn)證了本文所提出方法的有效性和正確性。
為了統(tǒng)一電能質(zhì)量數(shù)據(jù)文件的格式,在20世紀(jì)90年代IEEE標(biāo)準(zhǔn)委員會(huì)起草了IEEE 1159.3[5]標(biāo)準(zhǔn)文件,采用了一種電能質(zhì)量數(shù)據(jù)交換格式(power quality data interchange format, PQDIF)。此文件格式最早由美國電力科學(xué)研究院提出。此草案統(tǒng)一了電能質(zhì)量文件格式,給出了相關(guān)術(shù)語、定義和指導(dǎo)方針,解決了不同廠家數(shù)據(jù)的可交換性問題。
PQDIF文件分為兩個(gè)視圖,即物理層和邏輯層。物理層只負(fù)責(zé)文件的存儲(chǔ)結(jié)構(gòu)與定義,不關(guān)心存儲(chǔ)的內(nèi)容。文件存儲(chǔ)結(jié)構(gòu)類似于鏈表結(jié)構(gòu),Record之間相互鏈接,如圖1所示。圖1(a)是鏈表結(jié)構(gòu)按序存儲(chǔ),圖1(b)是鏈表結(jié)構(gòu)跳躍式存儲(chǔ),兩者都符合物理層的存儲(chǔ)要求。
在物理層中,每個(gè)Record包含header和body結(jié)構(gòu),其中 header概要描述 body存儲(chǔ)信息,body包含文件詳細(xì)內(nèi)容(body可采用 zlib壓縮格式),如圖2所示。
圖1 PQDIF物理層
圖2 header和body結(jié)構(gòu)
邏輯層只關(guān)心文件的內(nèi)容,分為 Container、DataSource、MonitorSetting、Observation幾個(gè)類型,典型的邏輯層表示如圖3所示,Container包含若干DataSource,DataSource包含若干MonitorSetting和Observation。
圖3 PQDIF邏輯層
從物理層來看,各個(gè)Record是平行結(jié)構(gòu),沒有層次關(guān)系,但從邏輯層來看,各個(gè)Record之間存在層次關(guān)系。DataSource與Observation的對(duì)應(yīng)關(guān)系如圖4所示。
圖4 DataSource與Observation
本文實(shí)現(xiàn)方案采用嵌入式裝置[6],硬件架構(gòu)為CPU+DSP。CPU采用 Linux[7]操作系統(tǒng),除了板卡管理外,還負(fù)責(zé)PQDIF文件管理工作。DSP采用中斷方式,除了基本電壓/電流、諧波/間諧波、波動(dòng)和閃變[8]等計(jì)算模塊外,還負(fù)責(zé)PQDIF的統(tǒng)計(jì)數(shù)據(jù)生成。CPU與DSP之間通過HTM總線交互數(shù)據(jù),總線速率可達(dá)到320Mbps。
DSP中包含統(tǒng)計(jì)模塊、傳輸模塊;CPU中包含接收模塊、文件生成模塊、文件管理模塊。統(tǒng)計(jì)模塊生成數(shù)據(jù)后,通過HTM分時(shí)傳輸?shù)紺PU,CPU接收模塊從HTM驅(qū)動(dòng)讀出后,push到共享內(nèi)存。文件生成模塊從共享內(nèi)存pop出數(shù)據(jù),生成PQDIF文件,最后文件管理模塊對(duì)文件進(jìn)行存儲(chǔ)及管理并提供接口給IEC 61850[9-10]、LCD及其他APP。
圖5 系統(tǒng)結(jié)構(gòu)
按照IEC 61000-4-30 A級(jí)標(biāo)準(zhǔn),每10個(gè)周波計(jì)算一個(gè)值,15個(gè) 10周波值做均方根,每到一個(gè)統(tǒng)計(jì)周期(如10min),將時(shí)間窗重新對(duì)齊,中間不允許丟點(diǎn),如圖6所示。
圖6 IEC 61000-4-30A級(jí)數(shù)據(jù)窗
統(tǒng)計(jì)數(shù)據(jù)分為4種,即最大值、最小值、平均值、95%值。最大值、最小值、平均值含義比較明確。95%值含義是指將計(jì)算的點(diǎn)按從大到小的順序排列,去掉5%最大值,剩下中最大的即為95%值。舉個(gè)例子:100到1是100個(gè)數(shù)字,減去5%的最大值,即剩余 95~1共 95個(gè)數(shù)字,那么 95%值就是95(剩余最大值)。IEC標(biāo)準(zhǔn)取95%意指時(shí)間,即觀測(cè)點(diǎn)的評(píng)估指標(biāo)應(yīng)在95%的時(shí)間內(nèi)符合標(biāo)準(zhǔn)要求。
這4種統(tǒng)計(jì)值都基于10周波數(shù)據(jù),考慮到實(shí)時(shí)性,因此要放在DSP的實(shí)時(shí)中斷計(jì)算。在本算法實(shí)現(xiàn)中,統(tǒng)計(jì)模塊Statis拉取MMXU、MSQI、MHAI模塊的指針,如圖7所示。
計(jì)算中斷為50ms,因?yàn)槊?0周波計(jì)算一個(gè)數(shù)據(jù),所以 50ms中斷不是每次都能刷到新數(shù)據(jù)。MMXU/MHAI/MSQI分別提供一個(gè) cycle10的計(jì)數(shù)器,在10周波計(jì)算完成后該計(jì)數(shù)器加一。在Statis模塊檢測(cè)到cycle10計(jì)數(shù)器變化后,對(duì)新數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。最大值、最小值可以直接比較得出;平均值首先要計(jì)算累加和,等到統(tǒng)計(jì)周期結(jié)束后再進(jìn)行平均計(jì)算;95%值需要將數(shù)據(jù)緩存下來,在統(tǒng)計(jì)周期結(jié)束后采用排序方法進(jìn)行計(jì)算。
計(jì)算 95%值,按照 10周波一個(gè)點(diǎn),每個(gè)點(diǎn) 4字節(jié) float存儲(chǔ),10min統(tǒng)計(jì)出結(jié)果,那么就需要4× 1 0× 6 0 ÷ 0 .2 = 1 2000字節(jié),很耗費(fèi)空間。這里采用一個(gè)反向方法,只選取最大的5%大值,這樣存儲(chǔ)空間就降到12000× 5 % = 6 00字節(jié),空間節(jié)省 95%。C代碼片段如下所示。shell_sort按照升序排列,最終的cpf95_vec[0]就是95%值。
圖7 Statis統(tǒng)計(jì)模塊
統(tǒng)計(jì)模塊生成數(shù)據(jù)后,要設(shè)法傳輸?shù)紺PU板,因此必須設(shè)計(jì)一個(gè)數(shù)據(jù)傳輸通道。本方案 CPU和DSP[11]間通過HTM總線進(jìn)行數(shù)據(jù)交互。由于還有其他應(yīng)用數(shù)據(jù)也通過 HTM 傳輸,留給統(tǒng)計(jì)數(shù)據(jù)傳輸?shù)膸挷⒉淮?,因此要設(shè)計(jì)一種交換協(xié)議分時(shí)進(jìn)行數(shù)據(jù)傳輸。本文采用的數(shù)據(jù)協(xié)議如下:
按照間隔1, 2, …, N的順序,每個(gè)間隔內(nèi)按照MMXU、MHAI、MSQI的時(shí)序傳輸,合理分配帶寬,確保在一個(gè)統(tǒng)計(jì)周期(如 10min)內(nèi)將數(shù)據(jù)傳輸完畢,每個(gè)50ms中斷傳輸數(shù)據(jù)個(gè)數(shù)M計(jì)算公式如下:
時(shí)序如圖8所示。
圖8 傳輸時(shí)序圖
統(tǒng)計(jì)數(shù)據(jù)通過HTM總線傳輸至CPU板卡之后,由HTM驅(qū)動(dòng)模塊接收并且緩存。由于HTM驅(qū)動(dòng)緩存較小,所以要及時(shí)讀取出來,否則緩存塞滿后就會(huì)丟失數(shù)據(jù)。在 Linux操作系統(tǒng)側(cè),通過共享內(nèi)存生成一個(gè)隊(duì)列長度256,每個(gè)隊(duì)列1KB的環(huán)形緩沖區(qū),在1.25ms中斷讀取HTM數(shù)據(jù)并拷貝至環(huán)形緩沖區(qū),由另外一個(gè)獨(dú)立的文件生成線程讀取數(shù)據(jù),如圖9所示。
圖9 接收及生成模塊
在圖9中,采用獨(dú)立線程每3s批量讀取數(shù)據(jù),根據(jù)預(yù)先設(shè)置的PQDIF生成模板,將數(shù)據(jù)組織生成文件。本文采用的PQDIF模板如下。
ChannelDef
?Voltage of A/B/C //三相電壓幅值
?Current of A/B/C //三相電流幅值
?Phase Angle of Voltage A/B/C //三相電壓相角
?Phase Angle of Current A/B/C //三相電流相角
?Unbalance of Voltage/Current //電壓電流不平衡度
?Positive/Negative/ZeroSequence of Voltage//電壓正負(fù)零序
?Positive/Negative/ZeroSequence of Current//電流正負(fù)零序
?THD of Voltage VA/VB/VC //三相電壓總畸變率
?HR of Voltage VA/VB/VC //三相電壓諧波含有率
?HRof Current IA/IB/IC //三相電流諧波含有率
?Real Power of the total/A/B/C //總及三相有功
?Active Power of the total/A/B/C //總及三相無功
?Apparent Power of the total/A/B/C //總及三相視在功率
?True Power Factor of the total/A/B/C //總及三相功率因素
?Phase Angle of Power Factor A/B/C //三相相角
?Real Power of Fundamental Frequency of the total/A/B/C //基波總及三相有功
?Acitve Power of Fundamental Frequency of the total/A/B/C //基波總及三相無功
?Apparent Power of Fundamental Frequency of the total/A/B/C //基波總及三相視在功率
?Power of Harmonic Frequency of the total/ A/B/C //總及三相諧波功率
由于PQDIF的物理層相當(dāng)于鏈表結(jié)構(gòu),鏈表結(jié)構(gòu)在文件系統(tǒng)中操作難度較大。因此,IEEE 1159.3推薦了一種很巧妙的方法,利用內(nèi)存方式生成相應(yīng)的鏈表結(jié)構(gòu),記錄下每個(gè)塊之間的內(nèi)存偏移(相當(dāng)于文件中鏈表的下一個(gè)塊),這種內(nèi)存方式比文件系統(tǒng)易于操作,而且要靈活的多。由于整個(gè)PQDIF文件存儲(chǔ)內(nèi)容較多,整個(gè)塊頭可能比較大,因此需要分段采用內(nèi)存鏈表結(jié)構(gòu)進(jìn)行存儲(chǔ),每存儲(chǔ)一個(gè)段就釋放內(nèi)存,下一個(gè)段再重新利用這塊內(nèi)存,這樣可以減小內(nèi)存塊,減輕內(nèi)存資源壓力。文件體采用壓縮格式存儲(chǔ)時(shí)也可以預(yù)先在內(nèi)存中用zlib庫壓縮好后,再寫入文件中,C代碼片斷如下。
PQDIF文件生成后采用 MySQL[12]開源數(shù)據(jù)庫進(jìn)行管理。MySQL是由瑞典MySQL AB公司開發(fā)的一款關(guān)系型數(shù)據(jù)庫,后來被Oracle公司收購。在嵌入式操作系統(tǒng)Linux中,MySQL應(yīng)用十分廣泛。文件管理模塊設(shè)計(jì)如圖10所示,由PQDIF_SERVER主進(jìn)程和insert_thread、query_thread、del_thread三個(gè)線程組成。PQDIF_SERVER主進(jìn)程初始化MySQL數(shù)據(jù)庫,完成數(shù)據(jù)庫表結(jié)構(gòu)的構(gòu)建及關(guān)鍵字的建立。insert_thread功能為:當(dāng)有新的PQDIF文件生成時(shí),存儲(chǔ)進(jìn)特定目錄,按照間隔+時(shí)間日期關(guān)鍵字存入MySQL表結(jié)構(gòu);query_thread功能為:為IEC 61850、LCD和其他APP提供同步和異步兩種接口,可以按照間隔+時(shí)間關(guān)鍵字的方式檢索信息,提供返回文件路徑接口。del_thread功能:定期檢測(cè)表結(jié)構(gòu)及磁盤大小,按照時(shí)間順序刪除掉最老文件,同時(shí)也刪除相應(yīng)的表結(jié)構(gòu)信息。
圖10 文件管理模塊
本文對(duì)提出的電能質(zhì)量數(shù)據(jù)交換文件方案做了測(cè)試進(jìn)行驗(yàn)證。測(cè)試平臺(tái)硬件:CPU為PPC,主頻800MHz;DSP為TI芯片,主頻1GHz;內(nèi)存1G;SD卡為32G;操作系統(tǒng)為Linux。選擇電壓監(jiān)測(cè)點(diǎn)如下:10%Un、150%Un,每個(gè)監(jiān)測(cè)點(diǎn)持續(xù) 20個(gè)周波,總共持續(xù)15min,查看PQDIF文件數(shù)據(jù)結(jié)果,見表1。測(cè)試結(jié)果小于標(biāo)準(zhǔn)要求精度0.2%Un,滿足工程應(yīng)用需求。
表1 測(cè)試結(jié)果摘錄
采用本文方案研發(fā)的電能質(zhì)量監(jiān)測(cè)終端已在安徽六合光伏、四川宜賓農(nóng)網(wǎng)及重慶鋁廠等項(xiàng)目中成功運(yùn)行?,F(xiàn)場(chǎng)終端采用 51.2K/s的模擬采樣,通過交換機(jī)接入路由設(shè)備,通過綜合數(shù)據(jù)網(wǎng)上送到主站系統(tǒng),規(guī)約采用IEC 61850。PQDIF文件既可通過IEC 61850的文件服務(wù)上送主站,又可通過終端本身自帶的USB進(jìn)行數(shù)據(jù)拷貝。組網(wǎng)方式如圖11所示。
工程項(xiàng)目自投運(yùn)以來,采用該方案實(shí)現(xiàn)的終端運(yùn)行穩(wěn)定可靠,采集和生成了大量電能質(zhì)量PQDIF數(shù)據(jù)文件,為當(dāng)?shù)仉娏Σ块T分析電網(wǎng)狀態(tài)、實(shí)施有效合理的治理措施提供了大量詳實(shí)的運(yùn)行數(shù)據(jù)。
圖11 網(wǎng)絡(luò)結(jié)構(gòu)圖
本文提出了電能質(zhì)量數(shù)據(jù)交換文件的生成方案,并且成功地應(yīng)用在電能質(zhì)量終端的研發(fā)上。該方案嚴(yán)格遵守IEC 61000-4-30的測(cè)量方法,采用10周波數(shù)據(jù),在實(shí)時(shí)系統(tǒng)與非實(shí)時(shí)系統(tǒng)間進(jìn)行數(shù)據(jù)傳送生成PQDIF文件。試驗(yàn)結(jié)果表明,該方案生成結(jié)果可靠正確。本文提出方案研發(fā)的電能質(zhì)量監(jiān)測(cè)終端已經(jīng)被成功應(yīng)用在安徽、四川及重慶等地,為用戶提供了大量詳實(shí)的電能質(zhì)量數(shù)據(jù),幫助用戶分析電網(wǎng)狀態(tài),為科學(xué)決策電能質(zhì)量治理問題提供了堅(jiān)實(shí)的數(shù)據(jù)依據(jù)。