鄭 罡,李學(xué)軍,常 強(qiáng),丁富強(qiáng),楊 洪
1.河南省電力公司開封供電公司,河南開封 475004
2.河南工業(yè)技術(shù)研究院,河南鄭州 450047
目前,對(duì)關(guān)口電能表進(jìn)行檢測(cè)的方法比較落后,通常是工作人員定期到變電站進(jìn)行帶電檢測(cè),無法進(jìn)行全方位在線檢測(cè)、故障判斷、記錄分析、遠(yuǎn)程診斷等操作,存在檢測(cè)誤差大、工作量大、易發(fā)生事故及數(shù)據(jù)統(tǒng)計(jì)分析難等弊端。關(guān)口電能表遠(yuǎn)程在線監(jiān)控系統(tǒng),是一套集現(xiàn)代電子技術(shù)、計(jì)算機(jī)技術(shù)與通訊技術(shù)與一體,對(duì)運(yùn)行中的關(guān)口電能表進(jìn)行遠(yuǎn)程全方位在線檢驗(yàn)與檢測(cè)的多功能系統(tǒng)。該系統(tǒng)充分考慮現(xiàn)場(chǎng)應(yīng)用情況,對(duì)現(xiàn)場(chǎng)電能計(jì)量裝置進(jìn)行集中管理,用一個(gè)標(biāo)準(zhǔn)表分別對(duì)各關(guān)口電能表進(jìn)行自動(dòng)檢測(cè)并可將測(cè)量到的信息存儲(chǔ)、上傳到遠(yuǎn)方主站系統(tǒng),由主站系統(tǒng)對(duì)誤差進(jìn)行統(tǒng)計(jì)分析。
關(guān)口電能表遠(yuǎn)程在線監(jiān)控系統(tǒng)分為主站系統(tǒng)和分站系統(tǒng)兩個(gè)子系統(tǒng)。本論文主要從軟件的設(shè)計(jì)與實(shí)現(xiàn)層面來闡述主站系統(tǒng)和分站系統(tǒng)。
主站系統(tǒng)軟件通過網(wǎng)絡(luò)通訊向分站系統(tǒng)發(fā)送命令來實(shí)現(xiàn)對(duì)分站系統(tǒng)的遠(yuǎn)程控制,接收分站上傳的校表數(shù)據(jù),對(duì)各電表的校表數(shù)據(jù)進(jìn)行存儲(chǔ)、分析和處理,并將結(jié)果通過顯示器或打印機(jī)以圖表形式顯示出來。主站系統(tǒng)軟件設(shè)計(jì)時(shí)按功能模塊進(jìn)行劃分如下。
系統(tǒng)管理模塊主要是對(duì)用戶的電表元信息進(jìn)行管理(添加、修改刪除),其中電表元信息包括所屬變電站名稱、電表編碼、三相電壓、三相電流、相位角,校驗(yàn)誤差、額定電壓額定電流、電表等級(jí)、電表常數(shù)、電壓電流檔位等信息;對(duì)操作員及及其操作記錄進(jìn)行管理包括對(duì)操作員的添加、權(quán)限設(shè)置及刪除。
分站模塊是在主站和分站在建立網(wǎng)絡(luò)通訊之后,主站向分站發(fā)送命令來對(duì)分站進(jìn)行控制。主要命令包括:
1)設(shè)置定時(shí)、即時(shí)校表命令,設(shè)置定時(shí)校表命令主要通過選擇需要校驗(yàn)的電表序號(hào)、確定定時(shí)檢驗(yàn)時(shí)間以分(時(shí)、日、周、月)為單位,以及檢驗(yàn)的次數(shù)、脈沖數(shù)來對(duì)分站進(jìn)行設(shè)置;分站接收到正確命令后,開始定時(shí)檢驗(yàn),并返回通訊結(jié)束命令。設(shè)置即時(shí)校表命令主要通過設(shè)置檢驗(yàn)次數(shù)、脈沖數(shù)來對(duì)分站進(jìn)行設(shè)置;分站接收到正確命令后,開啟即時(shí)校驗(yàn),并返回通訊結(jié)束命令;
2)讀取分站校表信息命令,讀取分站校表信息命令分為讀取歷史校表信息命令和讀取即時(shí)校表信息命令。讀取歷史校表信息命令時(shí)可以日趨來選擇性讀取校表數(shù)據(jù)也可全部讀取歷史校表信息,讀取即時(shí)校表信息是在通過主站設(shè)置即時(shí)校表命令,且分站完成該即時(shí)校表后,可執(zhí)行該命令來讀取。
數(shù)據(jù)瀏覽模塊包括對(duì)校表信息瀏覽和對(duì)分站電表信息的瀏覽。瀏覽校表信息又分為瀏覽分站抄收的歷史校表信息和瀏覽分站抄收的即時(shí)校表信息。在瀏覽校表信息過程中可對(duì)校表信息進(jìn)行保存和打印。內(nèi)容包括:安裝序號(hào)、三相電壓、三相電流、相位角、誤差、校驗(yàn)次數(shù)、校驗(yàn)脈沖數(shù)、校驗(yàn)時(shí)間等信息。在瀏覽清單中,如果有超過用戶設(shè)定的誤差范圍的電表,則此記錄以紅色高亮顯示。
校表數(shù)據(jù)查詢和分析模塊,分校表數(shù)據(jù)的查詢和誤差統(tǒng)計(jì)分析兩部分。查詢校表數(shù)據(jù)可按日期和電表兩種方式進(jìn)行查詢,按日期查詢是按已抄校表數(shù)據(jù)的日期進(jìn)行瀏覽,按電表查詢可分別根據(jù)用戶電表的安裝序號(hào)、用戶名稱、電表出廠號(hào)、用戶地址來查詢某一時(shí)段內(nèi)該用戶所有已抄電表的校表數(shù)據(jù)。
誤差統(tǒng)計(jì)和分析可根據(jù)需要選擇相應(yīng)的電表表號(hào)(安裝序號(hào))、電表廠號(hào)、用戶地址,并選定誤差統(tǒng)計(jì)的日期范圍來顯示誤差統(tǒng)計(jì)曲線如圖1 所示。誤差統(tǒng)計(jì)與分析分按日期進(jìn)行統(tǒng)計(jì)和按負(fù)荷率進(jìn)行統(tǒng)計(jì)兩種方式。若“按日期統(tǒng)計(jì)”,則顯示該電表在選定日期范圍內(nèi)所有的按日期統(tǒng)計(jì)的誤差曲線,以日期時(shí)(日)為X 軸,誤差E%為Y 軸繪制誤差曲線;若“按負(fù)荷率統(tǒng)計(jì)”,則顯示該電表在選定日期范圍內(nèi)所有的按負(fù)荷率統(tǒng)計(jì)的誤差曲線,以負(fù)荷率(Ib%)為X 軸,誤差E%為Y軸繪制誤差曲線。由于誤差值比較小,為了更清晰顯示統(tǒng)計(jì)圖形,所取誤差值擴(kuò)大為原來的100 倍。
圖1 按日期統(tǒng)計(jì)誤差曲線圖形
分站子系統(tǒng)是通過使用一個(gè)標(biāo)準(zhǔn)電能表對(duì)變電站需要檢測(cè)的電能表進(jìn)行校驗(yàn),并將校驗(yàn)數(shù)據(jù)上傳至主站軟件。分站子系統(tǒng)按功能劃分為電表信息管理模塊、校表模塊、回路狀態(tài)檢查模塊、校驗(yàn)記錄查詢模塊四個(gè)模塊。
電表信息管理模塊,主要對(duì)變電站的關(guān)口電能表的元信息進(jìn)行管理,包括電表的添加(刪除、修改)。其中元信息包括所屬變電站名稱、電表編碼、三相電壓、三相電流、相位角,校驗(yàn)誤差、額定電壓額定電流、電表等級(jí)、電表常數(shù)、電壓電流檔位等信息。
校表模塊分為定時(shí)校表和即時(shí)校表兩個(gè)子模塊。定時(shí)校表子模塊通過選擇需要校驗(yàn)的電表表號(hào)、確定定時(shí)檢驗(yàn)時(shí)間以分(時(shí)、日、周、月)為單位,以及檢驗(yàn)的次數(shù)、脈沖數(shù)來設(shè)置,設(shè)置完成后開啟定時(shí)校驗(yàn)。即時(shí)校表子模塊通過選擇需要校驗(yàn)的電表表號(hào)、檢驗(yàn)的次數(shù)、脈沖數(shù)來設(shè)置并開啟即時(shí)校驗(yàn)。
回路狀態(tài)查詢模塊用來檢查所接表的回路狀態(tài),檢查電流回路是否異常,如果出現(xiàn)異常,單片機(jī)發(fā)送電流回路異常命令給分站系統(tǒng)產(chǎn)生報(bào)警?;芈窢顟B(tài)顯示顯示回路狀態(tài)的電參量包括(三相電壓、電流、相位角、功率等)及電壓電流矢量圖。
校驗(yàn)記錄查詢模塊,校驗(yàn)記錄查詢可按用戶名和電表表號(hào)這兩種方式查詢校驗(yàn)數(shù)據(jù)。校驗(yàn)記錄包括:三相電壓、三相電流、相位角、誤差、校驗(yàn)次數(shù)、校驗(yàn)時(shí)間、負(fù)荷率等信息及形成的電壓電流矢量圖。
在關(guān)口電能表遠(yuǎn)程在線監(jiān)控系統(tǒng)中,系統(tǒng)的通訊分兩個(gè)層次:一是分站系統(tǒng)與單片機(jī)、標(biāo)準(zhǔn)表之間的通訊;二是分站系統(tǒng)與主站系統(tǒng)之間的遠(yuǎn)程通訊。
在分站系統(tǒng)中,由于串行通信簡(jiǎn)單易行,信道成本比較低廉,且單片機(jī)、標(biāo)準(zhǔn)表可通過串口和工控機(jī)進(jìn)行通訊,因此采用串口對(duì)單片機(jī)、標(biāo)準(zhǔn)表進(jìn)行通訊。
由于同一進(jìn)程的所有線程共享進(jìn)程的虛擬地址空間,進(jìn)程中的線程并行執(zhí)行,每個(gè)線程的CPU 時(shí)間由系統(tǒng)劃分,系統(tǒng)為每個(gè)線程分配一個(gè)CPU 時(shí)間片,某個(gè)線程只有在分配的時(shí)間片內(nèi)才有對(duì)CPU 的控制權(quán)。實(shí)際上,同一時(shí)間只有一個(gè)線程在運(yùn)行,系統(tǒng)不停在各個(gè)線程之間切換,所以可實(shí)現(xiàn)多個(gè)線程同時(shí)訪問同一個(gè)對(duì)象的情況。串口通訊對(duì)每個(gè)串口對(duì)象只提供一個(gè)緩沖區(qū),即發(fā)送接收都要用到一個(gè)這一個(gè)緩沖過去,如果一個(gè)線程在未完成對(duì)某一大尺寸全局變量執(zhí)行讀操作時(shí),另一個(gè)線程又對(duì)該變量執(zhí)行寫操作,那么第一個(gè)線程讀取的變量可能是一種修改過的不穩(wěn)定的值,所以必須建立線程同步,使一個(gè)時(shí)刻只能執(zhí)行一種線程操作,一個(gè)線程必須等待另一線程結(jié)束才開始。這樣便能達(dá)到多線程的目的。
在分站系統(tǒng)中將多線程與串口通訊結(jié)合起來,從而實(shí)現(xiàn)分站與單片機(jī)、標(biāo)準(zhǔn)表之間的通訊。通訊過程為:分站按通訊協(xié)議向標(biāo)準(zhǔn)表、單片機(jī)發(fā)送執(zhí)行命令,標(biāo)準(zhǔn)表、單片機(jī)依照相應(yīng)命令執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回分站系統(tǒng)。
分站與主站之間的通訊方式為網(wǎng)絡(luò)通訊。在網(wǎng)絡(luò)通訊中網(wǎng)絡(luò)連接分為長(zhǎng)連接和短連接,所謂長(zhǎng)連接,是指在一個(gè)TCP連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,在TCP 連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)送檢測(cè)包來維持此鏈接;而短連接是指通信雙方有數(shù)據(jù)交互式,就建立一個(gè)TCP 連接,數(shù)據(jù)發(fā)送完成后,則斷開此TCP 鏈接。其實(shí)長(zhǎng)連接是相對(duì)短連接而言,也就是長(zhǎng)時(shí)間保持主站和分站之間的鏈接狀態(tài)。在該系統(tǒng)中,網(wǎng)絡(luò)通訊使用長(zhǎng)連接進(jìn)行網(wǎng)絡(luò)連接。
在發(fā)送和接收數(shù)據(jù)時(shí)采用同步方式進(jìn)行,即報(bào)文發(fā)送后等待接收返回報(bào)文,該系統(tǒng)使用同步方式建立主站與分站之間的網(wǎng)絡(luò)通訊。以讀取分站時(shí)鐘為例來說明主站與分站之間的網(wǎng)絡(luò)通訊過程。首先主站與分站建立網(wǎng)絡(luò)連接,在建立網(wǎng)絡(luò)連接后,主站向分站發(fā)送讀取分站時(shí)鐘命令;然后分站接收到該命令后,向主站返回分站的時(shí)間,最后,通訊結(jié)束,通過心跳包來維持主站和分站之間的長(zhǎng)連接。
關(guān)口電能表遠(yuǎn)程在線監(jiān)控系統(tǒng)是一種集自動(dòng)控制、通訊、測(cè)量等領(lǐng)域先進(jìn)技術(shù)于一體的可靠性高、智能化程度高的自動(dòng)化系統(tǒng),該系統(tǒng)的研發(fā)符合國內(nèi)無人值守變電站、智能信息化變電站的需求。
[1]范逸之,等.Visual Basic.NET自動(dòng)化系統(tǒng)監(jiān)控RS-232串行通訊[M].清華大學(xué)出版社,2006-12-05.
[2]李江全.Visual Basic串口通信與測(cè)控應(yīng)用技術(shù)實(shí)戰(zhàn)詳解 [M].人民郵電出版社,2007-06-01.
[3]楊國富.Visual Basic.NET網(wǎng)絡(luò)編程案例解析[M].清華大學(xué)出版社,2009-07-01
[4]張弘宇.淺議VB.NET即時(shí)通信軟件的實(shí)現(xiàn)與應(yīng)用[J].神州,2012(17).