陳 陽,徐曉光,陳躍東
(安徽工程大學(xué)a.現(xiàn)代教育技術(shù)中心;b.電氣工程學(xué)院,安徽 蕪湖241000)
隨著人們對電力的需求的增加,對供電質(zhì)量和供電可靠性的要求也越來越高。供電單位要向用戶提供安全、優(yōu)質(zhì)的電力,依靠傳統(tǒng)的技術(shù)和管理手段已經(jīng)難以實(shí)現(xiàn)。在電力市場的改革,對智能電網(wǎng)技術(shù)不斷提出新的要求,在供配電領(lǐng)域?qū)τ秒姽芾怼⑴潆姽芾韺?shí)現(xiàn)智能化、自動化和科學(xué)化具有非常重要的意義[1]。
目前供、用電企業(yè)廣泛建立電能量計費(fèi)系統(tǒng)。用電信息采集終端是對各信息采集點(diǎn)用電信息采集的設(shè)備,簡稱采集終端。它介于計量主站與費(fèi)率裝置(電能表)之間的中間,可以實(shí)現(xiàn)電能表數(shù)據(jù)的采集、數(shù)據(jù)管理、數(shù)據(jù)雙向傳輸以及轉(zhuǎn)發(fā)或執(zhí)行控制命令的設(shè)備[2]。如圖1所示,用電信息采集終端按應(yīng)用場所分為專變采集終端、集中抄表終端(包括集中器、采集器)、分布式能源監(jiān)控終端等類型,主要用于配電系統(tǒng)中考核電能表、用戶電能表配電數(shù)據(jù)的實(shí)時采集,實(shí)現(xiàn)對各個用戶用電狀態(tài)的檢測,為電力需求管理提供了強(qiáng)有力的技術(shù)支持和數(shù)據(jù)依據(jù),從而實(shí)現(xiàn)電能量采集、多費(fèi)率計價、供電質(zhì)量監(jiān)測及線損分析、配變監(jiān)測和防竊電、負(fù)荷預(yù)測等功能。它的功能、數(shù)據(jù)采集的配電數(shù)據(jù)類型及精度直接影響著配電自動化系統(tǒng)的功能及可靠性。
圖1 用電信息采集系統(tǒng)結(jié)構(gòu)
基于上述用電信息采集終端的重要性和新技術(shù)的不斷發(fā)展,2009年底國家電網(wǎng)公司新規(guī)定了電力用戶用電信息采集系統(tǒng)的規(guī)約。本文討論的就是基于這一新規(guī)約的嵌入式Linux用電信息采集終端的設(shè)計。
本文設(shè)計的用電信息采集終端以AT91SAM9G20為微處理器,它是一款高主頻(400 MHz)、低功耗、以ARM926EJ-S為內(nèi)核、工作溫度-25℃至85℃的工業(yè)級處理器,功耗僅為80 mW,能夠有效地延長電池供電的時間,這樣保證了在嚴(yán)格的工作環(huán)境下,終端設(shè)備也能有效的運(yùn)行。操作系統(tǒng)采用Linux 2.6.27。Linux操作系統(tǒng)有著開源的源代碼和非常好的穩(wěn)定性,這對于智能電網(wǎng)設(shè)備來說有著先天的有利因素。雖然Linux是軟實(shí)時操作系統(tǒng),但是Linux 2.6已經(jīng)在內(nèi)核主體中加入了提高中斷性能和調(diào)度響應(yīng)時間的改進(jìn),采用可搶占內(nèi)核和更加有效的調(diào)度算法,提高了它的同步性,在實(shí)時性上完全滿足終端設(shè)備的需要。
如圖2所示,這個系統(tǒng)由采集模塊、通訊接口模塊、輸入和顯示模塊等部分組成。擁有8M的NOR FLASH用來存儲操作系統(tǒng)的應(yīng)用程序,64M的NAND FLASH用于存儲采集的數(shù)據(jù),充分滿足終端裝置系統(tǒng)運(yùn)行的要求。在對Linux操作系統(tǒng)進(jìn)行裁剪,通過編譯相應(yīng)的外圍硬件驅(qū)動,可以移植操作系統(tǒng)進(jìn)入CPU,搭建好系統(tǒng)開發(fā)的環(huán)境平臺。應(yīng)用程序采用多進(jìn)程設(shè)計,各進(jìn)程模塊并發(fā)運(yùn)行,極大地提高系統(tǒng)效率。
圖2 系統(tǒng)硬件框架結(jié)構(gòu)
在對外的通訊接口部分,終端主要分4個部分的功能接口[3]。
①遠(yuǎn)程通信接口:終端應(yīng)用軟件與各種遠(yuǎn)程主站的接口,主要有TCP/IP通訊接口、GPRS功能接口和載波通訊接口。
②本地通信接口:終端應(yīng)用軟件與各種本地通信收發(fā)軟件之間的接口以字節(jié)流的方式完成數(shù)據(jù)交互,主要有RS485電能表通訊接口和紅外抄表通訊接口。
③與人機(jī)接口軟件的接口:人機(jī)接口(包括顯示LCD和小鍵盤)與終端應(yīng)用軟件按規(guī)定的索引方式及數(shù)據(jù)模型完成數(shù)據(jù)交互。
④其他接口:包括與控制、交直流模擬量采集、脈沖采集等部分的接口,采用數(shù)據(jù)讀寫函數(shù)的形式,在需要時供終端應(yīng)用軟件調(diào)用,如SPI數(shù)據(jù)采集A/D轉(zhuǎn)換接口和USB終端維護(hù)升級接口。
采集終端的軟件按功能可分為以下幾個部分:
①數(shù)據(jù)采集。采集電表、智能設(shè)備、脈沖等數(shù)據(jù)。
②數(shù)據(jù)管理。實(shí)現(xiàn)對實(shí)時和當(dāng)前數(shù)據(jù),歷史日、月數(shù)據(jù)和事件進(jìn)行記錄合理性檢查,分析存儲和遠(yuǎn)程傳輸。本系統(tǒng)在Linux采用sqlite作為存儲查詢的數(shù)據(jù)庫,它作為一款本地的開源數(shù)據(jù)庫,占用空間小,執(zhí)行速度快,可以很好地滿足需要。
③數(shù)據(jù)控制。包括功率定值控制、電量、費(fèi)率定值控制和遠(yuǎn)程控制。
④綜合運(yùn)用。包括自動抄表管理,費(fèi)控管理,有序用電管理,用電情況統(tǒng)計分析,異常用電分析,電能質(zhì)量數(shù)據(jù)統(tǒng)計,線損、變損分析,增值服務(wù)。
⑤運(yùn)行維護(hù)管理。包括系統(tǒng)對時、權(quán)限和密碼管理,終端管理,參數(shù)設(shè)置和查詢,檔案管理,通訊和路由管理,運(yùn)行狀況管理,維護(hù)和故障記錄,報表管理,軟件升級等。
⑥系統(tǒng)接口。通過統(tǒng)一的接口規(guī)范和接口技術(shù),實(shí)現(xiàn)與營銷管理業(yè)務(wù)應(yīng)用系統(tǒng)連接,接收采集任務(wù)、控制任務(wù)及裝拆任務(wù)等信息,為抄表管理、有序用電管理、電費(fèi)收繳、用電檢查管理等營銷業(yè)務(wù)提供數(shù)據(jù)支持和后臺保障。
系統(tǒng)還可與其他業(yè)務(wù)應(yīng)用系統(tǒng)連接,實(shí)現(xiàn)數(shù)據(jù)共享。其中綜合運(yùn)用功能模塊可以配合其他業(yè)務(wù)應(yīng)用系統(tǒng),其余的各功能在不同任務(wù)的采集終端設(shè)備中都有體現(xiàn)。
終端應(yīng)用軟件設(shè)計的核心部分應(yīng)包括遠(yuǎn)程通信模塊、主任務(wù)控制模塊、本地數(shù)據(jù)處理3部分。
①遠(yuǎn)程通信模塊。終端通信協(xié)議請求報文并進(jìn)行處理,然后把處理結(jié)果形成報文上報主站。當(dāng)沒有下發(fā)報文時,如果底層遠(yuǎn)程信道支持,根據(jù)需要主動向主站發(fā)送登錄、重要事件、級聯(lián)終端上行報文。
②主任務(wù)控制模塊(多任務(wù)采集)。多任務(wù)采集功能模塊以獨(dú)立的進(jìn)程運(yùn)行,主要負(fù)責(zé)數(shù)據(jù)測量點(diǎn)的定時采集任務(wù)管理。模塊運(yùn)行后完成消息隊列、共享內(nèi)存、定時采集周期等初始化工作,生成抄表隊列和數(shù)據(jù)項隊列,根據(jù)采集周期參數(shù)設(shè)定采集任務(wù)時間點(diǎn),進(jìn)入采集主循環(huán)。主循環(huán)中判斷當(dāng)前時間是否到達(dá)采集任務(wù)時刻,若到達(dá)時間點(diǎn),啟動新一輪抄表任務(wù)并發(fā)給集中器與下行通信模塊本地接口通信規(guī)約執(zhí)行抄表,在完成一輪循環(huán)采集后,由補(bǔ)抄采集流程對采集失敗的測量點(diǎn)進(jìn)行補(bǔ)抄。在主循環(huán)里,程序?qū)崟r監(jiān)測主站通信模塊下發(fā)的隨時抄表任務(wù)和透傳命令請求,模塊接收到其他采集請求時,立即終止當(dāng)前的定時采集任務(wù),將隨時抄表和透傳命令采集任務(wù)發(fā)送給DL/T 645通信模塊。完成本采集周期所有工作后,查看測量點(diǎn)參數(shù)、任務(wù)周期等參數(shù)是否發(fā)生變化,若有變化則重新初始化,開始下一個定時采集任務(wù)周期[3]。
③ 本地數(shù)據(jù)處理。Linux作為一個多用戶多任務(wù)操作系統(tǒng),支持多道程序設(shè)計、分時處理和實(shí)時處理。本地數(shù)據(jù)處理模塊可分2個進(jìn)程運(yùn)行:基本數(shù)據(jù)處理模塊和總加數(shù)據(jù)處理模塊,如圖4、5所示。
基本數(shù)據(jù)處理功能模塊,負(fù)責(zé)測量點(diǎn)數(shù)據(jù)的異常分析并產(chǎn)生相應(yīng)事件。模塊運(yùn)行后完成消息隊列、共享內(nèi)存、和測量點(diǎn)參數(shù)、任務(wù)參數(shù)等初始化工作,進(jìn)入主循環(huán)流程,等待凍結(jié)周期定時到后,讀取測量點(diǎn)數(shù)據(jù),分析數(shù)值是否符合事件條件,滿足事件條件則發(fā)送事件數(shù)據(jù)給上傳通信模塊,繼續(xù)讀取統(tǒng)計數(shù)據(jù),分析統(tǒng)計數(shù)據(jù)是否變化,若有變化則讀取歷史記錄發(fā)送給遠(yuǎn)傳通信模塊上傳到主站[4]。完成本周期所有數(shù)據(jù)處理工作后,查看測量點(diǎn)參數(shù)、事件判定條件、任務(wù)周期等參數(shù)是否發(fā)生變化,若有變化則重新初始化,開始下一個數(shù)據(jù)處理定時周期。
總加組計算功能模塊負(fù)責(zé)總加組數(shù)據(jù)統(tǒng)計,根據(jù)設(shè)定的總加組凍結(jié)周期將總加后的數(shù)據(jù)發(fā)送到數(shù)據(jù)存儲模塊進(jìn)行存儲。模塊運(yùn)行后完成消息隊列、共享內(nèi)存、測量點(diǎn)參數(shù)和總加參數(shù)等信息的初始化工作,進(jìn)入主循環(huán),等待總加數(shù)據(jù)統(tǒng)計周期達(dá)到后,將測量點(diǎn)的當(dāng)前數(shù)據(jù)按總加計算公式計算得到總加數(shù)據(jù),分析總加數(shù)據(jù)是否滿足差動事件條件,滿足條件則產(chǎn)生差動事件信息并發(fā)送給遠(yuǎn)傳通信模塊上傳至主站,繼續(xù)將當(dāng)前測量點(diǎn)數(shù)據(jù)和當(dāng)前總加數(shù)據(jù)生成歷史數(shù)據(jù)和曲線數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲模塊進(jìn)行存儲。完成本周期所有工作后,查看測量點(diǎn)參數(shù)、總加參數(shù)、任務(wù)周期、差動事件判定值等參數(shù)是否發(fā)生變化,若有變化則重新啟動初始化,開始下一個定時工作周期[5]。
除了上述核心部分以外,對于專變采集終端應(yīng)用軟件,還應(yīng)包括各類控制、狀態(tài)量采集、脈沖量采集、交直流模擬量采集、本地狀態(tài)指示和終端維護(hù)等;對于集中抄表終端應(yīng)用軟件,還應(yīng)包括中繼路由管理、重點(diǎn)用戶管理、交直流模擬量采集、本地狀態(tài)指示和終端維護(hù)等,本文將不對其設(shè)計進(jìn)行討論。
采用ARM芯片和嵌入式Linux操作系統(tǒng)設(shè)計了電能信息自動采集終端系統(tǒng)。通過智能采集終端和智能計量主站結(jié)合應(yīng)用,實(shí)現(xiàn)了試點(diǎn)用戶用電信息的采集和負(fù)荷狀況的監(jiān)測,對加強(qiáng)用電系統(tǒng)管理、提高電網(wǎng)的可靠性和實(shí)現(xiàn)用電管理自動化具有積極意義。
[1] 閔建.嵌入式實(shí)時數(shù)據(jù)采集系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].微計算機(jī)信息,2009,25(7):2.
[2]Q/GDW 373—2009電力用戶用電信息采集系統(tǒng)功能規(guī)范[S].
[3]DL/T 698.1—2009電能信息采集與管理系統(tǒng)[S].
[4] 劉峰.嵌入式實(shí)時數(shù)據(jù)采集系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2004.
[5]Q/GDW 378.2—2009.電力用戶用電信息采集系統(tǒng)設(shè)計導(dǎo)則:終端應(yīng)用軟件設(shè)計導(dǎo)則及編制說明[S].