王建訓(xùn)
(國網(wǎng)山東省電力公司淄博供電公司,山東淄博 255080)
以智能電網(wǎng)為代表的電力技術(shù),在“能源因特網(wǎng)+新電力改革”的背景下,將云計算技術(shù)和信息技術(shù)相結(jié)合,改變了傳統(tǒng)的電力企業(yè)的生產(chǎn)經(jīng)營模式[1]。隨著智能電網(wǎng)建設(shè)的不斷推進(jìn),電力信息采集系統(tǒng)中的大數(shù)據(jù)量越來越大[2]。面對海量電力數(shù)據(jù),快速獲取有價值的信息是引導(dǎo)企業(yè)快速發(fā)展的關(guān)鍵因素,已成為當(dāng)前研究的熱點(diǎn)[3]。
隨著收集系統(tǒng)支持服務(wù)的增加,多部門間信息共享模式的復(fù)雜度也越來越高,產(chǎn)生的重復(fù)數(shù)據(jù)也隨之增多[4]。傳統(tǒng)數(shù)據(jù)分析方法和手段在多領(lǐng)域能源大數(shù)據(jù)爆炸的背景下,已不能滿足快速增長的業(yè)務(wù)需求[5]。當(dāng)前市場上的數(shù)據(jù)采集系統(tǒng)多為A/D 或D/A 采集卡,通道數(shù)一般在4~8 個左右,分辨率也在10 位以內(nèi)。在ADC 采樣時,時間間隔通常相同,為了保證采集信號的準(zhǔn)確性與真實(shí)性,采樣頻率必須達(dá)到一定的閾值。采樣頻率越高,理論效果越好。但隨著頻率的升高,會產(chǎn)生新的問題,為此,該研究基于PCI 總線技術(shù)提出了一種新的電力能源數(shù)據(jù)多通道同步采集方法。該方法采用PCI 專用控制器的數(shù)據(jù)傳輸方式,實(shí)現(xiàn)了數(shù)據(jù)移植,改變了傳統(tǒng)數(shù)據(jù)采集方式的局限性。
基于PCI總線的多通道同步采集結(jié)構(gòu)如圖1所示。
圖1 基于PCI總線的多通道同步采集結(jié)構(gòu)
圖1 中,通過計數(shù)電路將N 通道數(shù)字脈沖信號寫入FIFO1 或FIFO2,再由控制邏輯對采集芯片進(jìn)行控制[6]。由于與PCI 連接接口的數(shù)據(jù)采樣比PCI 數(shù)據(jù)傳輸慢,因此采用了兩個FIFO 來提高PCI 的利用率。若FIFO1 和FIFO2 為空,則邏輯為FIFO1。當(dāng)FIFO1滿時,邏輯是FIFO2[7]。與此同時,邏輯將把FIFO1 的數(shù)據(jù)讀取到FIFO1 內(nèi)部。存儲器與FIFO 之間的數(shù)據(jù)直接通過多通道傳輸,也可將數(shù)據(jù)裝載到FIFO 中,并設(shè)置存儲內(nèi)存達(dá)到最大時的時間,或者將存儲內(nèi)存的時間縮短到一半[8]。當(dāng)發(fā)送結(jié)束后,發(fā)送計數(shù)寄存器達(dá)到0,產(chǎn)生中斷,該程序被發(fā)送到中斷服務(wù)程序,并為下一次發(fā)送設(shè)置參數(shù),直到任務(wù)完成后中斷[9-10]。
由于每個通道只有一個本地空值和一個PCI 空值,因此不同通道的地址空值必須映射到傳輸通道的地址空值,以便在數(shù)據(jù)傳輸過程中快速識別輸入信道[11]。圖2 展示了多通道地址空間映射關(guān)系。
圖2 本地空間與PCI空間的映射
由圖2 可知,在將本地地址插槽中的數(shù)據(jù)傳輸?shù)絇CI 地址插槽時,輸入通道地址插槽首先映射到本地訪問插槽。控制器把數(shù)據(jù)傳送到所訪問的PCI插槽,然后把來自PCI 插槽的數(shù)據(jù)傳送到每一個通道對應(yīng)的內(nèi)存插槽。根據(jù)多通道訪問,將輸入通道存儲查詢映射為本地訪問查詢[12]。在多通道控制器訪問局部空值時,由于對于4 個通道的訪問地址是相同的,因此,必須針對不同通道的局部空值制定對應(yīng)的訪問策略,包括優(yōu)先訪問、排隊(duì)訪問、循環(huán)訪問3種形式,圖3 展示了具體的循環(huán)訪問策略。
圖3 本地總線訪問策略
由圖3可知,訪問策略的狀態(tài)變化為:…→STATE0→STATE1 →STATE2 →STATE3 →STATE0…→;其中,STATEx表示本地空間x的運(yùn)行狀態(tài),狀態(tài)機(jī)在FLAGx通道中輸入FIFOx請求,此時FLAGx處于STATEx狀態(tài),等待多通道控制器的訪問[13]。計算機(jī)啟動多個頻道時,產(chǎn)生了頻道選擇信號CSX,在多路傳輸結(jié)束時,信號CSX 無效,進(jìn)入下一狀態(tài)。若未在下一狀態(tài)中檢測到請求信號,則該狀態(tài)進(jìn)入下一狀態(tài),直到檢測到FLAGx且狀態(tài)機(jī)保持為STATEx狀態(tài),由此完成多通道訪問[14]。
為了實(shí)現(xiàn)多通道數(shù)據(jù)訪問,需使用FLAGX 通道接收和傳輸信號。一旦啟動該通道,數(shù)據(jù)將自動傳輸?shù)紽IFO 通道中[15]。該信號從本地中斷信號LINT#輸入并路由到PCI 總線,計算機(jī)在PCI 中接收并響應(yīng)該中斷。中斷響應(yīng)反饋流程如圖4 所示。
由圖4 可知,在數(shù)據(jù)傳輸結(jié)束后,讀取PCI 的寄存器狀態(tài)。若其狀態(tài)為“中斷”,則繼續(xù)檢測輸入信道狀態(tài),確定可用于傳輸信息的信道。對于多通道傳輸過程,應(yīng)采用PCI 多路請求傳輸?shù)姆绞絹韺?shí)現(xiàn)[16]。當(dāng)數(shù)據(jù)傳送結(jié)束后,計算機(jī)會應(yīng)答中斷,并讀取輸入信道狀態(tài)寄存器。這一過程不需要多次啟動多路控制器,就可以將離散在局部或PCI 總線上的數(shù)據(jù)塊,通過多個信道傳輸?shù)絇CI 內(nèi)存或本地存儲器中。
圖4 中斷響應(yīng)反饋流程圖
使用蟻群算法更新電力能源數(shù)據(jù)可以確定數(shù)據(jù)密度,縮短數(shù)據(jù)聚合時間。假設(shè)將m只螞蟻放到n個數(shù)據(jù)庫中,根據(jù)螞蟻選擇的數(shù)據(jù),在同一時間選擇一個數(shù)據(jù)或n個數(shù)據(jù)同時訪問后,更新螞蟻訪問這條路徑的所有數(shù)據(jù)屬性,確定信息素濃度。
在t時刻在數(shù)據(jù)i位置的螞蟻爬行到數(shù)據(jù)j的概率為:
式(1)中,ηij表示期望選擇數(shù)據(jù)的長度;α表示信息素濃度對螞蟻爬行路徑選擇造成影響程度;β表示期望選擇數(shù)據(jù)的重要程度;表示數(shù)據(jù)密度;allowedk表示螞蟻爬行到理想數(shù)據(jù)位置的允許程度。
經(jīng)過一定時間后,所有螞蟻都走完了路徑,至此完成了一次循環(huán),各個路徑上的數(shù)據(jù)密度可調(diào)整為:
式(2)中,Δρij表示螞蟻選擇理想數(shù)據(jù)時留下的信息素濃度。
蟻群密度模型和蟻群數(shù)量模型并沒有在所有螞蟻都完成N次存取之后進(jìn)行更新,而是在所有螞蟻路徑都完成存取之后,由螞蟻密度模型引用的局部信息更新為全局信息。在沒有可供選擇的路徑時,信息素的總體濃度將明顯下降,并剔除不良路徑,由此完成數(shù)據(jù)更新。
采用雙緩沖模式,每次能向計算機(jī)內(nèi)緩沖大量數(shù)據(jù)。在緩沖區(qū)的結(jié)尾處寫上數(shù)據(jù),然后回到開頭將舊的數(shù)據(jù)去掉。在邏輯上,緩沖區(qū)分為兩等長,其工作過程如圖5 所示。
圖5 雙緩沖模式的連續(xù)數(shù)據(jù)采集
由圖5 可知,數(shù)據(jù)采集設(shè)備首先向緩沖區(qū)的前部寫入數(shù)據(jù),當(dāng)向緩沖區(qū)的后部寫入數(shù)據(jù)時,數(shù)據(jù)采集設(shè)備將其前部拷貝到傳輸緩沖區(qū),以便進(jìn)行存儲或其他處理。如果一個設(shè)備向緩沖區(qū)的后部寫入數(shù)據(jù),又返回緩沖區(qū)的前部繼續(xù)寫入數(shù)據(jù)并覆蓋了舊數(shù)據(jù),則傳遞該緩沖區(qū)的后一半數(shù)據(jù)。這一過程可以無限重復(fù),以便收集無限長的連續(xù)數(shù)據(jù)。
為了驗(yàn)證基于PCI 總線的電力能源數(shù)據(jù)多通道同步采集方法的合理性,進(jìn)行實(shí)驗(yàn)驗(yàn)證分析。
在靜態(tài)性能測試過程中,以200 ksps采樣速率進(jìn)行采樣,分別采用A/D采集卡、D/A采集卡和基于PCI總線采集方法分析數(shù)據(jù)采集精度,對比結(jié)果如表1所示。
分析表1 可知,使用A/D 采集卡和D/A 采集卡的采樣結(jié)果與信號值相差最大值分別為9.79 V、5.00 V;使用基于PCI 總線采集方法采集后,與信號值相差最大為0.10 V。由此可知,在靜態(tài)性能測試情況下,基于PCI 總線采集方法采集精度較高。
表1 靜態(tài)測試數(shù)據(jù)
在動態(tài)性能測試過程中,以20 ksps、50 ksps、100 ksps 為采樣速率進(jìn)行采樣,動態(tài)測試數(shù)據(jù)如表2所示。
由表2 可知,使用A/D 采集卡采樣值在實(shí)驗(yàn)次數(shù)為3 次時,與信號值相差最大為0.51 V;使用D/A 采集卡采樣值在實(shí)驗(yàn)次數(shù)為3 次時,與信號值相差最大為0.35 V;使用基于PCI 總線采集方法在實(shí)驗(yàn)次數(shù)為6 次時,與信號值相差達(dá)到最大,為0.02 V。由此可知,在動態(tài)性能測試情況下,基于PCI 總線采集方法采集精度更高。
表2 動態(tài)測試數(shù)據(jù)
該研究使用基于PCI 總線的電力能源數(shù)據(jù)多通道同步采集方法改善了A/D 采集卡、D/A 采集卡存在的采集精度低的問題,并通過實(shí)驗(yàn)驗(yàn)證了該方法的有效性。這種采集方法不僅適用于多路數(shù)據(jù)采集,也可用于其他的開發(fā)應(yīng)用,例如圖像傳輸過程,該過程可通過PCI 總線將大量壓縮或者未壓縮圖像以數(shù)據(jù)形式傳送到計算機(jī)中,并通過顯示屏顯示傳送結(jié)果。此外,該系統(tǒng)的數(shù)據(jù)傳輸形式并不局限于主機(jī)環(huán)境,也可應(yīng)用于嵌入式系統(tǒng)之中,以此來實(shí)現(xiàn)數(shù)據(jù)多路傳輸。