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